@openpalm/ui 0.13.0-beta.4 → 0.13.0-beta.6

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 (436) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/{4.BXlLAfIE.css → 4.B2m7mOkq.css} +1 -1
  3. package/build/client/_app/immutable/assets/4.B2m7mOkq.css.br +0 -0
  4. package/build/client/_app/immutable/assets/4.B2m7mOkq.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/6.CmRPKjbq.css +1 -0
  6. package/build/client/_app/immutable/assets/6.CmRPKjbq.css.br +0 -0
  7. package/build/client/_app/immutable/assets/6.CmRPKjbq.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/7.BTWb8aLW.css +1 -0
  9. package/build/client/_app/immutable/assets/7.BTWb8aLW.css.br +0 -0
  10. package/build/client/_app/immutable/assets/7.BTWb8aLW.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/9.D8zTZB7v.css +1 -0
  12. package/build/client/_app/immutable/assets/9.D8zTZB7v.css.br +0 -0
  13. package/build/client/_app/immutable/assets/9.D8zTZB7v.css.gz +0 -0
  14. package/build/client/_app/immutable/chunks/BX_cLEyR.js +1 -0
  15. package/build/client/_app/immutable/chunks/BX_cLEyR.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/BX_cLEyR.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{CBV2kBE1.js → ByFgZDEl.js} +1 -1
  18. package/build/client/_app/immutable/chunks/ByFgZDEl.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/ByFgZDEl.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/Cnz20Kyu.js +3 -0
  21. package/build/client/_app/immutable/chunks/Cnz20Kyu.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/Cnz20Kyu.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{BNJvGRjX.js → CoOosFtk.js} +2 -2
  24. package/build/client/_app/immutable/chunks/CoOosFtk.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/CoOosFtk.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{C5iiO0W9.js → DBaSfL95.js} +1 -1
  27. package/build/client/_app/immutable/chunks/DBaSfL95.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/DBaSfL95.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/ra5AJhOl.js +1 -0
  30. package/build/client/_app/immutable/chunks/ra5AJhOl.js.br +2 -0
  31. package/build/client/_app/immutable/chunks/ra5AJhOl.js.gz +0 -0
  32. package/build/client/_app/immutable/entry/{app.DAzfwrA7.js → app.SHrJgM4c.js} +2 -2
  33. package/build/client/_app/immutable/entry/app.SHrJgM4c.js.br +0 -0
  34. package/build/client/_app/immutable/entry/app.SHrJgM4c.js.gz +0 -0
  35. package/build/client/_app/immutable/entry/start.CM0OuHkF.js +1 -0
  36. package/build/client/_app/immutable/entry/start.CM0OuHkF.js.br +0 -0
  37. package/build/client/_app/immutable/entry/start.CM0OuHkF.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{1.BYTQ4CJf.js → 1.BRotfm1G.js} +1 -1
  39. package/build/client/_app/immutable/nodes/1.BRotfm1G.js.br +2 -0
  40. package/build/client/_app/immutable/nodes/1.BRotfm1G.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{10.CHYaVWP2.js → 10.CtHRQW64.js} +1 -1
  42. package/build/client/_app/immutable/nodes/10.CtHRQW64.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/10.CtHRQW64.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{11.DXwuRFxA.js → 11.DViPDhJG.js} +1 -1
  45. package/build/client/_app/immutable/nodes/11.DViPDhJG.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/11.DViPDhJG.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/4.B1PIKbh6.js +6 -0
  48. package/build/client/_app/immutable/nodes/4.B1PIKbh6.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/4.B1PIKbh6.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{5.DgnQcqeL.js → 5.CIMkqYzP.js} +1 -1
  51. package/build/client/_app/immutable/nodes/5.CIMkqYzP.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/5.CIMkqYzP.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/6.U9QsdKdj.js +2 -0
  54. package/build/client/_app/immutable/nodes/6.U9QsdKdj.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/6.U9QsdKdj.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js +14 -0
  57. package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/9.zlIImD-K.js +128 -0
  60. package/build/client/_app/immutable/nodes/9.zlIImD-K.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/9.zlIImD-K.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-CxqNryz-.js → 0-BtezztJz.js} +5 -4
  66. package/build/server/chunks/{0-CxqNryz-.js.map → 0-BtezztJz.js.map} +1 -1
  67. package/build/server/chunks/1-CvGA_TOi.js +9 -0
  68. package/build/server/chunks/{1-Dxk_eEPL.js.map → 1-CvGA_TOi.js.map} +1 -1
  69. package/build/server/chunks/{10-DcTjX0aZ.js → 10-D_ipl62-.js} +3 -3
  70. package/build/server/chunks/{10-DcTjX0aZ.js.map → 10-D_ipl62-.js.map} +1 -1
  71. package/build/server/chunks/{11-Ddav4pvQ.js → 11-Bp7zXIv8.js} +3 -3
  72. package/build/server/chunks/{11-Ddav4pvQ.js.map → 11-Bp7zXIv8.js.map} +1 -1
  73. package/build/server/chunks/{3-xtalXCwW.js → 3-CZdWulB3.js} +7 -6
  74. package/build/server/chunks/{3-xtalXCwW.js.map → 3-CZdWulB3.js.map} +1 -1
  75. package/build/server/chunks/4-4bobZFC9.js +9 -0
  76. package/build/server/chunks/{4-CEASlyNx.js.map → 4-4bobZFC9.js.map} +1 -1
  77. package/build/server/chunks/{5-3gkFDIAU.js → 5-CeJvfCdk.js} +3 -3
  78. package/build/server/chunks/{5-3gkFDIAU.js.map → 5-CeJvfCdk.js.map} +1 -1
  79. package/build/server/chunks/{6-BSR29JnK.js → 6-sGxxEzTB.js} +4 -4
  80. package/build/server/chunks/{6-BSR29JnK.js.map → 6-sGxxEzTB.js.map} +1 -1
  81. package/build/server/chunks/{7-gx5m5R1u.js → 7-mi0k2tJn.js} +4 -4
  82. package/build/server/chunks/{7-gx5m5R1u.js.map → 7-mi0k2tJn.js.map} +1 -1
  83. package/build/server/chunks/9-DB22e_yA.js +9 -0
  84. package/build/server/chunks/9-DB22e_yA.js.map +1 -0
  85. package/build/server/chunks/{ChatNavbar-D2J3UbpW.js → ChatNavbar-FJW5r496.js} +9 -10
  86. package/build/server/chunks/ChatNavbar-FJW5r496.js.map +1 -0
  87. package/build/server/chunks/{IconServer-jRvjNs7I.js → IconServer-w-1K5jNR.js} +4 -4
  88. package/build/server/chunks/{IconServer-jRvjNs7I.js.map → IconServer-w-1K5jNR.js.map} +1 -1
  89. package/build/server/chunks/{IconSoundOn-DHtvjphK.js → IconSoundOn-DZGaQz_p.js} +18 -13
  90. package/build/server/chunks/IconSoundOn-DZGaQz_p.js.map +1 -0
  91. package/build/server/chunks/{IconStop-C89_dmt4.js → IconStop-BPbovgch.js} +2 -2
  92. package/build/server/chunks/{IconStop-C89_dmt4.js.map → IconStop-BPbovgch.js.map} +1 -1
  93. package/build/server/chunks/{_layout.svelte-BLxvGwKC.js → _layout.svelte-B-_IlE2E.js} +2 -2
  94. package/build/server/chunks/{_layout.svelte-BLxvGwKC.js.map → _layout.svelte-B-_IlE2E.js.map} +1 -1
  95. package/build/server/chunks/{_page.svelte--qXsMm-T.js → _page.svelte-CB1qUSpk.js} +16 -16
  96. package/build/server/chunks/_page.svelte-CB1qUSpk.js.map +1 -0
  97. package/build/server/chunks/{_page.svelte-DGQP3UIP.js → _page.svelte-CPZBh4-z.js} +3 -3
  98. package/build/server/chunks/{_page.svelte-DGQP3UIP.js.map → _page.svelte-CPZBh4-z.js.map} +1 -1
  99. package/build/server/chunks/{_page.svelte-BnZ0Fgkw.js → _page.svelte-CPo3vFZf.js} +17 -43
  100. package/build/server/chunks/_page.svelte-CPo3vFZf.js.map +1 -0
  101. package/build/server/chunks/{_page.svelte-BgzOKhmH.js → _page.svelte-DM96lwQ1.js} +3 -3
  102. package/build/server/chunks/{_page.svelte-BgzOKhmH.js.map → _page.svelte-DM96lwQ1.js.map} +1 -1
  103. package/build/server/chunks/_page.svelte-F3gki1Uz.js +155 -0
  104. package/build/server/chunks/_page.svelte-F3gki1Uz.js.map +1 -0
  105. package/build/server/chunks/{_page.svelte-C36XsgXY.js → _page.svelte-GcuuPiXq.js} +3 -3
  106. package/build/server/chunks/{_page.svelte-C36XsgXY.js.map → _page.svelte-GcuuPiXq.js.map} +1 -1
  107. package/build/server/chunks/{_page.svelte-DGsMxwfZ.js → _page.svelte-K6kU7jIW.js} +64 -80
  108. package/build/server/chunks/_page.svelte-K6kU7jIW.js.map +1 -0
  109. package/build/server/chunks/{_server.ts-sdkTYy6A.js → _server.ts-513m4Yqs.js} +15 -14
  110. package/build/server/chunks/_server.ts-513m4Yqs.js.map +1 -0
  111. package/build/server/chunks/{_server.ts-BWcxJLLV.js → _server.ts-6QSsgi7N.js} +7 -6
  112. package/build/server/chunks/{_server.ts-BWcxJLLV.js.map → _server.ts-6QSsgi7N.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-Co4yATq8.js → _server.ts-B2BUFCOJ.js} +3 -2
  114. package/build/server/chunks/{_server.ts-Co4yATq8.js.map → _server.ts-B2BUFCOJ.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-CsP1RzbQ.js → _server.ts-B5wBYGeP.js} +7 -6
  116. package/build/server/chunks/_server.ts-B5wBYGeP.js.map +1 -0
  117. package/build/server/chunks/{_server.ts-CPYtZ7sE.js → _server.ts-BCrEvrVb.js} +27 -23
  118. package/build/server/chunks/_server.ts-BCrEvrVb.js.map +1 -0
  119. package/build/server/chunks/_server.ts-BFRCkpIB.js +83 -0
  120. package/build/server/chunks/_server.ts-BFRCkpIB.js.map +1 -0
  121. package/build/server/chunks/{_server.ts-CMO7LL0e.js → _server.ts-BJGOO9Nn.js} +3 -2
  122. package/build/server/chunks/_server.ts-BJGOO9Nn.js.map +1 -0
  123. package/build/server/chunks/{_server.ts-Ey4BEvRd.js → _server.ts-BLXzfOzW.js} +7 -6
  124. package/build/server/chunks/{_server.ts-Ey4BEvRd.js.map → _server.ts-BLXzfOzW.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-Bm2nv-W4.js → _server.ts-BNOepqUw.js} +7 -6
  126. package/build/server/chunks/{_server.ts-Bm2nv-W4.js.map → _server.ts-BNOepqUw.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-CS8n28qm.js → _server.ts-BQZ6mdSh.js} +7 -6
  128. package/build/server/chunks/{_server.ts-CS8n28qm.js.map → _server.ts-BQZ6mdSh.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-B3MvWwzq.js → _server.ts-BQdhHsGb.js} +8 -7
  130. package/build/server/chunks/{_server.ts-B3MvWwzq.js.map → _server.ts-BQdhHsGb.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-SxcH-cms.js → _server.ts-BXPj75Y1.js} +8 -7
  132. package/build/server/chunks/{_server.ts-SxcH-cms.js.map → _server.ts-BXPj75Y1.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-DjAGbGD-.js → _server.ts-B_dmjFtu.js} +7 -6
  134. package/build/server/chunks/_server.ts-B_dmjFtu.js.map +1 -0
  135. package/build/server/chunks/{_server.ts-C31rtz7B.js → _server.ts-BaVwMXGu.js} +7 -6
  136. package/build/server/chunks/{_server.ts-C31rtz7B.js.map → _server.ts-BaVwMXGu.js.map} +1 -1
  137. package/build/server/chunks/_server.ts-BcO0Zf4D.js +73 -0
  138. package/build/server/chunks/_server.ts-BcO0Zf4D.js.map +1 -0
  139. package/build/server/chunks/{_server.ts-B_c9x_NC.js → _server.ts-BcqSTHN5.js} +8 -7
  140. package/build/server/chunks/{_server.ts-B_c9x_NC.js.map → _server.ts-BcqSTHN5.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-D2-CHx_d.js → _server.ts-BfL_49xD.js} +8 -7
  142. package/build/server/chunks/{_server.ts-D2-CHx_d.js.map → _server.ts-BfL_49xD.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-C2qIUpva.js → _server.ts-Blmg0cXL.js} +8 -7
  144. package/build/server/chunks/{_server.ts-C2qIUpva.js.map → _server.ts-Blmg0cXL.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-Cm3uzCwu.js → _server.ts-BmRwgrKB.js} +8 -7
  146. package/build/server/chunks/{_server.ts-Cm3uzCwu.js.map → _server.ts-BmRwgrKB.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-DuOVzmV5.js → _server.ts-Bnzq20kw.js} +7 -6
  148. package/build/server/chunks/{_server.ts-DuOVzmV5.js.map → _server.ts-Bnzq20kw.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-DD4ouya8.js → _server.ts-BrQJNRtC.js} +7 -6
  150. package/build/server/chunks/{_server.ts-DD4ouya8.js.map → _server.ts-BrQJNRtC.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-LHKCcBS1.js → _server.ts-Bvb9c_At.js} +9 -8
  152. package/build/server/chunks/{_server.ts-LHKCcBS1.js.map → _server.ts-Bvb9c_At.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-Kp3wrrbF.js → _server.ts-BvtdTKYv.js} +8 -7
  154. package/build/server/chunks/{_server.ts-Kp3wrrbF.js.map → _server.ts-BvtdTKYv.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-V6a8P9IB.js → _server.ts-Bwt_pOeg.js} +7 -6
  156. package/build/server/chunks/{_server.ts-V6a8P9IB.js.map → _server.ts-Bwt_pOeg.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-CR85H0KR.js → _server.ts-C4Pel5kC.js} +7 -6
  158. package/build/server/chunks/_server.ts-C4Pel5kC.js.map +1 -0
  159. package/build/server/chunks/{_server.ts-CWYonOeQ.js → _server.ts-CFrPK6QO.js} +7 -6
  160. package/build/server/chunks/{_server.ts-CWYonOeQ.js.map → _server.ts-CFrPK6QO.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-CRvbt_Ny.js → _server.ts-CGTCLl7g.js} +8 -7
  162. package/build/server/chunks/{_server.ts-CRvbt_Ny.js.map → _server.ts-CGTCLl7g.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-Bvb6lo7O.js → _server.ts-CMOAhXEC.js} +9 -8
  164. package/build/server/chunks/{_server.ts-Bvb6lo7O.js.map → _server.ts-CMOAhXEC.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-CiBxLSg4.js → _server.ts-CPNIDSmd.js} +7 -6
  166. package/build/server/chunks/{_server.ts-CiBxLSg4.js.map → _server.ts-CPNIDSmd.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-KHK30kUK.js → _server.ts-CPiybiLB.js} +10 -9
  168. package/build/server/chunks/{_server.ts-KHK30kUK.js.map → _server.ts-CPiybiLB.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-BNoq5yoF.js → _server.ts-CT0jVfA6.js} +58 -56
  170. package/build/server/chunks/_server.ts-CT0jVfA6.js.map +1 -0
  171. package/build/server/chunks/{_server.ts-D8iJaYan.js → _server.ts-CU4SIH7_.js} +5 -4
  172. package/build/server/chunks/{_server.ts-D8iJaYan.js.map → _server.ts-CU4SIH7_.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-B-9mLZog.js → _server.ts-CVvUFmDd.js} +7 -6
  174. package/build/server/chunks/{_server.ts-B-9mLZog.js.map → _server.ts-CVvUFmDd.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-BrwSj7L5.js → _server.ts-CZ3VVtAj.js} +7 -6
  176. package/build/server/chunks/{_server.ts-BrwSj7L5.js.map → _server.ts-CZ3VVtAj.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-qgPpNGL8.js → _server.ts-CZMdC1Kd.js} +7 -6
  178. package/build/server/chunks/{_server.ts-qgPpNGL8.js.map → _server.ts-CZMdC1Kd.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-DM8N7von.js → _server.ts-CfLVH8TI.js} +7 -6
  180. package/build/server/chunks/{_server.ts-DM8N7von.js.map → _server.ts-CfLVH8TI.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-0T6OWJc0.js → _server.ts-Cf_ZLxIl.js} +7 -6
  182. package/build/server/chunks/{_server.ts-0T6OWJc0.js.map → _server.ts-Cf_ZLxIl.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-DPfGAMG4.js → _server.ts-Cgdl0C1I.js} +7 -6
  184. package/build/server/chunks/{_server.ts-DPfGAMG4.js.map → _server.ts-Cgdl0C1I.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-BK4NRqMj.js → _server.ts-CixURe5F.js} +8 -7
  186. package/build/server/chunks/{_server.ts-BK4NRqMj.js.map → _server.ts-CixURe5F.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-BbyfVT-W.js → _server.ts-CjfZfEOL.js} +7 -6
  188. package/build/server/chunks/{_server.ts-BbyfVT-W.js.map → _server.ts-CjfZfEOL.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-D3skirMd.js → _server.ts-CoVlX74M.js} +8 -7
  190. package/build/server/chunks/{_server.ts-D3skirMd.js.map → _server.ts-CoVlX74M.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-eov7yZvT.js → _server.ts-Cp8YnPjm.js} +9 -8
  192. package/build/server/chunks/{_server.ts-eov7yZvT.js.map → _server.ts-Cp8YnPjm.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-C6r0d7SR.js → _server.ts-CqK78x99.js} +19 -13
  194. package/build/server/chunks/_server.ts-CqK78x99.js.map +1 -0
  195. package/build/server/chunks/{_server.ts-MZYYoM8z.js → _server.ts-CsI99fk3.js} +15 -14
  196. package/build/server/chunks/_server.ts-CsI99fk3.js.map +1 -0
  197. package/build/server/chunks/{_server.ts-p4v6noBK.js → _server.ts-CtGn47WI.js} +5 -4
  198. package/build/server/chunks/{_server.ts-p4v6noBK.js.map → _server.ts-CtGn47WI.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-DHjMyNwJ.js → _server.ts-CuLEqJd2.js} +10 -15
  200. package/build/server/chunks/_server.ts-CuLEqJd2.js.map +1 -0
  201. package/build/server/chunks/{_server.ts-BRvNe0fS.js → _server.ts-CvkF5YMt.js} +7 -6
  202. package/build/server/chunks/{_server.ts-BRvNe0fS.js.map → _server.ts-CvkF5YMt.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-B64JQevs.js → _server.ts-CyIO3STA.js} +8 -7
  204. package/build/server/chunks/{_server.ts-B64JQevs.js.map → _server.ts-CyIO3STA.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-BJqxSP1B.js → _server.ts-CzEoO4z1.js} +3 -2
  206. package/build/server/chunks/_server.ts-CzEoO4z1.js.map +1 -0
  207. package/build/server/chunks/{_server.ts-DebCCwjH.js → _server.ts-CzIZ-UYy.js} +7 -6
  208. package/build/server/chunks/{_server.ts-DebCCwjH.js.map → _server.ts-CzIZ-UYy.js.map} +1 -1
  209. package/build/server/chunks/_server.ts-D3CUgai-.js +82 -0
  210. package/build/server/chunks/_server.ts-D3CUgai-.js.map +1 -0
  211. package/build/server/chunks/{_server.ts-zDEENUSw.js → _server.ts-D3EHXo-L.js} +7 -6
  212. package/build/server/chunks/{_server.ts-zDEENUSw.js.map → _server.ts-D3EHXo-L.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-CCdP5Eqx.js → _server.ts-D3FpBEaY.js} +7 -6
  214. package/build/server/chunks/{_server.ts-CCdP5Eqx.js.map → _server.ts-D3FpBEaY.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-Sx6mXrwK.js → _server.ts-D3G8ICxb.js} +7 -6
  216. package/build/server/chunks/{_server.ts-Sx6mXrwK.js.map → _server.ts-D3G8ICxb.js.map} +1 -1
  217. package/build/server/chunks/_server.ts-DMUseo0C.js +110 -0
  218. package/build/server/chunks/_server.ts-DMUseo0C.js.map +1 -0
  219. package/build/server/chunks/{_server.ts-yWyCj-R5.js → _server.ts-DVNN4NHW.js} +7 -6
  220. package/build/server/chunks/{_server.ts-yWyCj-R5.js.map → _server.ts-DVNN4NHW.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-Bl1EtTKF.js → _server.ts-DZrKSBmK.js} +7 -6
  222. package/build/server/chunks/{_server.ts-Bl1EtTKF.js.map → _server.ts-DZrKSBmK.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-C6GZY_v3.js → _server.ts-DbWhKo2R.js} +7 -6
  224. package/build/server/chunks/_server.ts-DbWhKo2R.js.map +1 -0
  225. package/build/server/chunks/{_server.ts-eF4CAfpP.js → _server.ts-DbvC6vbj.js} +7 -6
  226. package/build/server/chunks/{_server.ts-eF4CAfpP.js.map → _server.ts-DbvC6vbj.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-CDJ7WouZ.js → _server.ts-Df7bUUvM.js} +10 -9
  228. package/build/server/chunks/_server.ts-Df7bUUvM.js.map +1 -0
  229. package/build/server/chunks/{_server.ts-DNVQMHzn.js → _server.ts-DgoPOMEf.js} +7 -6
  230. package/build/server/chunks/{_server.ts-DNVQMHzn.js.map → _server.ts-DgoPOMEf.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-DrxBKPKB.js → _server.ts-DgtgUx0V.js} +3 -2
  232. package/build/server/chunks/_server.ts-DgtgUx0V.js.map +1 -0
  233. package/build/server/chunks/{_server.ts-CtcAZ3lM.js → _server.ts-Dim_lnRX.js} +8 -7
  234. package/build/server/chunks/{_server.ts-CtcAZ3lM.js.map → _server.ts-Dim_lnRX.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-BEhHNijd.js → _server.ts-Dixj3o5E.js} +7 -6
  236. package/build/server/chunks/{_server.ts-BEhHNijd.js.map → _server.ts-Dixj3o5E.js.map} +1 -1
  237. package/build/server/chunks/{_server.ts-BvOQbLFG.js → _server.ts-DjIJCqkv.js} +7 -6
  238. package/build/server/chunks/{_server.ts-BvOQbLFG.js.map → _server.ts-DjIJCqkv.js.map} +1 -1
  239. package/build/server/chunks/{_server.ts-D_93w1gb.js → _server.ts-DnonNBWq.js} +29 -9
  240. package/build/server/chunks/_server.ts-DnonNBWq.js.map +1 -0
  241. package/build/server/chunks/{_server.ts-C0rcwOPL.js → _server.ts-Do0cbyyq.js} +7 -6
  242. package/build/server/chunks/{_server.ts-C0rcwOPL.js.map → _server.ts-Do0cbyyq.js.map} +1 -1
  243. package/build/server/chunks/{_server.ts-p16c9Uzl.js → _server.ts-DpnNS7XE.js} +7 -6
  244. package/build/server/chunks/{_server.ts-p16c9Uzl.js.map → _server.ts-DpnNS7XE.js.map} +1 -1
  245. package/build/server/chunks/{_server.ts-D-Vv5Qkp.js → _server.ts-Dw7F066C.js} +7 -6
  246. package/build/server/chunks/{_server.ts-D-Vv5Qkp.js.map → _server.ts-Dw7F066C.js.map} +1 -1
  247. package/build/server/chunks/{_server.ts-4NsYfdU1.js → _server.ts-DwGTXfsS.js} +3 -2
  248. package/build/server/chunks/{_server.ts-4NsYfdU1.js.map → _server.ts-DwGTXfsS.js.map} +1 -1
  249. package/build/server/chunks/{_server.ts-CGE7AyDg.js → _server.ts-Dy7MOoFx.js} +25 -21
  250. package/build/server/chunks/_server.ts-Dy7MOoFx.js.map +1 -0
  251. package/build/server/chunks/{_server.ts-DObIzyoT.js → _server.ts-HHMqD_RA.js} +4 -3
  252. package/build/server/chunks/{_server.ts-DObIzyoT.js.map → _server.ts-HHMqD_RA.js.map} +1 -1
  253. package/build/server/chunks/{_server.ts-XEVuthfs.js → _server.ts-JhxhiGGc.js} +7 -6
  254. package/build/server/chunks/{_server.ts-XEVuthfs.js.map → _server.ts-JhxhiGGc.js.map} +1 -1
  255. package/build/server/chunks/{_server.ts-CFNNoZVF.js → _server.ts-MBgNxLF2.js} +7 -6
  256. package/build/server/chunks/{_server.ts-CFNNoZVF.js.map → _server.ts-MBgNxLF2.js.map} +1 -1
  257. package/build/server/chunks/{_server.ts-D0EyuOqv.js → _server.ts-V-MiUhz4.js} +7 -6
  258. package/build/server/chunks/{_server.ts-D0EyuOqv.js.map → _server.ts-V-MiUhz4.js.map} +1 -1
  259. package/build/server/chunks/{_server.ts-CIReEz3d.js → _server.ts-WLMG4R7D.js} +7 -6
  260. package/build/server/chunks/{_server.ts-CIReEz3d.js.map → _server.ts-WLMG4R7D.js.map} +1 -1
  261. package/build/server/chunks/{_server.ts-BuGFzejC.js → _server.ts-WZl_x3WY.js} +7 -6
  262. package/build/server/chunks/{_server.ts-BuGFzejC.js.map → _server.ts-WZl_x3WY.js.map} +1 -1
  263. package/build/server/chunks/{_server.ts-C900vqOm.js → _server.ts-YcvtqJwd.js} +25 -17
  264. package/build/server/chunks/_server.ts-YcvtqJwd.js.map +1 -0
  265. package/build/server/chunks/{_server.ts-Cfm_KDhO.js → _server.ts-iFah_o1y.js} +7 -6
  266. package/build/server/chunks/{_server.ts-Cfm_KDhO.js.map → _server.ts-iFah_o1y.js.map} +1 -1
  267. package/build/server/chunks/{_server.ts-DmNziNap.js → _server.ts-m7rCPG1J.js} +7 -6
  268. package/build/server/chunks/{_server.ts-DmNziNap.js.map → _server.ts-m7rCPG1J.js.map} +1 -1
  269. package/build/server/chunks/{_server.ts-CGggA6h4.js → _server.ts-rVmsBymo.js} +16 -11
  270. package/build/server/chunks/_server.ts-rVmsBymo.js.map +1 -0
  271. package/build/server/chunks/{_server.ts-QSEYZqU0.js → _server.ts-s2Seq_VN.js} +7 -6
  272. package/build/server/chunks/{_server.ts-QSEYZqU0.js.map → _server.ts-s2Seq_VN.js.map} +1 -1
  273. package/build/server/chunks/{_server.ts-jB_3zRrF.js → _server.ts-w4ncTcy1.js} +10 -15
  274. package/build/server/chunks/_server.ts-w4ncTcy1.js.map +1 -0
  275. package/build/server/chunks/{_server.ts-CqX61boo.js → _server.ts-ygmDTh5G.js} +8 -7
  276. package/build/server/chunks/{_server.ts-CqX61boo.js.map → _server.ts-ygmDTh5G.js.map} +1 -1
  277. package/build/server/chunks/{_server.ts-CZ83fA4I.js → _server.ts-ykET4T6s.js} +7 -6
  278. package/build/server/chunks/{_server.ts-CZ83fA4I.js.map → _server.ts-ykET4T6s.js.map} +1 -1
  279. package/build/server/chunks/{addon-helpers-TpOYibOg.js → addon-helpers-tZ_tAgFZ.js} +18 -5
  280. package/build/server/chunks/addon-helpers-tZ_tAgFZ.js.map +1 -0
  281. package/build/server/chunks/admin-update-lock-ZHLAwYiV.js +24 -0
  282. package/build/server/chunks/admin-update-lock-ZHLAwYiV.js.map +1 -0
  283. package/build/server/chunks/{akm-Bvt9WaTk.js → akm-DU_4Aa4m.js} +2 -2
  284. package/build/server/chunks/{akm-Bvt9WaTk.js.map → akm-DU_4Aa4m.js.map} +1 -1
  285. package/build/server/chunks/{catalog-w0L1ZRPK.js → catalog-B4QoA_I8.js} +5 -5
  286. package/build/server/chunks/{catalog-w0L1ZRPK.js.map → catalog-B4QoA_I8.js.map} +1 -1
  287. package/build/server/chunks/{client-ClRLlB_c.js → client-Dn-H0hgG.js} +2 -2
  288. package/build/server/chunks/{client-ClRLlB_c.js.map → client-Dn-H0hgG.js.map} +1 -1
  289. package/build/server/chunks/{compose-args2-DiDeQtPu.js → compose-args2-BFOGDQne.js} +3 -2
  290. package/build/server/chunks/compose-args2-BFOGDQne.js.map +1 -0
  291. package/build/server/chunks/{config-Jiy06DlE.js → config-DoYNsM1_.js} +2 -2
  292. package/build/server/chunks/{config-Jiy06DlE.js.map → config-DoYNsM1_.js.map} +1 -1
  293. package/build/server/chunks/{connections-api-J-nrQ1KK.js → connections-api-DlEoE3-k.js} +4 -3
  294. package/build/server/chunks/connections-api-DlEoE3-k.js.map +1 -0
  295. package/build/server/chunks/dist-DtzrgNJ1.js +6617 -0
  296. package/build/server/chunks/dist-DtzrgNJ1.js.map +1 -0
  297. package/build/server/chunks/{docker2-oBEn_Si9.js → docker2-BYFlumV1.js} +3 -2
  298. package/build/server/chunks/docker2-BYFlumV1.js.map +1 -0
  299. package/build/server/chunks/{docker3-Dn-Mm2cT.js → docker3-CtXDh00O.js} +2 -2
  300. package/build/server/chunks/{docker3-Dn-Mm2cT.js.map → docker3-CtXDh00O.js.map} +1 -1
  301. package/build/server/chunks/{endpoints-WTxemTcn.js → endpoints-IFTldlrt.js} +27 -6
  302. package/build/server/chunks/endpoints-IFTldlrt.js.map +1 -0
  303. package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
  304. package/build/server/chunks/{error.svelte-C2CWdm9K.js → error.svelte-DWK4R1_M.js} +4 -4
  305. package/build/server/chunks/{error.svelte-C2CWdm9K.js.map → error.svelte-DWK4R1_M.js.map} +1 -1
  306. package/build/server/chunks/{features-BE2x1a_a.js → features-BW-bVsl8.js} +3 -3
  307. package/build/server/chunks/{features-BE2x1a_a.js.map → features-BW-bVsl8.js.map} +1 -1
  308. package/build/server/chunks/{helpers-CfpNg3il.js → helpers-DxodR6tq.js} +4 -4
  309. package/build/server/chunks/{helpers-CfpNg3il.js.map → helpers-DxodR6tq.js.map} +1 -1
  310. package/build/server/chunks/{hooks.server-DEVjSu3V.js → hooks.server-Bzj8OieV.js} +10 -9
  311. package/build/server/chunks/{hooks.server-DEVjSu3V.js.map → hooks.server-Bzj8OieV.js.map} +1 -1
  312. package/build/server/chunks/{http-WP5cji9-.js → http-CfHMreaI.js} +2 -2
  313. package/build/server/chunks/{http-WP5cji9-.js.map → http-CfHMreaI.js.map} +1 -1
  314. package/build/server/chunks/{internal-D9Kp0SbJ.js → internal-BcbUGF7Z.js} +5 -7
  315. package/build/server/chunks/{internal-D9Kp0SbJ.js.map → internal-BcbUGF7Z.js.map} +1 -1
  316. package/build/server/chunks/{landing-DKXNel0Q.js → landing-DhaVkN2f.js} +5 -5
  317. package/build/server/chunks/{landing-DKXNel0Q.js.map → landing-DhaVkN2f.js.map} +1 -1
  318. package/build/server/chunks/{paths-DRVrMQrI.js → paths-Bgos728b.js} +2 -2
  319. package/build/server/chunks/{paths-DRVrMQrI.js.map → paths-Bgos728b.js.map} +1 -1
  320. package/build/server/chunks/{session-cookie-CDynAOx3.js → session-cookie-C8DcD6bt.js} +2 -2
  321. package/build/server/chunks/{session-cookie-CDynAOx3.js.map → session-cookie-C8DcD6bt.js.map} +1 -1
  322. package/build/server/chunks/{setup-deploy-CRW2KpZR.js → setup-deploy-D9j0EGGd.js} +2 -2
  323. package/build/server/chunks/{setup-deploy-CRW2KpZR.js.map → setup-deploy-D9j0EGGd.js.map} +1 -1
  324. package/build/server/chunks/{src-CQ2F7hgb.js → src-DbArH65P.js} +469 -7016
  325. package/build/server/chunks/src-DbArH65P.js.map +1 -0
  326. package/build/server/chunks/{state-CsIDHNPN.js → state-Bq8fep3F.js} +2 -2
  327. package/build/server/chunks/{state-CsIDHNPN.js.map → state-Bq8fep3F.js.map} +1 -1
  328. package/build/server/chunks/{state2-jnbE3tAu.js → state2-Cna2OZrd.js} +17 -2
  329. package/build/server/chunks/{state2-jnbE3tAu.js.map → state2-Cna2OZrd.js.map} +1 -1
  330. package/build/server/chunks/voice-state.svelte-2hAkP5Di.js +539 -0
  331. package/build/server/chunks/voice-state.svelte-2hAkP5Di.js.map +1 -0
  332. package/build/server/index.js +1 -1
  333. package/build/server/manifest.js +96 -103
  334. package/build/server/manifest.js.map +1 -1
  335. package/package.json +3 -3
  336. package/build/client/_app/immutable/assets/4.BXlLAfIE.css.br +0 -0
  337. package/build/client/_app/immutable/assets/4.BXlLAfIE.css.gz +0 -0
  338. package/build/client/_app/immutable/assets/6.D_kTgQ70.css +0 -1
  339. package/build/client/_app/immutable/assets/6.D_kTgQ70.css.br +0 -0
  340. package/build/client/_app/immutable/assets/6.D_kTgQ70.css.gz +0 -0
  341. package/build/client/_app/immutable/assets/7.CNzyzDDZ.css +0 -1
  342. package/build/client/_app/immutable/assets/7.CNzyzDDZ.css.br +0 -0
  343. package/build/client/_app/immutable/assets/7.CNzyzDDZ.css.gz +0 -0
  344. package/build/client/_app/immutable/assets/9.DeeTO7Ju.css +0 -1
  345. package/build/client/_app/immutable/assets/9.DeeTO7Ju.css.br +0 -0
  346. package/build/client/_app/immutable/assets/9.DeeTO7Ju.css.gz +0 -0
  347. package/build/client/_app/immutable/chunks/BKLMDjUE.js +0 -1
  348. package/build/client/_app/immutable/chunks/BKLMDjUE.js.br +0 -0
  349. package/build/client/_app/immutable/chunks/BKLMDjUE.js.gz +0 -0
  350. package/build/client/_app/immutable/chunks/BNJvGRjX.js.br +0 -0
  351. package/build/client/_app/immutable/chunks/BNJvGRjX.js.gz +0 -0
  352. package/build/client/_app/immutable/chunks/C5iiO0W9.js.br +0 -0
  353. package/build/client/_app/immutable/chunks/C5iiO0W9.js.gz +0 -0
  354. package/build/client/_app/immutable/chunks/CBV2kBE1.js.br +0 -0
  355. package/build/client/_app/immutable/chunks/CBV2kBE1.js.gz +0 -0
  356. package/build/client/_app/immutable/chunks/DWtm_qwJ.js +0 -3
  357. package/build/client/_app/immutable/chunks/DWtm_qwJ.js.br +0 -0
  358. package/build/client/_app/immutable/chunks/DWtm_qwJ.js.gz +0 -0
  359. package/build/client/_app/immutable/chunks/ccncQf9O.js +0 -1
  360. package/build/client/_app/immutable/chunks/ccncQf9O.js.br +0 -2
  361. package/build/client/_app/immutable/chunks/ccncQf9O.js.gz +0 -0
  362. package/build/client/_app/immutable/entry/app.DAzfwrA7.js.br +0 -0
  363. package/build/client/_app/immutable/entry/app.DAzfwrA7.js.gz +0 -0
  364. package/build/client/_app/immutable/entry/start.7FiodlpO.js +0 -1
  365. package/build/client/_app/immutable/entry/start.7FiodlpO.js.br +0 -1
  366. package/build/client/_app/immutable/entry/start.7FiodlpO.js.gz +0 -0
  367. package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.br +0 -2
  368. package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.gz +0 -0
  369. package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.br +0 -0
  370. package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.gz +0 -0
  371. package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.br +0 -0
  372. package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.gz +0 -0
  373. package/build/client/_app/immutable/nodes/4.n8OmCUUb.js +0 -1
  374. package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.br +0 -0
  375. package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.gz +0 -0
  376. package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.br +0 -0
  377. package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.gz +0 -0
  378. package/build/client/_app/immutable/nodes/6.RedvZarw.js +0 -2
  379. package/build/client/_app/immutable/nodes/6.RedvZarw.js.br +0 -0
  380. package/build/client/_app/immutable/nodes/6.RedvZarw.js.gz +0 -0
  381. package/build/client/_app/immutable/nodes/7.BqgE43w1.js +0 -14
  382. package/build/client/_app/immutable/nodes/7.BqgE43w1.js.br +0 -0
  383. package/build/client/_app/immutable/nodes/7.BqgE43w1.js.gz +0 -0
  384. package/build/client/_app/immutable/nodes/9.CQfpYNnj.js +0 -126
  385. package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.br +0 -0
  386. package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.gz +0 -0
  387. package/build/server/chunks/1-Dxk_eEPL.js +0 -9
  388. package/build/server/chunks/4-CEASlyNx.js +0 -9
  389. package/build/server/chunks/9-BKXk6mfI.js +0 -42
  390. package/build/server/chunks/9-BKXk6mfI.js.map +0 -1
  391. package/build/server/chunks/ChatNavbar-D2J3UbpW.js.map +0 -1
  392. package/build/server/chunks/IconSoundOn-DHtvjphK.js.map +0 -1
  393. package/build/server/chunks/_page.svelte--qXsMm-T.js.map +0 -1
  394. package/build/server/chunks/_page.svelte-BnZ0Fgkw.js.map +0 -1
  395. package/build/server/chunks/_page.svelte-Cc-OjlMF.js +0 -92
  396. package/build/server/chunks/_page.svelte-Cc-OjlMF.js.map +0 -1
  397. package/build/server/chunks/_page.svelte-DGsMxwfZ.js.map +0 -1
  398. package/build/server/chunks/_server.ts-BJqxSP1B.js.map +0 -1
  399. package/build/server/chunks/_server.ts-BN6ghyoO.js +0 -94
  400. package/build/server/chunks/_server.ts-BN6ghyoO.js.map +0 -1
  401. package/build/server/chunks/_server.ts-BNoq5yoF.js.map +0 -1
  402. package/build/server/chunks/_server.ts-C6GZY_v3.js.map +0 -1
  403. package/build/server/chunks/_server.ts-C6r0d7SR.js.map +0 -1
  404. package/build/server/chunks/_server.ts-C900vqOm.js.map +0 -1
  405. package/build/server/chunks/_server.ts-CDJ7WouZ.js.map +0 -1
  406. package/build/server/chunks/_server.ts-CGE7AyDg.js.map +0 -1
  407. package/build/server/chunks/_server.ts-CGggA6h4.js.map +0 -1
  408. package/build/server/chunks/_server.ts-CMO7LL0e.js.map +0 -1
  409. package/build/server/chunks/_server.ts-CPYtZ7sE.js.map +0 -1
  410. package/build/server/chunks/_server.ts-CR85H0KR.js.map +0 -1
  411. package/build/server/chunks/_server.ts-ClrrzZI6.js +0 -141
  412. package/build/server/chunks/_server.ts-ClrrzZI6.js.map +0 -1
  413. package/build/server/chunks/_server.ts-CsP1RzbQ.js.map +0 -1
  414. package/build/server/chunks/_server.ts-D5Xa36tp.js +0 -248
  415. package/build/server/chunks/_server.ts-D5Xa36tp.js.map +0 -1
  416. package/build/server/chunks/_server.ts-DHjMyNwJ.js.map +0 -1
  417. package/build/server/chunks/_server.ts-D_93w1gb.js.map +0 -1
  418. package/build/server/chunks/_server.ts-DjAGbGD-.js.map +0 -1
  419. package/build/server/chunks/_server.ts-DrxBKPKB.js.map +0 -1
  420. package/build/server/chunks/_server.ts-MZYYoM8z.js.map +0 -1
  421. package/build/server/chunks/_server.ts-TTSjZaYY.js +0 -69
  422. package/build/server/chunks/_server.ts-TTSjZaYY.js.map +0 -1
  423. package/build/server/chunks/_server.ts-jB_3zRrF.js.map +0 -1
  424. package/build/server/chunks/_server.ts-sdkTYy6A.js.map +0 -1
  425. package/build/server/chunks/_server.ts-st_pTUHI.js +0 -106
  426. package/build/server/chunks/_server.ts-st_pTUHI.js.map +0 -1
  427. package/build/server/chunks/addon-helpers-TpOYibOg.js.map +0 -1
  428. package/build/server/chunks/compose-args2-DiDeQtPu.js.map +0 -1
  429. package/build/server/chunks/connections-api-J-nrQ1KK.js.map +0 -1
  430. package/build/server/chunks/docker2-oBEn_Si9.js.map +0 -1
  431. package/build/server/chunks/endpoints-WTxemTcn.js.map +0 -1
  432. package/build/server/chunks/serial-queue-D9FEpYVv.js +0 -22
  433. package/build/server/chunks/serial-queue-D9FEpYVv.js.map +0 -1
  434. package/build/server/chunks/src-CQ2F7hgb.js.map +0 -1
  435. package/build/server/chunks/voice-state.svelte-BAiqUOIX.js +0 -1214
  436. package/build/server/chunks/voice-state.svelte-BAiqUOIX.js.map +0 -1
@@ -1,248 +0,0 @@
1
- import { j as json } from './exports-CcmcYU0M.js';
2
- import { aI as readVersions, az as readPinnedVersions, ax as readChannelPreference, aa as getRunningImages, n as buildComposeOptions, as as parseEnvFile, S as SERVICE_VERSION_KEYS, b2 as stripVoiceVariantSuffix, a1 as formatForDisplay, bd as writeVersions, b7 as writeChannelPreference, ap as mergeEnvContent, D as DOCKER_IMAGE_NAMES, s as compareComparableVersions, P as PLATFORM_VERSION } from './src-CQ2F7hgb.js';
3
- import { g as getState } from './state-CsIDHNPN.js';
4
- import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse } from './helpers-CfpNg3il.js';
5
- import { existsSync, writeFileSync, readFileSync } from 'node:fs';
6
- import './utils-OXHIhUb5.js';
7
- import './chunk-DOvWTNp_.js';
8
- import 'node:module';
9
- import './network-preset-CJ1RRnki.js';
10
- import 'node:child_process';
11
- import 'node:path';
12
- import 'buffer';
13
- import 'node:url';
14
- import 'node:os';
15
- import 'node:crypto';
16
- import 'events';
17
- import 'fs';
18
- import 'node:events';
19
- import 'node:stream';
20
- import 'node:string_decoder';
21
- import 'path';
22
- import 'assert';
23
- import 'zlib';
24
- import 'node:assert';
25
- import 'node:fs/promises';
26
- import './endpoints-WTxemTcn.js';
27
- import './features-BE2x1a_a.js';
28
-
29
- //#region src/routes/api/host/versions/+server.ts
30
- /**
31
- * GET /api/host/versions — truthful version state (constitution §4.2, §5)
32
- * PATCH /api/host/versions — write pins to state file
33
- *
34
- * GET returns THREE distinct values per component (§5 / Phase 5):
35
- * running — the digest + tag the currently running container was CREATED FROM
36
- * (read from `docker inspect`, never from a pin file). Null when not running.
37
- * pinned — the explicit version lock from state/stack.state.env, or null = track latest.
38
- * Moving tags ("latest", "next") are normalized to null (they express channel
39
- * preference, not a lock).
40
- * available — the resolved latest version on the active channel (silent null on registry down).
41
- *
42
- * Backward compatibility for the mixed-version window (old UI + new API or vice versa):
43
- * - The legacy top-level `versions` field is preserved. Old UIs that read only
44
- * `body.versions[key]` continue to get the same string they always did (the stored
45
- * pin value / default). New UIs read `body.components[key].{running,pinned,available}`.
46
- * - Old UIs cannot see `running` (never could — it's new). They may show a stale pin
47
- * as "current", which was the pre-Phase-5 behaviour. That is acceptable for the
48
- * transition window; Phase 6 (UpdatesTab rebuild) is where the new shape is consumed.
49
- *
50
- * Registry-down asymmetry (§4, compliance G2):
51
- * Background "available?" resolution degrades SILENTLY — a registry outage just
52
- * leaves `available` null; the stack keeps running what it has.
53
- * A user-pressed update that can't reach the registry FAILS LOUDLY (handled in
54
- * /api/host/update via applyStack pull-before-up + fatal pull failure).
55
- *
56
- * Voice variant on display (§4.2, compliance G3):
57
- * `running.tag` for the voice service will include the hardware suffix (e.g.
58
- * "openpalm/voice:0.12.0-cpu"). The `running.plainVersion` field strips it for
59
- * use in the pinning control. `pinned` never carries the suffix (compose adds it).
60
- *
61
- * Service-name vs image-name (§5 truthful state):
62
- * getRunningImages() keys its result by compose SERVICE name, not image name.
63
- * OP_PORTAL_VERSION images run under services discord/slack/guardian/api/chat/gateway.
64
- * OP_VOICE_VERSION may run as voice (cpu), voice-cuda, or voice-rocm.
65
- * We therefore scan runningImages by matching the image tag against the expected
66
- * image name, not by looking up the image name as a service name.
67
- *
68
- * upToDate field removed (§8, Phase-5-item-3):
69
- * Tag-string equality cannot determine up-to-date status (tags can point to different
70
- * digests). Phase 6 decides up-to-date by digest comparison after a pull. The route
71
- * surfaces running.digest, running.plainVersion, pinned, and available as separate
72
- * truthful values for Phase 6 to use.
73
- */
74
- var ALLOWED_KEYS = new Set([
75
- ...SERVICE_VERSION_KEYS,
76
- "OP_AUTO_UPDATE",
77
- "OP_CHANNEL"
78
- ]);
79
- function stackEnvPath() {
80
- return `${getState().stashDir}/env/stack.env`;
81
- }
82
- var STABLE_SEMVER = /^v?(\d+\.\d+\.\d+)$/;
83
- var PRERELEASE_SEMVER = /^v?(\d+\.\d+\.\d+-(?:rc|alpha|beta|next)\.\d+)$/;
84
- var VOICE_STABLE = /^v?(\d+\.\d+\.\d+)-\w+$/;
85
- /**
86
- * Read the Docker Hub namespace from the stack env (OP_IMAGE_NAMESPACE), defaulting to
87
- * "openpalm". Compose uses the same default: ${OP_IMAGE_NAMESPACE:-openpalm}.
88
- */
89
- function imageNamespace(stackEnvContent) {
90
- return (stackEnvContent.OP_IMAGE_NAMESPACE ?? process.env.OP_IMAGE_NAMESPACE ?? "openpalm").trim() || "openpalm";
91
- }
92
- async function resolveDockerLatestSilent(image, namespace, channel) {
93
- try {
94
- const res = await fetch(`https://hub.docker.com/v2/repositories/${namespace}/${image}/tags?page_size=100&ordering=last_updated`, {
95
- headers: { Accept: "application/json" },
96
- signal: AbortSignal.timeout(5e3)
97
- });
98
- if (!res.ok) return null;
99
- const data = await res.json();
100
- const isVoice = image === "voice";
101
- const candidates = [];
102
- for (const tag of data.results ?? []) {
103
- const plain = tag.name.match(STABLE_SEMVER)?.[1];
104
- if (plain) {
105
- candidates.push(plain);
106
- continue;
107
- }
108
- if (isVoice) {
109
- const voice = tag.name.match(VOICE_STABLE)?.[1];
110
- if (voice) {
111
- candidates.push(voice);
112
- continue;
113
- }
114
- }
115
- if (channel === "next") {
116
- const pre = tag.name.match(PRERELEASE_SEMVER)?.[1];
117
- if (pre) candidates.push(pre);
118
- }
119
- }
120
- if (candidates.length === 0) return null;
121
- return candidates.sort(compareComparableVersions).at(-1) ?? null;
122
- } catch {
123
- return null;
124
- }
125
- }
126
- var _availableCache = /* @__PURE__ */ new Map();
127
- var CACHE_TTL_MS = 5 * 6e4;
128
- async function resolveAvailableVersions(channel, namespace) {
129
- const cacheKey = `${channel}:${namespace}`;
130
- const cached = _availableCache.get(cacheKey);
131
- if (cached && Date.now() - cached.fetchedAt < CACHE_TTL_MS) return cached.versions;
132
- const results = await Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {
133
- const image = DOCKER_IMAGE_NAMES[key];
134
- return [key, await resolveDockerLatestSilent(image, namespace, channel)];
135
- }));
136
- const versions = {};
137
- for (const [k, v] of results) versions[k] = v;
138
- _availableCache.set(cacheKey, {
139
- versions,
140
- fetchedAt: Date.now()
141
- });
142
- return versions;
143
- }
144
- /**
145
- * Find the first running (non-not_installed) container whose image tag contains
146
- * the given image name (e.g. "/portal:" or "/voice:"). Returns null if none found.
147
- */
148
- function findRunningByImage(runningImages, imageName) {
149
- const needle = `/${imageName}:`;
150
- for (const ri of Object.values(runningImages)) if (ri.state !== "not_installed" && ri.tag.includes(needle)) return ri;
151
- return null;
152
- }
153
- var GET = async (event) => {
154
- const requestId = getRequestId(event);
155
- const capabilityError = requireCapability(event, "host:updates", requestId);
156
- if (capabilityError) return capabilityError;
157
- const authError = requireAdmin(event, requestId);
158
- if (authError) return authError;
159
- const state = getState();
160
- if (!state.stackDir) return errorResponse(503, "not_initialized", "Stack directory not configured", {}, requestId);
161
- const versions = readVersions(state);
162
- const pinned = readPinnedVersions(state);
163
- const channel = readChannelPreference(state);
164
- let runningImages = {};
165
- try {
166
- runningImages = await getRunningImages(buildComposeOptions(state));
167
- } catch {}
168
- const path = stackEnvPath();
169
- const env = existsSync(path) ? parseEnvFile(path) : {};
170
- const available = await resolveAvailableVersions(channel, imageNamespace(env));
171
- const components = {};
172
- for (const key of SERVICE_VERSION_KEYS) {
173
- const imageName = DOCKER_IMAGE_NAMES[key];
174
- const ri = findRunningByImage(runningImages, imageName);
175
- let runningEntry = null;
176
- if (ri) {
177
- const rawTag = ri.tag.split(":").pop() ?? ri.tag;
178
- const plainVersion = key === "OP_VOICE_VERSION" ? stripVoiceVariantSuffix(rawTag) : rawTag;
179
- runningEntry = {
180
- digest: ri.digest,
181
- tag: ri.tag,
182
- plainVersion,
183
- healthStatus: ri.healthStatus,
184
- containerState: ri.state
185
- };
186
- }
187
- components[key] = {
188
- running: runningEntry,
189
- pinned: pinned[key],
190
- available: available[key] ?? null
191
- };
192
- }
193
- return json({
194
- components,
195
- channel,
196
- platformVersion: formatForDisplay(PLATFORM_VERSION),
197
- versions,
198
- autoUpdate: env.OP_AUTO_UPDATE !== "false"
199
- });
200
- };
201
- var PATCH = async (event) => {
202
- const requestId = getRequestId(event);
203
- const capabilityError = requireCapability(event, "host:updates", requestId);
204
- if (capabilityError) return capabilityError;
205
- const authError = requireAdmin(event, requestId);
206
- if (authError) return authError;
207
- const state = getState();
208
- if (!state.stackDir) return errorResponse(503, "not_initialized", "Stack directory not configured", {}, requestId);
209
- let body;
210
- try {
211
- body = await event.request.json();
212
- } catch {
213
- return errorResponse(400, "invalid_body", "Request body must be JSON", {}, requestId);
214
- }
215
- const versions = body?.versions;
216
- if (!versions || typeof versions !== "object") return errorResponse(400, "invalid_body", "Body must include a versions object", {}, requestId);
217
- const versionUpdates = {};
218
- const settingUpdates = {};
219
- let channelUpdate;
220
- for (const [key, value] of Object.entries(versions)) {
221
- if (!ALLOWED_KEYS.has(key)) return errorResponse(400, "unknown_version_key", `Unknown key: ${key}`, {}, requestId);
222
- if (typeof value !== "string") return errorResponse(400, "invalid_version_value", `Value for ${key} must be a string`, {}, requestId);
223
- if (key === "OP_CHANNEL") channelUpdate = value;
224
- else if (key === "OP_AUTO_UPDATE") settingUpdates[key] = value;
225
- else versionUpdates[key] = value;
226
- }
227
- if (Object.keys(versionUpdates).length > 0) {
228
- writeVersions(state, versionUpdates);
229
- _availableCache.clear();
230
- }
231
- if (channelUpdate !== void 0) try {
232
- writeChannelPreference(state, channelUpdate);
233
- _availableCache.clear();
234
- } catch (e) {
235
- return errorResponse(400, "invalid_channel", e instanceof Error ? e.message : String(e), {}, requestId);
236
- }
237
- if (Object.keys(settingUpdates).length > 0) {
238
- const path = stackEnvPath();
239
- writeFileSync(path, mergeEnvContent(existsSync(path) ? readFileSync(path, "utf-8") : "", settingUpdates), { mode: 384 });
240
- }
241
- return json({
242
- ok: true,
243
- versions: readVersions(state)
244
- });
245
- };
246
-
247
- export { GET, PATCH };
248
- //# sourceMappingURL=_server.ts-D5Xa36tp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts-D5Xa36tp.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/versions/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { B as readVersions, F as DOCKER_IMAGE_NAMES, H as writeChannelPreference, I as SERVICE_VERSION_KEYS, R as readChannelPreference, U as writeVersions, V as stripVoiceVariantSuffix, _t as formatForDisplay, gt as compareComparableVersions, ht as PLATFORM_VERSION, t as buildComposeOptions, z as readPinnedVersions } from \"../../../../../chunks/compose-args.js\";\nimport { F as mergeEnvContent, R as parseEnvFile, w as getRunningImages } from \"../../../../../chunks/docker.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync, writeFileSync } from \"node:fs\";\n//#region src/routes/api/host/versions/+server.ts\n/**\n* GET /api/host/versions — truthful version state (constitution §4.2, §5)\n* PATCH /api/host/versions — write pins to state file\n*\n* GET returns THREE distinct values per component (§5 / Phase 5):\n* running — the digest + tag the currently running container was CREATED FROM\n* (read from `docker inspect`, never from a pin file). Null when not running.\n* pinned — the explicit version lock from state/stack.state.env, or null = track latest.\n* Moving tags (\"latest\", \"next\") are normalized to null (they express channel\n* preference, not a lock).\n* available — the resolved latest version on the active channel (silent null on registry down).\n*\n* Backward compatibility for the mixed-version window (old UI + new API or vice versa):\n* - The legacy top-level `versions` field is preserved. Old UIs that read only\n* `body.versions[key]` continue to get the same string they always did (the stored\n* pin value / default). New UIs read `body.components[key].{running,pinned,available}`.\n* - Old UIs cannot see `running` (never could — it's new). They may show a stale pin\n* as \"current\", which was the pre-Phase-5 behaviour. That is acceptable for the\n* transition window; Phase 6 (UpdatesTab rebuild) is where the new shape is consumed.\n*\n* Registry-down asymmetry (§4, compliance G2):\n* Background \"available?\" resolution degrades SILENTLY — a registry outage just\n* leaves `available` null; the stack keeps running what it has.\n* A user-pressed update that can't reach the registry FAILS LOUDLY (handled in\n* /api/host/update via applyStack pull-before-up + fatal pull failure).\n*\n* Voice variant on display (§4.2, compliance G3):\n* `running.tag` for the voice service will include the hardware suffix (e.g.\n* \"openpalm/voice:0.12.0-cpu\"). The `running.plainVersion` field strips it for\n* use in the pinning control. `pinned` never carries the suffix (compose adds it).\n*\n* Service-name vs image-name (§5 truthful state):\n* getRunningImages() keys its result by compose SERVICE name, not image name.\n* OP_PORTAL_VERSION images run under services discord/slack/guardian/api/chat/gateway.\n* OP_VOICE_VERSION may run as voice (cpu), voice-cuda, or voice-rocm.\n* We therefore scan runningImages by matching the image tag against the expected\n* image name, not by looking up the image name as a service name.\n*\n* upToDate field removed (§8, Phase-5-item-3):\n* Tag-string equality cannot determine up-to-date status (tags can point to different\n* digests). Phase 6 decides up-to-date by digest comparison after a pull. The route\n* surfaces running.digest, running.plainVersion, pinned, and available as separate\n* truthful values for Phase 6 to use.\n*/\nvar ALLOWED_KEYS = new Set([\n\t...SERVICE_VERSION_KEYS,\n\t\"OP_AUTO_UPDATE\",\n\t\"OP_CHANNEL\"\n]);\nfunction stackEnvPath() {\n\treturn `${getState().stashDir}/env/stack.env`;\n}\nvar STABLE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+)$/;\nvar PRERELEASE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+-(?:rc|alpha|beta|next)\\.\\d+)$/;\nvar VOICE_STABLE = /^v?(\\d+\\.\\d+\\.\\d+)-\\w+$/;\n/**\n* Read the Docker Hub namespace from the stack env (OP_IMAGE_NAMESPACE), defaulting to\n* \"openpalm\". Compose uses the same default: ${OP_IMAGE_NAMESPACE:-openpalm}.\n*/\nfunction imageNamespace(stackEnvContent) {\n\treturn (stackEnvContent.OP_IMAGE_NAMESPACE ?? process.env.OP_IMAGE_NAMESPACE ?? \"openpalm\").trim() || \"openpalm\";\n}\nasync function resolveDockerLatestSilent(image, namespace, channel) {\n\ttry {\n\t\tconst res = await fetch(`https://hub.docker.com/v2/repositories/${namespace}/${image}/tags?page_size=100&ordering=last_updated`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(5e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\tconst isVoice = image === \"voice\";\n\t\tconst candidates = [];\n\t\tfor (const tag of data.results ?? []) {\n\t\t\tconst plain = tag.name.match(STABLE_SEMVER)?.[1];\n\t\t\tif (plain) {\n\t\t\t\tcandidates.push(plain);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (isVoice) {\n\t\t\t\tconst voice = tag.name.match(VOICE_STABLE)?.[1];\n\t\t\t\tif (voice) {\n\t\t\t\t\tcandidates.push(voice);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (channel === \"next\") {\n\t\t\t\tconst pre = tag.name.match(PRERELEASE_SEMVER)?.[1];\n\t\t\t\tif (pre) candidates.push(pre);\n\t\t\t}\n\t\t}\n\t\tif (candidates.length === 0) return null;\n\t\treturn candidates.sort(compareComparableVersions).at(-1) ?? null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nvar _availableCache = /* @__PURE__ */ new Map();\nvar CACHE_TTL_MS = 5 * 6e4;\nasync function resolveAvailableVersions(channel, namespace) {\n\tconst cacheKey = `${channel}:${namespace}`;\n\tconst cached = _availableCache.get(cacheKey);\n\tif (cached && Date.now() - cached.fetchedAt < CACHE_TTL_MS) return cached.versions;\n\tconst results = await Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {\n\t\tconst image = DOCKER_IMAGE_NAMES[key];\n\t\treturn [key, await resolveDockerLatestSilent(image, namespace, channel)];\n\t}));\n\tconst versions = {};\n\tfor (const [k, v] of results) versions[k] = v;\n\t_availableCache.set(cacheKey, {\n\t\tversions,\n\t\tfetchedAt: Date.now()\n\t});\n\treturn versions;\n}\n/**\n* Find the first running (non-not_installed) container whose image tag contains\n* the given image name (e.g. \"/portal:\" or \"/voice:\"). Returns null if none found.\n*/\nfunction findRunningByImage(runningImages, imageName) {\n\tconst needle = `/${imageName}:`;\n\tfor (const ri of Object.values(runningImages)) if (ri.state !== \"not_installed\" && ri.tag.includes(needle)) return ri;\n\treturn null;\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\tconst state = getState();\n\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tconst versions = readVersions(state);\n\tconst pinned = readPinnedVersions(state);\n\tconst channel = readChannelPreference(state);\n\tlet runningImages = {};\n\ttry {\n\t\trunningImages = await getRunningImages(buildComposeOptions(state));\n\t} catch {}\n\tconst path = stackEnvPath();\n\tconst env = existsSync(path) ? parseEnvFile(path) : {};\n\tconst available = await resolveAvailableVersions(channel, imageNamespace(env));\n\tconst components = {};\n\tfor (const key of SERVICE_VERSION_KEYS) {\n\t\tconst imageName = DOCKER_IMAGE_NAMES[key];\n\t\tconst ri = findRunningByImage(runningImages, imageName);\n\t\tlet runningEntry = null;\n\t\tif (ri) {\n\t\t\tconst rawTag = ri.tag.split(\":\").pop() ?? ri.tag;\n\t\t\tconst plainVersion = key === \"OP_VOICE_VERSION\" ? stripVoiceVariantSuffix(rawTag) : rawTag;\n\t\t\trunningEntry = {\n\t\t\t\tdigest: ri.digest,\n\t\t\t\ttag: ri.tag,\n\t\t\t\tplainVersion,\n\t\t\t\thealthStatus: ri.healthStatus,\n\t\t\t\tcontainerState: ri.state\n\t\t\t};\n\t\t}\n\t\tcomponents[key] = {\n\t\t\trunning: runningEntry,\n\t\t\tpinned: pinned[key],\n\t\t\tavailable: available[key] ?? null\n\t\t};\n\t}\n\treturn json({\n\t\tcomponents,\n\t\tchannel,\n\t\tplatformVersion: formatForDisplay(PLATFORM_VERSION),\n\t\tversions,\n\t\tautoUpdate: env.OP_AUTO_UPDATE !== \"false\"\n\t});\n};\nvar PATCH = 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\tconst state = getState();\n\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_body\", \"Request body must be JSON\", {}, requestId);\n\t}\n\tconst versions = body?.versions;\n\tif (!versions || typeof versions !== \"object\") return errorResponse(400, \"invalid_body\", \"Body must include a versions object\", {}, requestId);\n\tconst versionUpdates = {};\n\tconst settingUpdates = {};\n\tlet channelUpdate;\n\tfor (const [key, value] of Object.entries(versions)) {\n\t\tif (!ALLOWED_KEYS.has(key)) return errorResponse(400, \"unknown_version_key\", `Unknown key: ${key}`, {}, requestId);\n\t\tif (typeof value !== \"string\") return errorResponse(400, \"invalid_version_value\", `Value for ${key} must be a string`, {}, requestId);\n\t\tif (key === \"OP_CHANNEL\") channelUpdate = value;\n\t\telse if (key === \"OP_AUTO_UPDATE\") settingUpdates[key] = value;\n\t\telse versionUpdates[key] = value;\n\t}\n\tif (Object.keys(versionUpdates).length > 0) {\n\t\twriteVersions(state, versionUpdates);\n\t\t_availableCache.clear();\n\t}\n\tif (channelUpdate !== void 0) try {\n\t\twriteChannelPreference(state, channelUpdate);\n\t\t_availableCache.clear();\n\t} catch (e) {\n\t\treturn errorResponse(400, \"invalid_channel\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n\tif (Object.keys(settingUpdates).length > 0) {\n\t\tconst path = stackEnvPath();\n\t\twriteFileSync(path, mergeEnvContent(existsSync(path) ? readFileSync(path, \"utf-8\") : \"\", settingUpdates), { mode: 384 });\n\t}\n\treturn json({\n\t\tok: true,\n\t\tversions: readVersions(state)\n\t});\n};\n//#endregion\nexport { GET, PATCH };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,YAAY,GAAG,IAAI,GAAG,CAAC;AAC3B,CAAC,GAAG,oBAAoB;AACxB,CAAC,gBAAgB;AACjB,CAAC;AACD,CAAC,CAAC;AACF,SAAS,YAAY,GAAG;AACxB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;AAC9C;AACA,IAAI,aAAa,GAAG,qBAAqB;AACzC,IAAI,iBAAiB,GAAG,iDAAiD;AACzE,IAAI,YAAY,GAAG,yBAAyB;AAC5C;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,eAAe,EAAE;AACzC,CAAC,OAAO,CAAC,eAAe,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,UAAU,EAAE,IAAI,EAAE,IAAI,UAAU;AACjH;AACA,eAAe,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;AACpE,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC,uCAAuC,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,yCAAyC,CAAC,EAAE;AACnI,GAAG,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;AAC1C,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI;AAC1B,EAAE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE;AAC/B,EAAE,MAAM,OAAO,GAAG,KAAK,KAAK,OAAO;AACnC,EAAE,MAAM,UAAU,GAAG,EAAE;AACvB,EAAE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE;AACxC,GAAG,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACnD,GAAG,IAAI,KAAK,EAAE;AACd,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1B,IAAI;AACJ,GAAG;AACH,GAAG,IAAI,OAAO,EAAE;AAChB,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AACnD,IAAI,IAAI,KAAK,EAAE;AACf,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AAC3B,KAAK;AACL,IAAI;AACJ,GAAG;AACH,GAAG,IAAI,OAAO,KAAK,MAAM,EAAE;AAC3B,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AACtD,IAAI,IAAI,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;AACjC,GAAG;AACH,EAAE;AACF,EAAE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;AAC1C,EAAE,OAAO,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;AAClE,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI;AACb,CAAC;AACD;AACA,IAAI,eAAe,mBAAmB,IAAI,GAAG,EAAE;AAC/C,IAAI,YAAY,GAAG,CAAC,GAAG,GAAG;AAC1B,eAAe,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE;AAC5D,CAAC,MAAM,QAAQ,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7C,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,YAAY,EAAE,OAAO,MAAM,CAAC,QAAQ;AACnF,CAAC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK;AAC3E,EAAE,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC;AACvC,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC;AACJ,CAAC,MAAM,QAAQ,GAAG,EAAE;AACpB,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE;AAC/B,EAAE,QAAQ;AACV,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG;AACrB,EAAE,CAAC;AACH,CAAC,OAAO,QAAQ;AAChB;AACA;AACA;AACA;AACA;AACA,SAAS,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE;AACtD,CAAC,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAChC,CAAC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,eAAe,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE;AACtH,CAAC,OAAO,IAAI;AACZ;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,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,EAAE,EAAE,SAAS,CAAC;AACnH,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;AACrC,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC;AACzC,CAAC,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC;AAC7C,CAAC,IAAI,aAAa,GAAG,EAAE;AACvB,CAAC,IAAI;AACL,EAAE,aAAa,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,MAAM,IAAI,GAAG,YAAY,EAAE;AAC5B,CAAC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE;AACvD,CAAC,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;AAC/E,CAAC,MAAM,UAAU,GAAG,EAAE;AACtB,CAAC,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;AACzC,EAAE,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC;AAC3C,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,aAAa,EAAE,SAAS,CAAC;AACzD,EAAE,IAAI,YAAY,GAAG,IAAI;AACzB,EAAE,IAAI,EAAE,EAAE;AACV,GAAG,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG;AACnD,GAAG,MAAM,YAAY,GAAG,GAAG,KAAK,kBAAkB,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,MAAM;AAC7F,GAAG,YAAY,GAAG;AAClB,IAAI,MAAM,EAAE,EAAE,CAAC,MAAM;AACrB,IAAI,GAAG,EAAE,EAAE,CAAC,GAAG;AACf,IAAI,YAAY;AAChB,IAAI,YAAY,EAAE,EAAE,CAAC,YAAY;AACjC,IAAI,cAAc,EAAE,EAAE,CAAC;AACvB,IAAI;AACJ,EAAE;AACF,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG;AACpB,GAAG,OAAO,EAAE,YAAY;AACxB,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;AACtB,GAAG,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI;AAChC,GAAG;AACH,CAAC;AACD,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,UAAU;AACZ,EAAE,OAAO;AACT,EAAE,eAAe,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;AACrD,EAAE,QAAQ;AACV,EAAE,UAAU,EAAE,GAAG,CAAC,cAAc,KAAK;AACrC,EAAE,CAAC;AACH;AACG,IAAC,KAAK,GAAG,OAAO,KAAK,KAAK;AAC7B,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,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,EAAE,EAAE,SAAS,CAAC;AACnH,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,2BAA2B,EAAE,EAAE,EAAE,SAAS,CAAC;AACvF,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ;AAChC,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/I,CAAC,MAAM,cAAc,GAAG,EAAE;AAC1B,CAAC,MAAM,cAAc,GAAG,EAAE;AAC1B,CAAC,IAAI,aAAa;AAClB,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACtD,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACpH,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvI,EAAE,IAAI,GAAG,KAAK,YAAY,EAAE,aAAa,GAAG,KAAK;AACjD,OAAO,IAAI,GAAG,KAAK,gBAAgB,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK;AAChE,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK;AAClC,CAAC;AACD,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7C,EAAE,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC;AACtC,EAAE,eAAe,CAAC,KAAK,EAAE;AACzB,CAAC;AACD,CAAC,IAAI,aAAa,KAAK,MAAM,EAAE,IAAI;AACnC,EAAE,sBAAsB,CAAC,KAAK,EAAE,aAAa,CAAC;AAC9C,EAAE,eAAe,CAAC,KAAK,EAAE;AACzB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACzG,CAAC;AACD,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7C,EAAE,MAAM,IAAI,GAAG,YAAY,EAAE;AAC7B,EAAE,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC1H,CAAC;AACD,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,YAAY,CAAC,KAAK;AAC9B,EAAE,CAAC;AACH;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts-DHjMyNwJ.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,SAAS,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE;AAClD,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC;AACvC,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACpC,EAAE,IAAI;AACN,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/B,EAAE,SAAS,EAAE;AACb,EAAE,CAAC,CAAC;AACJ;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,aAAa,EAAE,SAAS,CAAC;AAC3E,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,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,qBAAqB,EAAE,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAC7H;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC;AAC3E,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,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;AACnE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AAC7I,CAAC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,CAAC;AAC3H,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC;AACzF,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,KAAK,EAAE,IAAI;AACb,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;AACzB,EAAE,OAAO,EAAE,MAAM,CAAC;AAClB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts-D_93w1gb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/import-host/_server.ts.js"],"sourcesContent":["import { dt as authJsonPath, t as buildComposeOptions } from \"../../../../../../chunks/compose-args.js\";\nimport { i as checkDocker } from \"../../../../../../chunks/docker.js\";\nimport { c as importHostOpenCode, s as detectHostOpenCode } from \"../../../../../../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, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { t as withSerialQueue } from \"../../../../../../chunks/serial-queue.js\";\nimport { t as composeRestart } from \"../../../../../../chunks/docker3.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/host/providers/import-host/+server.ts\n/**\n* POST /api/host/providers/import-host\n*\n* Copies host OpenCode config + auth into OP_HOME, then pushes each\n* imported credential to the running OpenCode server so the providers\n* appear connected immediately (no restart required).\n*\n* - opencode.json: stripped of plugin/mcp/permission keys, merged with\n* existing OP_HOME config. Provider conflicts preserved by default.\n* - auth.json: byte-copied and chmodded 0o600. Never logged.\n* - Live push: best-effort PUT to OpenCode /auth/{id} per credential.\n* If OpenCode is unreachable, the file copy still applies and OpenCode\n* will pick up the credentials on next restart.\n* - Service restart: assistant is restarted after the import so opencode.json\n* provider blocks are re-read (live push only updates the auth store, not\n* config).\n*\n* Body (optional JSON):\n* { overwriteConflicts?: boolean } — default false\n*\n* Auth: admin token required.\n*/\n/**\n* Restart services that hold provider state in startup config.\n* Best-effort: the file-level import is the durable part; this is the polish\n* that makes the change visible without the user having to bounce things by hand.\n* OpenCode caches opencode.json provider blocks at startup, so imported\n* provider config needs a fresh assistant process.\n*/\nasync function restartProviderConsumers() {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(getState());\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Push each auth.json entry to OpenCode's /auth/{id} so the running process sees them. */\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch {\n\t\treturn {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: 0,\n\t\tfailed: []\n\t};\n\tlet pushed = 0;\n\tconst failed = [];\n\tfor (const [providerId, value] of Object.entries(raw)) try {\n\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: JSON.stringify(value)\n\t\t});\n\t\tpushed++;\n\t} catch {\n\t\tfailed.push(providerId);\n\t}\n\treturn {\n\t\tpushed,\n\t\tfailed\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:providers:import-host\", async () => {\n\t\tconst state = getState();\n\t\tlet overwriteConflicts = false;\n\t\tif ((event.request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) {\n\t\t\tconst parsed = await parseJsonBody(event.request);\n\t\t\tif (!(\"error\" in parsed)) overwriteConflicts = parsed.data.overwriteConflicts === true;\n\t\t}\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = importHostOpenCode(state, { overwriteConflicts });\n\t\t} catch (err) {\n\t\t\treturn errorResponse(500, \"import_failed\", err instanceof Error ? err.message : \"Import failed\", {}, requestId);\n\t\t}\n\t\tconst hostStatus = detectHostOpenCode();\n\t\tlet livePush = {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t\tconst importedAuthPath = authJsonPath(state);\n\t\tif (existsSync(importedAuthPath)) livePush = await pushAuthToOpenCode(importedAuthPath);\n\t\telse if (hostStatus.authPath) livePush = await pushAuthToOpenCode(hostStatus.authPath);\n\t\tconst restart = await restartProviderConsumers();\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\timported: result.imported,\n\t\t\tconflicts: result.conflicts,\n\t\t\tlivePushed: livePush.pushed,\n\t\t\tlivePushFailed: livePush.failed,\n\t\t\trestarted: restart.restarted,\n\t\t\trestartFailed: restart.failed\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts-DjAGbGD-.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/connections/pairing/_server.ts.js"],"sourcesContent":["import { Z as readStackRuntimeEnv } from \"../../../../../chunks/compose-args.js\";\nimport { G as mintDirectPrincipalPairingCode } from \"../../../../../chunks/src.js\";\nimport { c as isLoopback } from \"../../../../../chunks/network-preset.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { l as validateEndpointUrl } from \"../../../../../chunks/endpoints.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, p as withAdminBody, r as errorResponse } from \"../../../../../chunks/helpers.js\";\n//#region ../../node_modules/.bun/uqr@0.1.3/node_modules/uqr/dist/index.mjs\nvar QrCodeDataType = /* @__PURE__ */ ((QrCodeDataType2) => {\n\tQrCodeDataType2[QrCodeDataType2[\"Border\"] = -1] = \"Border\";\n\tQrCodeDataType2[QrCodeDataType2[\"Data\"] = 0] = \"Data\";\n\tQrCodeDataType2[QrCodeDataType2[\"Function\"] = 1] = \"Function\";\n\tQrCodeDataType2[QrCodeDataType2[\"Position\"] = 2] = \"Position\";\n\tQrCodeDataType2[QrCodeDataType2[\"Timing\"] = 3] = \"Timing\";\n\tQrCodeDataType2[QrCodeDataType2[\"Alignment\"] = 4] = \"Alignment\";\n\treturn QrCodeDataType2;\n})(QrCodeDataType || {});\nvar LOW = [0, 1];\nvar MEDIUM = [1, 0];\nvar QUARTILE = [2, 3];\nvar HIGH = [3, 2];\nvar EccMap = {\n\tL: LOW,\n\tM: MEDIUM,\n\tQ: QUARTILE,\n\tH: HIGH\n};\nvar NUMERIC_REGEX = /^\\d*$/;\nvar ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+./:-]*$/;\nvar ALPHANUMERIC_CHARSET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\";\nvar MIN_VERSION = 1;\nvar MAX_VERSION = 40;\nvar PENALTY_N1 = 3;\nvar PENALTY_N2 = 3;\nvar PENALTY_N3 = 40;\nvar PENALTY_N4 = 10;\nvar ECC_CODEWORDS_PER_BLOCK = [\n\t[\n\t\t-1,\n\t\t7,\n\t\t10,\n\t\t15,\n\t\t20,\n\t\t26,\n\t\t18,\n\t\t20,\n\t\t24,\n\t\t30,\n\t\t18,\n\t\t20,\n\t\t24,\n\t\t26,\n\t\t30,\n\t\t22,\n\t\t24,\n\t\t28,\n\t\t30,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t30,\n\t\t30,\n\t\t26,\n\t\t28,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30\n\t],\n\t[\n\t\t-1,\n\t\t10,\n\t\t16,\n\t\t26,\n\t\t18,\n\t\t24,\n\t\t16,\n\t\t18,\n\t\t22,\n\t\t22,\n\t\t26,\n\t\t30,\n\t\t22,\n\t\t22,\n\t\t24,\n\t\t24,\n\t\t28,\n\t\t28,\n\t\t26,\n\t\t26,\n\t\t26,\n\t\t26,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28,\n\t\t28\n\t],\n\t[\n\t\t-1,\n\t\t13,\n\t\t22,\n\t\t18,\n\t\t26,\n\t\t18,\n\t\t24,\n\t\t18,\n\t\t22,\n\t\t20,\n\t\t24,\n\t\t28,\n\t\t26,\n\t\t24,\n\t\t20,\n\t\t30,\n\t\t24,\n\t\t28,\n\t\t28,\n\t\t26,\n\t\t30,\n\t\t28,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t28,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30\n\t],\n\t[\n\t\t-1,\n\t\t17,\n\t\t28,\n\t\t22,\n\t\t16,\n\t\t22,\n\t\t28,\n\t\t26,\n\t\t26,\n\t\t24,\n\t\t28,\n\t\t24,\n\t\t28,\n\t\t22,\n\t\t24,\n\t\t24,\n\t\t30,\n\t\t28,\n\t\t28,\n\t\t26,\n\t\t28,\n\t\t30,\n\t\t24,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30,\n\t\t30\n\t]\n];\nvar NUM_ERROR_CORRECTION_BLOCKS = [\n\t[\n\t\t-1,\n\t\t1,\n\t\t1,\n\t\t1,\n\t\t1,\n\t\t1,\n\t\t2,\n\t\t2,\n\t\t2,\n\t\t2,\n\t\t4,\n\t\t4,\n\t\t4,\n\t\t4,\n\t\t4,\n\t\t6,\n\t\t6,\n\t\t6,\n\t\t6,\n\t\t7,\n\t\t8,\n\t\t8,\n\t\t9,\n\t\t9,\n\t\t10,\n\t\t12,\n\t\t12,\n\t\t12,\n\t\t13,\n\t\t14,\n\t\t15,\n\t\t16,\n\t\t17,\n\t\t18,\n\t\t19,\n\t\t19,\n\t\t20,\n\t\t21,\n\t\t22,\n\t\t24,\n\t\t25\n\t],\n\t[\n\t\t-1,\n\t\t1,\n\t\t1,\n\t\t1,\n\t\t2,\n\t\t2,\n\t\t4,\n\t\t4,\n\t\t4,\n\t\t5,\n\t\t5,\n\t\t5,\n\t\t8,\n\t\t9,\n\t\t9,\n\t\t10,\n\t\t10,\n\t\t11,\n\t\t13,\n\t\t14,\n\t\t16,\n\t\t17,\n\t\t17,\n\t\t18,\n\t\t20,\n\t\t21,\n\t\t23,\n\t\t25,\n\t\t26,\n\t\t28,\n\t\t29,\n\t\t31,\n\t\t33,\n\t\t35,\n\t\t37,\n\t\t38,\n\t\t40,\n\t\t43,\n\t\t45,\n\t\t47,\n\t\t49\n\t],\n\t[\n\t\t-1,\n\t\t1,\n\t\t1,\n\t\t2,\n\t\t2,\n\t\t4,\n\t\t4,\n\t\t6,\n\t\t6,\n\t\t8,\n\t\t8,\n\t\t8,\n\t\t10,\n\t\t12,\n\t\t16,\n\t\t12,\n\t\t17,\n\t\t16,\n\t\t18,\n\t\t21,\n\t\t20,\n\t\t23,\n\t\t23,\n\t\t25,\n\t\t27,\n\t\t29,\n\t\t34,\n\t\t34,\n\t\t35,\n\t\t38,\n\t\t40,\n\t\t43,\n\t\t45,\n\t\t48,\n\t\t51,\n\t\t53,\n\t\t56,\n\t\t59,\n\t\t62,\n\t\t65,\n\t\t68\n\t],\n\t[\n\t\t-1,\n\t\t1,\n\t\t1,\n\t\t2,\n\t\t4,\n\t\t4,\n\t\t4,\n\t\t5,\n\t\t6,\n\t\t8,\n\t\t8,\n\t\t11,\n\t\t11,\n\t\t16,\n\t\t16,\n\t\t18,\n\t\t16,\n\t\t19,\n\t\t21,\n\t\t25,\n\t\t25,\n\t\t25,\n\t\t34,\n\t\t30,\n\t\t32,\n\t\t35,\n\t\t37,\n\t\t40,\n\t\t42,\n\t\t45,\n\t\t48,\n\t\t51,\n\t\t54,\n\t\t57,\n\t\t60,\n\t\t63,\n\t\t66,\n\t\t70,\n\t\t74,\n\t\t77,\n\t\t81\n\t]\n];\nvar QrCode = class {\n\tconstructor(version, ecc, dataCodewords, msk) {\n\t\tthis.version = version;\n\t\tthis.ecc = ecc;\n\t\tif (version < MIN_VERSION || version > MAX_VERSION) throw new RangeError(\"Version value out of range\");\n\t\tif (msk < -1 || msk > 7) throw new RangeError(\"Mask value out of range\");\n\t\tthis.size = version * 4 + 17;\n\t\tconst row = Array.from({ length: this.size }).fill(false);\n\t\tfor (let i = 0; i < this.size; i++) {\n\t\t\tthis.modules.push(row.slice());\n\t\t\tthis.types.push(row.map(() => 0));\n\t\t}\n\t\tthis.drawFunctionPatterns();\n\t\tconst allCodewords = this.addEccAndInterleave(dataCodewords);\n\t\tthis.drawCodewords(allCodewords);\n\t\tif (msk === -1) {\n\t\t\tlet minPenalty = 1e9;\n\t\t\tfor (let i = 0; i < 8; i++) {\n\t\t\t\tthis.applyMask(i);\n\t\t\t\tthis.drawFormatBits(i);\n\t\t\t\tconst penalty = this.getPenaltyScore();\n\t\t\t\tif (penalty < minPenalty) {\n\t\t\t\t\tmsk = i;\n\t\t\t\t\tminPenalty = penalty;\n\t\t\t\t}\n\t\t\t\tthis.applyMask(i);\n\t\t\t}\n\t\t}\n\t\tthis.mask = msk;\n\t\tthis.applyMask(msk);\n\t\tthis.drawFormatBits(msk);\n\t}\n\tsize;\n\tmask;\n\tmodules = [];\n\ttypes = [];\n\tgetModule(x, y) {\n\t\treturn x >= 0 && x < this.size && y >= 0 && y < this.size && this.modules[y][x];\n\t}\n\tdrawFunctionPatterns() {\n\t\tfor (let i = 0; i < this.size; i++) {\n\t\t\tthis.setFunctionModule(6, i, i % 2 === 0, QrCodeDataType.Timing);\n\t\t\tthis.setFunctionModule(i, 6, i % 2 === 0, QrCodeDataType.Timing);\n\t\t}\n\t\tthis.drawFinderPattern(3, 3);\n\t\tthis.drawFinderPattern(this.size - 4, 3);\n\t\tthis.drawFinderPattern(3, this.size - 4);\n\t\tconst alignPatPos = this.getAlignmentPatternPositions();\n\t\tconst numAlign = alignPatPos.length;\n\t\tfor (let i = 0; i < numAlign; i++) for (let j = 0; j < numAlign; j++) if (!(i === 0 && j === 0 || i === 0 && j === numAlign - 1 || i === numAlign - 1 && j === 0)) this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);\n\t\tthis.drawFormatBits(0);\n\t\tthis.drawVersion();\n\t}\n\tdrawFormatBits(mask) {\n\t\tconst data = this.ecc[1] << 3 | mask;\n\t\tlet rem = data;\n\t\tfor (let i = 0; i < 10; i++) rem = rem << 1 ^ (rem >>> 9) * 1335;\n\t\tconst bits = (data << 10 | rem) ^ 21522;\n\t\tfor (let i = 0; i <= 5; i++) this.setFunctionModule(8, i, getBit(bits, i));\n\t\tthis.setFunctionModule(8, 7, getBit(bits, 6));\n\t\tthis.setFunctionModule(8, 8, getBit(bits, 7));\n\t\tthis.setFunctionModule(7, 8, getBit(bits, 8));\n\t\tfor (let i = 9; i < 15; i++) this.setFunctionModule(14 - i, 8, getBit(bits, i));\n\t\tfor (let i = 0; i < 8; i++) this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));\n\t\tfor (let i = 8; i < 15; i++) this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));\n\t\tthis.setFunctionModule(8, this.size - 8, true);\n\t}\n\tdrawVersion() {\n\t\tif (this.version < 7) return;\n\t\tlet rem = this.version;\n\t\tfor (let i = 0; i < 12; i++) rem = rem << 1 ^ (rem >>> 11) * 7973;\n\t\tconst bits = this.version << 12 | rem;\n\t\tfor (let i = 0; i < 18; i++) {\n\t\t\tconst color = getBit(bits, i);\n\t\t\tconst a = this.size - 11 + i % 3;\n\t\t\tconst b = Math.floor(i / 3);\n\t\t\tthis.setFunctionModule(a, b, color);\n\t\t\tthis.setFunctionModule(b, a, color);\n\t\t}\n\t}\n\tdrawFinderPattern(x, y) {\n\t\tfor (let dy = -4; dy <= 4; dy++) for (let dx = -4; dx <= 4; dx++) {\n\t\t\tconst dist = Math.max(Math.abs(dx), Math.abs(dy));\n\t\t\tconst xx = x + dx;\n\t\t\tconst yy = y + dy;\n\t\t\tif (xx >= 0 && xx < this.size && yy >= 0 && yy < this.size) this.setFunctionModule(xx, yy, dist !== 2 && dist !== 4, QrCodeDataType.Position);\n\t\t}\n\t}\n\tdrawAlignmentPattern(x, y) {\n\t\tfor (let dy = -2; dy <= 2; dy++) for (let dx = -2; dx <= 2; dx++) this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) !== 1, QrCodeDataType.Alignment);\n\t}\n\tsetFunctionModule(x, y, isDark, type = QrCodeDataType.Function) {\n\t\tthis.modules[y][x] = isDark;\n\t\tthis.types[y][x] = type;\n\t}\n\taddEccAndInterleave(data) {\n\t\tconst ver = this.version;\n\t\tconst ecl = this.ecc;\n\t\tif (data.length !== getNumDataCodewords(ver, ecl)) throw new RangeError(\"Invalid argument\");\n\t\tconst numBlocks = NUM_ERROR_CORRECTION_BLOCKS[ecl[0]][ver];\n\t\tconst blockEccLen = ECC_CODEWORDS_PER_BLOCK[ecl[0]][ver];\n\t\tconst rawCodewords = Math.floor(getNumRawDataModules(ver) / 8);\n\t\tconst numShortBlocks = numBlocks - rawCodewords % numBlocks;\n\t\tconst shortBlockLen = Math.floor(rawCodewords / numBlocks);\n\t\tconst blocks = [];\n\t\tconst rsDiv = reedSolomonComputeDivisor(blockEccLen);\n\t\tfor (let i = 0, k = 0; i < numBlocks; i++) {\n\t\t\tconst dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));\n\t\t\tk += dat.length;\n\t\t\tconst ecc = reedSolomonComputeRemainder(dat, rsDiv);\n\t\t\tif (i < numShortBlocks) dat.push(0);\n\t\t\tblocks.push(dat.concat(ecc));\n\t\t}\n\t\tconst result = [];\n\t\tfor (let i = 0; i < blocks[0].length; i++) blocks.forEach((block, j) => {\n\t\t\tif (i !== shortBlockLen - blockEccLen || j >= numShortBlocks) result.push(block[i]);\n\t\t});\n\t\treturn result;\n\t}\n\tdrawCodewords(data) {\n\t\tif (data.length !== Math.floor(getNumRawDataModules(this.version) / 8)) throw new RangeError(\"Invalid argument\");\n\t\tlet i = 0;\n\t\tfor (let right = this.size - 1; right >= 1; right -= 2) {\n\t\t\tif (right === 6) right = 5;\n\t\t\tfor (let vert = 0; vert < this.size; vert++) for (let j = 0; j < 2; j++) {\n\t\t\t\tconst x = right - j;\n\t\t\t\tconst y = (right + 1 & 2) === 0 ? this.size - 1 - vert : vert;\n\t\t\t\tif (!this.types[y][x] && i < data.length * 8) {\n\t\t\t\t\tthis.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));\n\t\t\t\t\ti++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tapplyMask(mask) {\n\t\tif (mask < 0 || mask > 7) throw new RangeError(\"Mask value out of range\");\n\t\tfor (let y = 0; y < this.size; y++) for (let x = 0; x < this.size; x++) {\n\t\t\tlet invert;\n\t\t\tswitch (mask) {\n\t\t\t\tcase 0:\n\t\t\t\t\tinvert = (x + y) % 2 === 0;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tinvert = y % 2 === 0;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\tinvert = x % 3 === 0;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tinvert = (x + y) % 3 === 0;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 4:\n\t\t\t\t\tinvert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 === 0;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 5:\n\t\t\t\t\tinvert = x * y % 2 + x * y % 3 === 0;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 6:\n\t\t\t\t\tinvert = (x * y % 2 + x * y % 3) % 2 === 0;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 7:\n\t\t\t\t\tinvert = ((x + y) % 2 + x * y % 3) % 2 === 0;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: throw new Error(\"Unreachable\");\n\t\t\t}\n\t\t\tif (!this.types[y][x] && invert) this.modules[y][x] = !this.modules[y][x];\n\t\t}\n\t}\n\tgetPenaltyScore() {\n\t\tlet result = 0;\n\t\tfor (let y = 0; y < this.size; y++) {\n\t\t\tlet runColor = false;\n\t\t\tlet runX = 0;\n\t\t\tconst runHistory = [\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t];\n\t\t\tfor (let x = 0; x < this.size; x++) if (this.modules[y][x] === runColor) {\n\t\t\t\trunX++;\n\t\t\t\tif (runX === 5) result += PENALTY_N1;\n\t\t\t\telse if (runX > 5) result++;\n\t\t\t} else {\n\t\t\t\tthis.finderPenaltyAddHistory(runX, runHistory);\n\t\t\t\tif (!runColor) result += this.finderPenaltyCountPatterns(runHistory) * PENALTY_N3;\n\t\t\t\trunColor = this.modules[y][x];\n\t\t\t\trunX = 1;\n\t\t\t}\n\t\t\tresult += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * PENALTY_N3;\n\t\t}\n\t\tfor (let x = 0; x < this.size; x++) {\n\t\t\tlet runColor = false;\n\t\t\tlet runY = 0;\n\t\t\tconst runHistory = [\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t];\n\t\t\tfor (let y = 0; y < this.size; y++) if (this.modules[y][x] === runColor) {\n\t\t\t\trunY++;\n\t\t\t\tif (runY === 5) result += PENALTY_N1;\n\t\t\t\telse if (runY > 5) result++;\n\t\t\t} else {\n\t\t\t\tthis.finderPenaltyAddHistory(runY, runHistory);\n\t\t\t\tif (!runColor) result += this.finderPenaltyCountPatterns(runHistory) * PENALTY_N3;\n\t\t\t\trunColor = this.modules[y][x];\n\t\t\t\trunY = 1;\n\t\t\t}\n\t\t\tresult += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * PENALTY_N3;\n\t\t}\n\t\tfor (let y = 0; y < this.size - 1; y++) for (let x = 0; x < this.size - 1; x++) {\n\t\t\tconst color = this.modules[y][x];\n\t\t\tif (color === this.modules[y][x + 1] && color === this.modules[y + 1][x] && color === this.modules[y + 1][x + 1]) result += PENALTY_N2;\n\t\t}\n\t\tlet dark = 0;\n\t\tfor (const row of this.modules) dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);\n\t\tconst total = this.size * this.size;\n\t\tconst k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;\n\t\tresult += k * PENALTY_N4;\n\t\treturn result;\n\t}\n\tgetAlignmentPatternPositions() {\n\t\tif (this.version === 1) return [];\n\t\telse {\n\t\t\tconst numAlign = Math.floor(this.version / 7) + 2;\n\t\t\tconst step = this.version === 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;\n\t\t\tconst result = [6];\n\t\t\tfor (let pos = this.size - 7; result.length < numAlign; pos -= step) result.splice(1, 0, pos);\n\t\t\treturn result;\n\t\t}\n\t}\n\tfinderPenaltyCountPatterns(runHistory) {\n\t\tconst n = runHistory[1];\n\t\tconst core = n > 0 && runHistory[2] === n && runHistory[3] === n * 3 && runHistory[4] === n && runHistory[5] === n;\n\t\treturn (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0) + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);\n\t}\n\tfinderPenaltyTerminateAndCount(currentRunColor, currentRunLength, runHistory) {\n\t\tif (currentRunColor) {\n\t\t\tthis.finderPenaltyAddHistory(currentRunLength, runHistory);\n\t\t\tcurrentRunLength = 0;\n\t\t}\n\t\tcurrentRunLength += this.size;\n\t\tthis.finderPenaltyAddHistory(currentRunLength, runHistory);\n\t\treturn this.finderPenaltyCountPatterns(runHistory);\n\t}\n\tfinderPenaltyAddHistory(currentRunLength, runHistory) {\n\t\tif (runHistory[0] === 0) currentRunLength += this.size;\n\t\trunHistory.pop();\n\t\trunHistory.unshift(currentRunLength);\n\t}\n};\nfunction appendBits(val, len, bb) {\n\tif (len < 0 || len > 31 || val >>> len !== 0) throw new RangeError(\"Value out of range\");\n\tfor (let i = len - 1; i >= 0; i--) bb.push(val >>> i & 1);\n}\nfunction getBit(x, i) {\n\treturn (x >>> i & 1) !== 0;\n}\nvar QrSegment = class {\n\tconstructor(mode, numChars, bitData) {\n\t\tthis.mode = mode;\n\t\tthis.numChars = numChars;\n\t\tthis.bitData = bitData;\n\t\tif (numChars < 0) throw new RangeError(\"Invalid argument\");\n\t\tthis.bitData = bitData.slice();\n\t}\n\tgetData() {\n\t\treturn this.bitData.slice();\n\t}\n};\nvar MODE_NUMERIC = [\n\t1,\n\t10,\n\t12,\n\t14\n];\nvar MODE_ALPHANUMERIC = [\n\t2,\n\t9,\n\t11,\n\t13\n];\nvar MODE_BYTE = [\n\t4,\n\t8,\n\t16,\n\t16\n];\nfunction numCharCountBits(mode, ver) {\n\treturn mode[Math.floor((ver + 7) / 17) + 1];\n}\nfunction makeBytes(data) {\n\tconst bb = [];\n\tfor (const b of data) appendBits(b, 8, bb);\n\treturn new QrSegment(MODE_BYTE, data.length, bb);\n}\nfunction makeNumeric(digits) {\n\tif (!isNumeric(digits)) throw new RangeError(\"String contains non-numeric characters\");\n\tconst bb = [];\n\tfor (let i = 0; i < digits.length;) {\n\t\tconst n = Math.min(digits.length - i, 3);\n\t\tappendBits(Number.parseInt(digits.substring(i, i + n), 10), n * 3 + 1, bb);\n\t\ti += n;\n\t}\n\treturn new QrSegment(MODE_NUMERIC, digits.length, bb);\n}\nfunction makeAlphanumeric(text) {\n\tif (!isAlphanumeric(text)) throw new RangeError(\"String contains unencodable characters in alphanumeric mode\");\n\tconst bb = [];\n\tlet i;\n\tfor (i = 0; i + 2 <= text.length; i += 2) {\n\t\tlet temp = ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;\n\t\ttemp += ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));\n\t\tappendBits(temp, 11, bb);\n\t}\n\tif (i < text.length) appendBits(ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);\n\treturn new QrSegment(MODE_ALPHANUMERIC, text.length, bb);\n}\nfunction makeSegments(text) {\n\tif (text === \"\") return [];\n\telse if (isNumeric(text)) return [makeNumeric(text)];\n\telse if (isAlphanumeric(text)) return [makeAlphanumeric(text)];\n\telse return [makeBytes(toUtf8ByteArray(text))];\n}\nfunction isNumeric(text) {\n\treturn NUMERIC_REGEX.test(text);\n}\nfunction isAlphanumeric(text) {\n\treturn ALPHANUMERIC_REGEX.test(text);\n}\nfunction getTotalBits(segs, version) {\n\tlet result = 0;\n\tfor (const seg of segs) {\n\t\tconst ccbits = numCharCountBits(seg.mode, version);\n\t\tif (seg.numChars >= 1 << ccbits) return Number.POSITIVE_INFINITY;\n\t\tresult += 4 + ccbits + seg.bitData.length;\n\t}\n\treturn result;\n}\nfunction toUtf8ByteArray(str) {\n\tstr = encodeURI(str);\n\tconst result = [];\n\tfor (let i = 0; i < str.length; i++) if (str.charAt(i) !== \"%\") result.push(str.charCodeAt(i));\n\telse {\n\t\tresult.push(Number.parseInt(str.substring(i + 1, i + 3), 16));\n\t\ti += 2;\n\t}\n\treturn result;\n}\nfunction getNumRawDataModules(ver) {\n\tif (ver < MIN_VERSION || ver > MAX_VERSION) throw new RangeError(\"Version number out of range\");\n\tlet result = (16 * ver + 128) * ver + 64;\n\tif (ver >= 2) {\n\t\tconst numAlign = Math.floor(ver / 7) + 2;\n\t\tresult -= (25 * numAlign - 10) * numAlign - 55;\n\t\tif (ver >= 7) result -= 36;\n\t}\n\treturn result;\n}\nfunction getNumDataCodewords(ver, ecl) {\n\treturn Math.floor(getNumRawDataModules(ver) / 8) - ECC_CODEWORDS_PER_BLOCK[ecl[0]][ver] * NUM_ERROR_CORRECTION_BLOCKS[ecl[0]][ver];\n}\nfunction reedSolomonComputeDivisor(degree) {\n\tif (degree < 1 || degree > 255) throw new RangeError(\"Degree out of range\");\n\tconst result = [];\n\tfor (let i = 0; i < degree - 1; i++) result.push(0);\n\tresult.push(1);\n\tlet root = 1;\n\tfor (let i = 0; i < degree; i++) {\n\t\tfor (let j = 0; j < result.length; j++) {\n\t\t\tresult[j] = reedSolomonMultiply(result[j], root);\n\t\t\tif (j + 1 < result.length) result[j] ^= result[j + 1];\n\t\t}\n\t\troot = reedSolomonMultiply(root, 2);\n\t}\n\treturn result;\n}\nfunction reedSolomonComputeRemainder(data, divisor) {\n\tconst result = divisor.map((_) => 0);\n\tfor (const b of data) {\n\t\tconst factor = b ^ result.shift();\n\t\tresult.push(0);\n\t\tdivisor.forEach((coef, i) => result[i] ^= reedSolomonMultiply(coef, factor));\n\t}\n\treturn result;\n}\nfunction reedSolomonMultiply(x, y) {\n\tif (x >>> 8 !== 0 || y >>> 8 !== 0) throw new RangeError(\"Byte out of range\");\n\tlet z = 0;\n\tfor (let i = 7; i >= 0; i--) {\n\t\tz = z << 1 ^ (z >>> 7) * 285;\n\t\tz ^= (y >>> i & 1) * x;\n\t}\n\treturn z;\n}\nfunction encodeSegments(segs, ecl, minVersion = 1, maxVersion = 40, mask = -1, boostEcl = true) {\n\tif (!(MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= MAX_VERSION) || mask < -1 || mask > 7) throw new RangeError(\"Invalid value\");\n\tlet version;\n\tlet dataUsedBits;\n\tfor (version = minVersion;; version++) {\n\t\tconst dataCapacityBits2 = getNumDataCodewords(version, ecl) * 8;\n\t\tconst usedBits = getTotalBits(segs, version);\n\t\tif (usedBits <= dataCapacityBits2) {\n\t\t\tdataUsedBits = usedBits;\n\t\t\tbreak;\n\t\t}\n\t\tif (version >= maxVersion) throw new RangeError(\"Data too long\");\n\t}\n\tfor (const newEcl of [\n\t\tMEDIUM,\n\t\tQUARTILE,\n\t\tHIGH\n\t]) if (boostEcl && dataUsedBits <= getNumDataCodewords(version, newEcl) * 8) ecl = newEcl;\n\tconst bb = [];\n\tfor (const seg of segs) {\n\t\tappendBits(seg.mode[0], 4, bb);\n\t\tappendBits(seg.numChars, numCharCountBits(seg.mode, version), bb);\n\t\tfor (const b of seg.getData()) bb.push(b);\n\t}\n\tconst dataCapacityBits = getNumDataCodewords(version, ecl) * 8;\n\tappendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);\n\tappendBits(0, (8 - bb.length % 8) % 8, bb);\n\tfor (let padByte = 236; bb.length < dataCapacityBits; padByte ^= 253) appendBits(padByte, 8, bb);\n\tconst dataCodewords = Array.from({ length: Math.ceil(bb.length / 8) }, () => 0);\n\tbb.forEach((b, i) => dataCodewords[i >>> 3] |= b << 7 - (i & 7));\n\treturn new QrCode(version, ecl, dataCodewords, mask);\n}\nfunction encode(data, options) {\n\tconst { ecc = \"L\", boostEcc = false, minVersion = 1, maxVersion = 40, maskPattern = -1, border = 1 } = options || {};\n\tconst segment = typeof data === \"string\" ? makeSegments(data) : Array.isArray(data) ? [makeBytes(data)] : void 0;\n\tif (!segment) throw new Error(`uqr only supports encoding string and binary data, but got: ${typeof data}`);\n\tconst qr = encodeSegments(segment, EccMap[ecc], minVersion, maxVersion, maskPattern, boostEcc);\n\tconst result = addBorder({\n\t\tversion: qr.version,\n\t\tmaskPattern: qr.mask,\n\t\tsize: qr.size,\n\t\tdata: qr.modules,\n\t\ttypes: qr.types\n\t}, border);\n\tif (options?.invert) result.data = result.data.map((row) => row.map((mod) => !mod));\n\toptions?.onEncoded?.(result);\n\treturn result;\n}\nfunction addBorder(input, border = 1) {\n\tif (!border) return input;\n\tconst { size } = input;\n\tconst newSize = size + border * 2;\n\tinput.size = newSize;\n\tinput.data.forEach((row) => {\n\t\tfor (let i = 0; i < border; i++) {\n\t\t\trow.unshift(false);\n\t\t\trow.push(false);\n\t\t}\n\t});\n\tfor (let i = 0; i < border; i++) {\n\t\tinput.data.unshift(Array.from({ length: newSize }, (_) => false));\n\t\tinput.data.push(Array.from({ length: newSize }, (_) => false));\n\t}\n\tconst b = QrCodeDataType.Border;\n\tinput.types.forEach((row) => {\n\t\tfor (let i = 0; i < border; i++) {\n\t\t\trow.unshift(b);\n\t\t\trow.push(b);\n\t\t}\n\t});\n\tfor (let i = 0; i < border; i++) {\n\t\tinput.types.unshift(Array.from({ length: newSize }, (_) => b));\n\t\tinput.types.push(Array.from({ length: newSize }, (_) => b));\n\t}\n\treturn input;\n}\nfunction escapeAttr(value) {\n\treturn value.replace(/&/g, \"&amp;\").replace(/\"/g, \"&quot;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n}\nfunction renderSVG(data, options = {}) {\n\tconst result = encode(data, options);\n\tconst { pixelSize = 10, whiteColor = \"white\", blackColor = \"black\" } = options;\n\tconst height = result.size * pixelSize;\n\tconst width = result.size * pixelSize;\n\tlet svg = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\">`;\n\tconst paths = [];\n\tfor (let row = 0; row < result.size; row++) for (let col = 0; col < result.size; col++) {\n\t\tconst x = col * pixelSize;\n\t\tconst y = row * pixelSize;\n\t\tif (result.data[row][col]) paths.push(`M${x},${y}h${pixelSize}v${pixelSize}h-${pixelSize}z`);\n\t}\n\tsvg += `<rect fill=\"${escapeAttr(whiteColor)}\" width=\"${width}\" height=\"${height}\"/>`;\n\tsvg += `<path fill=\"${escapeAttr(blackColor)}\" d=\"${paths.join(\"\")}\"/>`;\n\tsvg += \"</svg>\";\n\treturn svg;\n}\n//#endregion\n//#region src/routes/api/connections/pairing/+server.ts\n/** Max device-label length (PR #564 r3566891768). Keeps the pairing code well\n* under a QR code's byte capacity so renderSVG cannot throw after minting. */\nvar MAX_PAIRING_LABEL_LENGTH = 64;\n/** Warnings named in the panel copy so the operator knows exactly which env\n* keys / prerequisites this pairing code depends on (D3 risk 6: the pairing\n* endpoint never mutates stack env implicitly — it only tells the operator\n* what to set). */\nfunction computeWarnings(mergedEnv, targetUrl) {\n\tconst warnings = [];\n\tif (mergedEnv.GUARDIAN_DIRECT_INGRESS !== \"true\") warnings.push(\"GUARDIAN_DIRECT_INGRESS is not enabled on this stack — set it to true in stack.env and restart the guardian, or this connection will 404.\");\n\ttry {\n\t\tconst parsed = new URL(targetUrl);\n\t\tif (parsed.protocol === \"http:\" && !isLoopback(parsed.hostname)) warnings.push(\"This URL is plain HTTP, not HTTPS, and not loopback — phones and hosted clients refuse plain-HTTP remote connections. See docs/remote-access-tls.md.\");\n\t} catch {}\n\treturn warnings;\n}\nvar POST = async (event) => {\n\tconst capabilityError = requireCapability(event, \"host:stack:write\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\tconst label = typeof body.label === \"string\" ? body.label.trim() : \"\";\n\t\tconst rawUrl = typeof body.url === \"string\" ? body.url : \"\";\n\t\tif (!label) return errorResponse(400, \"invalid_connection\", \"label is required\", {}, requestId);\n\t\tif (label.length > MAX_PAIRING_LABEL_LENGTH) return errorResponse(400, \"invalid_connection\", `label must be at most ${MAX_PAIRING_LABEL_LENGTH} characters`, {}, requestId);\n\t\tconst urlCheck = validateEndpointUrl(rawUrl);\n\t\tif (!urlCheck.ok) return errorResponse(400, \"invalid_connection\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\tconst homeDir = getState().homeDir;\n\t\tconst mergedEnv = {\n\t\t\t...readStackRuntimeEnv(homeDir),\n\t\t\t...process.env\n\t\t};\n\t\tconst guardianAdminUrl = `http://127.0.0.1:${Number(mergedEnv.OP_GUARDIAN_ADMIN_PORT) || 3831}`;\n\t\tconst result = await mintDirectPrincipalPairingCode({\n\t\t\thomeDir,\n\t\t\tlabel,\n\t\t\turl: urlCheck.url,\n\t\t\tguardianAdminUrl\n\t\t});\n\t\tif (!result.ok) {\n\t\t\tif (result.error.includes(\"op_guardian_admin_token\")) return errorResponse(500, \"pairing_mint_failed\", result.error, {}, requestId);\n\t\t\treturn errorResponse(502, \"pairing_mint_failed\", result.error, {}, requestId);\n\t\t}\n\t\tconst warnings = computeWarnings(mergedEnv, urlCheck.url);\n\t\tlet qrSvg = null;\n\t\ttry {\n\t\t\tqrSvg = renderSVG(result.code);\n\t\t} catch {\n\t\t\tqrSvg = null;\n\t\t}\n\t\treturn jsonResponse(201, {\n\t\t\tcode: result.code,\n\t\t\tprincipalId: result.principalId,\n\t\t\tqrSvg,\n\t\t\twarnings\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA,IAAI,cAAc,mBAAmB,CAAC,CAAC,eAAe,KAAK;AAC3D,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,QAAQ;AAC3D,CAAC,eAAe,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM;AACtD,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU;AAC9D,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU;AAC9D,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ;AAC1D,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW;AAChE,CAAC,OAAO,eAAe;AACvB,CAAC,EAAE,cAAc,IAAI,EAAE,CAAC;AACxB,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AAChB,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACnB,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACrB,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACjB,IAAI,MAAM,GAAG;AACb,CAAC,CAAC,EAAE,GAAG;AACP,CAAC,CAAC,EAAE,MAAM;AACV,CAAC,CAAC,EAAE,QAAQ;AACZ,CAAC,CAAC,EAAE;AACJ,CAAC;AACD,IAAI,aAAa,GAAG,OAAO;AAC3B,IAAI,kBAAkB,GAAG,sBAAsB;AAC/C,IAAI,oBAAoB,GAAG,+CAA+C;AAC1E,IAAI,WAAW,GAAG,CAAC;AACnB,IAAI,WAAW,GAAG,EAAE;AACpB,IAAI,UAAU,GAAG,CAAC;AAClB,IAAI,UAAU,GAAG,CAAC;AAClB,IAAI,UAAU,GAAG,EAAE;AACnB,IAAI,UAAU,GAAG,EAAE;AACnB,IAAI,uBAAuB,GAAG;AAC9B,CAAC;AACD,EAAE,EAAE;AACJ,EAAE,CAAC;AACH,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE;AACF,EAAE;AACF,CAAC;AACD,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE;AACF,EAAE;AACF,CAAC;AACD,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE;AACF,EAAE;AACF,CAAC;AACD,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE;AACF;AACA,CAAC;AACD,IAAI,2BAA2B,GAAG;AAClC,CAAC;AACD,EAAE,EAAE;AACJ,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE;AACF,EAAE;AACF,CAAC;AACD,EAAE,EAAE;AACJ,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE;AACF,EAAE;AACF,CAAC;AACD,EAAE,EAAE;AACJ,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE;AACF,EAAE;AACF,CAAC;AACD,EAAE,EAAE;AACJ,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,CAAC;AACH,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;AACJ,EAAE,EAAE;A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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts-DrxBKPKB.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 { B 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 +0,0 @@
1
- {"version":3,"file":"_server.ts-MZYYoM8z.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/containers/down/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, t as buildComposeOptions } from \"../../../../../../chunks/compose-args.js\";\nimport { i as checkDocker, v as composeStop } from \"../../../../../../chunks/docker.js\";\nimport { k as isAllowedService } from \"../../../../../../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 withSerialQueue } from \"../../../../../../chunks/serial-queue.js\";\n//#region src/routes/api/host/containers/down/+server.ts\nvar logger = createLogger(\"containers-down\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\n\tlogger.info(\"container stop request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:down\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeStop([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"stopped\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to stop service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"stopped\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,69 +0,0 @@
1
- import { ae as isAllowedService, p as checkDocker, aK as reconcileHostOwnership, H as HostSwapBlockedError, z as composeStart, n as buildComposeOptions, F as createLogger } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-CfpNg3il.js';
4
- import './chunk-DOvWTNp_.js';
5
- import 'node:module';
6
- import './network-preset-CJ1RRnki.js';
7
- import 'node:fs';
8
- import 'node:child_process';
9
- import 'node:path';
10
- import 'buffer';
11
- import 'node:url';
12
- import 'node:os';
13
- import 'node:crypto';
14
- import 'events';
15
- import 'fs';
16
- import 'node:events';
17
- import 'node:stream';
18
- import 'node:string_decoder';
19
- import 'path';
20
- import 'assert';
21
- import 'zlib';
22
- import 'node:assert';
23
- import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
26
-
27
- //#region src/routes/api/host/containers/up/+server.ts
28
- var logger = createLogger("containers-up");
29
- var POST = async (event) => {
30
- const requestId = getRequestId(event);
31
- const capabilityError = requireCapability(event, "host:containers", requestId);
32
- if (capabilityError) return capabilityError;
33
- logger.info("container start request received", { requestId });
34
- const authError = requireAdmin(event, requestId);
35
- if (authError) return authError;
36
- const state = getState();
37
- const result = await parseJsonBody(event.request);
38
- if ("error" in result) return jsonBodyError(result, requestId);
39
- const body = result.data;
40
- const service = typeof body.service === "string" ? body.service : "";
41
- logger.info("starting service", {
42
- requestId,
43
- service
44
- });
45
- if (!isAllowedService(service, state.configDir)) return errorResponse(400, "invalid_service", "Service is not in allowlist", { service }, requestId);
46
- if ((await checkDocker()).ok) {
47
- try {
48
- await reconcileHostOwnership(state, { services: [service] });
49
- } catch (err) {
50
- if (err instanceof HostSwapBlockedError) return errorResponse(409, "host_swap_blocked", "OP_HOME appears to have moved from another host. Ownership must be adopted for this host before starting. Run `openpalm start --adopt-host` from the host CLI, then retry.", {
51
- service,
52
- previousHost: err.previousIdentity?.host ?? null,
53
- currentHost: err.currentIdentity.host
54
- }, requestId);
55
- throw err;
56
- }
57
- const result = await composeStart([service], buildComposeOptions(state));
58
- if (result.ok) state.services[service] = "running";
59
- else return errorResponse(500, "docker_error", `Failed to start service: ${result.stderr}`, { service }, requestId);
60
- } else state.services[service] = "running";
61
- return jsonResponse(200, {
62
- ok: true,
63
- service,
64
- status: state.services[service]
65
- }, requestId);
66
- };
67
-
68
- export { POST };
69
- //# sourceMappingURL=_server.ts-TTSjZaYY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts-TTSjZaYY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/containers/up/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, _ as HostSwapBlockedError, t as buildComposeOptions, v as reconcileHostOwnership } from \"../../../../../../chunks/compose-args.js\";\nimport { g as composeStart, i as checkDocker } from \"../../../../../../chunks/docker.js\";\nimport { k as isAllowedService } from \"../../../../../../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\";\n//#region src/routes/api/host/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\n\tlogger.info(\"container start request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\tlogger.info(\"starting service\", {\n\t\trequestId,\n\t\tservice\n\t});\n\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\tif ((await checkDocker()).ok) {\n\t\ttry {\n\t\t\tawait reconcileHostOwnership(state, { services: [service] });\n\t\t} catch (err) {\n\t\t\tif (err instanceof HostSwapBlockedError) return errorResponse(409, \"host_swap_blocked\", \"OP_HOME appears to have moved from another host. Ownership must be adopted for this host before starting. Run `openpalm start --adopt-host` from the host CLI, then retry.\", {\n\t\t\t\tservice,\n\t\t\t\tpreviousHost: err.previousIdentity?.host ?? null,\n\t\t\t\tcurrentHost: err.currentIdentity.host\n\t\t\t}, requestId);\n\t\t\tthrow err;\n\t\t}\n\t\tconst result = await composeStart([service], buildComposeOptions(state));\n\t\tif (result.ok) state.services[service] = \"running\";\n\t\telse return errorResponse(500, \"docker_error\", `Failed to start service: ${result.stderr}`, { service }, requestId);\n\t} else state.services[service] = \"running\";\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tservice,\n\t\tstatus: state.services[service]\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACjC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrJ,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAC/B,EAAE,IAAI;AACN,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAC/D,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,IAAI,GAAG,YAAY,oBAAoB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,4KAA4K,EAAE;AACzQ,IAAI,OAAO;AACX,IAAI,YAAY,EAAE,GAAG,CAAC,gBAAgB,EAAE,IAAI,IAAI,IAAI;AACpD,IAAI,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC;AACrC,IAAI,EAAE,SAAS,CAAC;AAChB,GAAG,MAAM,GAAG;AACZ,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACpD,OAAO,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC3C,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AAChC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts-jB_3zRrF.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/addons/_name_/_server.ts.js"],"sourcesContent":["import { C as getRegistryAddonConfig, E as listEnabledAddonIds, Nt as createLogger, 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/[name]/+server.ts\nvar logger = createLogger(\"addons.name\");\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\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst enabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(name);\n\t} catch (error) {\n\t\tlogger.error(\"failed to read addon schema\", {\n\t\t\tname,\n\t\t\terror: String(error),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", `Addon \"${name}\" schema is unavailable`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tenabled,\n\t\tconfig\n\t}, 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 name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\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 +0,0 @@
1
- {"version":3,"file":"_server.ts-sdkTYy6A.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/containers/restart/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, _ as HostSwapBlockedError, t as buildComposeOptions, v as reconcileHostOwnership } from \"../../../../../../chunks/compose-args.js\";\nimport { h as composeRestart, i as checkDocker } from \"../../../../../../chunks/docker.js\";\nimport { k as isAllowedService } from \"../../../../../../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 withSerialQueue } from \"../../../../../../chunks/serial-queue.js\";\n//#region src/routes/api/host/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\ttry {\n\t\t\t\tawait reconcileHostOwnership(state, { services: [service] });\n\t\t\t} catch (err) {\n\t\t\t\tif (err instanceof HostSwapBlockedError) return errorResponse(409, \"host_swap_blocked\", \"OP_HOME appears to have moved from another host. Ownership must be adopted for this host before starting. Run `openpalm start --adopt-host` from the host CLI, then retry.\", {\n\t\t\t\t\tservice,\n\t\t\t\t\tpreviousHost: err.previousIdentity?.host ?? null,\n\t\t\t\t\tcurrentHost: err.currentIdentity.host\n\t\t\t\t}, requestId);\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t\tconst result = await composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,IAAI;AACP,IAAI,MAAM,sBAAsB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAChE,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE;AACjB,IAAI,IAAI,GAAG,YAAY,oBAAoB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,4KAA4K,EAAE;AAC1Q,KAAK,OAAO;AACZ,KAAK,YAAY,EAAE,GAAG,CAAC,gBAAgB,EAAE,IAAI,IAAI,IAAI;AACrD,KAAK,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC;AACtC,KAAK,EAAE,SAAS,CAAC;AACjB,IAAI,MAAM,GAAG;AACb,GAAG;AACH,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}