@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 +1 @@
1
- {"version":3,"file":"_server.ts-BRvNe0fS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { X as readStackEnv } from \"../../../../chunks/compose-args.js\";\nimport \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, r as errorResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\nimport { t as toSpeakableText } from \"../../../../chunks/speakable-text.js\";\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().homeDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tconst speechText = toSpeakableText(text);\n\tconst upstreamUrl = `${ttsBaseURL.replace(/\\/+$/, \"\")}/v1/audio/speech`;\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers.authorization = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,IAAI,aAAa,GAAG,QAAQ;AAC5B,IAAI,aAAa,GAAG,aAAa;AACjC,IAAI,cAAc,GAAG,KAAK;AAC1B,IAAI,mBAAmB,GAAG,GAAG;AAC7B,SAAS,SAAS,CAAC,CAAC,EAAE;AACtB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,OAAO,CAAC;AACvG;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;AAClD,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,EAAE,IAAI,EAAE;AAC1F,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,aAAa;AACnG,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,aAAa;AACnG,CAAC,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE,IAAI,EAAE;AAC5D,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,mDAAmD,EAAE,EAAE,EAAE,SAAS,CAAC;AACrI,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE;AACrB,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;AAC7D,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3F,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,QAAQ;AACxF,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,cAAc;AAClG,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC;AACzC,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC;AACxE,CAAC,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE;AACvD,CAAC,IAAI,SAAS,EAAE,OAAO,CAAC,aAAa,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC7D,CAAC,IAAI,QAAQ;AACb,CAAC,IAAI;AACL,EAAE,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;AACtC,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,OAAO;AACV,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK;AACT,IAAI,KAAK,EAAE,UAAU;AACrB,IAAI,eAAe,EAAE;AACrB,IAAI,CAAC;AACL,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,mBAAmB;AAClD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,8BAA8B,EAAE,SAAS,CAAC,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,SAAS,CAAC;AACnL,CAAC;AACD,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnB,EAAE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AACpD,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;AAC1F,GAAG,cAAc,EAAE,QAAQ,CAAC,MAAM;AAClC,GAAG,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG;AACrC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE;AACtC,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC;AACzF,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAC7D,CAAC,IAAI,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC;AACxE,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;AAC/C,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;AACpC,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CvkF5YMt.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Y as readStackEnv } from \"../../../../chunks/compose-args.js\";\nimport \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, r as errorResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\nimport { t as toSpeakableText } from \"../../../../chunks/speakable-text.js\";\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().homeDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tconst speechText = toSpeakableText(text);\n\tconst upstreamUrl = `${ttsBaseURL.replace(/\\/+$/, \"\")}/v1/audio/speech`;\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers.authorization = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { d as deleteConnection, v as validateEndpointUrl, U as USER_ADDABLE_CONNECTION_KINDS, u as updateConnection } from './endpoints-WTxemTcn.js';
2
- import { d as getRequestId, k as jsonResponse, e as errorResponse, l as requireCapability, w as withAdminBody } from './helpers-CfpNg3il.js';
3
- import { r as requireConnectionsManage, a as publishConnectionEntry } from './connections-api-J-nrQ1KK.js';
4
- import './src-CQ2F7hgb.js';
1
+ import { d as deleteConnection, v as validateEndpointUrl, U as USER_ADDABLE_CONNECTION_KINDS, u as updateConnection } from './endpoints-IFTldlrt.js';
2
+ import { d as getRequestId, k as jsonResponse, e as errorResponse, l as requireCapability, w as withAdminBody } from './helpers-DxodR6tq.js';
3
+ import { r as requireConnectionsManage, a as publishConnectionEntry } from './connections-api-DlEoE3-k.js';
4
+ import './src-DbArH65P.js';
5
5
  import './chunk-DOvWTNp_.js';
6
6
  import 'node:module';
7
7
  import './network-preset-CJ1RRnki.js';
8
+ import './dist-DtzrgNJ1.js';
8
9
  import 'node:fs';
9
10
  import 'node:child_process';
10
11
  import 'node:path';
@@ -22,8 +23,8 @@ import 'assert';
22
23
  import 'zlib';
23
24
  import 'node:assert';
24
25
  import 'node:fs/promises';
25
- import './state-CsIDHNPN.js';
26
- import './features-BE2x1a_a.js';
26
+ import './state-Bq8fep3F.js';
27
+ import './features-BW-bVsl8.js';
27
28
 
28
29
  //#region src/routes/api/connections/[id]/+server.ts
29
30
  var PATCH = async (event) => {
@@ -69,4 +70,4 @@ var DELETE = async (event) => {
69
70
  };
70
71
 
71
72
  export { DELETE, PATCH };
72
- //# sourceMappingURL=_server.ts-B64JQevs.js.map
73
+ //# sourceMappingURL=_server.ts-CyIO3STA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B64JQevs.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/connections/_id_/_server.ts.js"],"sourcesContent":["import { c as updateConnection, l as validateEndpointUrl, r as deleteConnection, t as USER_ADDABLE_CONNECTION_KINDS } from \"../../../../../chunks/endpoints.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, p as withAdminBody, r as errorResponse } from \"../../../../../chunks/helpers.js\";\nimport { n as publishConnectionEntry, r as requireConnectionsManage } from \"../../../../../chunks/connections-api.js\";\n//#region src/routes/api/connections/[id]/+server.ts\nvar PATCH = async (event) => {\n\tconst capabilityError = requireCapability(event, \"connections:manage\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\tconst id = event.params.id;\n\t\tconst patch = {};\n\t\tif (typeof body.label === \"string\") patch.label = body.label;\n\t\tif (typeof body.url === \"string\") {\n\t\t\tconst urlCheck = validateEndpointUrl(body.url);\n\t\t\tif (!urlCheck.ok) return errorResponse(400, \"invalid_connection\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\t\tpatch.url = urlCheck.url;\n\t\t}\n\t\tif (body.password === null) patch.password = null;\n\t\telse if (typeof body.password === \"string\") patch.password = body.password;\n\t\tif (body.kind !== void 0) {\n\t\t\tif (typeof body.kind !== \"string\" || !USER_ADDABLE_CONNECTION_KINDS.includes(body.kind)) return errorResponse(400, \"invalid_connection\", \"kind must be remote-opencode or openpalm-client-api\", {}, requestId);\n\t\t\tpatch.kind = body.kind;\n\t\t}\n\t\ttry {\n\t\t\treturn jsonResponse(200, { connection: publishConnectionEntry(updateConnection(id, patch)) }, requestId);\n\t\t} catch (e) {\n\t\t\tconst msg = e instanceof Error ? e.message : \"failed to update connection\";\n\t\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_connection\", msg, {}, requestId);\n\t\t}\n\t});\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst guardError = requireConnectionsManage(event, requestId);\n\tif (guardError) return guardError;\n\tconst id = event.params.id;\n\ttry {\n\t\tdeleteConnection(id);\n\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to delete connection\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_connection\", msg, {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, PATCH };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CyIO3STA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/connections/_id_/_server.ts.js"],"sourcesContent":["import { l as updateConnection, r as deleteConnection, t as USER_ADDABLE_CONNECTION_KINDS, u 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\";\nimport { n as publishConnectionEntry, r as requireConnectionsManage } from \"../../../../../chunks/connections-api.js\";\n//#region src/routes/api/connections/[id]/+server.ts\nvar PATCH = async (event) => {\n\tconst capabilityError = requireCapability(event, \"connections:manage\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\tconst id = event.params.id;\n\t\tconst patch = {};\n\t\tif (typeof body.label === \"string\") patch.label = body.label;\n\t\tif (typeof body.url === \"string\") {\n\t\t\tconst urlCheck = validateEndpointUrl(body.url);\n\t\t\tif (!urlCheck.ok) return errorResponse(400, \"invalid_connection\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\t\tpatch.url = urlCheck.url;\n\t\t}\n\t\tif (body.password === null) patch.password = null;\n\t\telse if (typeof body.password === \"string\") patch.password = body.password;\n\t\tif (body.kind !== void 0) {\n\t\t\tif (typeof body.kind !== \"string\" || !USER_ADDABLE_CONNECTION_KINDS.includes(body.kind)) return errorResponse(400, \"invalid_connection\", \"kind must be remote-opencode or openpalm-client-api\", {}, requestId);\n\t\t\tpatch.kind = body.kind;\n\t\t}\n\t\ttry {\n\t\t\treturn jsonResponse(200, { connection: publishConnectionEntry(updateConnection(id, patch)) }, requestId);\n\t\t} catch (e) {\n\t\t\tconst msg = e instanceof Error ? e.message : \"failed to update connection\";\n\t\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_connection\", msg, {}, requestId);\n\t\t}\n\t});\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst guardError = requireConnectionsManage(event, requestId);\n\tif (guardError) return guardError;\n\tconst id = event.params.id;\n\ttry {\n\t\tdeleteConnection(id);\n\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to delete connection\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_connection\", msg, {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, PATCH };\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { p as checkDocker, q as checkDockerCompose, O as detectGpu, R as detectLocalProviders, U as detectRuntime } from './src-CQ2F7hgb.js';
2
+ import { p as checkDocker, q as checkDockerCompose, N as detectGpu, Q as detectLocalProviders, T as detectRuntime } from './src-DbArH65P.js';
3
3
  import { execFile } from 'node:child_process';
4
4
  import { createServer } from 'node:net';
5
5
  import './utils-OXHIhUb5.js';
6
6
  import './chunk-DOvWTNp_.js';
7
7
  import 'node:module';
8
8
  import './network-preset-CJ1RRnki.js';
9
+ import './dist-DtzrgNJ1.js';
9
10
  import 'node:fs';
10
11
  import 'node:path';
11
12
  import 'buffer';
@@ -163,4 +164,4 @@ var GET = async () => {
163
164
  var POST = GET;
164
165
 
165
166
  export { GET, POST };
166
- //# sourceMappingURL=_server.ts-BJqxSP1B.js.map
167
+ //# sourceMappingURL=_server.ts-CzEoO4z1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-CzEoO4z1.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/system-check/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { a as checkDockerCompose, i as checkDocker } from \"../../../../../chunks/docker.js\";\nimport { B as detectRuntime, m as detectLocalProviders, p as detectGpu } from \"../../../../../chunks/src.js\";\nimport { execFile } from \"node:child_process\";\nimport { createServer } from \"node:net\";\n//#region src/routes/api/setup/system-check/+server.ts\n/**\n* Returns true when the named port is published by an openpalm-managed\n* docker container — i.e. it's \"in use\" but the wizard's install will\n* either recreate or no-op on the same container, so flagging it as a\n* conflict is a false positive. Returns `unreachable` when Docker itself\n* cannot be queried, so the caller can degrade this from blocking to warning.\n*/\nasync function portHeldByOurContainer(port) {\n\treturn new Promise((resolve) => {\n\t\tconst run = (attempt) => {\n\t\t\texecFile(\"docker\", [\n\t\t\t\t\"ps\",\n\t\t\t\t\"--format\",\n\t\t\t\t\"{{.Names}}\t{{.Ports}}\"\n\t\t\t], { timeout: 5e3 }, (err, stdout) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tif (attempt === 0) return run(1);\n\t\t\t\t\treturn resolve(\"unreachable\");\n\t\t\t\t}\n\t\t\t\tconst lines = stdout.toString().split(\"\\n\").map((l) => l.trim()).filter(Boolean);\n\t\t\t\tfor (const line of lines) {\n\t\t\t\t\tconst [name, ports] = line.split(\"\t\");\n\t\t\t\t\tif (!name?.startsWith(\"openpalm-\")) continue;\n\t\t\t\t\tif (ports?.includes(`:${port}->`)) return resolve(\"held\");\n\t\t\t\t}\n\t\t\t\tresolve(\"free\");\n\t\t\t});\n\t\t};\n\t\trun(0);\n\t});\n}\nasync function checkPortAvailable(port, timeoutMs = 1e3) {\n\treturn new Promise((resolve) => {\n\t\tconst srv = createServer();\n\t\tlet settled = false;\n\t\tconst finish = (ok) => {\n\t\t\tif (settled) return;\n\t\t\tsettled = true;\n\t\t\tsrv.close();\n\t\t\tresolve(ok);\n\t\t};\n\t\tconst timer = setTimeout(() => finish(false), timeoutMs);\n\t\tsrv.once(\"error\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tfinish(false);\n\t\t});\n\t\tsrv.once(\"listening\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tfinish(true);\n\t\t});\n\t\tsrv.listen(port, \"127.0.0.1\");\n\t});\n}\nfunction pickPort(...envNames) {\n\tfor (const name of envNames) {\n\t\tconst raw = process.env[name];\n\t\tif (!raw) continue;\n\t\tconst n = Number(raw);\n\t\tif (Number.isFinite(n) && n > 0) return n;\n\t}\n\treturn null;\n}\nfunction resolvePortsToCheck() {\n\treturn [{\n\t\tport: pickPort(\"OP_HOST_UI_PORT\") ?? 3880,\n\t\tservice: \"admin\",\n\t\tblocking: true\n\t}, {\n\t\tport: pickPort(\"OP_HOST_ASSISTANT_PORT\", \"OP_ASSISTANT_PORT\") ?? 3800,\n\t\tservice: \"assistant\",\n\t\tblocking: true\n\t}];\n}\nvar SERVER_PORT = Number(process.env.PORT ?? process.env.OP_HOST_UI_PORT ?? 3880);\nvar GET = async () => {\n\tconst [docker, compose, gpu, localProviders, runtime] = await Promise.all([\n\t\tcheckDocker(),\n\t\tcheckDockerCompose(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tdetectRuntime()\n\t]);\n\tconst targets = resolvePortsToCheck();\n\tlet portCheckReliable = docker.ok;\n\tconst ports = await Promise.all(targets.map(async (t) => {\n\t\tif (t.port === SERVER_PORT) return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tif (await checkPortAvailable(t.port)) return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tconst held = await portHeldByOurContainer(t.port);\n\t\tif (held === \"held\") return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tif (held === \"unreachable\") {\n\t\t\tportCheckReliable = false;\n\t\t\treturn {\n\t\t\t\t...t,\n\t\t\t\tavailable: false,\n\t\t\t\tblocking: false\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\t...t,\n\t\t\tavailable: false,\n\t\t\tblocking: portCheckReliable ? t.blocking : false\n\t\t};\n\t}));\n\treturn json({\n\t\tok: true,\n\t\tdocker: {\n\t\t\tok: docker.ok,\n\t\t\tversion: docker.stdout?.trim() || void 0,\n\t\t\terror: !docker.ok ? docker.stderr?.trim() || \"Docker is not available\" : void 0\n\t\t},\n\t\tcompose: {\n\t\t\tok: compose.ok,\n\t\t\tversion: compose.stdout?.trim().split(\"\\n\")[0] || void 0,\n\t\t\terror: !compose.ok ? compose.stderr?.trim() || \"Docker Compose v2 not found\" : void 0\n\t\t},\n\t\tportCheckReliable,\n\t\tports,\n\t\tplatform: process.platform,\n\t\truntime,\n\t\tgpu: gpu?.name ?? void 0,\n\t\tgpuInfo: gpu ?? void 0,\n\t\thostProviders: localProviders.filter((p) => p.available).map(({ provider, url }) => ({\n\t\t\tprovider,\n\t\t\turl\n\t\t}))\n\t});\n};\nvar POST = GET;\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { g as getActiveConnection, b as basicAuthHeader } from './endpoints-WTxemTcn.js';
2
- import { d as getRequestId, r as requireAdmin } from './helpers-CfpNg3il.js';
3
- import './src-CQ2F7hgb.js';
1
+ import { g as getActiveConnection, b as basicAuthHeader } from './endpoints-IFTldlrt.js';
2
+ import { d as getRequestId, r as requireAdmin } from './helpers-DxodR6tq.js';
3
+ import './src-DbArH65P.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
7
+ import './dist-DtzrgNJ1.js';
7
8
  import 'node:fs';
8
9
  import 'node:child_process';
9
10
  import 'node:path';
@@ -21,8 +22,8 @@ import 'assert';
21
22
  import 'zlib';
22
23
  import 'node:assert';
23
24
  import 'node:fs/promises';
24
- import './state-CsIDHNPN.js';
25
- import './features-BE2x1a_a.js';
25
+ import './state-Bq8fep3F.js';
26
+ import './features-BW-bVsl8.js';
26
27
 
27
28
  //#region src/routes/proxy/assistant/[...path]/+server.ts
28
29
  /**
@@ -109,4 +110,4 @@ var PUT = handler;
109
110
  var DELETE = handler;
110
111
 
111
112
  export { DELETE, GET, POST, PUT };
112
- //# sourceMappingURL=_server.ts-DebCCwjH.js.map
113
+ //# sourceMappingURL=_server.ts-CzIZ-UYy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DebCCwjH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/proxy/assistant/_...path_/_server.ts.js"],"sourcesContent":["import { i as getActiveConnection, u as basicAuthHeader } from \"../../../../../chunks/endpoints.js\";\nimport { a as getRequestId, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/proxy/assistant/[...path]/+server.ts\n/**\n* Proxy route: forward /proxy/assistant/[...path] → assistant OpenCode server.\n*\n* Auth: requires the operator's `op_session` cookie (cookie-only since\n* Phase 2 of the auth/proxy refactor — the `x-admin-token` header fallback\n* was removed).\n* Forwards the full request body and method unchanged.\n* The target URL and per-endpoint Basic-auth password are resolved per-request\n* from the active endpoint store, so switching endpoints in the UI takes\n* effect immediately without restarting the server.\n*\n* Streaming: the upstream response body is forwarded as-is (no buffering) so\n* SSE responses (text/event-stream) pass through chunk-by-chunk. We do not\n* impose a fixed timeout on the upstream fetch — OpenCode SSE streams can run\n* for minutes. Instead the per-request AbortController is wired to the client\n* disconnect signal (`event.request.signal`); when the browser aborts (tab\n* close, navigation away), we propagate the abort to upstream.\n*/\nfunction buildForwardHeaders(incomingContentType, username, password) {\n\tconst headers = {};\n\tif (incomingContentType) headers[\"content-type\"] = incomingContentType;\n\tif (password) headers.authorization = basicAuthHeader(username || \"opencode\", password);\n\treturn headers;\n}\nfunction buildResponseHeaders(upstream, requestId, endpointId, endpointLabel) {\n\tconst headers = new Headers();\n\theaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"application/json\");\n\tconst cacheControl = upstream.headers.get(\"cache-control\");\n\tif (cacheControl) headers.set(\"cache-control\", cacheControl);\n\tconst transferEncoding = upstream.headers.get(\"transfer-encoding\");\n\tif (transferEncoding) headers.set(\"transfer-encoding\", transferEncoding);\n\theaders.set(\"x-request-id\", requestId);\n\theaders.set(\"x-endpoint-id\", endpointId);\n\theaders.set(\"x-endpoint-label\", encodeURIComponent(endpointLabel));\n\treturn headers;\n}\nvar handler = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveConnection();\n\tconst { path } = event.params;\n\tconst targetUrl = `${endpoint.url}/${path}${event.url.search}`;\n\tconst method = event.request.method;\n\tconst contentType = event.request.headers.get(\"content-type\");\n\tconst body = method !== \"GET\" && method !== \"HEAD\" ? await event.request.arrayBuffer() : void 0;\n\tconst controller = new AbortController();\n\tconst onClientAbort = () => controller.abort();\n\tevent.request.signal.addEventListener(\"abort\", onClientAbort, { once: true });\n\ttry {\n\t\tconst upstream = await fetch(targetUrl, {\n\t\t\tmethod,\n\t\t\theaders: buildForwardHeaders(contentType, endpoint.username, endpoint.password),\n\t\t\tbody,\n\t\t\tsignal: controller.signal\n\t\t});\n\t\treturn new Response(upstream.body, {\n\t\t\tstatus: upstream.status,\n\t\t\theaders: buildResponseHeaders(upstream, requestId, endpoint.id, endpoint.label)\n\t\t});\n\t} catch (e) {\n\t\tevent.request.signal.removeEventListener(\"abort\", onClientAbort);\n\t\tconsole.warn(\"[proxy/assistant] Upstream request failed:\", e);\n\t\treturn new Response(JSON.stringify({\n\t\t\terror: \"endpoint_unreachable\",\n\t\t\tmessage: `Assistant endpoint \"${endpoint.label}\" is not reachable`,\n\t\t\tendpointId: endpoint.id,\n\t\t\tendpointLabel: endpoint.label,\n\t\t\turl: endpoint.url\n\t\t}), {\n\t\t\tstatus: 503,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\nvar GET = handler;\nvar POST = handler;\nvar PUT = handler;\nvar DELETE = handler;\n//#endregion\nexport { DELETE, GET, POST, PUT };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CzIZ-UYy.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/proxy/assistant/_...path_/_server.ts.js"],"sourcesContent":["import { d as basicAuthHeader, i as getActiveConnection } from \"../../../../../chunks/endpoints.js\";\nimport { a as getRequestId, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/proxy/assistant/[...path]/+server.ts\n/**\n* Proxy route: forward /proxy/assistant/[...path] → assistant OpenCode server.\n*\n* Auth: requires the operator's `op_session` cookie (cookie-only since\n* Phase 2 of the auth/proxy refactor — the `x-admin-token` header fallback\n* was removed).\n* Forwards the full request body and method unchanged.\n* The target URL and per-endpoint Basic-auth password are resolved per-request\n* from the active endpoint store, so switching endpoints in the UI takes\n* effect immediately without restarting the server.\n*\n* Streaming: the upstream response body is forwarded as-is (no buffering) so\n* SSE responses (text/event-stream) pass through chunk-by-chunk. We do not\n* impose a fixed timeout on the upstream fetch — OpenCode SSE streams can run\n* for minutes. Instead the per-request AbortController is wired to the client\n* disconnect signal (`event.request.signal`); when the browser aborts (tab\n* close, navigation away), we propagate the abort to upstream.\n*/\nfunction buildForwardHeaders(incomingContentType, username, password) {\n\tconst headers = {};\n\tif (incomingContentType) headers[\"content-type\"] = incomingContentType;\n\tif (password) headers.authorization = basicAuthHeader(username || \"opencode\", password);\n\treturn headers;\n}\nfunction buildResponseHeaders(upstream, requestId, endpointId, endpointLabel) {\n\tconst headers = new Headers();\n\theaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"application/json\");\n\tconst cacheControl = upstream.headers.get(\"cache-control\");\n\tif (cacheControl) headers.set(\"cache-control\", cacheControl);\n\tconst transferEncoding = upstream.headers.get(\"transfer-encoding\");\n\tif (transferEncoding) headers.set(\"transfer-encoding\", transferEncoding);\n\theaders.set(\"x-request-id\", requestId);\n\theaders.set(\"x-endpoint-id\", endpointId);\n\theaders.set(\"x-endpoint-label\", encodeURIComponent(endpointLabel));\n\treturn headers;\n}\nvar handler = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveConnection();\n\tconst { path } = event.params;\n\tconst targetUrl = `${endpoint.url}/${path}${event.url.search}`;\n\tconst method = event.request.method;\n\tconst contentType = event.request.headers.get(\"content-type\");\n\tconst body = method !== \"GET\" && method !== \"HEAD\" ? await event.request.arrayBuffer() : void 0;\n\tconst controller = new AbortController();\n\tconst onClientAbort = () => controller.abort();\n\tevent.request.signal.addEventListener(\"abort\", onClientAbort, { once: true });\n\ttry {\n\t\tconst upstream = await fetch(targetUrl, {\n\t\t\tmethod,\n\t\t\theaders: buildForwardHeaders(contentType, endpoint.username, endpoint.password),\n\t\t\tbody,\n\t\t\tsignal: controller.signal\n\t\t});\n\t\treturn new Response(upstream.body, {\n\t\t\tstatus: upstream.status,\n\t\t\theaders: buildResponseHeaders(upstream, requestId, endpoint.id, endpoint.label)\n\t\t});\n\t} catch (e) {\n\t\tevent.request.signal.removeEventListener(\"abort\", onClientAbort);\n\t\tconsole.warn(\"[proxy/assistant] Upstream request failed:\", e);\n\t\treturn new Response(JSON.stringify({\n\t\t\terror: \"endpoint_unreachable\",\n\t\t\tmessage: `Assistant endpoint \"${endpoint.label}\" is not reachable`,\n\t\t\tendpointId: endpoint.id,\n\t\t\tendpointLabel: endpoint.label,\n\t\t\turl: endpoint.url\n\t\t}), {\n\t\t\tstatus: 503,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\nvar GET = handler;\nvar POST = handler;\nvar PUT = handler;\nvar DELETE = handler;\n//#endregion\nexport { DELETE, GET, POST, PUT };\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import { p as checkDocker, m as buildComposeOptions, s as composeConfigServices, e as applyStack, ap as performUpgrade, D as createLogger } from './src-DbArH65P.js';
2
+ import { g as getState } from './state-Bq8fep3F.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-DxodR6tq.js';
4
+ import { w as withAdminUpdateLock } from './admin-update-lock-ZHLAwYiV.js';
5
+ import './chunk-DOvWTNp_.js';
6
+ import 'node:module';
7
+ import './network-preset-CJ1RRnki.js';
8
+ import './dist-DtzrgNJ1.js';
9
+ import 'node:fs';
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-IFTldlrt.js';
27
+ import './features-BW-bVsl8.js';
28
+
29
+ //#region src/routes/api/host/update/+server.ts
30
+ var logger = createLogger("update");
31
+ var POST = async (event) => {
32
+ const requestId = getRequestId(event);
33
+ const capabilityError = requireCapability(event, "host:updates", requestId);
34
+ if (capabilityError) return capabilityError;
35
+ const authError = requireAdmin(event, requestId);
36
+ if (authError) return authError;
37
+ const parsedBody = await parseJsonBody(event.request);
38
+ if ("error" in parsedBody) return jsonBodyError(parsedBody, requestId);
39
+ const unknownKey = Object.keys(parsedBody.data).find((key) => key !== "service");
40
+ if (unknownKey) return errorResponse(400, "unknown_update_field", `Unknown update field: ${unknownKey}`, {}, requestId);
41
+ let service;
42
+ if (parsedBody.data.service !== void 0) {
43
+ if (typeof parsedBody.data.service !== "string" || !parsedBody.data.service.trim()) return errorResponse(400, "invalid_service", "service must be a non-empty string", {}, requestId);
44
+ service = parsedBody.data.service.trim();
45
+ }
46
+ const state = getState();
47
+ return withAdminUpdateLock(state, requestId, async (lock) => {
48
+ try {
49
+ if (!(await checkDocker()).ok) return errorResponse(503, "docker_unavailable", "Docker is unavailable", {}, requestId);
50
+ if (service) {
51
+ const composeOptions = buildComposeOptions(state);
52
+ const configured = await composeConfigServices(composeOptions);
53
+ if (!configured.ok) return errorResponse(502, "compose_config_failed", "Could not read configured Compose services", {}, requestId);
54
+ if (!configured.services.includes(service)) return errorResponse(400, "unknown_service", `Unknown Compose service: ${service}`, {}, requestId);
55
+ const result = await applyStack({
56
+ kind: "service",
57
+ service
58
+ }, composeOptions, void 0, { pull: "always" });
59
+ if (!result.ok) return errorResponse(502, "update_failed", result.error || "Update failed", {}, requestId);
60
+ logger.info("service update completed", {
61
+ requestId,
62
+ service
63
+ });
64
+ return jsonResponse(200, { ok: true }, requestId);
65
+ }
66
+ await performUpgrade(state, { lock });
67
+ logger.info("stack update completed", { requestId });
68
+ return jsonResponse(200, { ok: true }, requestId);
69
+ } catch (error) {
70
+ const message = error instanceof Error ? error.message : String(error);
71
+ logger.error("update failed", {
72
+ requestId,
73
+ service,
74
+ error: message
75
+ });
76
+ return errorResponse(502, "update_failed", message, {}, requestId);
77
+ }
78
+ });
79
+ };
80
+
81
+ export { POST };
82
+ //# sourceMappingURL=_server.ts-D3CUgai-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-D3CUgai-.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/update/_server.ts.js"],"sourcesContent":["import { Ot as createLogger, c as performUpgrade, t as buildComposeOptions } from \"../../../../../chunks/compose-args.js\";\nimport { c as composeConfigServices, i as checkDocker, t as applyStack } from \"../../../../../chunks/docker.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 withAdminUpdateLock } from \"../../../../../chunks/admin-update-lock.js\";\n//#region src/routes/api/host/update/+server.ts\nvar logger = createLogger(\"update\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst parsedBody = await parseJsonBody(event.request);\n\tif (\"error\" in parsedBody) return jsonBodyError(parsedBody, requestId);\n\tconst unknownKey = Object.keys(parsedBody.data).find((key) => key !== \"service\");\n\tif (unknownKey) return errorResponse(400, \"unknown_update_field\", `Unknown update field: ${unknownKey}`, {}, requestId);\n\tlet service;\n\tif (parsedBody.data.service !== void 0) {\n\t\tif (typeof parsedBody.data.service !== \"string\" || !parsedBody.data.service.trim()) return errorResponse(400, \"invalid_service\", \"service must be a non-empty string\", {}, requestId);\n\t\tservice = parsedBody.data.service.trim();\n\t}\n\tconst state = getState();\n\treturn withAdminUpdateLock(state, requestId, async (lock) => {\n\t\ttry {\n\t\t\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is unavailable\", {}, requestId);\n\t\t\tif (service) {\n\t\t\t\tconst composeOptions = buildComposeOptions(state);\n\t\t\t\tconst configured = await composeConfigServices(composeOptions);\n\t\t\t\tif (!configured.ok) return errorResponse(502, \"compose_config_failed\", \"Could not read configured Compose services\", {}, requestId);\n\t\t\t\tif (!configured.services.includes(service)) return errorResponse(400, \"unknown_service\", `Unknown Compose service: ${service}`, {}, requestId);\n\t\t\t\tconst result = await applyStack({\n\t\t\t\t\tkind: \"service\",\n\t\t\t\t\tservice\n\t\t\t\t}, composeOptions, void 0, { pull: \"always\" });\n\t\t\t\tif (!result.ok) return errorResponse(502, \"update_failed\", result.error || \"Update failed\", {}, requestId);\n\t\t\t\tlogger.info(\"service update completed\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\tservice\n\t\t\t\t});\n\t\t\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t\t\t}\n\t\t\tawait performUpgrade(state, { lock });\n\t\t\tlogger.info(\"stack update completed\", { requestId });\n\t\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tlogger.error(\"update failed\", {\n\t\t\t\trequestId,\n\t\t\t\tservice,\n\t\t\t\terror: message\n\t\t\t});\n\t\t\treturn errorResponse(502, \"update_failed\", message, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { b5 as useExistingProviderForAssistantCli, 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, e as errorResponse, p as parseJsonBody, j as jsonBodyError, k as jsonResponse } from './helpers-CfpNg3il.js';
1
+ import { a$ as useExistingProviderForAssistantCli, D as createLogger } from './src-DbArH65P.js';
2
+ import { g as getState } from './state-Bq8fep3F.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, p as parseJsonBody, j as jsonBodyError, k as jsonResponse } from './helpers-DxodR6tq.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
7
+ import './dist-DtzrgNJ1.js';
7
8
  import 'node:fs';
8
9
  import 'node:child_process';
9
10
  import 'node:path';
@@ -21,8 +22,8 @@ import 'assert';
21
22
  import 'zlib';
22
23
  import 'node:assert';
23
24
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
25
+ import './endpoints-IFTldlrt.js';
26
+ import './features-BW-bVsl8.js';
26
27
 
27
28
  //#region src/routes/api/host/providers/assistant-clis/[toolId]/use-provider/+server.ts
28
29
  var logger = createLogger("admin.assistant-cli-tools");
@@ -61,4 +62,4 @@ var POST = async (event) => {
61
62
  };
62
63
 
63
64
  export { POST };
64
- //# sourceMappingURL=_server.ts-zDEENUSw.js.map
65
+ //# sourceMappingURL=_server.ts-D3EHXo-L.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-zDEENUSw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/assistant-clis/_toolId_/use-provider/_server.ts.js"],"sourcesContent":["import { Nt as createLogger } from \"../../../../../../../../chunks/compose-args.js\";\nimport { J as useExistingProviderForAssistantCli } 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/providers/assistant-clis/[toolId]/use-provider/+server.ts\nvar logger = createLogger(\"admin.assistant-cli-tools\");\nfunction isAssistantCliToolId(value) {\n\treturn value === \"codex\" || value === \"claude\" || value === \"copilot\" || value === \"pi\";\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst toolId = event.params.toolId ?? \"\";\n\tif (!isAssistantCliToolId(toolId)) return errorResponse(400, \"bad_request\", \"Invalid assistant CLI tool id\", {}, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst providerId = typeof result.data.providerId === \"string\" ? result.data.providerId.trim() : \"\";\n\tif (!providerId) return errorResponse(400, \"bad_request\", \"providerId is required\", {}, requestId);\n\ttry {\n\t\tconst writtenPaths = useExistingProviderForAssistantCli(getState(), toolId, providerId);\n\t\tlogger.info(\"assistant CLI provider mapping written\", {\n\t\t\trequestId,\n\t\t\ttoolId,\n\t\t\tproviderId,\n\t\t\twrittenPaths\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\ttoolId,\n\t\t\tproviderId,\n\t\t\twrittenPaths\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn errorResponse(400, \"bad_request\", error instanceof Error ? error.message : \"Failed to write assistant CLI credentials\", {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,2BAA2B,CAAC;AACtD,SAAS,oBAAoB,CAAC,KAAK,EAAE;AACrC,CAAC,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;AACxF;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,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,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;AACzC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,+BAA+B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;AACnG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,wBAAwB,EAAE,EAAE,EAAE,SAAS,CAAC;AACnG,CAAC,IAAI;AACL,EAAE,MAAM,YAAY,GAAG,kCAAkC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC;AACzF,EAAE,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;AACxD,GAAG,SAAS;AACZ,GAAG,MAAM;AACT,GAAG,UAAU;AACb,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM;AACT,GAAG,UAAU;AACb,GAAG;AACH,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,2CAA2C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/I,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-D3EHXo-L.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/assistant-clis/_toolId_/use-provider/_server.ts.js"],"sourcesContent":["import { Ot as createLogger } from \"../../../../../../../../chunks/compose-args.js\";\nimport { Y as useExistingProviderForAssistantCli } 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/providers/assistant-clis/[toolId]/use-provider/+server.ts\nvar logger = createLogger(\"admin.assistant-cli-tools\");\nfunction isAssistantCliToolId(value) {\n\treturn value === \"codex\" || value === \"claude\" || value === \"copilot\" || value === \"pi\";\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst toolId = event.params.toolId ?? \"\";\n\tif (!isAssistantCliToolId(toolId)) return errorResponse(400, \"bad_request\", \"Invalid assistant CLI tool id\", {}, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst providerId = typeof result.data.providerId === \"string\" ? result.data.providerId.trim() : \"\";\n\tif (!providerId) return errorResponse(400, \"bad_request\", \"providerId is required\", {}, requestId);\n\ttry {\n\t\tconst writtenPaths = useExistingProviderForAssistantCli(getState(), toolId, providerId);\n\t\tlogger.info(\"assistant CLI provider mapping written\", {\n\t\t\trequestId,\n\t\t\ttoolId,\n\t\t\tproviderId,\n\t\t\twrittenPaths\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\ttoolId,\n\t\t\tproviderId,\n\t\t\twrittenPaths\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn errorResponse(400, \"bad_request\", error instanceof Error ? error.message : \"Failed to write assistant CLI credentials\", {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,2BAA2B,CAAC;AACtD,SAAS,oBAAoB,CAAC,KAAK,EAAE;AACrC,CAAC,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;AACxF;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,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,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;AACzC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,+BAA+B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;AACnG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,wBAAwB,EAAE,EAAE,EAAE,SAAS,CAAC;AACnG,CAAC,IAAI;AACL,EAAE,MAAM,YAAY,GAAG,kCAAkC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC;AACzF,EAAE,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;AACxD,GAAG,SAAS;AACZ,GAAG,MAAM;AACT,GAAG,UAAU;AACb,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM;AACT,GAAG,UAAU;AACb,GAAG;AACH,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,2CAA2C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/I,CAAC;AACD;;;;"}
@@ -1,10 +1,11 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { r as resolveRequestLanding } from './landing-DKXNel0Q.js';
2
+ import { r as resolveRequestLanding } from './landing-DhaVkN2f.js';
3
3
  import './utils-OXHIhUb5.js';
4
- import './src-CQ2F7hgb.js';
4
+ import './src-DbArH65P.js';
5
5
  import './chunk-DOvWTNp_.js';
6
6
  import 'node:module';
7
7
  import './network-preset-CJ1RRnki.js';
8
+ import './dist-DtzrgNJ1.js';
8
9
  import 'node:fs';
9
10
  import 'node:child_process';
10
11
  import 'node:path';
@@ -22,9 +23,9 @@ import 'assert';
22
23
  import 'zlib';
23
24
  import 'node:assert';
24
25
  import 'node:fs/promises';
25
- import './state-CsIDHNPN.js';
26
- import './endpoints-WTxemTcn.js';
27
- import './features-BE2x1a_a.js';
26
+ import './state-Bq8fep3F.js';
27
+ import './endpoints-IFTldlrt.js';
28
+ import './features-BW-bVsl8.js';
28
29
  import './runtime-context.svelte-C5zNEC6u.js';
29
30
 
30
31
  //#region src/routes/api/runtime/landing/+server.ts
@@ -55,4 +56,4 @@ var GET = async (event) => {
55
56
  };
56
57
 
57
58
  export { GET };
58
- //# sourceMappingURL=_server.ts-CCdP5Eqx.js.map
59
+ //# sourceMappingURL=_server.ts-D3FpBEaY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CCdP5Eqx.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/runtime/landing/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { r as resolveRequestLanding } from \"../../../../../chunks/landing.js\";\n//#region src/routes/api/runtime/landing/+server.ts\n/**\n* GET /api/runtime/landing — public landing-resolver endpoint (review\n* findings J2/J3, plan ui-runtime-modes-plan.md §6.5).\n*\n* PUBLIC by design (same posture as /api/setup/status and /api/runtime): no\n* auth is consulted. Wraps the SAME `resolveRequestLanding()` the host UI's\n* own hooks.server.ts navigation guard uses, so any external caller —\n* Electron's `resolveInitialUrl`, `openpalm app`/`openpalm admin`, a future\n* client — can ask \"where should a session land right now?\" without issuing\n* a document navigation and parsing a redirect.\n*\n* J2: this is what lets Electron's default surface reach the landing\n* matrix's recovery branches (installed_offline -> /host, installed_broken ->\n* /host?tab=diagnostics) instead of only ever seeing /setup or /chat via the\n* old /api/setup/status probe.\n* J3: nothing produces a 'pending' migration status yet, but\n* resolveRequestLanding already routes that to /attention — this endpoint\n* needs no changes when the first blocking migration lands.\n*\n* Cache-Control: no-store — a stale landing (e.g. cached across a stack\n* restart) would misroute a launcher into a dead surface.\n*/\nvar GET = async (event) => {\n\treturn json({ landing: await resolveRequestLanding(event) }, { headers: { \"cache-control\": \"no-store\" } });\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,CAAC;AAC3G;;;;"}
1
+ {"version":3,"file":"_server.ts-D3FpBEaY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/runtime/landing/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { r as resolveRequestLanding } from \"../../../../../chunks/landing.js\";\n//#region src/routes/api/runtime/landing/+server.ts\n/**\n* GET /api/runtime/landing — public landing-resolver endpoint (review\n* findings J2/J3, plan ui-runtime-modes-plan.md §6.5).\n*\n* PUBLIC by design (same posture as /api/setup/status and /api/runtime): no\n* auth is consulted. Wraps the SAME `resolveRequestLanding()` the host UI's\n* own hooks.server.ts navigation guard uses, so any external caller —\n* Electron's `resolveInitialUrl`, `openpalm app`/`openpalm admin`, a future\n* client — can ask \"where should a session land right now?\" without issuing\n* a document navigation and parsing a redirect.\n*\n* J2: this is what lets Electron's default surface reach the landing\n* matrix's recovery branches (installed_offline -> /host, installed_broken ->\n* /host?tab=diagnostics) instead of only ever seeing /setup or /chat via the\n* old /api/setup/status probe.\n* J3: nothing produces a 'pending' migration status yet, but\n* resolveRequestLanding already routes that to /attention — this endpoint\n* needs no changes when the first blocking migration lands.\n*\n* Cache-Control: no-store — a stale landing (e.g. cached across a stack\n* restart) would misroute a launcher into a dead surface.\n*/\nvar GET = async (event) => {\n\treturn json({ landing: await resolveRequestLanding(event) }, { headers: { \"cache-control\": \"no-store\" } });\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,CAAC;AAC3G;;;;"}
@@ -1,8 +1,9 @@
1
- import { p as checkDocker, a7 as getDockerEvents } from './src-CQ2F7hgb.js';
2
- import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CfpNg3il.js';
1
+ import { p as checkDocker, a5 as getDockerEvents } from './src-DbArH65P.js';
2
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DxodR6tq.js';
3
3
  import './chunk-DOvWTNp_.js';
4
4
  import 'node:module';
5
5
  import './network-preset-CJ1RRnki.js';
6
+ import './dist-DtzrgNJ1.js';
6
7
  import 'node:fs';
7
8
  import 'node:child_process';
8
9
  import 'node:path';
@@ -20,9 +21,9 @@ import 'assert';
20
21
  import 'zlib';
21
22
  import 'node:assert';
22
23
  import 'node:fs/promises';
23
- import './endpoints-WTxemTcn.js';
24
- import './state-CsIDHNPN.js';
25
- import './features-BE2x1a_a.js';
24
+ import './endpoints-IFTldlrt.js';
25
+ import './state-Bq8fep3F.js';
26
+ import './features-BW-bVsl8.js';
26
27
 
27
28
  //#region src/routes/api/host/containers/events/+server.ts
28
29
  var GET = async (event) => {
@@ -46,4 +47,4 @@ var GET = async (event) => {
46
47
  };
47
48
 
48
49
  export { GET };
49
- //# sourceMappingURL=_server.ts-Sx6mXrwK.js.map
50
+ //# sourceMappingURL=_server.ts-D3G8ICxb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Sx6mXrwK.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/containers/events/_server.ts.js"],"sourcesContent":["import { C as getDockerEvents, i as checkDocker } from \"../../../../../../chunks/docker.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/containers/events/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst since = event.url.searchParams.get(\"since\") || \"1h\";\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await getDockerEvents(\"openpalm\", since);\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get Docker events: ${result.stderr}`, {}, requestId);\n\tlet events = [];\n\tif (result.stdout.trim()) try {\n\t\tevents = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.events] Failed to parse Docker events output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker events output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { events }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,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,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;AAC1D,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC;AACxD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,6BAA6B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,IAAI,MAAM,GAAG,EAAE;AAChB,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,CAAC,CAAC;AAC7E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sCAAsC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC;AAChD;;;;"}
1
+ {"version":3,"file":"_server.ts-D3G8ICxb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/containers/events/_server.ts.js"],"sourcesContent":["import { C as getDockerEvents, i as checkDocker } from \"../../../../../../chunks/docker.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/containers/events/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst since = event.url.searchParams.get(\"since\") || \"1h\";\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await getDockerEvents(\"openpalm\", since);\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get Docker events: ${result.stderr}`, {}, requestId);\n\tlet events = [];\n\tif (result.stdout.trim()) try {\n\t\tevents = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.events] Failed to parse Docker events output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker events output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { events }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,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,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;AAC1D,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC;AACxD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,6BAA6B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,IAAI,MAAM,GAAG,EAAE;AAChB,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,CAAC,CAAC;AAC7E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sCAAsC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC;AAChD;;;;"}
@@ -0,0 +1,110 @@
1
+ import { as as readChannelPreference, o as checkAndUpdateUiBuild, P as PLATFORM_VERSION, aS as restoreUiBackup, aG as recordPendingUiBackup, D as createLogger } from './src-DbArH65P.js';
2
+ import { g as getState } from './state-Bq8fep3F.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-DxodR6tq.js';
4
+ import { w as withAdminUpdateLock } from './admin-update-lock-ZHLAwYiV.js';
5
+ import './chunk-DOvWTNp_.js';
6
+ import 'node:module';
7
+ import './network-preset-CJ1RRnki.js';
8
+ import './dist-DtzrgNJ1.js';
9
+ import 'node:fs';
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-IFTldlrt.js';
27
+ import './features-BW-bVsl8.js';
28
+
29
+ //#region src/routes/api/host/ui-version/+server.ts
30
+ var logger = createLogger("ui-version");
31
+ function harnessContractVersion() {
32
+ const raw = process.env.OP_HARNESS_CONTRACT_VERSION?.trim();
33
+ if (!raw) return process.env.OP_UI_SUPERVISOR === "electron" ? null : void 0;
34
+ const parsed = Number(raw);
35
+ return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : null;
36
+ }
37
+ var POST = async (event) => {
38
+ const requestId = getRequestId(event);
39
+ const capabilityError = requireCapability(event, "host:updates", requestId);
40
+ if (capabilityError) return capabilityError;
41
+ const authError = requireAdmin(event, requestId);
42
+ if (authError) return authError;
43
+ const parsedBody = await parseJsonBody(event.request);
44
+ if ("error" in parsedBody) return jsonBodyError(parsedBody, requestId);
45
+ if (Object.keys(parsedBody.data).length > 0) return errorResponse(400, "unknown_update_key", "UI update does not accept request fields", {}, requestId);
46
+ const state = getState();
47
+ return withAdminUpdateLock(state, requestId, async () => {
48
+ const harnessContract = harnessContractVersion();
49
+ if (harnessContract === null) return errorResponse(500, "invalid_harness_contract", "Electron did not provide a valid OP_HARNESS_CONTRACT_VERSION; refusing an unchecked UI update", {}, requestId);
50
+ const channel = readChannelPreference(state);
51
+ const result = await checkAndUpdateUiBuild(PLATFORM_VERSION, state.dataDir, channel, harnessContract);
52
+ if (result.error) {
53
+ if (result.backupDir) restoreUiBackup(state.dataDir, result.backupDir);
54
+ logger.error("UI update failed", {
55
+ requestId,
56
+ channel,
57
+ error: result.error
58
+ });
59
+ return errorResponse(502, "update_failed", result.error, {}, requestId);
60
+ }
61
+ if (result.redownloadRequired) return jsonResponse(200, {
62
+ ok: true,
63
+ updated: false,
64
+ latestVersion: result.latestVersion,
65
+ restarting: false,
66
+ pendingRestart: false,
67
+ redownloadRequired: true,
68
+ requiredHarnessContract: result.requiredHarnessContract
69
+ }, requestId);
70
+ if (!result.updated) return jsonResponse(200, {
71
+ ok: true,
72
+ updated: false,
73
+ latestVersion: result.latestVersion,
74
+ restarting: false,
75
+ pendingRestart: false,
76
+ redownloadRequired: false
77
+ }, requestId);
78
+ if (result.backupDir) recordPendingUiBackup(state.dataDir, result.backupDir);
79
+ const supervisor = process.env.OP_UI_SUPERVISOR ?? "";
80
+ let restarting = false;
81
+ const pendingRestart = supervisor === "electron";
82
+ if (supervisor && !pendingRestart && process.ppid > 1) try {
83
+ process.kill(process.ppid, "SIGUSR2");
84
+ restarting = true;
85
+ } catch (error) {
86
+ logger.warn("UI restart signal failed", {
87
+ requestId,
88
+ error: error instanceof Error ? error.message : String(error)
89
+ });
90
+ }
91
+ logger.info("UI update completed", {
92
+ requestId,
93
+ channel,
94
+ latestVersion: result.latestVersion,
95
+ restarting,
96
+ pendingRestart
97
+ });
98
+ return jsonResponse(200, {
99
+ ok: true,
100
+ updated: true,
101
+ latestVersion: result.latestVersion,
102
+ restarting,
103
+ pendingRestart,
104
+ redownloadRequired: false
105
+ }, requestId);
106
+ });
107
+ };
108
+
109
+ export { POST };
110
+ //# sourceMappingURL=_server.ts-DMUseo0C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-DMUseo0C.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/ui-version/_server.ts.js"],"sourcesContent":["import { Ot as createLogger, ft as checkAndUpdateUiBuild, mt as PLATFORM_VERSION, z as readChannelPreference } from \"../../../../../chunks/compose-args.js\";\nimport { n as restoreUiBackup, t as recordPendingUiBackup } 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 withAdminUpdateLock } from \"../../../../../chunks/admin-update-lock.js\";\n//#region src/routes/api/host/ui-version/+server.ts\nvar logger = createLogger(\"ui-version\");\nfunction harnessContractVersion() {\n\tconst raw = process.env.OP_HARNESS_CONTRACT_VERSION?.trim();\n\tif (!raw) return process.env.OP_UI_SUPERVISOR === \"electron\" ? null : void 0;\n\tconst parsed = Number(raw);\n\treturn Number.isSafeInteger(parsed) && parsed > 0 ? parsed : null;\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst parsedBody = await parseJsonBody(event.request);\n\tif (\"error\" in parsedBody) return jsonBodyError(parsedBody, requestId);\n\tif (Object.keys(parsedBody.data).length > 0) return errorResponse(400, \"unknown_update_key\", \"UI update does not accept request fields\", {}, requestId);\n\tconst state = getState();\n\treturn withAdminUpdateLock(state, requestId, async () => {\n\t\tconst harnessContract = harnessContractVersion();\n\t\tif (harnessContract === null) return errorResponse(500, \"invalid_harness_contract\", \"Electron did not provide a valid OP_HARNESS_CONTRACT_VERSION; refusing an unchecked UI update\", {}, requestId);\n\t\tconst channel = readChannelPreference(state);\n\t\tconst result = await checkAndUpdateUiBuild(PLATFORM_VERSION, state.dataDir, channel, harnessContract);\n\t\tif (result.error) {\n\t\t\tif (result.backupDir) restoreUiBackup(state.dataDir, result.backupDir);\n\t\t\tlogger.error(\"UI update failed\", {\n\t\t\t\trequestId,\n\t\t\t\tchannel,\n\t\t\t\terror: result.error\n\t\t\t});\n\t\t\treturn errorResponse(502, \"update_failed\", result.error, {}, requestId);\n\t\t}\n\t\tif (result.redownloadRequired) return jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tupdated: false,\n\t\t\tlatestVersion: result.latestVersion,\n\t\t\trestarting: false,\n\t\t\tpendingRestart: false,\n\t\t\tredownloadRequired: true,\n\t\t\trequiredHarnessContract: result.requiredHarnessContract\n\t\t}, requestId);\n\t\tif (!result.updated) return jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tupdated: false,\n\t\t\tlatestVersion: result.latestVersion,\n\t\t\trestarting: false,\n\t\t\tpendingRestart: false,\n\t\t\tredownloadRequired: false\n\t\t}, requestId);\n\t\tif (result.backupDir) recordPendingUiBackup(state.dataDir, result.backupDir);\n\t\tconst supervisor = process.env.OP_UI_SUPERVISOR ?? \"\";\n\t\tlet restarting = false;\n\t\tconst pendingRestart = supervisor === \"electron\";\n\t\tif (supervisor && !pendingRestart && process.ppid > 1) try {\n\t\t\tprocess.kill(process.ppid, \"SIGUSR2\");\n\t\t\trestarting = true;\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"UI restart signal failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: error instanceof Error ? error.message : String(error)\n\t\t\t});\n\t\t}\n\t\tlogger.info(\"UI update completed\", {\n\t\t\trequestId,\n\t\t\tchannel,\n\t\t\tlatestVersion: result.latestVersion,\n\t\t\trestarting,\n\t\t\tpendingRestart\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tupdated: true,\n\t\t\tlatestVersion: result.latestVersion,\n\t\t\trestarting,\n\t\t\tpendingRestart,\n\t\t\tredownloadRequired: false\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC;AACvC,SAAS,sBAAsB,GAAG;AAClC,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE;AAC5D,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,UAAU,GAAG,IAAI,GAAG,MAAM;AAC7E,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;AAC3B,CAAC,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI;AAClE;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,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,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACtD,CAAC,IAAI,OAAO,IAAI,UAAU,EAAE,OAAO,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC;AACvE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,0CAA0C,EAAE,EAAE,EAAE,SAAS,CAAC;AACxJ,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY;AAC1D,EAAE,MAAM,eAAe,GAAG,sBAAsB,EAAE;AAClD,EAAE,IAAI,eAAe,KAAK,IAAI,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,0BAA0B,EAAE,+FAA+F,EAAE,EAAE,EAAE,SAAS,CAAC;AACrM,EAAE,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC;AAC9C,EAAE,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC;AACvG,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE;AACpB,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;AACzE,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;AACpC,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,KAAK,EAAE,MAAM,CAAC;AAClB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1E,EAAE;AACF,EAAE,IAAI,MAAM,CAAC,kBAAkB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1D,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,KAAK;AACjB,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,UAAU,EAAE,KAAK;AACpB,GAAG,cAAc,EAAE,KAAK;AACxB,GAAG,kBAAkB,EAAE,IAAI;AAC3B,GAAG,uBAAuB,EAAE,MAAM,CAAC;AACnC,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAChD,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,KAAK;AACjB,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,UAAU,EAAE,KAAK;AACpB,GAAG,cAAc,EAAE,KAAK;AACxB,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,qBAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC;AAC9E,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;AACvD,EAAE,IAAI,UAAU,GAAG,KAAK;AACxB,EAAE,MAAM,cAAc,GAAG,UAAU,KAAK,UAAU;AAClD,EAAE,IAAI,UAAU,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI;AAC7D,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AACxC,GAAG,UAAU,GAAG,IAAI;AACpB,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,GAAG,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC3C,IAAI,SAAS;AACb,IAAI,KAAK,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK;AAChE,IAAI,CAAC;AACL,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACrC,GAAG,SAAS;AACZ,GAAG,OAAO;AACV,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,UAAU;AACb,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,IAAI;AAChB,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,UAAU;AACb,GAAG,cAAc;AACjB,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}