@openpalm/ui 0.13.0-beta.1 → 0.13.0-beta.2

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 (408) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/9.vqGkbIg9.css +1 -0
  3. package/build/client/_app/immutable/assets/9.vqGkbIg9.css.br +0 -0
  4. package/build/client/_app/immutable/assets/9.vqGkbIg9.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{BMyudKzg.js → 9mRSvTWj.js} +1 -1
  6. package/build/client/_app/immutable/chunks/9mRSvTWj.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/9mRSvTWj.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/BApqEZP1.js +3 -0
  9. package/build/client/_app/immutable/chunks/BApqEZP1.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/BApqEZP1.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/B_Sgy7qx.js +1 -0
  12. package/build/client/_app/immutable/chunks/B_Sgy7qx.js.br +2 -0
  13. package/build/client/_app/immutable/chunks/B_Sgy7qx.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{D1nSxXur.js → B_jhBV5Z.js} +1 -1
  15. package/build/client/_app/immutable/chunks/B_jhBV5Z.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/B_jhBV5Z.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/Be7qat4r.js +3 -0
  18. package/build/client/_app/immutable/chunks/Be7qat4r.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/Be7qat4r.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{Db8xkqW6.js → BoOBAdGl.js} +1 -1
  21. package/build/client/_app/immutable/chunks/BoOBAdGl.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/BoOBAdGl.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{CvItGqWG.js → DBHgGGCD.js} +1 -1
  24. package/build/client/_app/immutable/chunks/DBHgGGCD.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/DBHgGGCD.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/DSs95sLz.js +1 -0
  27. package/build/client/_app/immutable/chunks/DSs95sLz.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/DSs95sLz.js.gz +0 -0
  29. package/build/client/_app/immutable/entry/{app.ByeYK7_P.js → app.DZwy1Y3W.js} +2 -2
  30. package/build/client/_app/immutable/entry/app.DZwy1Y3W.js.br +0 -0
  31. package/build/client/_app/immutable/entry/app.DZwy1Y3W.js.gz +0 -0
  32. package/build/client/_app/immutable/entry/start.C0ic7Ewp.js +1 -0
  33. package/build/client/_app/immutable/entry/start.C0ic7Ewp.js.br +1 -0
  34. package/build/client/_app/immutable/entry/start.C0ic7Ewp.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js +1 -0
  36. package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{1.DOwkg43h.js → 1.Bxihn5f1.js} +1 -1
  39. package/build/client/_app/immutable/nodes/1.Bxihn5f1.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/1.Bxihn5f1.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{10.Cs6atPP0.js → 10.BZ76_WLP.js} +1 -1
  42. package/build/client/_app/immutable/nodes/10.BZ76_WLP.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/10.BZ76_WLP.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{11.D1ux0xRH.js → 11.Bzf3G5G0.js} +2 -2
  45. package/build/client/_app/immutable/nodes/11.Bzf3G5G0.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/11.Bzf3G5G0.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{4.vRThg0Ke.js → 4.D-CwW2PH.js} +1 -1
  48. package/build/client/_app/immutable/nodes/4.D-CwW2PH.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/4.D-CwW2PH.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{5.y3u2P8a-.js → 5.BbStivMI.js} +1 -1
  51. package/build/client/_app/immutable/nodes/5.BbStivMI.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/5.BbStivMI.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/6.BKVgKxKO.js +2 -0
  54. package/build/client/_app/immutable/nodes/6.BKVgKxKO.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/6.BKVgKxKO.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/{7.DQ9bZrdN.js → 7.DuXt155R.js} +2 -2
  57. package/build/client/_app/immutable/nodes/7.DuXt155R.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/7.DuXt155R.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/9.BdeFVi2a.js +126 -0
  60. package/build/client/_app/immutable/nodes/9.BdeFVi2a.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/9.BdeFVi2a.js.gz +0 -0
  62. package/build/client/_app/version.json +1 -1
  63. package/build/client/_app/version.json.br +1 -1
  64. package/build/client/_app/version.json.gz +0 -0
  65. package/build/server/chunks/{0-D6JYWBmc.js → 0-C7zzjezl.js} +5 -5
  66. package/build/server/chunks/{0-D6JYWBmc.js.map → 0-C7zzjezl.js.map} +1 -1
  67. package/build/server/chunks/1-Ceq9WsUZ.js +9 -0
  68. package/build/server/chunks/{1-QFaO6yhK.js.map → 1-Ceq9WsUZ.js.map} +1 -1
  69. package/build/server/chunks/{10-BHQuL7xa.js → 10-DbLLQ-Uy.js} +3 -3
  70. package/build/server/chunks/{10-BHQuL7xa.js.map → 10-DbLLQ-Uy.js.map} +1 -1
  71. package/build/server/chunks/{11-nYH7HWHs.js → 11-Dryt5Piv.js} +3 -3
  72. package/build/server/chunks/{11-nYH7HWHs.js.map → 11-Dryt5Piv.js.map} +1 -1
  73. package/build/server/chunks/{3-DflhJGSw.js → 3-CAH3EmhU.js} +7 -7
  74. package/build/server/chunks/{3-DflhJGSw.js.map → 3-CAH3EmhU.js.map} +1 -1
  75. package/build/server/chunks/4-DxmFWVQJ.js +9 -0
  76. package/build/server/chunks/4-DxmFWVQJ.js.map +1 -0
  77. package/build/server/chunks/{5-_ostMB1h.js → 5-CQ9cELI7.js} +3 -3
  78. package/build/server/chunks/{5-_ostMB1h.js.map → 5-CQ9cELI7.js.map} +1 -1
  79. package/build/server/chunks/6-B-hnmc7F.js +9 -0
  80. package/build/server/chunks/6-B-hnmc7F.js.map +1 -0
  81. package/build/server/chunks/7-BE6BzHsh.js +9 -0
  82. package/build/server/chunks/7-BE6BzHsh.js.map +1 -0
  83. package/build/server/chunks/{9-DPtmsJHR.js → 9-BWzd_hmh.js} +5 -5
  84. package/build/server/chunks/{9-DPtmsJHR.js.map → 9-BWzd_hmh.js.map} +1 -1
  85. package/build/server/chunks/{ChatNavbar-ZxJwQIGL.js → ChatNavbar-BonHVqfi.js} +8 -8
  86. package/build/server/chunks/{ChatNavbar-ZxJwQIGL.js.map → ChatNavbar-BonHVqfi.js.map} +1 -1
  87. package/build/server/chunks/{IconServer-ByAeszv0.js → IconServer-fOHYHe-O.js} +5 -5
  88. package/build/server/chunks/IconServer-fOHYHe-O.js.map +1 -0
  89. package/build/server/chunks/{IconStop-DFbhUtaJ.js → IconSoundOn-DHtvjphK.js} +4 -10
  90. package/build/server/chunks/IconSoundOn-DHtvjphK.js.map +1 -0
  91. package/build/server/chunks/{format-date-gcou_Av8.js → IconStop-C89_dmt4.js} +9 -3
  92. package/build/server/chunks/IconStop-C89_dmt4.js.map +1 -0
  93. package/build/server/chunks/{_layout.svelte-DFMW9sdO.js → _layout.svelte-BLxvGwKC.js} +5 -3
  94. package/build/server/chunks/_layout.svelte-BLxvGwKC.js.map +1 -0
  95. package/build/server/chunks/{_page.svelte-CKJNzmVG.js → _page.svelte-0Rf024eH.js} +7 -7
  96. package/build/server/chunks/{_page.svelte-CKJNzmVG.js.map → _page.svelte-0Rf024eH.js.map} +1 -1
  97. package/build/server/chunks/{_page.svelte-Cz3JYioD.js → _page.svelte-BWNjxN63.js} +11 -11
  98. package/build/server/chunks/_page.svelte-BWNjxN63.js.map +1 -0
  99. package/build/server/chunks/{_page.svelte-CborsVrn.js → _page.svelte-BXeh8wzh.js} +5 -5
  100. package/build/server/chunks/_page.svelte-BXeh8wzh.js.map +1 -0
  101. package/build/server/chunks/{_page.svelte-DDFJprLE.js → _page.svelte-Bovrn7AQ.js} +3 -3
  102. package/build/server/chunks/{_page.svelte-DDFJprLE.js.map → _page.svelte-Bovrn7AQ.js.map} +1 -1
  103. package/build/server/chunks/{_page.svelte-BLGF_oAz.js → _page.svelte-COf36oAu.js} +11 -11
  104. package/build/server/chunks/{_page.svelte-BLGF_oAz.js.map → _page.svelte-COf36oAu.js.map} +1 -1
  105. package/build/server/chunks/{_page.svelte-CknIT-b6.js → _page.svelte-DkZsmNYc.js} +3 -3
  106. package/build/server/chunks/{_page.svelte-CknIT-b6.js.map → _page.svelte-DkZsmNYc.js.map} +1 -1
  107. package/build/server/chunks/{_page.svelte-DojSR6TL.js → _page.svelte-LsoJ7E5M.js} +30 -14
  108. package/build/server/chunks/_page.svelte-LsoJ7E5M.js.map +1 -0
  109. package/build/server/chunks/{_server.ts-CTKwaXm1.js → _server.ts-2-50j5S8.js} +6 -6
  110. package/build/server/chunks/{_server.ts-CTKwaXm1.js.map → _server.ts-2-50j5S8.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-Dk7RL-D7.js → _server.ts-2Z0JYuCr.js} +6 -6
  112. package/build/server/chunks/{_server.ts-Dk7RL-D7.js.map → _server.ts-2Z0JYuCr.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-BUE0dmBz.js → _server.ts-42ZGRWhn.js} +6 -6
  114. package/build/server/chunks/{_server.ts-BUE0dmBz.js.map → _server.ts-42ZGRWhn.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-CyzJdUdD.js → _server.ts-6EuPIrt7.js} +6 -6
  116. package/build/server/chunks/{_server.ts-CyzJdUdD.js.map → _server.ts-6EuPIrt7.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-BI2IrCte.js → _server.ts-6muCM4Nz.js} +6 -6
  118. package/build/server/chunks/{_server.ts-BI2IrCte.js.map → _server.ts-6muCM4Nz.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-BYUzlpfe.js → _server.ts-B28SfXaZ.js} +6 -6
  120. package/build/server/chunks/{_server.ts-BYUzlpfe.js.map → _server.ts-B28SfXaZ.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-Q1zB1kiD.js → _server.ts-BA11l9Z1.js} +6 -6
  122. package/build/server/chunks/{_server.ts-Q1zB1kiD.js.map → _server.ts-BA11l9Z1.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-D2dBUHv-.js → _server.ts-BA7wxHYg.js} +6 -6
  124. package/build/server/chunks/{_server.ts-D2dBUHv-.js.map → _server.ts-BA7wxHYg.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-4SFWMa3H.js → _server.ts-BARmSEZ2.js} +6 -6
  126. package/build/server/chunks/{_server.ts-4SFWMa3H.js.map → _server.ts-BARmSEZ2.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-CUPbFKq2.js → _server.ts-BBewn2kP.js} +6 -6
  128. package/build/server/chunks/{_server.ts-CUPbFKq2.js.map → _server.ts-BBewn2kP.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-4eT-crTl.js → _server.ts-BEaiuN8Q.js} +6 -6
  130. package/build/server/chunks/{_server.ts-4eT-crTl.js.map → _server.ts-BEaiuN8Q.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-rPbq-4rb.js → _server.ts-BJrYBXpY.js} +6 -6
  132. package/build/server/chunks/{_server.ts-rPbq-4rb.js.map → _server.ts-BJrYBXpY.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-Ci1n4eQ3.js → _server.ts-BJv74_DI.js} +6 -6
  134. package/build/server/chunks/{_server.ts-Ci1n4eQ3.js.map → _server.ts-BJv74_DI.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-DVXK2VD6.js → _server.ts-BKWx8K8U.js} +7 -7
  136. package/build/server/chunks/{_server.ts-DVXK2VD6.js.map → _server.ts-BKWx8K8U.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-CtiJiKFW.js → _server.ts-BLn_cTkK.js} +6 -6
  138. package/build/server/chunks/{_server.ts-CtiJiKFW.js.map → _server.ts-BLn_cTkK.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-FhE6fUSD.js → _server.ts-BR24J2uB.js} +7 -7
  140. package/build/server/chunks/{_server.ts-FhE6fUSD.js.map → _server.ts-BR24J2uB.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-D81J9NzU.js → _server.ts-BRdjsMSd.js} +6 -6
  142. package/build/server/chunks/{_server.ts-D81J9NzU.js.map → _server.ts-BRdjsMSd.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-BV6i7XBr.js → _server.ts-BTPbwN92.js} +6 -6
  144. package/build/server/chunks/{_server.ts-BV6i7XBr.js.map → _server.ts-BTPbwN92.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-Bj17GHeW.js → _server.ts-BUDMOZOz.js} +6 -6
  146. package/build/server/chunks/{_server.ts-Bj17GHeW.js.map → _server.ts-BUDMOZOz.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-uqxkiRQ1.js → _server.ts-BVMpHE3G.js} +6 -6
  148. package/build/server/chunks/{_server.ts-uqxkiRQ1.js.map → _server.ts-BVMpHE3G.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-B9GH6f46.js → _server.ts-BWO1Eoro.js} +6 -6
  150. package/build/server/chunks/{_server.ts-B9GH6f46.js.map → _server.ts-BWO1Eoro.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-C0Zlu5Xy.js → _server.ts-Ba8xSIQn.js} +6 -6
  152. package/build/server/chunks/{_server.ts-C0Zlu5Xy.js.map → _server.ts-Ba8xSIQn.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-y7XlQItn.js → _server.ts-BeP_sHqj.js} +2 -2
  154. package/build/server/chunks/{_server.ts-y7XlQItn.js.map → _server.ts-BeP_sHqj.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-CKcFu8B-.js → _server.ts-BhAp0vvt.js} +7 -7
  156. package/build/server/chunks/_server.ts-BhAp0vvt.js.map +1 -0
  157. package/build/server/chunks/{_server.ts-tchYVZRL.js → _server.ts-Bi0rRbcw.js} +2 -2
  158. package/build/server/chunks/{_server.ts-tchYVZRL.js.map → _server.ts-Bi0rRbcw.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-Bfkzx4ao.js → _server.ts-BjD0Uf0U.js} +6 -6
  160. package/build/server/chunks/{_server.ts-Bfkzx4ao.js.map → _server.ts-BjD0Uf0U.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-D1mP7Ux6.js → _server.ts-BjjicBDy.js} +6 -6
  162. package/build/server/chunks/{_server.ts-D1mP7Ux6.js.map → _server.ts-BjjicBDy.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-C43E5b3d.js → _server.ts-BsPu8Fny.js} +6 -6
  164. package/build/server/chunks/{_server.ts-C43E5b3d.js.map → _server.ts-BsPu8Fny.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-C_qRsJI2.js → _server.ts-C-tvKaFE.js} +6 -6
  166. package/build/server/chunks/{_server.ts-C_qRsJI2.js.map → _server.ts-C-tvKaFE.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-DJFB76Z4.js → _server.ts-C83FzZfP.js} +6 -6
  168. package/build/server/chunks/{_server.ts-DJFB76Z4.js.map → _server.ts-C83FzZfP.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-Bu-Ie_Mc.js → _server.ts-C8eCqXP6.js} +6 -6
  170. package/build/server/chunks/{_server.ts-Bu-Ie_Mc.js.map → _server.ts-C8eCqXP6.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-DK409rto.js → _server.ts-C9F005zM.js} +6 -6
  172. package/build/server/chunks/{_server.ts-DK409rto.js.map → _server.ts-C9F005zM.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-C7wn5VUY.js → _server.ts-CCmsGl_u.js} +6 -6
  174. package/build/server/chunks/{_server.ts-C7wn5VUY.js.map → _server.ts-CCmsGl_u.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-Bbtu4jaC.js → _server.ts-CG60Cdqf.js} +8 -8
  176. package/build/server/chunks/{_server.ts-Bbtu4jaC.js.map → _server.ts-CG60Cdqf.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-CXt9azl0.js → _server.ts-CGZizh2V.js} +6 -6
  178. package/build/server/chunks/{_server.ts-CXt9azl0.js.map → _server.ts-CGZizh2V.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-BLxV2y7p.js → _server.ts-CIv0zM75.js} +7 -7
  180. package/build/server/chunks/{_server.ts-BLxV2y7p.js.map → _server.ts-CIv0zM75.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-Cg_4-N8w.js → _server.ts-CJVwtNhA.js} +2 -2
  182. package/build/server/chunks/{_server.ts-Cg_4-N8w.js.map → _server.ts-CJVwtNhA.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-B0jGXHG1.js → _server.ts-CMAepV0J.js} +6 -6
  184. package/build/server/chunks/{_server.ts-B0jGXHG1.js.map → _server.ts-CMAepV0J.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-S90K5IJI.js → _server.ts-COcv1puW.js} +7 -7
  186. package/build/server/chunks/{_server.ts-S90K5IJI.js.map → _server.ts-COcv1puW.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-BG50sNod.js → _server.ts-CQHkw9ni.js} +6 -6
  188. package/build/server/chunks/{_server.ts-BG50sNod.js.map → _server.ts-CQHkw9ni.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-DjFDthjg.js → _server.ts-CS2LQKMb.js} +7 -7
  190. package/build/server/chunks/{_server.ts-DjFDthjg.js.map → _server.ts-CS2LQKMb.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-9TnX_Hfn.js → _server.ts-CX_CwTW0.js} +3 -3
  192. package/build/server/chunks/{_server.ts-9TnX_Hfn.js.map → _server.ts-CX_CwTW0.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-BjEVNsPT.js → _server.ts-CcoaYeM8.js} +6 -6
  194. package/build/server/chunks/{_server.ts-BjEVNsPT.js.map → _server.ts-CcoaYeM8.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-DhfQc2ah.js → _server.ts-CfuLncMW.js} +6 -6
  196. package/build/server/chunks/{_server.ts-DhfQc2ah.js.map → _server.ts-CfuLncMW.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-HN1FxysS.js → _server.ts-CjPhaG_g.js} +7 -7
  198. package/build/server/chunks/{_server.ts-HN1FxysS.js.map → _server.ts-CjPhaG_g.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-c64R3qMS.js → _server.ts-CmUo0zla.js} +6 -6
  200. package/build/server/chunks/{_server.ts-c64R3qMS.js.map → _server.ts-CmUo0zla.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-Db2X5ulY.js → _server.ts-CnQ4hgIT.js} +7 -7
  202. package/build/server/chunks/{_server.ts-Db2X5ulY.js.map → _server.ts-CnQ4hgIT.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-CP02aPdv.js → _server.ts-CncBUb14.js} +6 -6
  204. package/build/server/chunks/{_server.ts-CP02aPdv.js.map → _server.ts-CncBUb14.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-HlB5nMY9.js → _server.ts-CnrWBkQ7.js} +6 -6
  206. package/build/server/chunks/{_server.ts-HlB5nMY9.js.map → _server.ts-CnrWBkQ7.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-GuptvcVQ.js → _server.ts-CspCDw2x.js} +6 -6
  208. package/build/server/chunks/{_server.ts-GuptvcVQ.js.map → _server.ts-CspCDw2x.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-CbkJG3Yk.js → _server.ts-D-6mgHZB.js} +6 -6
  210. package/build/server/chunks/{_server.ts-CbkJG3Yk.js.map → _server.ts-D-6mgHZB.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-C7uAOfo3.js → _server.ts-D-Rf8If2.js} +8 -8
  212. package/build/server/chunks/{_server.ts-C7uAOfo3.js.map → _server.ts-D-Rf8If2.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-B46NQmKl.js → _server.ts-D5F-pzp2.js} +6 -6
  214. package/build/server/chunks/{_server.ts-B46NQmKl.js.map → _server.ts-D5F-pzp2.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-B8p1cZWN.js → _server.ts-D6wuFDe4.js} +6 -6
  216. package/build/server/chunks/{_server.ts-B8p1cZWN.js.map → _server.ts-D6wuFDe4.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-CMwOXeFC.js → _server.ts-D7VWMcNm.js} +7 -7
  218. package/build/server/chunks/{_server.ts-CMwOXeFC.js.map → _server.ts-D7VWMcNm.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-Rv6Qmjnm.js → _server.ts-D7X0LmkL.js} +6 -6
  220. package/build/server/chunks/{_server.ts-Rv6Qmjnm.js.map → _server.ts-D7X0LmkL.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-Y4JoeA12.js → _server.ts-D9yQyMbZ.js} +6 -6
  222. package/build/server/chunks/{_server.ts-Y4JoeA12.js.map → _server.ts-D9yQyMbZ.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-BG89__4Y.js → _server.ts-DE-c3Y5D.js} +7 -7
  224. package/build/server/chunks/{_server.ts-BG89__4Y.js.map → _server.ts-DE-c3Y5D.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-DTOMs2Oo.js → _server.ts-DH343hlx.js} +7 -7
  226. package/build/server/chunks/{_server.ts-DTOMs2Oo.js.map → _server.ts-DH343hlx.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-BeCTOV2T.js → _server.ts-DH3Uc_0m.js} +6 -6
  228. package/build/server/chunks/{_server.ts-BeCTOV2T.js.map → _server.ts-DH3Uc_0m.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-DJxUVpVr.js → _server.ts-DHeSwA7p.js} +6 -6
  230. package/build/server/chunks/{_server.ts-DJxUVpVr.js.map → _server.ts-DHeSwA7p.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-BvwD-tU2.js → _server.ts-DJCIu42O.js} +4 -4
  232. package/build/server/chunks/{_server.ts-BvwD-tU2.js.map → _server.ts-DJCIu42O.js.map} +1 -1
  233. package/build/server/chunks/{_server.ts-y3HSMNEG.js → _server.ts-DJqSQny9.js} +2 -2
  234. package/build/server/chunks/{_server.ts-y3HSMNEG.js.map → _server.ts-DJqSQny9.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-BFOoXmaJ.js → _server.ts-DKYXeaKr.js} +6 -6
  236. package/build/server/chunks/{_server.ts-BFOoXmaJ.js.map → _server.ts-DKYXeaKr.js.map} +1 -1
  237. package/build/server/chunks/{_server.ts-C1k-QptM.js → _server.ts-DM9EsKQc.js} +6 -6
  238. package/build/server/chunks/{_server.ts-C1k-QptM.js.map → _server.ts-DM9EsKQc.js.map} +1 -1
  239. package/build/server/chunks/{_server.ts-1Vco45Qu.js → _server.ts-DQozxLn6.js} +6 -6
  240. package/build/server/chunks/{_server.ts-1Vco45Qu.js.map → _server.ts-DQozxLn6.js.map} +1 -1
  241. package/build/server/chunks/{_server.ts-nasuSdo-.js → _server.ts-DTQe-U35.js} +6 -6
  242. package/build/server/chunks/{_server.ts-nasuSdo-.js.map → _server.ts-DTQe-U35.js.map} +1 -1
  243. package/build/server/chunks/{_server.ts-DvKpBV-Y.js → _server.ts-Dcf84tjG.js} +2 -2
  244. package/build/server/chunks/{_server.ts-DvKpBV-Y.js.map → _server.ts-Dcf84tjG.js.map} +1 -1
  245. package/build/server/chunks/{_server.ts-DPw-9Fvz.js → _server.ts-DdHx6Xig.js} +6 -6
  246. package/build/server/chunks/{_server.ts-DPw-9Fvz.js.map → _server.ts-DdHx6Xig.js.map} +1 -1
  247. package/build/server/chunks/{_server.ts-BRiu2AFG.js → _server.ts-DdoJFQaX.js} +8 -8
  248. package/build/server/chunks/{_server.ts-BRiu2AFG.js.map → _server.ts-DdoJFQaX.js.map} +1 -1
  249. package/build/server/chunks/{_server.ts-1VKTjr08.js → _server.ts-DdocuErM.js} +7 -7
  250. package/build/server/chunks/{_server.ts-1VKTjr08.js.map → _server.ts-DdocuErM.js.map} +1 -1
  251. package/build/server/chunks/_server.ts-Ddqhnr_7.js +58 -0
  252. package/build/server/chunks/_server.ts-Ddqhnr_7.js.map +1 -0
  253. package/build/server/chunks/{_server.ts-B7jtS1rc.js → _server.ts-Dj6nwJgl.js} +9 -9
  254. package/build/server/chunks/{_server.ts-B7jtS1rc.js.map → _server.ts-Dj6nwJgl.js.map} +1 -1
  255. package/build/server/chunks/{_server.ts-C5NMGLvR.js → _server.ts-Dl-Rn5Ku.js} +6 -6
  256. package/build/server/chunks/{_server.ts-C5NMGLvR.js.map → _server.ts-Dl-Rn5Ku.js.map} +1 -1
  257. package/build/server/chunks/{_server.ts-MvwnQkPT.js → _server.ts-DnczK3Pw.js} +4 -4
  258. package/build/server/chunks/{_server.ts-MvwnQkPT.js.map → _server.ts-DnczK3Pw.js.map} +1 -1
  259. package/build/server/chunks/{_server.ts-CHuyT9rF.js → _server.ts-Dq4RvC5F.js} +6 -6
  260. package/build/server/chunks/{_server.ts-CHuyT9rF.js.map → _server.ts-Dq4RvC5F.js.map} +1 -1
  261. package/build/server/chunks/{_server.ts-Cp6d9DIG.js → _server.ts-DrGzrygC.js} +6 -6
  262. package/build/server/chunks/{_server.ts-Cp6d9DIG.js.map → _server.ts-DrGzrygC.js.map} +1 -1
  263. package/build/server/chunks/{_server.ts-at5EQV31.js → _server.ts-Ds62LEMU.js} +8 -8
  264. package/build/server/chunks/{_server.ts-at5EQV31.js.map → _server.ts-Ds62LEMU.js.map} +1 -1
  265. package/build/server/chunks/{_server.ts-CQIXn8xb.js → _server.ts-DsVbuYhj.js} +7 -7
  266. package/build/server/chunks/{_server.ts-CQIXn8xb.js.map → _server.ts-DsVbuYhj.js.map} +1 -1
  267. package/build/server/chunks/{_server.ts-DrHEkbDq.js → _server.ts-Dy65kWxL.js} +7 -7
  268. package/build/server/chunks/{_server.ts-DrHEkbDq.js.map → _server.ts-Dy65kWxL.js.map} +1 -1
  269. package/build/server/chunks/{_server.ts-CYY3W2qh.js → _server.ts-Dy9l5NMO.js} +10 -10
  270. package/build/server/chunks/_server.ts-Dy9l5NMO.js.map +1 -0
  271. package/build/server/chunks/{_server.ts-Chf0EFLa.js → _server.ts-JO0zy17P.js} +6 -6
  272. package/build/server/chunks/{_server.ts-Chf0EFLa.js.map → _server.ts-JO0zy17P.js.map} +1 -1
  273. package/build/server/chunks/{_server.ts-ClO4pSRG.js → _server.ts-LokXM9hH.js} +6 -6
  274. package/build/server/chunks/{_server.ts-ClO4pSRG.js.map → _server.ts-LokXM9hH.js.map} +1 -1
  275. package/build/server/chunks/{_server.ts-DW3mRh_v.js → _server.ts-pRYFJihh.js} +7 -7
  276. package/build/server/chunks/{_server.ts-DW3mRh_v.js.map → _server.ts-pRYFJihh.js.map} +1 -1
  277. package/build/server/chunks/{_server.ts-CFz_IeN4.js → _server.ts-xPuEhFJO.js} +7 -7
  278. package/build/server/chunks/{_server.ts-CFz_IeN4.js.map → _server.ts-xPuEhFJO.js.map} +1 -1
  279. package/build/server/chunks/{addon-helpers-Cpj40OF3.js → addon-helpers-Cgg8lPxe.js} +3 -3
  280. package/build/server/chunks/{addon-helpers-Cpj40OF3.js.map → addon-helpers-Cgg8lPxe.js.map} +1 -1
  281. package/build/server/chunks/{akm-D8uSJNzt.js → akm-5HN45xWY.js} +2 -2
  282. package/build/server/chunks/{akm-D8uSJNzt.js.map → akm-5HN45xWY.js.map} +1 -1
  283. package/build/server/chunks/{catalog-C9ClLZ62.js → catalog-7z8dgrJF.js} +5 -5
  284. package/build/server/chunks/{catalog-C9ClLZ62.js.map → catalog-7z8dgrJF.js.map} +1 -1
  285. package/build/server/chunks/{client-utk4T8Jl.js → client-D2lMniPd.js} +2 -2
  286. package/build/server/chunks/{client-utk4T8Jl.js.map → client-D2lMniPd.js.map} +1 -1
  287. package/build/server/chunks/{compose-args2-cix5m26E.js → compose-args2-BFdWixAZ.js} +2 -2
  288. package/build/server/chunks/compose-args2-BFdWixAZ.js.map +1 -0
  289. package/build/server/chunks/{config-BV78mCrh.js → config-I5hb-W80.js} +2 -2
  290. package/build/server/chunks/{config-BV78mCrh.js.map → config-I5hb-W80.js.map} +1 -1
  291. package/build/server/chunks/{connections-api-CpQ5k7QC.js → connections-api-NkotVLIl.js} +2 -2
  292. package/build/server/chunks/{connections-api-CpQ5k7QC.js.map → connections-api-NkotVLIl.js.map} +1 -1
  293. package/build/server/chunks/{docker2-DqIy9JYf.js → docker2-HZnACjh6.js} +2 -2
  294. package/build/server/chunks/docker2-HZnACjh6.js.map +1 -0
  295. package/build/server/chunks/{docker3-DvrSgFLt.js → docker3-Dj9Pc_Pt.js} +2 -2
  296. package/build/server/chunks/{docker3-DvrSgFLt.js.map → docker3-Dj9Pc_Pt.js.map} +1 -1
  297. package/build/server/chunks/{endpoints-CU3ehglV.js → endpoints-B9ePqrMw.js} +3 -3
  298. package/build/server/chunks/{endpoints-CU3ehglV.js.map → endpoints-B9ePqrMw.js.map} +1 -1
  299. package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
  300. package/build/server/chunks/{error.svelte-B9DQG_Wh.js → error.svelte-DGngrZ2V.js} +4 -4
  301. package/build/server/chunks/{error.svelte-B9DQG_Wh.js.map → error.svelte-DGngrZ2V.js.map} +1 -1
  302. package/build/server/chunks/{features-DLGlNjZX.js → features-0lgyQreD.js} +3 -3
  303. package/build/server/chunks/{features-DLGlNjZX.js.map → features-0lgyQreD.js.map} +1 -1
  304. package/build/server/chunks/{helpers-7BvhniSt.js → helpers-q4Ng8QTq.js} +4 -4
  305. package/build/server/chunks/{helpers-7BvhniSt.js.map → helpers-q4Ng8QTq.js.map} +1 -1
  306. package/build/server/chunks/{hooks.server-CwIkB_d8.js → hooks.server-BTXqUhpH.js} +21 -15
  307. package/build/server/chunks/hooks.server-BTXqUhpH.js.map +1 -0
  308. package/build/server/chunks/{http-D0qKwTqb.js → http-jBNJXVHg.js} +2 -2
  309. package/build/server/chunks/{http-D0qKwTqb.js.map → http-jBNJXVHg.js.map} +1 -1
  310. package/build/server/chunks/{internal-CVxYC2gp.js → internal-G-Uk-kCA.js} +3 -3
  311. package/build/server/chunks/{internal-CVxYC2gp.js.map → internal-G-Uk-kCA.js.map} +1 -1
  312. package/build/server/chunks/{landing-BAWznbys.js → landing-BR5KUuDz.js} +46 -9
  313. package/build/server/chunks/landing-BR5KUuDz.js.map +1 -0
  314. package/build/server/chunks/{paths-lkOb-n87.js → paths-tzRSDsKc.js} +2 -2
  315. package/build/server/chunks/{paths-lkOb-n87.js.map → paths-tzRSDsKc.js.map} +1 -1
  316. package/build/server/chunks/runtime-context.svelte-C5zNEC6u.js +72 -0
  317. package/build/server/chunks/runtime-context.svelte-C5zNEC6u.js.map +1 -0
  318. package/build/server/chunks/{session-cookie-WuIYBiMY.js → session-cookie-qHDuQboc.js} +2 -2
  319. package/build/server/chunks/{session-cookie-WuIYBiMY.js.map → session-cookie-qHDuQboc.js.map} +1 -1
  320. package/build/server/chunks/{setup-deploy-DaMn6d6g.js → setup-deploy-DleJTifu.js} +2 -2
  321. package/build/server/chunks/{setup-deploy-DaMn6d6g.js.map → setup-deploy-DleJTifu.js.map} +1 -1
  322. package/build/server/chunks/{src-CS2sSYOR.js → src-BwQUi60U.js} +4 -4
  323. package/build/server/chunks/{src-CS2sSYOR.js.map → src-BwQUi60U.js.map} +1 -1
  324. package/build/server/chunks/{state-BRh7vs9j.js → state-Dm7U51xT.js} +2 -2
  325. package/build/server/chunks/{state-BRh7vs9j.js.map → state-Dm7U51xT.js.map} +1 -1
  326. package/build/server/chunks/{state2-COVNCCTq.js → state2-BhKHITEo.js} +2 -2
  327. package/build/server/chunks/{state2-COVNCCTq.js.map → state2-BhKHITEo.js.map} +1 -1
  328. package/build/server/chunks/{voice-state.svelte-bOoc1Vo0.js → voice-state.svelte-BAiqUOIX.js} +2 -2
  329. package/build/server/chunks/voice-state.svelte-BAiqUOIX.js.map +1 -0
  330. package/build/server/index.js +1 -1
  331. package/build/server/manifest.js +102 -95
  332. package/build/server/manifest.js.map +1 -1
  333. package/package.json +3 -3
  334. package/build/client/_app/immutable/assets/9.B0-fGtW-.css +0 -1
  335. package/build/client/_app/immutable/assets/9.B0-fGtW-.css.br +0 -0
  336. package/build/client/_app/immutable/assets/9.B0-fGtW-.css.gz +0 -0
  337. package/build/client/_app/immutable/chunks/BLc6D58Y.js +0 -3
  338. package/build/client/_app/immutable/chunks/BLc6D58Y.js.br +0 -0
  339. package/build/client/_app/immutable/chunks/BLc6D58Y.js.gz +0 -0
  340. package/build/client/_app/immutable/chunks/BMyudKzg.js.br +0 -0
  341. package/build/client/_app/immutable/chunks/BMyudKzg.js.gz +0 -0
  342. package/build/client/_app/immutable/chunks/BNkLu9ey.js +0 -3
  343. package/build/client/_app/immutable/chunks/BNkLu9ey.js.br +0 -0
  344. package/build/client/_app/immutable/chunks/BNkLu9ey.js.gz +0 -0
  345. package/build/client/_app/immutable/chunks/BkqRukKX.js +0 -1
  346. package/build/client/_app/immutable/chunks/BkqRukKX.js.br +0 -2
  347. package/build/client/_app/immutable/chunks/BkqRukKX.js.gz +0 -0
  348. package/build/client/_app/immutable/chunks/CvItGqWG.js.br +0 -0
  349. package/build/client/_app/immutable/chunks/CvItGqWG.js.gz +0 -0
  350. package/build/client/_app/immutable/chunks/D1nSxXur.js.br +0 -0
  351. package/build/client/_app/immutable/chunks/D1nSxXur.js.gz +0 -0
  352. package/build/client/_app/immutable/chunks/DIM-KrDw.js +0 -1
  353. package/build/client/_app/immutable/chunks/DIM-KrDw.js.br +0 -0
  354. package/build/client/_app/immutable/chunks/DIM-KrDw.js.gz +0 -0
  355. package/build/client/_app/immutable/chunks/Db8xkqW6.js.br +0 -0
  356. package/build/client/_app/immutable/chunks/Db8xkqW6.js.gz +0 -0
  357. package/build/client/_app/immutable/entry/app.ByeYK7_P.js.br +0 -0
  358. package/build/client/_app/immutable/entry/app.ByeYK7_P.js.gz +0 -0
  359. package/build/client/_app/immutable/entry/start.kykyp6T0.js +0 -1
  360. package/build/client/_app/immutable/entry/start.kykyp6T0.js.br +0 -1
  361. package/build/client/_app/immutable/entry/start.kykyp6T0.js.gz +0 -0
  362. package/build/client/_app/immutable/nodes/0.CLEDwEKf.js +0 -1
  363. package/build/client/_app/immutable/nodes/0.CLEDwEKf.js.br +0 -0
  364. package/build/client/_app/immutable/nodes/0.CLEDwEKf.js.gz +0 -0
  365. package/build/client/_app/immutable/nodes/1.DOwkg43h.js.br +0 -0
  366. package/build/client/_app/immutable/nodes/1.DOwkg43h.js.gz +0 -0
  367. package/build/client/_app/immutable/nodes/10.Cs6atPP0.js.br +0 -0
  368. package/build/client/_app/immutable/nodes/10.Cs6atPP0.js.gz +0 -0
  369. package/build/client/_app/immutable/nodes/11.D1ux0xRH.js.br +0 -0
  370. package/build/client/_app/immutable/nodes/11.D1ux0xRH.js.gz +0 -0
  371. package/build/client/_app/immutable/nodes/4.vRThg0Ke.js.br +0 -0
  372. package/build/client/_app/immutable/nodes/4.vRThg0Ke.js.gz +0 -0
  373. package/build/client/_app/immutable/nodes/5.y3u2P8a-.js.br +0 -0
  374. package/build/client/_app/immutable/nodes/5.y3u2P8a-.js.gz +0 -0
  375. package/build/client/_app/immutable/nodes/6.Vtev5Cm4.js +0 -2
  376. package/build/client/_app/immutable/nodes/6.Vtev5Cm4.js.br +0 -0
  377. package/build/client/_app/immutable/nodes/6.Vtev5Cm4.js.gz +0 -0
  378. package/build/client/_app/immutable/nodes/7.DQ9bZrdN.js.br +0 -0
  379. package/build/client/_app/immutable/nodes/7.DQ9bZrdN.js.gz +0 -0
  380. package/build/client/_app/immutable/nodes/9.2IPaJ-1P.js +0 -126
  381. package/build/client/_app/immutable/nodes/9.2IPaJ-1P.js.br +0 -0
  382. package/build/client/_app/immutable/nodes/9.2IPaJ-1P.js.gz +0 -0
  383. package/build/server/chunks/1-QFaO6yhK.js +0 -9
  384. package/build/server/chunks/4-dgm3mFwb.js +0 -9
  385. package/build/server/chunks/4-dgm3mFwb.js.map +0 -1
  386. package/build/server/chunks/6-Bz787Ixu.js +0 -9
  387. package/build/server/chunks/6-Bz787Ixu.js.map +0 -1
  388. package/build/server/chunks/7-Cs4tQiJY.js +0 -9
  389. package/build/server/chunks/7-Cs4tQiJY.js.map +0 -1
  390. package/build/server/chunks/IconServer-ByAeszv0.js.map +0 -1
  391. package/build/server/chunks/IconStop-DFbhUtaJ.js.map +0 -1
  392. package/build/server/chunks/_layout.svelte-DFMW9sdO.js.map +0 -1
  393. package/build/server/chunks/_page.svelte-CborsVrn.js.map +0 -1
  394. package/build/server/chunks/_page.svelte-Cz3JYioD.js.map +0 -1
  395. package/build/server/chunks/_page.svelte-DojSR6TL.js.map +0 -1
  396. package/build/server/chunks/_server.ts-CKcFu8B-.js.map +0 -1
  397. package/build/server/chunks/_server.ts-CYY3W2qh.js.map +0 -1
  398. package/build/server/chunks/compose-args2-cix5m26E.js.map +0 -1
  399. package/build/server/chunks/docker2-DqIy9JYf.js.map +0 -1
  400. package/build/server/chunks/format-date-gcou_Av8.js.map +0 -1
  401. package/build/server/chunks/hooks.server-CwIkB_d8.js.map +0 -1
  402. package/build/server/chunks/landing-BAWznbys.js.map +0 -1
  403. package/build/server/chunks/runtime-context.svelte-FZapSP7A.js +0 -24
  404. package/build/server/chunks/runtime-context.svelte-FZapSP7A.js.map +0 -1
  405. package/build/server/chunks/voice-state.svelte-bOoc1Vo0.js.map +0 -1
  406. /package/build/client/_app/immutable/assets/{IconStop.BsTA83Hx.css → IconSoundOn.BsTA83Hx.css} +0 -0
  407. /package/build/client/_app/immutable/assets/{IconStop.BsTA83Hx.css.br → IconSoundOn.BsTA83Hx.css.br} +0 -0
  408. /package/build/client/_app/immutable/assets/{IconStop.BsTA83Hx.css.gz → IconSoundOn.BsTA83Hx.css.gz} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bbtu4jaC.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/_id_/_server.ts.js"],"sourcesContent":["import { Nt as createLogger } from \"../../../../../../chunks/compose-args.js\";\nimport { f as detectLocalProviders } from \"../../../../../../chunks/src.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, i as getOpenCodeClient, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\nimport { a as setProviderEnabled, i as setMainModel, n as patchConfig, o as setProviderOptions, r as registerProvider, t as getCurrentConfig } from \"../../../../../../chunks/config.js\";\nimport { a as parseModels, i as parseHeaders, n as buildModelConfig, o as updateBooleanOption, s as updateNumberOption, t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/api/host/providers/[id]/+server.ts\nvar logger = createLogger(\"admin.providers.patch\");\n/** Allowed format for a custom provider id */\nvar CUSTOM_PROVIDER_ID_PATTERN = /^[a-z0-9_-]+$/;\nvar LOCAL_PROVIDER_LABELS = {\n\tollama: \"Local Ollama\",\n\tlmstudio: \"Local LM Studio\",\n\t\"model-runner\": \"Docker Model Runner\"\n};\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id;\n\tconst parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst body = parsed.data;\n\tconst kind = typeof body.kind === \"string\" ? body.kind : \"\";\n\tif (kind === \"options\") try {\n\t\tconst baseURL = asStringOrEmpty(body.baseURL);\n\t\tconst enterpriseUrl = asStringOrEmpty(body.enterpriseUrl);\n\t\tconst headers = parseHeaders(asStringOrEmpty(body.headers));\n\t\tconst nextOptions = {};\n\t\tupdateNumberOption(nextOptions, \"timeout\", asStringOrEmpty(body.timeout));\n\t\tupdateBooleanOption(nextOptions, \"setCacheKey\", body.setCacheKey === \"on\" || body.setCacheKey === true);\n\t\tawait setProviderOptions(providerId, {\n\t\t\tbaseURL: baseURL || void 0,\n\t\t\tenterpriseUrl: enterpriseUrl || void 0,\n\t\t\ttimeout: typeof nextOptions.timeout === \"number\" ? nextOptions.timeout : void 0,\n\t\t\tsetCacheKey: nextOptions.setCacheKey === true,\n\t\t\theaders: headers && Object.keys(headers).length > 0 ? headers : null\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"Provider settings saved.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"toggle\") try {\n\t\tconst nextState = asStringOrEmpty(body.enabled) === \"true\" || body.enabled === true;\n\t\tawait patchConfig(setProviderEnabled(await getCurrentConfig(), providerId, nextState));\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: nextState ? \"Provider enabled for model selection.\" : \"Provider disabled for this workspace.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"register-local\") try {\n\t\tif (!Object.hasOwn(LOCAL_PROVIDER_LABELS, providerId)) return errorResponse(400, \"bad_request\", \"provider must be one of: ollama, lmstudio, model-runner\", {}, requestId);\n\t\tconst match = (await detectLocalProviders()).find((d) => d.provider === providerId);\n\t\tif (!match?.available) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: `No reachable ${LOCAL_PROVIDER_LABELS[providerId] ?? providerId} endpoint found.`,\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tconst existingEntry = (await getCurrentConfig()).provider?.[providerId];\n\t\tconst existingOptions = existingEntry?.options ?? {};\n\t\tawait registerProvider(providerId, {\n\t\t\tnpm: typeof existingEntry?.npm === \"string\" ? existingEntry.npm : \"@ai-sdk/openai-compatible\",\n\t\t\tname: typeof existingEntry?.name === \"string\" ? existingEntry.name : LOCAL_PROVIDER_LABELS[providerId] ?? providerId,\n\t\t\toptions: {\n\t\t\t\t...existingOptions,\n\t\t\t\tbaseURL: match.url\n\t\t\t}\n\t\t}, true);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: `Registered ${LOCAL_PROVIDER_LABELS[providerId] ?? providerId} at ${match.url}.`,\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (err) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: err instanceof Error ? err.message : String(err),\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t}\n\tif (kind === \"register-custom\") try {\n\t\tconst displayName = asStringOrEmpty(body.displayName);\n\t\tconst baseURL = asStringOrEmpty(body.baseURL);\n\t\tconst apiKey = asStringOrEmpty(body.apiKey);\n\t\tconst confirmOverwrite = asStringOrEmpty(body.confirmOverwrite) === \"true\";\n\t\tif (!CUSTOM_PROVIDER_ID_PATTERN.test(providerId)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Use a lowercase provider id with letters, numbers, hyphens, or underscores.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tif (!displayName || !baseURL) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Display name and base URL are required for a custom provider.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tconst models = parseModels(asStringOrEmpty(body.modelsJson));\n\t\tconst headers = parseHeaders(asStringOrEmpty(body.headersJson));\n\t\tconst entry = {\n\t\t\tnpm: \"@ai-sdk/openai-compatible\",\n\t\t\tname: displayName,\n\t\t\toptions: {\n\t\t\t\tbaseURL,\n\t\t\t\t...Object.keys(headers).length > 0 ? { headers } : {}\n\t\t\t}\n\t\t};\n\t\tif (models.length > 0) entry.models = Object.fromEntries(models.map((m) => [m.id, buildModelConfig(m)]));\n\t\tif ((await registerProvider(providerId, entry, confirmOverwrite)).alreadyExists) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"A provider with this ID already exists. Enable overwrite to replace it.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tif (apiKey) try {\n\t\t\tconst authResult = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\t\tif (!authResult.ok) logger.warn(\"custom provider apiKey save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\tcode: authResult.code,\n\t\t\t\tmessage: authResult.message,\n\t\t\t\trequestId\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tlogger.warn(\"custom provider apiKey threw\", {\n\t\t\t\tproviderId,\n\t\t\t\terror: String(err),\n\t\t\t\trequestId\n\t\t\t});\n\t\t}\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"Custom provider saved.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"set-model\") try {\n\t\tconst modelId = asStringOrEmpty(body.modelId);\n\t\tconst target = asStringOrEmpty(body.target);\n\t\tif (!modelId || target !== \"model\" && target !== \"small_model\") return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider model before saving it.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tawait setMainModel(providerId, modelId, target);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: target === \"model\" ? \"Main model updated for this project.\" : \"Small model updated for lightweight tasks.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", `Unknown kind \"${kind}\". Expected: options, toggle, register-local, register-custom, set-model`, {}, requestId);\n};\n//#endregion\nexport { PATCH };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CG60Cdqf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/_id_/_server.ts.js"],"sourcesContent":["import { Nt as createLogger } from \"../../../../../../chunks/compose-args.js\";\nimport { f as detectLocalProviders } from \"../../../../../../chunks/src.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, i as getOpenCodeClient, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\nimport { a as setProviderEnabled, i as setMainModel, n as patchConfig, o as setProviderOptions, r as registerProvider, t as getCurrentConfig } from \"../../../../../../chunks/config.js\";\nimport { a as parseModels, i as parseHeaders, n as buildModelConfig, o as updateBooleanOption, s as updateNumberOption, t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/api/host/providers/[id]/+server.ts\nvar logger = createLogger(\"admin.providers.patch\");\n/** Allowed format for a custom provider id */\nvar CUSTOM_PROVIDER_ID_PATTERN = /^[a-z0-9_-]+$/;\nvar LOCAL_PROVIDER_LABELS = {\n\tollama: \"Local Ollama\",\n\tlmstudio: \"Local LM Studio\",\n\t\"model-runner\": \"Docker Model Runner\"\n};\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id;\n\tconst parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst body = parsed.data;\n\tconst kind = typeof body.kind === \"string\" ? body.kind : \"\";\n\tif (kind === \"options\") try {\n\t\tconst baseURL = asStringOrEmpty(body.baseURL);\n\t\tconst enterpriseUrl = asStringOrEmpty(body.enterpriseUrl);\n\t\tconst headers = parseHeaders(asStringOrEmpty(body.headers));\n\t\tconst nextOptions = {};\n\t\tupdateNumberOption(nextOptions, \"timeout\", asStringOrEmpty(body.timeout));\n\t\tupdateBooleanOption(nextOptions, \"setCacheKey\", body.setCacheKey === \"on\" || body.setCacheKey === true);\n\t\tawait setProviderOptions(providerId, {\n\t\t\tbaseURL: baseURL || void 0,\n\t\t\tenterpriseUrl: enterpriseUrl || void 0,\n\t\t\ttimeout: typeof nextOptions.timeout === \"number\" ? nextOptions.timeout : void 0,\n\t\t\tsetCacheKey: nextOptions.setCacheKey === true,\n\t\t\theaders: headers && Object.keys(headers).length > 0 ? headers : null\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"Provider settings saved.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"toggle\") try {\n\t\tconst nextState = asStringOrEmpty(body.enabled) === \"true\" || body.enabled === true;\n\t\tawait patchConfig(setProviderEnabled(await getCurrentConfig(), providerId, nextState));\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: nextState ? \"Provider enabled for model selection.\" : \"Provider disabled for this workspace.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"register-local\") try {\n\t\tif (!Object.hasOwn(LOCAL_PROVIDER_LABELS, providerId)) return errorResponse(400, \"bad_request\", \"provider must be one of: ollama, lmstudio, model-runner\", {}, requestId);\n\t\tconst match = (await detectLocalProviders()).find((d) => d.provider === providerId);\n\t\tif (!match?.available) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: `No reachable ${LOCAL_PROVIDER_LABELS[providerId] ?? providerId} endpoint found.`,\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tconst existingEntry = (await getCurrentConfig()).provider?.[providerId];\n\t\tconst existingOptions = existingEntry?.options ?? {};\n\t\tawait registerProvider(providerId, {\n\t\t\tnpm: typeof existingEntry?.npm === \"string\" ? existingEntry.npm : \"@ai-sdk/openai-compatible\",\n\t\t\tname: typeof existingEntry?.name === \"string\" ? existingEntry.name : LOCAL_PROVIDER_LABELS[providerId] ?? providerId,\n\t\t\toptions: {\n\t\t\t\t...existingOptions,\n\t\t\t\tbaseURL: match.url\n\t\t\t}\n\t\t}, true);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: `Registered ${LOCAL_PROVIDER_LABELS[providerId] ?? providerId} at ${match.url}.`,\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (err) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: err instanceof Error ? err.message : String(err),\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t}\n\tif (kind === \"register-custom\") try {\n\t\tconst displayName = asStringOrEmpty(body.displayName);\n\t\tconst baseURL = asStringOrEmpty(body.baseURL);\n\t\tconst apiKey = asStringOrEmpty(body.apiKey);\n\t\tconst confirmOverwrite = asStringOrEmpty(body.confirmOverwrite) === \"true\";\n\t\tif (!CUSTOM_PROVIDER_ID_PATTERN.test(providerId)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Use a lowercase provider id with letters, numbers, hyphens, or underscores.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tif (!displayName || !baseURL) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Display name and base URL are required for a custom provider.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tconst models = parseModels(asStringOrEmpty(body.modelsJson));\n\t\tconst headers = parseHeaders(asStringOrEmpty(body.headersJson));\n\t\tconst entry = {\n\t\t\tnpm: \"@ai-sdk/openai-compatible\",\n\t\t\tname: displayName,\n\t\t\toptions: {\n\t\t\t\tbaseURL,\n\t\t\t\t...Object.keys(headers).length > 0 ? { headers } : {}\n\t\t\t}\n\t\t};\n\t\tif (models.length > 0) entry.models = Object.fromEntries(models.map((m) => [m.id, buildModelConfig(m)]));\n\t\tif ((await registerProvider(providerId, entry, confirmOverwrite)).alreadyExists) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"A provider with this ID already exists. Enable overwrite to replace it.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tif (apiKey) try {\n\t\t\tconst authResult = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\t\tif (!authResult.ok) logger.warn(\"custom provider apiKey save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\tcode: authResult.code,\n\t\t\t\tmessage: authResult.message,\n\t\t\t\trequestId\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tlogger.warn(\"custom provider apiKey threw\", {\n\t\t\t\tproviderId,\n\t\t\t\terror: String(err),\n\t\t\t\trequestId\n\t\t\t});\n\t\t}\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"Custom provider saved.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"set-model\") try {\n\t\tconst modelId = asStringOrEmpty(body.modelId);\n\t\tconst target = asStringOrEmpty(body.target);\n\t\tif (!modelId || target !== \"model\" && target !== \"small_model\") return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider model before saving it.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tawait setMainModel(providerId, modelId, target);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: target === \"model\" ? \"Main model updated for this project.\" : \"Small model updated for lightweight tasks.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", `Unknown kind \"${kind}\". Expected: options, toggle, register-local, register-custom, set-model`, {}, requestId);\n};\n//#endregion\nexport { PATCH };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { am as listEnabledAddonIds, aS as resolveComposeProjectName, aE as readStackEnv } from './src-CS2sSYOR.js';
2
- import { g as getState } from './state-BRh7vs9j.js';
3
- import { d as getRequestId, k as jsonResponse } from './helpers-7BvhniSt.js';
1
+ import { am as listEnabledAddonIds, aS as resolveComposeProjectName, aE as readStackEnv } from './src-BwQUi60U.js';
2
+ import { g as getState } from './state-Dm7U51xT.js';
3
+ import { d as getRequestId, k as jsonResponse } from './helpers-q4Ng8QTq.js';
4
4
  import { execFile } from 'node:child_process';
5
5
  import { promisify } from 'node:util';
6
6
  import './provider-constants-1s1k8kbj.js';
@@ -22,8 +22,8 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './endpoints-CU3ehglV.js';
26
- import './features-DLGlNjZX.js';
25
+ import './endpoints-B9ePqrMw.js';
26
+ import './features-0lgyQreD.js';
27
27
 
28
28
  //#region src/routes/guardian/health/+server.ts
29
29
  var execFileAsync = promisify(execFile);
@@ -102,4 +102,4 @@ var GET = async (event) => {
102
102
  };
103
103
 
104
104
  export { GET };
105
- //# sourceMappingURL=_server.ts-CXt9azl0.js.map
105
+ //# sourceMappingURL=_server.ts-CGZizh2V.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CXt9azl0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/guardian/health/_server.ts.js"],"sourcesContent":["import { E as listEnabledAddonIds, X as readStackEnv } from \"../../../../chunks/compose-args.js\";\nimport { j as resolveComposeProjectName } from \"../../../../chunks/docker.js\";\nimport \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse } 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];\nasync function findGuardianContainerId(projectName) {\n\tconst { stdout } = await execFileAsync(\"docker\", [\n\t\t\"container\",\n\t\t\"ls\",\n\t\t\"--all\",\n\t\t\"--filter\",\n\t\t`label=com.docker.compose.project=${projectName}`,\n\t\t\"--filter\",\n\t\t\"label=com.docker.compose.service=guardian\",\n\t\t\"--format\",\n\t\t\"{{.ID}}\"\n\t], { timeout: 5e3 });\n\treturn stdout.trim().split(\"\\n\").find(Boolean) ?? null;\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\tconst homeDir = getState().homeDir;\n\t\tif (!listEnabledAddonIds(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 containerId = await findGuardianContainerId(resolveComposeProjectName(readStackEnv(getState().homeDir)));\n\t\tif (!containerId) return jsonResponse(503, {\n\t\t\tstatus: \"unreachable\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t\tconst { stdout } = await execFileAsync(\"docker\", [\n\t\t\t\"container\",\n\t\t\t\"inspect\",\n\t\t\tcontainerId,\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;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,eAAe,uBAAuB,CAAC,WAAW,EAAE;AACpD,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE;AAClD,EAAE,WAAW;AACb,EAAE,IAAI;AACN,EAAE,OAAO;AACT,EAAE,UAAU;AACZ,EAAE,CAAC,iCAAiC,EAAE,WAAW,CAAC,CAAC;AACnD,EAAE,UAAU;AACZ,EAAE,2CAA2C;AAC7C,EAAE,UAAU;AACZ,EAAE;AACF,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI;AACvD;AACA;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,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,OAAO;AACpC,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACxG,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,WAAW,GAAG,MAAM,uBAAuB,CAAC,yBAAyB,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChH,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC7C,GAAG,MAAM,EAAE,aAAa;AACxB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE;AACnD,GAAG,WAAW;AACd,GAAG,SAAS;AACZ,GAAG,WAAW;AACd,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-CGZizh2V.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/guardian/health/_server.ts.js"],"sourcesContent":["import { E as listEnabledAddonIds, X as readStackEnv } from \"../../../../chunks/compose-args.js\";\nimport { j as resolveComposeProjectName } from \"../../../../chunks/docker.js\";\nimport \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse } 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];\nasync function findGuardianContainerId(projectName) {\n\tconst { stdout } = await execFileAsync(\"docker\", [\n\t\t\"container\",\n\t\t\"ls\",\n\t\t\"--all\",\n\t\t\"--filter\",\n\t\t`label=com.docker.compose.project=${projectName}`,\n\t\t\"--filter\",\n\t\t\"label=com.docker.compose.service=guardian\",\n\t\t\"--format\",\n\t\t\"{{.ID}}\"\n\t], { timeout: 5e3 });\n\treturn stdout.trim().split(\"\\n\").find(Boolean) ?? null;\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\tconst homeDir = getState().homeDir;\n\t\tif (!listEnabledAddonIds(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 containerId = await findGuardianContainerId(resolveComposeProjectName(readStackEnv(getState().homeDir)));\n\t\tif (!containerId) return jsonResponse(503, {\n\t\t\tstatus: \"unreachable\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t\tconst { stdout } = await execFileAsync(\"docker\", [\n\t\t\t\"container\",\n\t\t\t\"inspect\",\n\t\t\tcontainerId,\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;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,eAAe,uBAAuB,CAAC,WAAW,EAAE;AACpD,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE;AAClD,EAAE,WAAW;AACb,EAAE,IAAI;AACN,EAAE,OAAO;AACT,EAAE,UAAU;AACZ,EAAE,CAAC,iCAAiC,EAAE,WAAW,CAAC,CAAC;AACnD,EAAE,UAAU;AACZ,EAAE,2CAA2C;AAC7C,EAAE,UAAU;AACZ,EAAE;AACF,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI;AACvD;AACA;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,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,OAAO;AACpC,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACxG,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,WAAW,GAAG,MAAM,uBAAuB,CAAC,yBAAyB,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChH,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC7C,GAAG,MAAM,EAAE,aAAa;AACxB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE;AACnD,GAAG,WAAW;AACd,GAAG,SAAS;AACZ,GAAG,WAAW;AACd,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,7 +1,7 @@
1
- import { am as listEnabledAddonIds, ak as listAvailableAddonIds } from './src-CS2sSYOR.js';
2
- import { g as getState } from './state-BRh7vs9j.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-7BvhniSt.js';
4
- import { p as performAddonToggle } from './addon-helpers-Cpj40OF3.js';
1
+ import { am as listEnabledAddonIds, ak as listAvailableAddonIds } from './src-BwQUi60U.js';
2
+ import { g as getState } from './state-Dm7U51xT.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-q4Ng8QTq.js';
4
+ import { p as performAddonToggle } from './addon-helpers-Cgg8lPxe.js';
5
5
  import './provider-constants-1s1k8kbj.js';
6
6
  import './chunk-CLZ62Ad-.js';
7
7
  import 'node:module';
@@ -22,8 +22,8 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './endpoints-CU3ehglV.js';
26
- import './features-DLGlNjZX.js';
25
+ import './endpoints-B9ePqrMw.js';
26
+ import './features-0lgyQreD.js';
27
27
 
28
28
  //#region src/routes/api/host/addons/+server.ts
29
29
  function buildAddonList(availableIds, enabledIds) {
@@ -67,4 +67,4 @@ var POST = async (event) => {
67
67
  };
68
68
 
69
69
  export { GET, POST };
70
- //# sourceMappingURL=_server.ts-BLxV2y7p.js.map
70
+ //# sourceMappingURL=_server.ts-CIv0zM75.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BLxV2y7p.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/addons/_server.ts.js"],"sourcesContent":["import { E as listEnabledAddonIds, T as listAvailableAddonIds } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as performAddonToggle } from \"../../../../../chunks/addon-helpers.js\";\n//#region src/routes/api/host/addons/+server.ts\nfunction buildAddonList(availableIds, enabledIds) {\n\tconst enabledSet = new Set(enabledIds);\n\treturn availableIds.map((name) => ({\n\t\tname,\n\t\tenabled: enabledSet.has(name),\n\t\tavailable: true\n\t}));\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:addons\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\treturn jsonResponse(200, { addons: buildAddonList(listAvailableAddonIds(), listEnabledAddonIds(state.homeDir)) }, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:addons\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst name = typeof body.name === \"string\" ? body.name.trim() : \"\";\n\tif (!name) return errorResponse(400, \"bad_request\", \"name is required\", {}, requestId);\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst toggle = await performAddonToggle(state, name, typeof body.enabled === \"boolean\" ? body.enabled : void 0, requestId);\n\tif (!toggle.ok) return errorResponse(500, \"internal_error\", toggle.error, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\taddon: name,\n\t\tenabled: toggle.enabled,\n\t\tchanged: toggle.changed\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CIv0zM75.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/addons/_server.ts.js"],"sourcesContent":["import { E as listEnabledAddonIds, T as listAvailableAddonIds } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as performAddonToggle } from \"../../../../../chunks/addon-helpers.js\";\n//#region src/routes/api/host/addons/+server.ts\nfunction buildAddonList(availableIds, enabledIds) {\n\tconst enabledSet = new Set(enabledIds);\n\treturn availableIds.map((name) => ({\n\t\tname,\n\t\tenabled: enabledSet.has(name),\n\t\tavailable: true\n\t}));\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:addons\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\treturn jsonResponse(200, { addons: buildAddonList(listAvailableAddonIds(), listEnabledAddonIds(state.homeDir)) }, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:addons\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst name = typeof body.name === \"string\" ? body.name.trim() : \"\";\n\tif (!name) return errorResponse(400, \"bad_request\", \"name is required\", {}, requestId);\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst toggle = await performAddonToggle(state, name, typeof body.enabled === \"boolean\" ? body.enabled : void 0, requestId);\n\tif (!toggle.ok) return errorResponse(500, \"internal_error\", toggle.error, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\taddon: name,\n\t\tenabled: toggle.enabled,\n\t\tchanged: toggle.changed\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { ah as isSetupComplete, aV as resolveOpenPalmHome } from './src-CS2sSYOR.js';
2
+ import { ah as isSetupComplete, aV as resolveOpenPalmHome } from './src-BwQUi60U.js';
3
3
  import './utils-OXHIhUb5.js';
4
4
  import './provider-constants-1s1k8kbj.js';
5
5
  import './chunk-CLZ62Ad-.js';
@@ -31,4 +31,4 @@ var GET = () => {
31
31
  };
32
32
 
33
33
  export { GET };
34
- //# sourceMappingURL=_server.ts-Cg_4-N8w.js.map
34
+ //# sourceMappingURL=_server.ts-CJVwtNhA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Cg_4-N8w.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Tt as resolveOpenPalmHome } from \"../../../../../chunks/compose-args.js\";\nimport { z as isSetupComplete } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/status/+server.ts\nvar GET = () => {\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: isSetupComplete(resolveOpenPalmHome())\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,eAAe,CAAC,mBAAmB,EAAE;AACtD,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CJVwtNhA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Tt as resolveOpenPalmHome } from \"../../../../../chunks/compose-args.js\";\nimport { z as isSetupComplete } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/status/+server.ts\nvar GET = () => {\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: isSetupComplete(resolveOpenPalmHome())\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,eAAe,CAAC,mBAAmB,EAAE;AACtD,EAAE,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { an as listSecretFiles } from './src-CS2sSYOR.js';
2
- import { g as getState } from './state-BRh7vs9j.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-7BvhniSt.js';
1
+ import { an as listSecretFiles } from './src-BwQUi60U.js';
2
+ import { g as getState } from './state-Dm7U51xT.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-q4Ng8QTq.js';
4
4
  import './provider-constants-1s1k8kbj.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-CU3ehglV.js';
25
- import './features-DLGlNjZX.js';
24
+ import './endpoints-B9ePqrMw.js';
25
+ import './features-0lgyQreD.js';
26
26
 
27
27
  //#region src/routes/api/host/secrets/+server.ts
28
28
  var GET = async (event) => {
@@ -35,4 +35,4 @@ var GET = async (event) => {
35
35
  };
36
36
 
37
37
  export { GET };
38
- //# sourceMappingURL=_server.ts-B0jGXHG1.js.map
38
+ //# sourceMappingURL=_server.ts-CMAepV0J.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B0jGXHG1.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/secrets/_server.ts.js"],"sourcesContent":["import { it as listSecretFiles } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/secrets/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, { files: listSecretFiles(getState().homeDir) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,CAAC;AAC5E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC;AACpF;;;;"}
1
+ {"version":3,"file":"_server.ts-CMAepV0J.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/secrets/_server.ts.js"],"sourcesContent":["import { it as listSecretFiles } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/secrets/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, { files: listSecretFiles(getState().homeDir) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,CAAC;AAC5E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC;AACpF;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-7BvhniSt.js';
2
- import { s as sessionCookieHeader } from './session-cookie-WuIYBiMY.js';
3
- import './src-CS2sSYOR.js';
1
+ import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-q4Ng8QTq.js';
2
+ import { s as sessionCookieHeader } from './session-cookie-qHDuQboc.js';
3
+ import './src-BwQUi60U.js';
4
4
  import './provider-constants-1s1k8kbj.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -21,9 +21,9 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-CU3ehglV.js';
25
- import './state-BRh7vs9j.js';
26
- import './features-DLGlNjZX.js';
24
+ import './endpoints-B9ePqrMw.js';
25
+ import './state-Dm7U51xT.js';
26
+ import './features-0lgyQreD.js';
27
27
 
28
28
  //#region src/routes/api/auth/login/+server.ts
29
29
  var POST = async (event) => {
@@ -54,4 +54,4 @@ var POST = async (event) => {
54
54
  };
55
55
 
56
56
  export { POST };
57
- //# sourceMappingURL=_server.ts-S90K5IJI.js.map
57
+ //# sourceMappingURL=_server.ts-COcv1puW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-S90K5IJI.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/auth/login/_server.ts.js"],"sourcesContent":["import { a as getRequestId, f as safeTokenCompare, g as getUiLoginPassword, h as createSession, r as errorResponse } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/api/auth/login/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\trole: \"admin\"\n\t}), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE;AACR,EAAE,CAAC,EAAE;AACL,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-COcv1puW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/auth/login/_server.ts.js"],"sourcesContent":["import { a as getRequestId, f as safeTokenCompare, g as getUiLoginPassword, h as createSession, r as errorResponse } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/api/auth/login/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\trole: \"admin\"\n\t}), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE;AACR,EAAE,CAAC,EAAE;AACL,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,5 +1,5 @@
1
- import { aT as resolveDataDir, as as normalizeVersion, aY as seedUiBuild, G as createLogger } from './src-CS2sSYOR.js';
2
- import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-7BvhniSt.js';
1
+ import { aT as resolveDataDir, as as normalizeVersion, aY as seedUiBuild, G as createLogger } from './src-BwQUi60U.js';
2
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-q4Ng8QTq.js';
3
3
  import './provider-constants-1s1k8kbj.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
@@ -20,9 +20,9 @@ import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
- import './endpoints-CU3ehglV.js';
24
- import './state-BRh7vs9j.js';
25
- import './features-DLGlNjZX.js';
23
+ import './endpoints-B9ePqrMw.js';
24
+ import './state-Dm7U51xT.js';
25
+ import './features-0lgyQreD.js';
26
26
 
27
27
  //#region src/routes/api/host/ui-version/+server.ts
28
28
  var logger = createLogger("ui-version");
@@ -91,4 +91,4 @@ var POST = async (event) => {
91
91
  };
92
92
 
93
93
  export { POST };
94
- //# sourceMappingURL=_server.ts-BG50sNod.js.map
94
+ //# sourceMappingURL=_server.ts-CQHkw9ni.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BG50sNod.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/ui-version/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, pt as seedUiBuild, vt as normalizeVersion, wt as resolveDataDir } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/ui-version/+server.ts\nvar logger = createLogger(\"ui-version\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst dataDir = resolveDataDir();\n\tconst repoRef = normalizeVersion(tag);\n\ttry {\n\t\tawait seedUiBuild(repoRef, dataDir, { forceRemote: true });\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"ui-version download failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"download_failed\", msg, { message: msg }, requestId);\n\t}\n\tconst supervisor = process.env.OP_UI_SUPERVISOR ?? \"\";\n\tlet restarting = false;\n\tlet pendingRestart = false;\n\tif (supervisor === \"electron\") {\n\t\tpendingRestart = true;\n\t\tlogger.info(\"ui-version downloaded (electron — client will restart via IPC)\", {\n\t\t\trequestId,\n\t\t\ttag\n\t\t});\n\t} else if (supervisor && process.ppid && process.ppid > 1) try {\n\t\tprocess.kill(process.ppid, \"SIGUSR2\");\n\t\trestarting = true;\n\t\tlogger.info(\"ui-version restart signalled\", {\n\t\t\trequestId,\n\t\t\tsupervisor,\n\t\t\tppid: process.ppid\n\t\t});\n\t} catch (e) {\n\t\tlogger.warn(\"ui-version restart signal failed\", {\n\t\t\trequestId,\n\t\t\terror: e instanceof Error ? e.message : String(e)\n\t\t});\n\t}\n\tlogger.info(\"ui-version downloaded\", {\n\t\trequestId,\n\t\ttag,\n\t\trestarting,\n\t\tpendingRestart\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\ttag,\n\t\trestarting,\n\t\tpendingRestart\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CQHkw9ni.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/ui-version/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, pt as seedUiBuild, vt as normalizeVersion, wt as resolveDataDir } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/ui-version/+server.ts\nvar logger = createLogger(\"ui-version\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst dataDir = resolveDataDir();\n\tconst repoRef = normalizeVersion(tag);\n\ttry {\n\t\tawait seedUiBuild(repoRef, dataDir, { forceRemote: true });\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"ui-version download failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"download_failed\", msg, { message: msg }, requestId);\n\t}\n\tconst supervisor = process.env.OP_UI_SUPERVISOR ?? \"\";\n\tlet restarting = false;\n\tlet pendingRestart = false;\n\tif (supervisor === \"electron\") {\n\t\tpendingRestart = true;\n\t\tlogger.info(\"ui-version downloaded (electron — client will restart via IPC)\", {\n\t\t\trequestId,\n\t\t\ttag\n\t\t});\n\t} else if (supervisor && process.ppid && process.ppid > 1) try {\n\t\tprocess.kill(process.ppid, \"SIGUSR2\");\n\t\trestarting = true;\n\t\tlogger.info(\"ui-version restart signalled\", {\n\t\t\trequestId,\n\t\t\tsupervisor,\n\t\t\tppid: process.ppid\n\t\t});\n\t} catch (e) {\n\t\tlogger.warn(\"ui-version restart signal failed\", {\n\t\t\trequestId,\n\t\t\terror: e instanceof Error ? e.message : String(e)\n\t\t});\n\t}\n\tlogger.info(\"ui-version downloaded\", {\n\t\trequestId,\n\t\ttag,\n\t\trestarting,\n\t\tpendingRestart\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\ttag,\n\t\trestarting,\n\t\tpendingRestart\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, h as invalidateSession } from './helpers-7BvhniSt.js';
2
- import { S as SESSION_COOKIE_NAME, c as clearSessionCookieHeader } from './session-cookie-WuIYBiMY.js';
3
- import './src-CS2sSYOR.js';
1
+ import { d as getRequestId, h as invalidateSession } from './helpers-q4Ng8QTq.js';
2
+ import { S as SESSION_COOKIE_NAME, c as clearSessionCookieHeader } from './session-cookie-qHDuQboc.js';
3
+ import './src-BwQUi60U.js';
4
4
  import './provider-constants-1s1k8kbj.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -21,9 +21,9 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-CU3ehglV.js';
25
- import './state-BRh7vs9j.js';
26
- import './features-DLGlNjZX.js';
24
+ import './endpoints-B9ePqrMw.js';
25
+ import './state-Dm7U51xT.js';
26
+ import './features-0lgyQreD.js';
27
27
 
28
28
  //#region src/routes/api/auth/logout/+server.ts
29
29
  var POST = async (event) => {
@@ -41,4 +41,4 @@ var POST = async (event) => {
41
41
  };
42
42
 
43
43
  export { POST };
44
- //# sourceMappingURL=_server.ts-DjFDthjg.js.map
44
+ //# sourceMappingURL=_server.ts-CS2LQKMb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DjFDthjg.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/auth/logout/_server.ts.js"],"sourcesContent":["import { _ as invalidateSession, a as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as clearSessionCookieHeader, t as SESSION_COOKIE_NAME } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/api/auth/logout/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst match = (event.request.headers.get(\"cookie\") ?? \"\").match(new RegExp(`(?:^|;\\\\s*)${SESSION_COOKIE_NAME}=([^;]+)`));\n\tif (match) invalidateSession(match[1]);\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": clearSessionCookieHeader(event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzH,CAAC,IAAI,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;AACxD,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CS2LQKMb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/auth/logout/_server.ts.js"],"sourcesContent":["import { _ as invalidateSession, a as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as clearSessionCookieHeader, t as SESSION_COOKIE_NAME } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/api/auth/logout/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst match = (event.request.headers.get(\"cookie\") ?? \"\").match(new RegExp(`(?:^|;\\\\s*)${SESSION_COOKIE_NAME}=([^;]+)`));\n\tif (match) invalidateSession(match[1]);\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": clearSessionCookieHeader(event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzH,CAAC,IAAI,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;AACxD,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { c as computeServerRuntimeContext } from './features-DLGlNjZX.js';
2
+ import { c as computeServerRuntimeContext } from './features-0lgyQreD.js';
3
3
  import './utils-OXHIhUb5.js';
4
- import './src-CS2sSYOR.js';
4
+ import './src-BwQUi60U.js';
5
5
  import './provider-constants-1s1k8kbj.js';
6
6
  import './chunk-CLZ62Ad-.js';
7
7
  import 'node:module';
@@ -38,4 +38,4 @@ var GET = (event) => {
38
38
  };
39
39
 
40
40
  export { GET };
41
- //# sourceMappingURL=_server.ts-9TnX_Hfn.js.map
41
+ //# sourceMappingURL=_server.ts-CX_CwTW0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-9TnX_Hfn.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/runtime/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../chunks/exports.js\";\nimport { t as computeServerRuntimeContext } from \"../../../../chunks/features.js\";\n//#region src/routes/api/runtime/+server.ts\n/**\n* GET /api/runtime — public runtime-context endpoint (plan\n* ui-runtime-modes-plan.md §6.4, issue #509).\n*\n* PUBLIC by design: no auth is consulted. The body is the ServerRuntimeContext\n* whose `version` field is the contract-version handshake remote/hosted\n* clients use to detect version skew before enabling features. It carries no\n* secrets — mode, capability names, versions, and route pointers only.\n*/\nvar GET = (event) => {\n\treturn json(computeServerRuntimeContext(event));\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,CAAC,KAAK,KAAK;AACrB,CAAC,OAAO,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;AAChD;;;;"}
1
+ {"version":3,"file":"_server.ts-CX_CwTW0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/runtime/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../chunks/exports.js\";\nimport { t as computeServerRuntimeContext } from \"../../../../chunks/features.js\";\n//#region src/routes/api/runtime/+server.ts\n/**\n* GET /api/runtime — public runtime-context endpoint (plan\n* ui-runtime-modes-plan.md §6.4, issue #509).\n*\n* PUBLIC by design: no auth is consulted. The body is the ServerRuntimeContext\n* whose `version` field is the contract-version handshake remote/hosted\n* clients use to detect version skew before enabling features. It carries no\n* secrets — mode, capability names, versions, and route pointers only.\n*/\nvar GET = (event) => {\n\treturn json(computeServerRuntimeContext(event));\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,CAAC,KAAK,KAAK;AACrB,CAAC,OAAO,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;AAChD;;;;"}
@@ -1,6 +1,6 @@
1
- import { ao as loadAutomations, a0 as executeAutomation, m as buildAkmEnv } from './src-CS2sSYOR.js';
2
- import { g as getState } from './state-BRh7vs9j.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-7BvhniSt.js';
1
+ import { ao as loadAutomations, a0 as executeAutomation, m as buildAkmEnv } from './src-BwQUi60U.js';
2
+ import { g as getState } from './state-Dm7U51xT.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-q4Ng8QTq.js';
4
4
  import './provider-constants-1s1k8kbj.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-CU3ehglV.js';
25
- import './features-DLGlNjZX.js';
24
+ import './endpoints-B9ePqrMw.js';
25
+ import './features-0lgyQreD.js';
26
26
 
27
27
  //#region src/routes/api/host/automations/[name]/run/+server.ts
28
28
  var SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\.ya?ml)?$/;
@@ -47,4 +47,4 @@ var POST = async (event) => {
47
47
  };
48
48
 
49
49
  export { POST };
50
- //# sourceMappingURL=_server.ts-BjEVNsPT.js.map
50
+ //# sourceMappingURL=_server.ts-CcoaYeM8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BjEVNsPT.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/automations/_name_/run/_server.ts.js"],"sourcesContent":["import { _ as buildAkmEnv, m as loadAutomations, p as executeAutomation } from \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/automations/[name]/run/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:write\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tif (!loadAutomations(state.stashDir).some((c) => c.name === taskId)) return errorResponse(404, \"not_found\", `Automation '${taskId}' is not installed.`, {}, requestId);\n\tconst result = await executeAutomation(taskId, buildAkmEnv(state));\n\treturn jsonResponse(202, {\n\t\tok: result.ok,\n\t\tname: taskId,\n\t\tstatus: result.status,\n\t\terror: result.error ?? null\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAC/C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvK,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;AACf,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI;AACzB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-CcoaYeM8.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/automations/_name_/run/_server.ts.js"],"sourcesContent":["import { _ as buildAkmEnv, m as loadAutomations, p as executeAutomation } from \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/automations/[name]/run/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:write\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tif (!loadAutomations(state.stashDir).some((c) => c.name === taskId)) return errorResponse(404, \"not_found\", `Automation '${taskId}' is not installed.`, {}, requestId);\n\tconst result = await executeAutomation(taskId, buildAkmEnv(state));\n\treturn jsonResponse(202, {\n\t\tok: result.ok,\n\t\tname: taskId,\n\t\tstatus: result.status,\n\t\terror: result.error ?? null\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAC/C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvK,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;AACf,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI;AACzB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { E as ELECTRON_ASSET_PATTERN } from './src-CS2sSYOR.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin } from './helpers-7BvhniSt.js';
2
+ import { E as ELECTRON_ASSET_PATTERN } from './src-BwQUi60U.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin } from './helpers-q4Ng8QTq.js';
4
4
  import './utils-OXHIhUb5.js';
5
5
  import './provider-constants-1s1k8kbj.js';
6
6
  import './chunk-CLZ62Ad-.js';
@@ -22,9 +22,9 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './endpoints-CU3ehglV.js';
26
- import './state-BRh7vs9j.js';
27
- import './features-DLGlNjZX.js';
25
+ import './endpoints-B9ePqrMw.js';
26
+ import './state-Dm7U51xT.js';
27
+ import './features-0lgyQreD.js';
28
28
 
29
29
  //#region src/lib/server/release-units.ts
30
30
  /**
@@ -131,4 +131,4 @@ var GET = async (event) => {
131
131
  };
132
132
 
133
133
  export { GET };
134
- //# sourceMappingURL=_server.ts-DhfQc2ah.js.map
134
+ //# sourceMappingURL=_server.ts-CfuLncMW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DhfQc2ah.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/versions/releases/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { mt as ELECTRON_ASSET_PATTERN } from \"../../../../../../chunks/compose-args.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { a as getRequestId, d as requireCapability, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/lib/server/release-units.ts\n/**\n* Parse GitHub release tags into platform + per-unit release lists.\n*\n* With independently versioned units, git tags are unit-prefixed\n* (platform-X.Y.Z, assistant-X.Y.Z, guardian-X.Y.Z, portals-X.Y.Z). Docker\n* images always use the v-prefixed form, so the prefix is stripped here and the\n* UI re-adds the `v` only when talking to Docker. Legacy `vX.Y.Z` tags are kept\n* under the platform list for backward compat with pre-unit releases.\n*\n* Pure + side-effect free so it can be unit-tested without mocking the GitHub\n* API. The `/api/host/versions/releases` route calls {@link groupReleasesByUnit}\n* after fetching the raw release list.\n*/\nvar PLATFORM_TAG_PATTERN = /^platform-(\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]*)?)$/;\nvar LEGACY_V_TAG_PATTERN = /^v(\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]*)?)$/;\n/**\n* Select only platform releases that carry installable app assets (Electron\n* installer or skeleton/deploy bundle), skipping per-unit container-image\n* releases.\n*\n* Per-unit version pickers now read from Docker Hub tags (not GitHub releases),\n* so the releases endpoint only needs app-level releases — the ones with\n* downloadable installer/bundle assets. This dramatically reduces the data the\n* UI holds and keeps the GitHub API call to its existing single request (the\n* filtering is client-side of the fetch, not a second fetch).\n*\n* Deduplicates by semver so `{#each r.tag}` keys stay unique when a platform\n* release created both a `platform-X.Y.Z` and a legacy `vX.Y.Z` tag. Preserves\n* GitHub's `created_at` desc ordering.\n*/\nfunction selectInstallableReleases(raw) {\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst releases = [];\n\tfor (const r of raw) {\n\t\tconst hasElectronBuild = r.assets.some((a) => ELECTRON_ASSET_PATTERN.test(a.name));\n\t\tif (!hasElectronBuild) continue;\n\t\tconst platformMatch = r.tag_name.match(PLATFORM_TAG_PATTERN);\n\t\tif (platformMatch) {\n\t\t\tconst tag = platformMatch[1];\n\t\t\tif (!seen.has(tag)) {\n\t\t\t\tseen.add(tag);\n\t\t\t\treleases.push({\n\t\t\t\t\ttag,\n\t\t\t\t\tprerelease: r.prerelease,\n\t\t\t\t\tpublishedAt: r.published_at,\n\t\t\t\t\thasElectronBuild\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tconst legacyMatch = r.tag_name.match(LEGACY_V_TAG_PATTERN);\n\t\tif (legacyMatch) {\n\t\t\tconst tag = legacyMatch[1];\n\t\t\tif (!seen.has(tag)) {\n\t\t\t\tseen.add(tag);\n\t\t\t\treleases.push({\n\t\t\t\t\ttag,\n\t\t\t\t\tprerelease: r.prerelease,\n\t\t\t\t\tpublishedAt: r.published_at,\n\t\t\t\t\thasElectronBuild\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn releases;\n}\n//#endregion\n//#region src/routes/api/host/versions/releases/+server.ts\n/**\n* GET /api/host/versions/releases — list installable platform releases from GitHub.\n*\n* Powers the desktop App-update badge: only platform releases that carry an\n* Electron installer asset. Best-effort — a GitHub outage yields an empty list\n* with an error signal rather than failing the page. (No server-side cache: the\n* admin UI no longer polls this, so a direct fetch per visit is fine.)\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\ttry {\n\t\tconst res = await fetch(\"https://api.github.com/repos/itlackey/openpalm/releases?per_page=20\", {\n\t\t\theaders: {\n\t\t\t\t\"User-Agent\": \"openpalm-admin/1.0\",\n\t\t\t\tAccept: \"application/vnd.github+json\"\n\t\t\t},\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return json({\n\t\t\treleases: [],\n\t\t\terror: \"GitHub releases unavailable\"\n\t\t});\n\t\treturn json({ releases: selectInstallableReleases(await res.json()) });\n\t} catch {\n\t\treturn json({\n\t\t\treleases: [],\n\t\t\terror: \"GitHub releases unavailable\"\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CfuLncMW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/versions/releases/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { mt as ELECTRON_ASSET_PATTERN } from \"../../../../../../chunks/compose-args.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { a as getRequestId, d as requireCapability, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/lib/server/release-units.ts\n/**\n* Parse GitHub release tags into platform + per-unit release lists.\n*\n* With independently versioned units, git tags are unit-prefixed\n* (platform-X.Y.Z, assistant-X.Y.Z, guardian-X.Y.Z, portals-X.Y.Z). Docker\n* images always use the v-prefixed form, so the prefix is stripped here and the\n* UI re-adds the `v` only when talking to Docker. Legacy `vX.Y.Z` tags are kept\n* under the platform list for backward compat with pre-unit releases.\n*\n* Pure + side-effect free so it can be unit-tested without mocking the GitHub\n* API. The `/api/host/versions/releases` route calls {@link groupReleasesByUnit}\n* after fetching the raw release list.\n*/\nvar PLATFORM_TAG_PATTERN = /^platform-(\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]*)?)$/;\nvar LEGACY_V_TAG_PATTERN = /^v(\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]*)?)$/;\n/**\n* Select only platform releases that carry installable app assets (Electron\n* installer or skeleton/deploy bundle), skipping per-unit container-image\n* releases.\n*\n* Per-unit version pickers now read from Docker Hub tags (not GitHub releases),\n* so the releases endpoint only needs app-level releases — the ones with\n* downloadable installer/bundle assets. This dramatically reduces the data the\n* UI holds and keeps the GitHub API call to its existing single request (the\n* filtering is client-side of the fetch, not a second fetch).\n*\n* Deduplicates by semver so `{#each r.tag}` keys stay unique when a platform\n* release created both a `platform-X.Y.Z` and a legacy `vX.Y.Z` tag. Preserves\n* GitHub's `created_at` desc ordering.\n*/\nfunction selectInstallableReleases(raw) {\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst releases = [];\n\tfor (const r of raw) {\n\t\tconst hasElectronBuild = r.assets.some((a) => ELECTRON_ASSET_PATTERN.test(a.name));\n\t\tif (!hasElectronBuild) continue;\n\t\tconst platformMatch = r.tag_name.match(PLATFORM_TAG_PATTERN);\n\t\tif (platformMatch) {\n\t\t\tconst tag = platformMatch[1];\n\t\t\tif (!seen.has(tag)) {\n\t\t\t\tseen.add(tag);\n\t\t\t\treleases.push({\n\t\t\t\t\ttag,\n\t\t\t\t\tprerelease: r.prerelease,\n\t\t\t\t\tpublishedAt: r.published_at,\n\t\t\t\t\thasElectronBuild\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tconst legacyMatch = r.tag_name.match(LEGACY_V_TAG_PATTERN);\n\t\tif (legacyMatch) {\n\t\t\tconst tag = legacyMatch[1];\n\t\t\tif (!seen.has(tag)) {\n\t\t\t\tseen.add(tag);\n\t\t\t\treleases.push({\n\t\t\t\t\ttag,\n\t\t\t\t\tprerelease: r.prerelease,\n\t\t\t\t\tpublishedAt: r.published_at,\n\t\t\t\t\thasElectronBuild\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn releases;\n}\n//#endregion\n//#region src/routes/api/host/versions/releases/+server.ts\n/**\n* GET /api/host/versions/releases — list installable platform releases from GitHub.\n*\n* Powers the desktop App-update badge: only platform releases that carry an\n* Electron installer asset. Best-effort — a GitHub outage yields an empty list\n* with an error signal rather than failing the page. (No server-side cache: the\n* admin UI no longer polls this, so a direct fetch per visit is fine.)\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\ttry {\n\t\tconst res = await fetch(\"https://api.github.com/repos/itlackey/openpalm/releases?per_page=20\", {\n\t\t\theaders: {\n\t\t\t\t\"User-Agent\": \"openpalm-admin/1.0\",\n\t\t\t\tAccept: \"application/vnd.github+json\"\n\t\t\t},\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return json({\n\t\t\treleases: [],\n\t\t\terror: \"GitHub releases unavailable\"\n\t\t});\n\t\treturn json({ releases: selectInstallableReleases(await res.json()) });\n\t} catch {\n\t\treturn json({\n\t\t\treleases: [],\n\t\t\terror: \"GitHub releases unavailable\"\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { d as deleteConnection, v as validateEndpointUrl, u as updateConnection } from './endpoints-CU3ehglV.js';
2
- import { d as getRequestId, k as jsonResponse, e as errorResponse, l as requireCapability, w as withAdminBody } from './helpers-7BvhniSt.js';
3
- import { r as requireConnectionsManage, a as publishConnectionEntry } from './connections-api-CpQ5k7QC.js';
4
- import './src-CS2sSYOR.js';
1
+ import { d as deleteConnection, v as validateEndpointUrl, u as updateConnection } from './endpoints-B9ePqrMw.js';
2
+ import { d as getRequestId, k as jsonResponse, e as errorResponse, l as requireCapability, w as withAdminBody } from './helpers-q4Ng8QTq.js';
3
+ import { r as requireConnectionsManage, a as publishConnectionEntry } from './connections-api-NkotVLIl.js';
4
+ import './src-BwQUi60U.js';
5
5
  import './provider-constants-1s1k8kbj.js';
6
6
  import './chunk-CLZ62Ad-.js';
7
7
  import 'node:module';
@@ -22,8 +22,8 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './state-BRh7vs9j.js';
26
- import './features-DLGlNjZX.js';
25
+ import './state-Dm7U51xT.js';
26
+ import './features-0lgyQreD.js';
27
27
 
28
28
  //#region src/routes/api/connections/[id]/+server.ts
29
29
  var PATCH = async (event) => {
@@ -65,4 +65,4 @@ var DELETE = async (event) => {
65
65
  };
66
66
 
67
67
  export { DELETE, PATCH };
68
- //# sourceMappingURL=_server.ts-HN1FxysS.js.map
68
+ //# sourceMappingURL=_server.ts-CjPhaG_g.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-HN1FxysS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/connections/_id_/_server.ts.js"],"sourcesContent":["import { c as validateEndpointUrl, n as deleteConnection, s as updateConnection } from \"../../../../../chunks/endpoints.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, p as withAdminBody, r as errorResponse } from \"../../../../../chunks/helpers.js\";\nimport { n as publishConnectionEntry, r as requireConnectionsManage } from \"../../../../../chunks/connections-api.js\";\n//#region src/routes/api/connections/[id]/+server.ts\nvar PATCH = async (event) => {\n\tconst capabilityError = requireCapability(event, \"connections:manage\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\tconst id = event.params.id;\n\t\tconst patch = {};\n\t\tif (typeof body.label === \"string\") patch.label = body.label;\n\t\tif (typeof body.url === \"string\") {\n\t\t\tconst urlCheck = validateEndpointUrl(body.url);\n\t\t\tif (!urlCheck.ok) return errorResponse(400, \"invalid_connection\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\t\tpatch.url = urlCheck.url;\n\t\t}\n\t\tif (body.password === null) patch.password = null;\n\t\telse if (typeof body.password === \"string\") patch.password = body.password;\n\t\ttry {\n\t\t\treturn jsonResponse(200, { connection: publishConnectionEntry(updateConnection(id, patch)) }, requestId);\n\t\t} catch (e) {\n\t\t\tconst msg = e instanceof Error ? e.message : \"failed to update connection\";\n\t\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_connection\", msg, {}, requestId);\n\t\t}\n\t});\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst guardError = requireConnectionsManage(event, requestId);\n\tif (guardError) return guardError;\n\tconst id = event.params.id;\n\ttry {\n\t\tdeleteConnection(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 connection\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_connection\", msg, {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, PATCH };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,KAAK,GAAG,OAAO,KAAK,KAAK;AAC7B,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5F,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC5D,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AAC5B,EAAE,MAAM,KAAK,GAAG,EAAE;AAClB,EAAE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;AAC9D,EAAE,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE;AACpC,GAAG,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;AACjD,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AACtH,GAAG,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG;AAC3B,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;AACnD,OAAO,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC5E,EAAE,IAAI;AACN,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAC3G,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;AACd,GAAG,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,6BAA6B;AAC7E,GAAG,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,GAAG;AAClE,GAAG,OAAO,aAAa,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,GAAG,WAAW,GAAG,oBAAoB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AACxG,EAAE;AACF,CAAC,CAAC,CAAC;AACH;AACG,IAAC,MAAM,GAAG,OAAO,KAAK,KAAK;AAC9B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9D,CAAC,IAAI,UAAU,EAAE,OAAO,UAAU;AAClC,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AAC3B,CAAC,IAAI;AACL,EAAE,gBAAgB,CAAC,EAAE,CAAC;AACtB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AACnD,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,6BAA6B;AAC5E,EAAE,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,GAAG;AACjE,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,GAAG,WAAW,GAAG,oBAAoB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AACvG,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-CjPhaG_g.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/connections/_id_/_server.ts.js"],"sourcesContent":["import { c as validateEndpointUrl, n as deleteConnection, s as updateConnection } from \"../../../../../chunks/endpoints.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, p as withAdminBody, r as errorResponse } from \"../../../../../chunks/helpers.js\";\nimport { n as publishConnectionEntry, r as requireConnectionsManage } from \"../../../../../chunks/connections-api.js\";\n//#region src/routes/api/connections/[id]/+server.ts\nvar PATCH = async (event) => {\n\tconst capabilityError = requireCapability(event, \"connections:manage\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\tconst id = event.params.id;\n\t\tconst patch = {};\n\t\tif (typeof body.label === \"string\") patch.label = body.label;\n\t\tif (typeof body.url === \"string\") {\n\t\t\tconst urlCheck = validateEndpointUrl(body.url);\n\t\t\tif (!urlCheck.ok) return errorResponse(400, \"invalid_connection\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\t\tpatch.url = urlCheck.url;\n\t\t}\n\t\tif (body.password === null) patch.password = null;\n\t\telse if (typeof body.password === \"string\") patch.password = body.password;\n\t\ttry {\n\t\t\treturn jsonResponse(200, { connection: publishConnectionEntry(updateConnection(id, patch)) }, requestId);\n\t\t} catch (e) {\n\t\t\tconst msg = e instanceof Error ? e.message : \"failed to update connection\";\n\t\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_connection\", msg, {}, requestId);\n\t\t}\n\t});\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst guardError = requireConnectionsManage(event, requestId);\n\tif (guardError) return guardError;\n\tconst id = event.params.id;\n\ttry {\n\t\tdeleteConnection(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 connection\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_connection\", msg, {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, PATCH };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,KAAK,GAAG,OAAO,KAAK,KAAK;AAC7B,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5F,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC5D,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AAC5B,EAAE,MAAM,KAAK,GAAG,EAAE;AAClB,EAAE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;AAC9D,EAAE,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE;AACpC,GAAG,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;AACjD,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AACtH,GAAG,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG;AAC3B,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI;AACnD,OAAO,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC5E,EAAE,IAAI;AACN,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAC3G,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;AACd,GAAG,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,6BAA6B;AAC7E,GAAG,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,GAAG;AAClE,GAAG,OAAO,aAAa,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,GAAG,WAAW,GAAG,oBAAoB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AACxG,EAAE;AACF,CAAC,CAAC,CAAC;AACH;AACG,IAAC,MAAM,GAAG,OAAO,KAAK,KAAK;AAC9B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9D,CAAC,IAAI,UAAU,EAAE,OAAO,UAAU;AAClC,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AAC3B,CAAC,IAAI;AACL,EAAE,gBAAgB,CAAC,EAAE,CAAC;AACtB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AACnD,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,6BAA6B;AAC5E,EAAE,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,GAAG;AACjE,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,GAAG,WAAW,GAAG,oBAAoB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AACvG,CAAC;AACD;;;;"}