@openpalm/ui 0.13.0-beta.5 → 0.13.0-beta.7

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 (591) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/4.Cd3Y_8BZ.css +1 -0
  3. package/build/client/_app/immutable/assets/4.Cd3Y_8BZ.css.br +3 -0
  4. package/build/client/_app/immutable/assets/4.Cd3Y_8BZ.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/6.BM7A1dW5.css +1 -0
  6. package/build/client/_app/immutable/assets/6.BM7A1dW5.css.br +0 -0
  7. package/build/client/_app/immutable/assets/6.BM7A1dW5.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/7.BsquVIMw.css +1 -0
  9. package/build/client/_app/immutable/assets/7.BsquVIMw.css.br +0 -0
  10. package/build/client/_app/immutable/assets/7.BsquVIMw.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/assets/QuestionCard.CSfD3z_X.css +1 -0
  15. package/build/client/_app/immutable/assets/QuestionCard.CSfD3z_X.css.br +0 -0
  16. package/build/client/_app/immutable/assets/QuestionCard.CSfD3z_X.css.gz +0 -0
  17. package/build/client/_app/immutable/chunks/1F1QVf3N.js +1 -0
  18. package/build/client/_app/immutable/chunks/1F1QVf3N.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/1F1QVf3N.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{DmFbAjwW.js → 92accNiq.js} +1 -1
  21. package/build/client/_app/immutable/chunks/92accNiq.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/92accNiq.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{SXdvPq3_.js → BBXQKGHA.js} +1 -1
  24. package/build/client/_app/immutable/chunks/BBXQKGHA.js.br +1 -0
  25. package/build/client/_app/immutable/chunks/BBXQKGHA.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/BE_4J5sS.js +3 -0
  27. package/build/client/_app/immutable/chunks/BE_4J5sS.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/BE_4J5sS.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/{CUa5ff3d.js → BGx9HO1u.js} +1 -1
  30. package/build/client/_app/immutable/chunks/BGx9HO1u.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/BGx9HO1u.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/BdIq5WIo.js +1 -0
  33. package/build/client/_app/immutable/chunks/BdIq5WIo.js.br +5 -0
  34. package/build/client/_app/immutable/chunks/BdIq5WIo.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/{BDK50g8a.js → ByiipSaR.js} +1 -1
  36. package/build/client/_app/immutable/chunks/ByiipSaR.js.br +3 -0
  37. package/build/client/_app/immutable/chunks/ByiipSaR.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/{D5FtEngX.js → C4qTU5YY.js} +1 -1
  39. package/build/client/_app/immutable/chunks/C4qTU5YY.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/C4qTU5YY.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/C6rMFkms.js +14 -0
  42. package/build/client/_app/immutable/chunks/C6rMFkms.js.br +0 -0
  43. package/build/client/_app/immutable/chunks/C6rMFkms.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/{mG6HnNbi.js → CJc9QEdG.js} +1 -1
  45. package/build/client/_app/immutable/chunks/CJc9QEdG.js.br +2 -0
  46. package/build/client/_app/immutable/chunks/CJc9QEdG.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/Clt9pCG1.js +1 -0
  48. package/build/client/_app/immutable/chunks/Clt9pCG1.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/Clt9pCG1.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/CuKFR3Qo.js +3 -0
  51. package/build/client/_app/immutable/chunks/CuKFR3Qo.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/CuKFR3Qo.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/CzKYnjEX.js +1 -0
  54. package/build/client/_app/immutable/chunks/CzKYnjEX.js.br +0 -0
  55. package/build/client/_app/immutable/chunks/CzKYnjEX.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/D1VTYdXF.js +1 -0
  57. package/build/client/_app/immutable/chunks/D1VTYdXF.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/D1VTYdXF.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/D3d8Mm8X.js +1 -0
  60. package/build/client/_app/immutable/chunks/D3d8Mm8X.js.br +1 -0
  61. package/build/client/_app/immutable/chunks/D3d8Mm8X.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/DF5Aoa59.js +1 -0
  63. package/build/client/_app/immutable/chunks/DF5Aoa59.js.br +2 -0
  64. package/build/client/_app/immutable/chunks/DF5Aoa59.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/{NR-JVJz-.js → DTAO9S6h.js} +1 -1
  66. package/build/client/_app/immutable/chunks/DTAO9S6h.js.br +0 -0
  67. package/build/client/_app/immutable/chunks/DTAO9S6h.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/DTLQuSQp.js +3 -0
  69. package/build/client/_app/immutable/chunks/DTLQuSQp.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/DTLQuSQp.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/DaRQZQEK.js +5 -0
  72. package/build/client/_app/immutable/chunks/DaRQZQEK.js.br +0 -0
  73. package/build/client/_app/immutable/chunks/DaRQZQEK.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/Dz-hw4Sz.js +5 -0
  75. package/build/client/_app/immutable/chunks/Dz-hw4Sz.js.br +0 -0
  76. package/build/client/_app/immutable/chunks/Dz-hw4Sz.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/{hSjQday7.js → _zkFsY4j.js} +1 -1
  78. package/build/client/_app/immutable/chunks/_zkFsY4j.js.br +0 -0
  79. package/build/client/_app/immutable/chunks/_zkFsY4j.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/mNzUu332.js +1 -0
  81. package/build/client/_app/immutable/chunks/mNzUu332.js.br +0 -0
  82. package/build/client/_app/immutable/chunks/mNzUu332.js.gz +0 -0
  83. package/build/client/_app/immutable/entry/app.DKG33-gU.js +2 -0
  84. package/build/client/_app/immutable/entry/app.DKG33-gU.js.br +0 -0
  85. package/build/client/_app/immutable/entry/app.DKG33-gU.js.gz +0 -0
  86. package/build/client/_app/immutable/entry/start.vDtUfDrT.js +1 -0
  87. package/build/client/_app/immutable/entry/start.vDtUfDrT.js.br +1 -0
  88. package/build/client/_app/immutable/entry/start.vDtUfDrT.js.gz +0 -0
  89. package/build/client/_app/immutable/nodes/0.eA5H3idZ.js +1 -0
  90. package/build/client/_app/immutable/nodes/0.eA5H3idZ.js.br +0 -0
  91. package/build/client/_app/immutable/nodes/0.eA5H3idZ.js.gz +0 -0
  92. package/build/client/_app/immutable/nodes/1.CvKFymDh.js +1 -0
  93. package/build/client/_app/immutable/nodes/1.CvKFymDh.js.br +0 -0
  94. package/build/client/_app/immutable/nodes/1.CvKFymDh.js.gz +0 -0
  95. package/build/client/_app/immutable/nodes/10.DFMf8WUQ.js +1 -0
  96. package/build/client/_app/immutable/nodes/10.DFMf8WUQ.js.br +0 -0
  97. package/build/client/_app/immutable/nodes/10.DFMf8WUQ.js.gz +0 -0
  98. package/build/client/_app/immutable/nodes/{11.Ti2X5F-7.js → 11.BZQW5Y67.js} +6 -6
  99. package/build/client/_app/immutable/nodes/11.BZQW5Y67.js.br +0 -0
  100. package/build/client/_app/immutable/nodes/11.BZQW5Y67.js.gz +0 -0
  101. package/build/client/_app/immutable/nodes/2.tmtk1Bjc.js +1 -0
  102. package/build/client/_app/immutable/nodes/2.tmtk1Bjc.js.br +0 -0
  103. package/build/client/_app/immutable/nodes/2.tmtk1Bjc.js.gz +0 -0
  104. package/build/client/_app/immutable/nodes/3.BEaeucAu.js +1 -0
  105. package/build/client/_app/immutable/nodes/3.BEaeucAu.js.br +0 -0
  106. package/build/client/_app/immutable/nodes/3.BEaeucAu.js.gz +0 -0
  107. package/build/client/_app/immutable/nodes/4.B-36aGPk.js +1 -0
  108. package/build/client/_app/immutable/nodes/4.B-36aGPk.js.br +0 -0
  109. package/build/client/_app/immutable/nodes/4.B-36aGPk.js.gz +0 -0
  110. package/build/client/_app/immutable/nodes/{5.CNMS0qgk.js → 5.bgdUYUlr.js} +2 -2
  111. package/build/client/_app/immutable/nodes/5.bgdUYUlr.js.br +0 -0
  112. package/build/client/_app/immutable/nodes/5.bgdUYUlr.js.gz +0 -0
  113. package/build/client/_app/immutable/nodes/6.D0P837Li.js +2 -0
  114. package/build/client/_app/immutable/nodes/6.D0P837Li.js.br +0 -0
  115. package/build/client/_app/immutable/nodes/6.D0P837Li.js.gz +0 -0
  116. package/build/client/_app/immutable/nodes/7.C4seSCJq.js +14 -0
  117. package/build/client/_app/immutable/nodes/7.C4seSCJq.js.br +0 -0
  118. package/build/client/_app/immutable/nodes/7.C4seSCJq.js.gz +0 -0
  119. package/build/client/_app/immutable/nodes/8.BANf4x1v.js +1 -0
  120. package/build/client/_app/immutable/nodes/8.BANf4x1v.js.br +0 -0
  121. package/build/client/_app/immutable/nodes/8.BANf4x1v.js.gz +0 -0
  122. package/build/client/_app/immutable/nodes/9.DCgNAMuD.js +128 -0
  123. package/build/client/_app/immutable/nodes/9.DCgNAMuD.js.br +0 -0
  124. package/build/client/_app/immutable/nodes/9.DCgNAMuD.js.gz +0 -0
  125. package/build/client/_app/version.json +1 -1
  126. package/build/client/_app/version.json.br +1 -1
  127. package/build/client/_app/version.json.gz +0 -0
  128. package/build/server/chunks/{0-3ZKFLVwz.js → 0-D9FIO-Bk.js} +7 -6
  129. package/build/server/chunks/{0-3ZKFLVwz.js.map → 0-D9FIO-Bk.js.map} +1 -1
  130. package/build/server/chunks/1-ItPJxTHP.js +9 -0
  131. package/build/server/chunks/{1-BscBEom6.js.map → 1-ItPJxTHP.js.map} +1 -1
  132. package/build/server/chunks/{10-CYYH66rb.js → 10-B4fDiATl.js} +3 -3
  133. package/build/server/chunks/{10-CYYH66rb.js.map → 10-B4fDiATl.js.map} +1 -1
  134. package/build/server/chunks/11-CZj9K6K7.js +9 -0
  135. package/build/server/chunks/{11-DSzQavEB.js.map → 11-CZj9K6K7.js.map} +1 -1
  136. package/build/server/chunks/{2-CQSBaE_w.js → 2-KPMSLSlE.js} +2 -2
  137. package/build/server/chunks/{2-CQSBaE_w.js.map → 2-KPMSLSlE.js.map} +1 -1
  138. package/build/server/chunks/{3-t-iZh03o.js → 3-DpC38K23.js} +11 -11
  139. package/build/server/chunks/3-DpC38K23.js.map +1 -0
  140. package/build/server/chunks/4-DrJ64j1x.js +9 -0
  141. package/build/server/chunks/4-DrJ64j1x.js.map +1 -0
  142. package/build/server/chunks/{5-DLMaS6eR.js → 5-BxzwX0rY.js} +3 -3
  143. package/build/server/chunks/{5-DLMaS6eR.js.map → 5-BxzwX0rY.js.map} +1 -1
  144. package/build/server/chunks/6-DxXeT1e3.js +9 -0
  145. package/build/server/chunks/6-DxXeT1e3.js.map +1 -0
  146. package/build/server/chunks/7-CuHe_mFY.js +9 -0
  147. package/build/server/chunks/{7-BLHhygXi.js.map → 7-CuHe_mFY.js.map} +1 -1
  148. package/build/server/chunks/{8-DiHmrGkL.js → 8-DFD8sNRI.js} +5 -7
  149. package/build/server/chunks/8-DFD8sNRI.js.map +1 -0
  150. package/build/server/chunks/9-CVIPxN5B.js +9 -0
  151. package/build/server/chunks/9-CVIPxN5B.js.map +1 -0
  152. package/build/server/chunks/{IconActivity-DrgUhxxi.js → ChatMessage-fWnwEF6b.js} +3 -57
  153. package/build/server/chunks/ChatMessage-fWnwEF6b.js.map +1 -0
  154. package/build/server/chunks/{ChatNavbar-Takv7dQM.js → ChatNavbar-CJYo_Hbc.js} +9 -10
  155. package/build/server/chunks/ChatNavbar-CJYo_Hbc.js.map +1 -0
  156. package/build/server/chunks/IconActivity-BU1QGLAZ.js +58 -0
  157. package/build/server/chunks/IconActivity-BU1QGLAZ.js.map +1 -0
  158. package/build/server/chunks/{IconServer-C5rdlJAr.js → IconServer-DkywyVFu.js} +5 -5
  159. package/build/server/chunks/{IconServer-C5rdlJAr.js.map → IconServer-DkywyVFu.js.map} +1 -1
  160. package/build/server/chunks/{IconSoundOn-DHtvjphK.js → IconSoundOn-DoAiK-qp.js} +23 -21
  161. package/build/server/chunks/IconSoundOn-DoAiK-qp.js.map +1 -0
  162. package/build/server/chunks/IconStop-DKVpXPKq.js +1648 -0
  163. package/build/server/chunks/IconStop-DKVpXPKq.js.map +1 -0
  164. package/build/server/chunks/QuestionCard-BCfoxMiS.js +128 -0
  165. package/build/server/chunks/QuestionCard-BCfoxMiS.js.map +1 -0
  166. package/build/server/chunks/{_layout.svelte-BLxvGwKC.js → _layout.svelte-DArOWGd3.js} +3 -3
  167. package/build/server/chunks/{_layout.svelte-BLxvGwKC.js.map → _layout.svelte-DArOWGd3.js.map} +1 -1
  168. package/build/server/chunks/{_page.svelte-BOwGlCzD.js → _page.svelte-B2cX_j9w.js} +3 -3
  169. package/build/server/chunks/{_page.svelte-BOwGlCzD.js.map → _page.svelte-B2cX_j9w.js.map} +1 -1
  170. package/build/server/chunks/{_page.svelte--MC2pNDj.js → _page.svelte-BcpGl-vl.js} +16 -20
  171. package/build/server/chunks/_page.svelte-BcpGl-vl.js.map +1 -0
  172. package/build/server/chunks/_page.svelte-CGEtuNmS.js +192 -0
  173. package/build/server/chunks/_page.svelte-CGEtuNmS.js.map +1 -0
  174. package/build/server/chunks/{_page.svelte-f3XZxZcO.js → _page.svelte-Dpf94Jor.js} +3 -3
  175. package/build/server/chunks/{_page.svelte-f3XZxZcO.js.map → _page.svelte-Dpf94Jor.js.map} +1 -1
  176. package/build/server/chunks/{_page.svelte-BT81Bwrh.js → _page.svelte-FOm-OMQe.js} +6 -6
  177. package/build/server/chunks/_page.svelte-FOm-OMQe.js.map +1 -0
  178. package/build/server/chunks/{_page.svelte-BdH2kpT0.js → _page.svelte-S90xJHRa.js} +96 -203
  179. package/build/server/chunks/_page.svelte-S90xJHRa.js.map +1 -0
  180. package/build/server/chunks/{_page.svelte-BnV94Ogu.js → _page.svelte-qxgG6hsh.js} +20 -45
  181. package/build/server/chunks/_page.svelte-qxgG6hsh.js.map +1 -0
  182. package/build/server/chunks/{_server.ts-B12WIhKW.js → _server.ts--F22byeV.js} +28 -24
  183. package/build/server/chunks/_server.ts--F22byeV.js.map +1 -0
  184. package/build/server/chunks/{_server.ts-D_NDxdhC.js → _server.ts-08JCSzPu.js} +61 -59
  185. package/build/server/chunks/_server.ts-08JCSzPu.js.map +1 -0
  186. package/build/server/chunks/{_server.ts-D6UMAxY5.js → _server.ts-3bBG0DBN.js} +8 -7
  187. package/build/server/chunks/{_server.ts-D6UMAxY5.js.map → _server.ts-3bBG0DBN.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-COHW_bIw.js → _server.ts-7pcCO8Pf.js} +9 -8
  189. package/build/server/chunks/{_server.ts-COHW_bIw.js.map → _server.ts-7pcCO8Pf.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-Z6bcCFE1.js → _server.ts-AC1zqetQ.js} +4 -3
  191. package/build/server/chunks/{_server.ts-Z6bcCFE1.js.map → _server.ts-AC1zqetQ.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-CN26zawm.js → _server.ts-B-uAgtQC.js} +8 -7
  193. package/build/server/chunks/{_server.ts-CN26zawm.js.map → _server.ts-B-uAgtQC.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-Dg2Gkcbx.js → _server.ts-B0MK-ynu.js} +11 -16
  195. package/build/server/chunks/_server.ts-B0MK-ynu.js.map +1 -0
  196. package/build/server/chunks/{_server.ts-DIB4OM3y.js → _server.ts-B1vQkdVA.js} +10 -9
  197. package/build/server/chunks/{_server.ts-DIB4OM3y.js.map → _server.ts-B1vQkdVA.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-DC1tK0yE.js → _server.ts-B3iKXyUo.js} +8 -7
  199. package/build/server/chunks/{_server.ts-DC1tK0yE.js.map → _server.ts-B3iKXyUo.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-DsfNtE_I.js → _server.ts-B7319d6O.js} +8 -7
  201. package/build/server/chunks/{_server.ts-DsfNtE_I.js.map → _server.ts-B7319d6O.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-DNzhPgX5.js → _server.ts-BCpQ8Qdr.js} +8 -7
  203. package/build/server/chunks/{_server.ts-DNzhPgX5.js.map → _server.ts-BCpQ8Qdr.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-DojcmGfa.js → _server.ts-BF5JzSrs.js} +8 -7
  205. package/build/server/chunks/{_server.ts-DojcmGfa.js.map → _server.ts-BF5JzSrs.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-Ddf5c75T.js → _server.ts-BGTw6w-C.js} +11 -10
  207. package/build/server/chunks/_server.ts-BGTw6w-C.js.map +1 -0
  208. package/build/server/chunks/{_server.ts-CoA6nB9c.js → _server.ts-BH8Y1mmb.js} +6 -5
  209. package/build/server/chunks/{_server.ts-CoA6nB9c.js.map → _server.ts-BH8Y1mmb.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-McJwsQRP.js → _server.ts-BHaFrgm9.js} +9 -8
  211. package/build/server/chunks/{_server.ts-McJwsQRP.js.map → _server.ts-BHaFrgm9.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-CLyMgmaf.js → _server.ts-BKnCIXe5.js} +8 -7
  213. package/build/server/chunks/{_server.ts-CLyMgmaf.js.map → _server.ts-BKnCIXe5.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-KVrYcUOG.js → _server.ts-BOn4TCRw.js} +9 -8
  215. package/build/server/chunks/{_server.ts-KVrYcUOG.js.map → _server.ts-BOn4TCRw.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-Bba4knHI.js → _server.ts-BS4UTF4H.js} +8 -7
  217. package/build/server/chunks/{_server.ts-Bba4knHI.js.map → _server.ts-BS4UTF4H.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-Drhyf5o4.js → _server.ts-BWMJRzwx.js} +10 -9
  219. package/build/server/chunks/_server.ts-BWMJRzwx.js.map +1 -0
  220. package/build/server/chunks/{_server.ts-BfTFlPSX.js → _server.ts-B_7lGoo_.js} +8 -7
  221. package/build/server/chunks/{_server.ts-BfTFlPSX.js.map → _server.ts-B_7lGoo_.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-DrWTucF0.js → _server.ts-BaEUZaLH.js} +6 -5
  223. package/build/server/chunks/{_server.ts-DrWTucF0.js.map → _server.ts-BaEUZaLH.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-DswOp5MZ.js → _server.ts-BgL3_hTS.js} +9 -8
  225. package/build/server/chunks/{_server.ts-DswOp5MZ.js.map → _server.ts-BgL3_hTS.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-qkGGHj13.js → _server.ts-BgOS_sDK.js} +9 -8
  227. package/build/server/chunks/{_server.ts-qkGGHj13.js.map → _server.ts-BgOS_sDK.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-CYEiMdP-.js → _server.ts-BhA9ywuA.js} +8 -7
  229. package/build/server/chunks/{_server.ts-CYEiMdP-.js.map → _server.ts-BhA9ywuA.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-DPtqK0c2.js → _server.ts-BtZ9-ZYu.js} +4 -3
  231. package/build/server/chunks/{_server.ts-DPtqK0c2.js.map → _server.ts-BtZ9-ZYu.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-BjjNc0OV.js → _server.ts-C4tBc7fm.js} +11 -10
  233. package/build/server/chunks/{_server.ts-BjjNc0OV.js.map → _server.ts-C4tBc7fm.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-WfJI8r0e.js → _server.ts-C5T_Zuoy.js} +16 -15
  235. package/build/server/chunks/_server.ts-C5T_Zuoy.js.map +1 -0
  236. package/build/server/chunks/{_server.ts-BuByt6I7.js → _server.ts-CCTZbI7L.js} +9 -8
  237. package/build/server/chunks/{_server.ts-BuByt6I7.js.map → _server.ts-CCTZbI7L.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-DZ3Yyeac.js → _server.ts-CEUFtmpE.js} +26 -18
  239. package/build/server/chunks/_server.ts-CEUFtmpE.js.map +1 -0
  240. package/build/server/chunks/{_server.ts-CZluUZ23.js → _server.ts-CFKGqT4L.js} +8 -7
  241. package/build/server/chunks/{_server.ts-CZluUZ23.js.map → _server.ts-CFKGqT4L.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-CR1fXUx_.js → _server.ts-CLMsuxkK.js} +8 -7
  243. package/build/server/chunks/{_server.ts-CR1fXUx_.js.map → _server.ts-CLMsuxkK.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-sD2USOMT.js → _server.ts-CMfz71Do.js} +8 -7
  245. package/build/server/chunks/{_server.ts-sD2USOMT.js.map → _server.ts-CMfz71Do.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-CQ9bUgsb.js → _server.ts-CQeqwCqj.js} +8 -7
  247. package/build/server/chunks/{_server.ts-CQ9bUgsb.js.map → _server.ts-CQeqwCqj.js.map} +1 -1
  248. package/build/server/chunks/{_server.ts-rBPifh0g.js → _server.ts-CSBd_6yC.js} +9 -8
  249. package/build/server/chunks/{_server.ts-rBPifh0g.js.map → _server.ts-CSBd_6yC.js.map} +1 -1
  250. package/build/server/chunks/_server.ts-CSYdjKAH.js +73 -0
  251. package/build/server/chunks/_server.ts-CSYdjKAH.js.map +1 -0
  252. package/build/server/chunks/{_server.ts-DfMcCjcV.js → _server.ts-CY-GNKZT.js} +8 -7
  253. package/build/server/chunks/{_server.ts-DfMcCjcV.js.map → _server.ts-CY-GNKZT.js.map} +1 -1
  254. package/build/server/chunks/{_server.ts-CvL5DtEE.js → _server.ts-CYu5XSM8.js} +8 -7
  255. package/build/server/chunks/{_server.ts-CvL5DtEE.js.map → _server.ts-CYu5XSM8.js.map} +1 -1
  256. package/build/server/chunks/{_server.ts-B8RJmRP7.js → _server.ts-CjeMP5Vf.js} +9 -8
  257. package/build/server/chunks/_server.ts-CjeMP5Vf.js.map +1 -0
  258. package/build/server/chunks/{_server.ts-c6ytwkWX.js → _server.ts-Cjo35hc1.js} +8 -7
  259. package/build/server/chunks/{_server.ts-c6ytwkWX.js.map → _server.ts-Cjo35hc1.js.map} +1 -1
  260. package/build/server/chunks/{_server.ts-C4cnIzbb.js → _server.ts-CkVeEW46.js} +8 -7
  261. package/build/server/chunks/{_server.ts-C4cnIzbb.js.map → _server.ts-CkVeEW46.js.map} +1 -1
  262. package/build/server/chunks/{_server.ts-CkJ2MAlY.js → _server.ts-Cph8nHvr.js} +8 -7
  263. package/build/server/chunks/{_server.ts-CkJ2MAlY.js.map → _server.ts-Cph8nHvr.js.map} +1 -1
  264. package/build/server/chunks/_server.ts-CpyfojV9.js +83 -0
  265. package/build/server/chunks/_server.ts-CpyfojV9.js.map +1 -0
  266. package/build/server/chunks/{_server.ts-CYhI4sCU.js → _server.ts-CtkA_Ld0.js} +20 -14
  267. package/build/server/chunks/_server.ts-CtkA_Ld0.js.map +1 -0
  268. package/build/server/chunks/{_server.ts-DKtsPlqI.js → _server.ts-Cu48eVwM.js} +4 -3
  269. package/build/server/chunks/{_server.ts-DKtsPlqI.js.map → _server.ts-Cu48eVwM.js.map} +1 -1
  270. package/build/server/chunks/{_server.ts-BWdKIMmK.js → _server.ts-CvjVUcFR.js} +8 -7
  271. package/build/server/chunks/_server.ts-CvjVUcFR.js.map +1 -0
  272. package/build/server/chunks/{_server.ts-Cifj-9A3.js → _server.ts-CxH-7UEc.js} +8 -7
  273. package/build/server/chunks/{_server.ts-Cifj-9A3.js.map → _server.ts-CxH-7UEc.js.map} +1 -1
  274. package/build/server/chunks/{_server.ts-CDC5Za0f.js → _server.ts-D0XsGdhx.js} +8 -7
  275. package/build/server/chunks/{_server.ts-CDC5Za0f.js.map → _server.ts-D0XsGdhx.js.map} +1 -1
  276. package/build/server/chunks/_server.ts-D6-C5ctd.js +110 -0
  277. package/build/server/chunks/_server.ts-D6-C5ctd.js.map +1 -0
  278. package/build/server/chunks/{_server.ts-HoP6PRwU.js → _server.ts-DQI9hYcE.js} +8 -7
  279. package/build/server/chunks/{_server.ts-HoP6PRwU.js.map → _server.ts-DQI9hYcE.js.map} +1 -1
  280. package/build/server/chunks/{_server.ts-B01LeWfv.js → _server.ts-DQTJ_bFp.js} +9 -8
  281. package/build/server/chunks/{_server.ts-B01LeWfv.js.map → _server.ts-DQTJ_bFp.js.map} +1 -1
  282. package/build/server/chunks/{_server.ts-B6IuU4lX.js → _server.ts-DR0kmbl9.js} +9 -8
  283. package/build/server/chunks/_server.ts-DR0kmbl9.js.map +1 -0
  284. package/build/server/chunks/{_server.ts-Bx5L70N3.js → _server.ts-DR_9WXW4.js} +10 -9
  285. package/build/server/chunks/{_server.ts-Bx5L70N3.js.map → _server.ts-DR_9WXW4.js.map} +1 -1
  286. package/build/server/chunks/{_server.ts-Dv1LAL-L.js → _server.ts-DXwG4w1_.js} +6 -6
  287. package/build/server/chunks/_server.ts-DXwG4w1_.js.map +1 -0
  288. package/build/server/chunks/{_server.ts-CnmdgRQ5.js → _server.ts-DYLc6Os9.js} +8 -7
  289. package/build/server/chunks/{_server.ts-CnmdgRQ5.js.map → _server.ts-DYLc6Os9.js.map} +1 -1
  290. package/build/server/chunks/{_server.ts-BTQPdIRj.js → _server.ts-DYg52Wyj.js} +8 -7
  291. package/build/server/chunks/{_server.ts-BTQPdIRj.js.map → _server.ts-DYg52Wyj.js.map} +1 -1
  292. package/build/server/chunks/{_server.ts-BjfWddPf.js → _server.ts-Dc1s3sLN.js} +10 -9
  293. package/build/server/chunks/_server.ts-Dc1s3sLN.js.map +1 -0
  294. package/build/server/chunks/{_server.ts-ClGBdG69.js → _server.ts-DcpOpD6s.js} +8 -7
  295. package/build/server/chunks/{_server.ts-ClGBdG69.js.map → _server.ts-DcpOpD6s.js.map} +1 -1
  296. package/build/server/chunks/{_server.ts-DdL9GP2B.js → _server.ts-DeuURP8u.js} +8 -7
  297. package/build/server/chunks/{_server.ts-DdL9GP2B.js.map → _server.ts-DeuURP8u.js.map} +1 -1
  298. package/build/server/chunks/{_server.ts-B_uD0GmU.js → _server.ts-DhcBS9KQ.js} +8 -7
  299. package/build/server/chunks/{_server.ts-B_uD0GmU.js.map → _server.ts-DhcBS9KQ.js.map} +1 -1
  300. package/build/server/chunks/{_server.ts-D7hUSvgG.js → _server.ts-DlKT-RbM.js} +11 -16
  301. package/build/server/chunks/_server.ts-DlKT-RbM.js.map +1 -0
  302. package/build/server/chunks/{_server.ts-z7K-ZCVq.js → _server.ts-DuO_GU5A.js} +8 -7
  303. package/build/server/chunks/{_server.ts-z7K-ZCVq.js.map → _server.ts-DuO_GU5A.js.map} +1 -1
  304. package/build/server/chunks/{_server.ts-ByTth5Q4.js → _server.ts-DvUVX3X0.js} +9 -8
  305. package/build/server/chunks/{_server.ts-ByTth5Q4.js.map → _server.ts-DvUVX3X0.js.map} +1 -1
  306. package/build/server/chunks/{_server.ts-eYI_yBAq.js → _server.ts-DvfnkNfI.js} +9 -8
  307. package/build/server/chunks/{_server.ts-eYI_yBAq.js.map → _server.ts-DvfnkNfI.js.map} +1 -1
  308. package/build/server/chunks/{_server.ts-CQGc6Rzk.js → _server.ts-DzV6EO26.js} +8 -7
  309. package/build/server/chunks/{_server.ts-CQGc6Rzk.js.map → _server.ts-DzV6EO26.js.map} +1 -1
  310. package/build/server/chunks/{_server.ts-CV7PsNSs.js → _server.ts-IEM_8o6U.js} +17 -12
  311. package/build/server/chunks/_server.ts-IEM_8o6U.js.map +1 -0
  312. package/build/server/chunks/{_server.ts-BnCHdcon.js → _server.ts-N_mH0t0f.js} +13 -13
  313. package/build/server/chunks/_server.ts-N_mH0t0f.js.map +1 -0
  314. package/build/server/chunks/{_server.ts-C7R2xQ_O.js → _server.ts-Y5pBzFz4.js} +8 -7
  315. package/build/server/chunks/{_server.ts-C7R2xQ_O.js.map → _server.ts-Y5pBzFz4.js.map} +1 -1
  316. package/build/server/chunks/{_server.ts-BG1nkyV5.js → _server.ts-ZKEBn-qW.js} +10 -9
  317. package/build/server/chunks/{_server.ts-BG1nkyV5.js.map → _server.ts-ZKEBn-qW.js.map} +1 -1
  318. package/build/server/chunks/{_server.ts-CqLbFV6m.js → _server.ts-fenM6Iln.js} +26 -22
  319. package/build/server/chunks/_server.ts-fenM6Iln.js.map +1 -0
  320. package/build/server/chunks/{_server.ts-BbxUaG2z.js → _server.ts-i9TaUbWr.js} +30 -10
  321. package/build/server/chunks/_server.ts-i9TaUbWr.js.map +1 -0
  322. package/build/server/chunks/{_server.ts-A_jvsf54.js → _server.ts-iXjPBf7J.js} +16 -15
  323. package/build/server/chunks/_server.ts-iXjPBf7J.js.map +1 -0
  324. package/build/server/chunks/{_server.ts-BvPCnwm4.js → _server.ts-jqktLs6L.js} +8 -7
  325. package/build/server/chunks/{_server.ts-BvPCnwm4.js.map → _server.ts-jqktLs6L.js.map} +1 -1
  326. package/build/server/chunks/{_server.ts-Cg9mKyvd.js → _server.ts-oSGbQw4A.js} +8 -7
  327. package/build/server/chunks/_server.ts-oSGbQw4A.js.map +1 -0
  328. package/build/server/chunks/{_server.ts-DrdVm_2l.js → _server.ts-pf6WrGLo.js} +9 -8
  329. package/build/server/chunks/{_server.ts-DrdVm_2l.js.map → _server.ts-pf6WrGLo.js.map} +1 -1
  330. package/build/server/chunks/{_server.ts-BAdTYKi0.js → _server.ts-v3cF2xWi.js} +8 -7
  331. package/build/server/chunks/{_server.ts-BAdTYKi0.js.map → _server.ts-v3cF2xWi.js.map} +1 -1
  332. package/build/server/chunks/{_server.ts-B0oC8HQF.js → _server.ts-vJBq3idp.js} +4 -3
  333. package/build/server/chunks/{_server.ts-B0oC8HQF.js.map → _server.ts-vJBq3idp.js.map} +1 -1
  334. package/build/server/chunks/{_server.ts-oDtZo8YM.js → _server.ts-vlaPk3to.js} +8 -7
  335. package/build/server/chunks/{_server.ts-oDtZo8YM.js.map → _server.ts-vlaPk3to.js.map} +1 -1
  336. package/build/server/chunks/{_server.ts-CGX-Vd-3.js → _server.ts-xQhNjF_X.js} +8 -7
  337. package/build/server/chunks/{_server.ts-CGX-Vd-3.js.map → _server.ts-xQhNjF_X.js.map} +1 -1
  338. package/build/server/chunks/_server.ts-yZ8CGJNE.js +82 -0
  339. package/build/server/chunks/_server.ts-yZ8CGJNE.js.map +1 -0
  340. package/build/server/chunks/{_server.ts-DMxAUnDp.js → _server.ts-z5C3PAAB.js} +4 -3
  341. package/build/server/chunks/{_server.ts-DMxAUnDp.js.map → _server.ts-z5C3PAAB.js.map} +1 -1
  342. package/build/server/chunks/{_server.ts-CHBfflb0.js → _server.ts-zt3yI2wU.js} +8 -7
  343. package/build/server/chunks/{_server.ts-CHBfflb0.js.map → _server.ts-zt3yI2wU.js.map} +1 -1
  344. package/build/server/chunks/{addon-helpers-CkCisYhs.js → addon-helpers-B7bkHg-K.js} +18 -5
  345. package/build/server/chunks/addon-helpers-B7bkHg-K.js.map +1 -0
  346. package/build/server/chunks/admin-update-lock-B-z4UE8R.js +24 -0
  347. package/build/server/chunks/admin-update-lock-B-z4UE8R.js.map +1 -0
  348. package/build/server/chunks/{akm-Dv9-jfkS.js → akm-C4NCZfJB.js} +3 -3
  349. package/build/server/chunks/{akm-Dv9-jfkS.js.map → akm-C4NCZfJB.js.map} +1 -1
  350. package/build/server/chunks/{catalog-CilTg0Ck.js → catalog-Czlhb_2V.js} +5 -5
  351. package/build/server/chunks/{catalog-CilTg0Ck.js.map → catalog-Czlhb_2V.js.map} +1 -1
  352. package/build/server/chunks/{client-wd3mkq4X.js → client-HEAniq5u.js} +2 -2
  353. package/build/server/chunks/{client-wd3mkq4X.js.map → client-HEAniq5u.js.map} +1 -1
  354. package/build/server/chunks/{compose-args2-Ccr5RMHS.js → compose-args2-B1cYvF5r.js} +4 -3
  355. package/build/server/chunks/compose-args2-B1cYvF5r.js.map +1 -0
  356. package/build/server/chunks/{config-C_XJx8-D.js → config-C15S-ENd.js} +2 -2
  357. package/build/server/chunks/{config-C_XJx8-D.js.map → config-C15S-ENd.js.map} +1 -1
  358. package/build/server/chunks/{constants-1vPYIIwP.js → constants-C8L-P-CF.js} +2 -2
  359. package/build/server/chunks/{constants-1vPYIIwP.js.map → constants-C8L-P-CF.js.map} +1 -1
  360. package/build/server/chunks/dist-DtzrgNJ1.js +6617 -0
  361. package/build/server/chunks/dist-DtzrgNJ1.js.map +1 -0
  362. package/build/server/chunks/{docker2-BL8hjShD.js → docker2-CF7qyd1U.js} +4 -3
  363. package/build/server/chunks/docker2-CF7qyd1U.js.map +1 -0
  364. package/build/server/chunks/{docker3-TVLvF3ly.js → docker3-BsPagEza.js} +2 -2
  365. package/build/server/chunks/{docker3-TVLvF3ly.js.map → docker3-BsPagEza.js.map} +1 -1
  366. package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
  367. package/build/server/chunks/{error.svelte-BI8mJm7r.js → error.svelte-C-lukbaB.js} +4 -4
  368. package/build/server/chunks/{error.svelte-BI8mJm7r.js.map → error.svelte-C-lukbaB.js.map} +1 -1
  369. package/build/server/chunks/features-DltizIi4.js +79 -0
  370. package/build/server/chunks/features-DltizIi4.js.map +1 -0
  371. package/build/server/chunks/{helpers-9U7R7yqL.js → helpers-DWpoPvHz.js} +17 -22
  372. package/build/server/chunks/helpers-DWpoPvHz.js.map +1 -0
  373. package/build/server/chunks/{hooks.server-Bog01Hsc.js → hooks.server-BcdEyWVU.js} +13 -12
  374. package/build/server/chunks/hooks.server-BcdEyWVU.js.map +1 -0
  375. package/build/server/chunks/{http-D2Aul-FP.js → http-7E5W3vGt.js} +3 -3
  376. package/build/server/chunks/http-7E5W3vGt.js.map +1 -0
  377. package/build/server/chunks/{internal-DbH28JEx.js → internal-BNSUwl-r.js} +10 -8
  378. package/build/server/chunks/{internal-DbH28JEx.js.map → internal-BNSUwl-r.js.map} +1 -1
  379. package/build/server/chunks/{landing-CMnmbyhs.js → landing-DY53l_CN.js} +10 -12
  380. package/build/server/chunks/landing-DY53l_CN.js.map +1 -0
  381. package/build/server/chunks/{network-preset-CJ1RRnki.js → network-preset-BvVAoagy.js} +14 -13
  382. package/build/server/chunks/network-preset-BvVAoagy.js.map +1 -0
  383. package/build/server/chunks/opencode-target-DYD2zQ4l.js +203 -0
  384. package/build/server/chunks/opencode-target-DYD2zQ4l.js.map +1 -0
  385. package/build/server/chunks/{paths-CADLTBzK.js → paths-BVdkvR9U.js} +2 -2
  386. package/build/server/chunks/{paths-CADLTBzK.js.map → paths-BVdkvR9U.js.map} +1 -1
  387. package/build/server/chunks/{runtime-context.svelte-C5zNEC6u.js → runtime-context.svelte-CRT-b6Ae.js} +8 -11
  388. package/build/server/chunks/runtime-context.svelte-CRT-b6Ae.js.map +1 -0
  389. package/build/server/chunks/{session-cookie-9GKSbczI.js → session-cookie-D2_H1UEW.js} +2 -2
  390. package/build/server/chunks/{session-cookie-9GKSbczI.js.map → session-cookie-D2_H1UEW.js.map} +1 -1
  391. package/build/server/chunks/{setup-deploy-32URXYdb.js → setup-deploy-C1h733rH.js} +2 -2
  392. package/build/server/chunks/{setup-deploy-32URXYdb.js.map → setup-deploy-C1h733rH.js.map} +1 -1
  393. package/build/server/chunks/{src-AHSKeKr0.js → src-B2-r_9oB.js} +531 -7088
  394. package/build/server/chunks/src-B2-r_9oB.js.map +1 -0
  395. package/build/server/chunks/{state-CzXOEt0t.js → state-Dkjz2T4C.js} +2 -2
  396. package/build/server/chunks/{state-CzXOEt0t.js.map → state-Dkjz2T4C.js.map} +1 -1
  397. package/build/server/chunks/{state2-Dk2nfhFB.js → state2-CS9rhust.js} +17 -2
  398. package/build/server/chunks/{state2-Dk2nfhFB.js.map → state2-CS9rhust.js.map} +1 -1
  399. package/build/server/chunks/voice-state.svelte-CSmyLPRH.js +561 -0
  400. package/build/server/chunks/voice-state.svelte-CSmyLPRH.js.map +1 -0
  401. package/build/server/index.js +1 -1
  402. package/build/server/manifest.js +94 -129
  403. package/build/server/manifest.js.map +1 -1
  404. package/package.json +3 -3
  405. package/build/client/_app/immutable/assets/4.BXlLAfIE.css +0 -1
  406. package/build/client/_app/immutable/assets/4.BXlLAfIE.css.br +0 -0
  407. package/build/client/_app/immutable/assets/4.BXlLAfIE.css.gz +0 -0
  408. package/build/client/_app/immutable/assets/6.D_kTgQ70.css +0 -1
  409. package/build/client/_app/immutable/assets/6.D_kTgQ70.css.br +0 -0
  410. package/build/client/_app/immutable/assets/6.D_kTgQ70.css.gz +0 -0
  411. package/build/client/_app/immutable/assets/7.CNzyzDDZ.css +0 -1
  412. package/build/client/_app/immutable/assets/7.CNzyzDDZ.css.br +0 -0
  413. package/build/client/_app/immutable/assets/7.CNzyzDDZ.css.gz +0 -0
  414. package/build/client/_app/immutable/assets/9.DeeTO7Ju.css +0 -1
  415. package/build/client/_app/immutable/assets/9.DeeTO7Ju.css.br +0 -0
  416. package/build/client/_app/immutable/assets/9.DeeTO7Ju.css.gz +0 -0
  417. package/build/client/_app/immutable/chunks/B0yXlM3K.js +0 -1
  418. package/build/client/_app/immutable/chunks/B0yXlM3K.js.br +0 -0
  419. package/build/client/_app/immutable/chunks/B0yXlM3K.js.gz +0 -0
  420. package/build/client/_app/immutable/chunks/BDK50g8a.js.br +0 -0
  421. package/build/client/_app/immutable/chunks/BDK50g8a.js.gz +0 -0
  422. package/build/client/_app/immutable/chunks/BlYj4BBX.js +0 -1
  423. package/build/client/_app/immutable/chunks/BlYj4BBX.js.br +0 -0
  424. package/build/client/_app/immutable/chunks/BlYj4BBX.js.gz +0 -0
  425. package/build/client/_app/immutable/chunks/Bz3r0btw.js +0 -3
  426. package/build/client/_app/immutable/chunks/Bz3r0btw.js.br +0 -0
  427. package/build/client/_app/immutable/chunks/Bz3r0btw.js.gz +0 -0
  428. package/build/client/_app/immutable/chunks/BzIvC31O.js +0 -3
  429. package/build/client/_app/immutable/chunks/BzIvC31O.js.br +0 -0
  430. package/build/client/_app/immutable/chunks/BzIvC31O.js.gz +0 -0
  431. package/build/client/_app/immutable/chunks/C718MJXm.js +0 -5
  432. package/build/client/_app/immutable/chunks/C718MJXm.js.br +0 -0
  433. package/build/client/_app/immutable/chunks/C718MJXm.js.gz +0 -0
  434. package/build/client/_app/immutable/chunks/CBM1fLGu.js +0 -1
  435. package/build/client/_app/immutable/chunks/CBM1fLGu.js.br +0 -0
  436. package/build/client/_app/immutable/chunks/CBM1fLGu.js.gz +0 -0
  437. package/build/client/_app/immutable/chunks/CUa5ff3d.js.br +0 -0
  438. package/build/client/_app/immutable/chunks/CUa5ff3d.js.gz +0 -0
  439. package/build/client/_app/immutable/chunks/D5FtEngX.js.br +0 -0
  440. package/build/client/_app/immutable/chunks/D5FtEngX.js.gz +0 -0
  441. package/build/client/_app/immutable/chunks/DBHgGGCD.js +0 -1
  442. package/build/client/_app/immutable/chunks/DBHgGGCD.js.br +0 -0
  443. package/build/client/_app/immutable/chunks/DBHgGGCD.js.gz +0 -0
  444. package/build/client/_app/immutable/chunks/DPYXdJcD.js +0 -1
  445. package/build/client/_app/immutable/chunks/DPYXdJcD.js.br +0 -2
  446. package/build/client/_app/immutable/chunks/DPYXdJcD.js.gz +0 -0
  447. package/build/client/_app/immutable/chunks/DWtm_qwJ.js +0 -3
  448. package/build/client/_app/immutable/chunks/DWtm_qwJ.js.br +0 -0
  449. package/build/client/_app/immutable/chunks/DWtm_qwJ.js.gz +0 -0
  450. package/build/client/_app/immutable/chunks/DfZbBavE.js +0 -1
  451. package/build/client/_app/immutable/chunks/DfZbBavE.js.br +0 -1
  452. package/build/client/_app/immutable/chunks/DfZbBavE.js.gz +0 -0
  453. package/build/client/_app/immutable/chunks/DmFbAjwW.js.br +0 -3
  454. package/build/client/_app/immutable/chunks/DmFbAjwW.js.gz +0 -0
  455. package/build/client/_app/immutable/chunks/NR-JVJz-.js.br +0 -0
  456. package/build/client/_app/immutable/chunks/NR-JVJz-.js.gz +0 -0
  457. package/build/client/_app/immutable/chunks/R6GPcDBF.js +0 -14
  458. package/build/client/_app/immutable/chunks/R6GPcDBF.js.br +0 -0
  459. package/build/client/_app/immutable/chunks/R6GPcDBF.js.gz +0 -0
  460. package/build/client/_app/immutable/chunks/SXdvPq3_.js.br +0 -0
  461. package/build/client/_app/immutable/chunks/SXdvPq3_.js.gz +0 -0
  462. package/build/client/_app/immutable/chunks/c0lkYAgh.js +0 -5
  463. package/build/client/_app/immutable/chunks/c0lkYAgh.js.br +0 -0
  464. package/build/client/_app/immutable/chunks/c0lkYAgh.js.gz +0 -0
  465. package/build/client/_app/immutable/chunks/hSjQday7.js.br +0 -0
  466. package/build/client/_app/immutable/chunks/hSjQday7.js.gz +0 -0
  467. package/build/client/_app/immutable/chunks/mG6HnNbi.js.br +0 -0
  468. package/build/client/_app/immutable/chunks/mG6HnNbi.js.gz +0 -0
  469. package/build/client/_app/immutable/entry/app.FbKd4aR6.js +0 -2
  470. package/build/client/_app/immutable/entry/app.FbKd4aR6.js.br +0 -0
  471. package/build/client/_app/immutable/entry/app.FbKd4aR6.js.gz +0 -0
  472. package/build/client/_app/immutable/entry/start.VEjfH6IP.js +0 -1
  473. package/build/client/_app/immutable/entry/start.VEjfH6IP.js.br +0 -1
  474. package/build/client/_app/immutable/entry/start.VEjfH6IP.js.gz +0 -0
  475. package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js +0 -1
  476. package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js.br +0 -0
  477. package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js.gz +0 -0
  478. package/build/client/_app/immutable/nodes/1.B_hGEgef.js +0 -1
  479. package/build/client/_app/immutable/nodes/1.B_hGEgef.js.br +0 -0
  480. package/build/client/_app/immutable/nodes/1.B_hGEgef.js.gz +0 -0
  481. package/build/client/_app/immutable/nodes/10.B8xmblvj.js +0 -1
  482. package/build/client/_app/immutable/nodes/10.B8xmblvj.js.br +0 -0
  483. package/build/client/_app/immutable/nodes/10.B8xmblvj.js.gz +0 -0
  484. package/build/client/_app/immutable/nodes/11.Ti2X5F-7.js.br +0 -0
  485. package/build/client/_app/immutable/nodes/11.Ti2X5F-7.js.gz +0 -0
  486. package/build/client/_app/immutable/nodes/2.C-PzaHZx.js +0 -1
  487. package/build/client/_app/immutable/nodes/2.C-PzaHZx.js.br +0 -0
  488. package/build/client/_app/immutable/nodes/2.C-PzaHZx.js.gz +0 -0
  489. package/build/client/_app/immutable/nodes/3.26Z_fr6N.js +0 -1
  490. package/build/client/_app/immutable/nodes/3.26Z_fr6N.js.br +0 -0
  491. package/build/client/_app/immutable/nodes/3.26Z_fr6N.js.gz +0 -0
  492. package/build/client/_app/immutable/nodes/4.X5um5v0F.js +0 -1
  493. package/build/client/_app/immutable/nodes/4.X5um5v0F.js.br +0 -0
  494. package/build/client/_app/immutable/nodes/4.X5um5v0F.js.gz +0 -0
  495. package/build/client/_app/immutable/nodes/5.CNMS0qgk.js.br +0 -0
  496. package/build/client/_app/immutable/nodes/5.CNMS0qgk.js.gz +0 -0
  497. package/build/client/_app/immutable/nodes/6.PLWojxHU.js +0 -2
  498. package/build/client/_app/immutable/nodes/6.PLWojxHU.js.br +0 -0
  499. package/build/client/_app/immutable/nodes/6.PLWojxHU.js.gz +0 -0
  500. package/build/client/_app/immutable/nodes/7.Bba4nkVZ.js +0 -14
  501. package/build/client/_app/immutable/nodes/7.Bba4nkVZ.js.br +0 -0
  502. package/build/client/_app/immutable/nodes/7.Bba4nkVZ.js.gz +0 -0
  503. package/build/client/_app/immutable/nodes/8.NHp_bSVx.js +0 -1
  504. package/build/client/_app/immutable/nodes/8.NHp_bSVx.js.br +0 -0
  505. package/build/client/_app/immutable/nodes/8.NHp_bSVx.js.gz +0 -0
  506. package/build/client/_app/immutable/nodes/9.nlW01gWY.js +0 -126
  507. package/build/client/_app/immutable/nodes/9.nlW01gWY.js.br +0 -0
  508. package/build/client/_app/immutable/nodes/9.nlW01gWY.js.gz +0 -0
  509. package/build/server/chunks/1-BscBEom6.js +0 -9
  510. package/build/server/chunks/11-DSzQavEB.js +0 -9
  511. package/build/server/chunks/3-t-iZh03o.js.map +0 -1
  512. package/build/server/chunks/4-CcOQz4eZ.js +0 -9
  513. package/build/server/chunks/4-CcOQz4eZ.js.map +0 -1
  514. package/build/server/chunks/6-BL469LUB.js +0 -9
  515. package/build/server/chunks/6-BL469LUB.js.map +0 -1
  516. package/build/server/chunks/7-BLHhygXi.js +0 -9
  517. package/build/server/chunks/8-DiHmrGkL.js.map +0 -1
  518. package/build/server/chunks/9-D4ocBCG0.js +0 -42
  519. package/build/server/chunks/9-D4ocBCG0.js.map +0 -1
  520. package/build/server/chunks/ChatNavbar-Takv7dQM.js.map +0 -1
  521. package/build/server/chunks/IconActivity-DrgUhxxi.js.map +0 -1
  522. package/build/server/chunks/IconSoundOn-DHtvjphK.js.map +0 -1
  523. package/build/server/chunks/IconStop-C89_dmt4.js +0 -956
  524. package/build/server/chunks/IconStop-C89_dmt4.js.map +0 -1
  525. package/build/server/chunks/_page.svelte--MC2pNDj.js.map +0 -1
  526. package/build/server/chunks/_page.svelte-BT81Bwrh.js.map +0 -1
  527. package/build/server/chunks/_page.svelte-BdH2kpT0.js.map +0 -1
  528. package/build/server/chunks/_page.svelte-BnV94Ogu.js.map +0 -1
  529. package/build/server/chunks/_page.svelte-CkYUucmY.js +0 -92
  530. package/build/server/chunks/_page.svelte-CkYUucmY.js.map +0 -1
  531. package/build/server/chunks/_server.ts-3RgOKIrg.js +0 -112
  532. package/build/server/chunks/_server.ts-3RgOKIrg.js.map +0 -1
  533. package/build/server/chunks/_server.ts-5GcuvVnk.js +0 -48
  534. package/build/server/chunks/_server.ts-5GcuvVnk.js.map +0 -1
  535. package/build/server/chunks/_server.ts-A_jvsf54.js.map +0 -1
  536. package/build/server/chunks/_server.ts-B12WIhKW.js.map +0 -1
  537. package/build/server/chunks/_server.ts-B6IuU4lX.js.map +0 -1
  538. package/build/server/chunks/_server.ts-B8RJmRP7.js.map +0 -1
  539. package/build/server/chunks/_server.ts-BMkzMnF3.js +0 -94
  540. package/build/server/chunks/_server.ts-BMkzMnF3.js.map +0 -1
  541. package/build/server/chunks/_server.ts-BWdKIMmK.js.map +0 -1
  542. package/build/server/chunks/_server.ts-BbvTyvkT.js +0 -69
  543. package/build/server/chunks/_server.ts-BbvTyvkT.js.map +0 -1
  544. package/build/server/chunks/_server.ts-BbxUaG2z.js.map +0 -1
  545. package/build/server/chunks/_server.ts-Bd7KmU8k.js +0 -141
  546. package/build/server/chunks/_server.ts-Bd7KmU8k.js.map +0 -1
  547. package/build/server/chunks/_server.ts-BjfWddPf.js.map +0 -1
  548. package/build/server/chunks/_server.ts-Bla3fiCh.js +0 -106
  549. package/build/server/chunks/_server.ts-Bla3fiCh.js.map +0 -1
  550. package/build/server/chunks/_server.ts-BnCHdcon.js.map +0 -1
  551. package/build/server/chunks/_server.ts-BpNKHMXM.js +0 -66
  552. package/build/server/chunks/_server.ts-BpNKHMXM.js.map +0 -1
  553. package/build/server/chunks/_server.ts-CV7PsNSs.js.map +0 -1
  554. package/build/server/chunks/_server.ts-CYhI4sCU.js.map +0 -1
  555. package/build/server/chunks/_server.ts-Cg9mKyvd.js.map +0 -1
  556. package/build/server/chunks/_server.ts-ClPgPihF.js +0 -248
  557. package/build/server/chunks/_server.ts-ClPgPihF.js.map +0 -1
  558. package/build/server/chunks/_server.ts-CqLbFV6m.js.map +0 -1
  559. package/build/server/chunks/_server.ts-D7hUSvgG.js.map +0 -1
  560. package/build/server/chunks/_server.ts-DZ3Yyeac.js.map +0 -1
  561. package/build/server/chunks/_server.ts-D_NDxdhC.js.map +0 -1
  562. package/build/server/chunks/_server.ts-DcWSFqr3.js +0 -72
  563. package/build/server/chunks/_server.ts-DcWSFqr3.js.map +0 -1
  564. package/build/server/chunks/_server.ts-Ddf5c75T.js.map +0 -1
  565. package/build/server/chunks/_server.ts-Dg2Gkcbx.js.map +0 -1
  566. package/build/server/chunks/_server.ts-Drhyf5o4.js.map +0 -1
  567. package/build/server/chunks/_server.ts-Dv1LAL-L.js.map +0 -1
  568. package/build/server/chunks/_server.ts-WfJI8r0e.js.map +0 -1
  569. package/build/server/chunks/addon-helpers-CkCisYhs.js.map +0 -1
  570. package/build/server/chunks/compose-args2-Ccr5RMHS.js.map +0 -1
  571. package/build/server/chunks/connections-api-mP7OE2x7.js +0 -34
  572. package/build/server/chunks/connections-api-mP7OE2x7.js.map +0 -1
  573. package/build/server/chunks/docker2-BL8hjShD.js.map +0 -1
  574. package/build/server/chunks/endpoints-CnnGlw2U.js +0 -452
  575. package/build/server/chunks/endpoints-CnnGlw2U.js.map +0 -1
  576. package/build/server/chunks/features-BUWlozR5.js +0 -118
  577. package/build/server/chunks/features-BUWlozR5.js.map +0 -1
  578. package/build/server/chunks/helpers-9U7R7yqL.js.map +0 -1
  579. package/build/server/chunks/hooks.server-Bog01Hsc.js.map +0 -1
  580. package/build/server/chunks/http-D2Aul-FP.js.map +0 -1
  581. package/build/server/chunks/landing-CMnmbyhs.js.map +0 -1
  582. package/build/server/chunks/network-preset-CJ1RRnki.js.map +0 -1
  583. package/build/server/chunks/runtime-context.svelte-C5zNEC6u.js.map +0 -1
  584. package/build/server/chunks/serial-queue-D9FEpYVv.js +0 -22
  585. package/build/server/chunks/serial-queue-D9FEpYVv.js.map +0 -1
  586. package/build/server/chunks/src-AHSKeKr0.js.map +0 -1
  587. package/build/server/chunks/voice-state.svelte-BAiqUOIX.js +0 -1214
  588. package/build/server/chunks/voice-state.svelte-BAiqUOIX.js.map +0 -1
  589. /package/build/client/_app/immutable/assets/{IconActivity.BdXOPwBm.css → ChatMessage.BdXOPwBm.css} +0 -0
  590. /package/build/client/_app/immutable/assets/{IconActivity.BdXOPwBm.css.br → ChatMessage.BdXOPwBm.css.br} +0 -0
  591. /package/build/client/_app/immutable/assets/{IconActivity.BdXOPwBm.css.gz → ChatMessage.BdXOPwBm.css.gz} +0 -0
@@ -1,9 +1,11 @@
1
- import { aD as readStackEnv, aW as resolveMdnsStatus, at as patchSecretsEnvFile, aM as recordProjectRename, aL as reconcileMdnsResponder } from './src-AHSKeKr0.js';
2
- import { f as detectNetworkPreset } from './network-preset-CJ1RRnki.js';
3
- import { g as getState } from './state-CzXOEt0t.js';
4
- import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-9U7R7yqL.js';
1
+ import { ax as readStackEnv, aN as resolveMdnsStatus, an as patchSecretsEnvFile, aH as recordProjectRename, aF as reconcileMdnsResponder } from './src-B2-r_9oB.js';
2
+ import { f as detectNetworkPreset } from './network-preset-BvVAoagy.js';
3
+ import { g as getState } from './state-Dkjz2T4C.js';
4
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-DWpoPvHz.js';
5
+ import { w as withAdminUpdateLock } from './admin-update-lock-B-z4UE8R.js';
5
6
  import './chunk-DOvWTNp_.js';
6
7
  import 'node:module';
8
+ import './dist-DtzrgNJ1.js';
7
9
  import 'node:fs';
8
10
  import 'node:child_process';
9
11
  import 'node:path';
@@ -21,8 +23,8 @@ import 'assert';
21
23
  import 'zlib';
22
24
  import 'node:assert';
23
25
  import 'node:fs/promises';
24
- import './endpoints-CnnGlw2U.js';
25
- import './features-BUWlozR5.js';
26
+ import './opencode-target-DYD2zQ4l.js';
27
+ import './features-DltizIi4.js';
26
28
 
27
29
  //#region src/routes/api/host/stack/+server.ts
28
30
  var DEFAULT_PROJECT_NAME = "openpalm";
@@ -58,26 +60,28 @@ var PUT = async (event) => {
58
60
  if (!projectName) return errorResponse(400, "bad_request", "projectName must be 1-63 chars of lowercase letters, numbers, dashes, or underscores.", {}, requestId);
59
61
  if (typeof body.lanExposureEnabled !== "boolean") return errorResponse(400, "bad_request", "lanExposureEnabled must be a boolean", {}, requestId);
60
62
  const state = getState();
61
- const previousProjectName = readStackEnv(state.homeDir).OP_PROJECT_NAME?.trim() || DEFAULT_PROJECT_NAME;
62
- patchSecretsEnvFile(state.homeDir, {
63
- OP_PROJECT_NAME: projectName,
64
- OP_ASSISTANT_BIND_ADDRESS: body.lanExposureEnabled ? LAN_ASSISTANT_BIND_ADDRESS : DEFAULT_ASSISTANT_BIND_ADDRESS
63
+ return withAdminUpdateLock(state, requestId, () => {
64
+ const previousProjectName = readStackEnv(state.homeDir).OP_PROJECT_NAME?.trim() || DEFAULT_PROJECT_NAME;
65
+ patchSecretsEnvFile(state.homeDir, {
66
+ OP_PROJECT_NAME: projectName,
67
+ OP_ASSISTANT_BIND_ADDRESS: body.lanExposureEnabled ? LAN_ASSISTANT_BIND_ADDRESS : DEFAULT_ASSISTANT_BIND_ADDRESS
68
+ });
69
+ const projectRenamed = previousProjectName !== projectName;
70
+ if (projectRenamed) recordProjectRename(state.homeDir, previousProjectName, projectName);
71
+ const mdns = reconcileMdnsResponder(state.homeDir);
72
+ const networkPreset = detectNetworkPreset(readStackEnv(state.homeDir));
73
+ return jsonResponse(200, {
74
+ ok: true,
75
+ projectName,
76
+ projectRenamed,
77
+ lanExposureEnabled: body.lanExposureEnabled,
78
+ stackEnvPath: "knowledge/env/stack.env",
79
+ mdns,
80
+ networkPreset
81
+ }, requestId);
65
82
  });
66
- const projectRenamed = previousProjectName !== projectName;
67
- if (projectRenamed) recordProjectRename(state.homeDir, previousProjectName, projectName);
68
- const mdns = reconcileMdnsResponder(state.homeDir);
69
- const networkPreset = detectNetworkPreset(readStackEnv(state.homeDir));
70
- return jsonResponse(200, {
71
- ok: true,
72
- projectName,
73
- projectRenamed,
74
- lanExposureEnabled: body.lanExposureEnabled,
75
- stackEnvPath: "knowledge/env/stack.env",
76
- mdns,
77
- networkPreset
78
- }, requestId);
79
83
  });
80
84
  };
81
85
 
82
86
  export { GET, PUT };
83
- //# sourceMappingURL=_server.ts-B12WIhKW.js.map
87
+ //# sourceMappingURL=_server.ts--F22byeV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts--F22byeV.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/stack/_server.ts.js"],"sourcesContent":["import { Y as readStackEnv, g as recordProjectRename, q as patchSecretsEnvFile } from \"../../../../../chunks/compose-args.js\";\nimport { i as resolveMdnsStatus, r as reconcileMdnsResponder } from \"../../../../../chunks/src.js\";\nimport { i as detectNetworkPreset } from \"../../../../../chunks/network-preset.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, p as withAdminBody, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withAdminUpdateLock } from \"../../../../../chunks/admin-update-lock.js\";\n//#region src/routes/api/host/stack/+server.ts\nvar DEFAULT_PROJECT_NAME = \"openpalm\";\nvar DEFAULT_ASSISTANT_BIND_ADDRESS = \"127.0.0.1\";\nvar LAN_ASSISTANT_BIND_ADDRESS = \"0.0.0.0\";\nvar PROJECT_NAME_RE = /^[a-z0-9][a-z0-9_-]*$/;\nfunction normalizeProjectName(raw) {\n\tif (typeof raw !== \"string\") return null;\n\tconst value = raw.trim() || DEFAULT_PROJECT_NAME;\n\tif (value.length > 63) return null;\n\treturn PROJECT_NAME_RE.test(value) ? value : null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:read\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tconst env = readStackEnv(getState().homeDir);\n\treturn jsonResponse(200, {\n\t\tprojectName: env.OP_PROJECT_NAME?.trim() || DEFAULT_PROJECT_NAME,\n\t\tlanExposureEnabled: (env.OP_ASSISTANT_BIND_ADDRESS?.trim() || DEFAULT_ASSISTANT_BIND_ADDRESS) === LAN_ASSISTANT_BIND_ADDRESS,\n\t\tstackEnvPath: \"knowledge/env/stack.env\",\n\t\tmdns: resolveMdnsStatus(env),\n\t\tnetworkPreset: detectNetworkPreset(env)\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst capabilityError = requireCapability(event, \"host:stack:write\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\tconst projectName = normalizeProjectName(body.projectName);\n\t\tif (!projectName) return errorResponse(400, \"bad_request\", \"projectName must be 1-63 chars of lowercase letters, numbers, dashes, or underscores.\", {}, requestId);\n\t\tif (typeof body.lanExposureEnabled !== \"boolean\") return errorResponse(400, \"bad_request\", \"lanExposureEnabled must be a boolean\", {}, requestId);\n\t\tconst state = getState();\n\t\treturn withAdminUpdateLock(state, requestId, () => {\n\t\t\tconst previousProjectName = readStackEnv(state.homeDir).OP_PROJECT_NAME?.trim() || DEFAULT_PROJECT_NAME;\n\t\t\tpatchSecretsEnvFile(state.homeDir, {\n\t\t\t\tOP_PROJECT_NAME: projectName,\n\t\t\t\tOP_ASSISTANT_BIND_ADDRESS: body.lanExposureEnabled ? LAN_ASSISTANT_BIND_ADDRESS : DEFAULT_ASSISTANT_BIND_ADDRESS\n\t\t\t});\n\t\t\tconst projectRenamed = previousProjectName !== projectName;\n\t\t\tif (projectRenamed) recordProjectRename(state.homeDir, previousProjectName, projectName);\n\t\t\tconst mdns = reconcileMdnsResponder(state.homeDir);\n\t\t\tconst networkPreset = detectNetworkPreset(readStackEnv(state.homeDir));\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\tprojectName,\n\t\t\t\tprojectRenamed,\n\t\t\t\tlanExposureEnabled: body.lanExposureEnabled,\n\t\t\t\tstackEnvPath: \"knowledge/env/stack.env\",\n\t\t\t\tmdns,\n\t\t\t\tnetworkPreset\n\t\t\t}, requestId);\n\t\t});\n\t});\n};\n//#endregion\nexport { GET, PUT };\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
- import { aD as readStackEnv, c as annotateAddonProfileAvailability, a4 as getAddonProfiles, a3 as getAddonProfileSelection, b as addonProfileId, be as writeVoiceVars, ak as listEnabledAddonIds, C as composeStop, n as buildComposeOptions, b0 as setAddonProfileSelection, a$ as setAddonEnabled, a2 as getAddonProfileAvailability, X as dockerHasNvidiaRuntime, T as detectRootlessDocker, _ as execFileNoThrow, b1 as stackDirFor, e as applyStack } from './src-AHSKeKr0.js';
2
- import { g as getState } from './state-CzXOEt0t.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-9U7R7yqL.js';
4
- import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
1
+ import { ax as readStackEnv, c as annotateAddonProfileAvailability, a2 as getAddonProfiles, a1 as getAddonProfileSelection, b as addonProfileId, b7 as writeVoiceVars, ah as listEnabledAddonIds, C as composeStop, m as buildComposeOptions, aV as setAddonProfileSelection, aU as setAddonEnabled, a0 as getAddonProfileAvailability, W as dockerHasNvidiaRuntime, R as detectRootlessDocker, Z as execFileNoThrow, aW as stackDirFor, e as applyStack } from './src-B2-r_9oB.js';
2
+ import { g as getState } from './state-Dkjz2T4C.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-DWpoPvHz.js';
4
+ import { w as withAdminUpdateLock } from './admin-update-lock-B-z4UE8R.js';
5
5
  import { existsSync } from 'node:fs';
6
6
  import { join } from 'node:path';
7
7
  import { connect } from 'node:net';
8
8
  import './chunk-DOvWTNp_.js';
9
9
  import 'node:module';
10
- import './network-preset-CJ1RRnki.js';
10
+ import './network-preset-BvVAoagy.js';
11
+ import './dist-DtzrgNJ1.js';
11
12
  import 'node:child_process';
12
13
  import 'buffer';
13
14
  import 'node:url';
@@ -23,8 +24,8 @@ import 'assert';
23
24
  import 'zlib';
24
25
  import 'node:assert';
25
26
  import 'node:fs/promises';
26
- import './endpoints-CnnGlw2U.js';
27
- import './features-BUWlozR5.js';
27
+ import './opencode-target-DYD2zQ4l.js';
28
+ import './features-DltizIi4.js';
28
29
 
29
30
  //#region src/lib/server/voice-errors.ts
30
31
  /**
@@ -54,8 +55,8 @@ function translateDockerError(stderr) {
54
55
  /**
55
56
  * Voice addon bring-up engine — the Docker/compose infrastructure behind
56
57
  * PUT /api/host/voice. Extracted from the route so the HTTP handler stays a
57
- * thin request-validation + delegation layer (mirrors the
58
- * lib/server/endpoints.ts admin/endpoints/+server.ts split).
58
+ * thin request-validation + delegation layer (the thin-route-over-service
59
+ * pattern used across the host-admin API).
59
60
  *
60
61
  * Responsibilities:
61
62
  * - Docker image inspection + resolution (dockerImagePresent / resolveServiceImage)
@@ -495,19 +496,19 @@ async function engageVoiceAddon(input) {
495
496
  finishedAt: void 0,
496
497
  error: void 0
497
498
  });
498
- runBringUpJob({
499
- state,
500
- services,
501
- activeProfile,
502
- extraFiles,
503
- availableProfiles,
504
- baseSteps: [...steps]
505
- });
506
499
  return {
507
500
  status: "background",
508
501
  wasAlreadyEnabled,
509
502
  steps,
510
- message: "Voice image is downloading in the background (~2–8 GB). Poll GET /api/host/voice for progress; UI auto-refreshes."
503
+ message: "Voice image is downloading in the background (~2–8 GB). Poll GET /api/host/voice for progress; UI auto-refreshes.",
504
+ completion: runBringUpJob({
505
+ state,
506
+ services,
507
+ activeProfile,
508
+ extraFiles,
509
+ availableProfiles,
510
+ baseSteps: [...steps]
511
+ })
511
512
  };
512
513
  }
513
514
  const outcome = await runBringUp({
@@ -630,10 +631,7 @@ function validateSection(section, kind) {
630
631
  if (!section.baseURL?.trim()) return `Remote ${kind.toUpperCase()} requires an endpoint URL.`;
631
632
  return null;
632
633
  }
633
- var PUT = (event) => {
634
- return withSerialQueue("admin:voice:put", () => handlePut(event));
635
- };
636
- async function handlePut(event) {
634
+ var PUT = async (event) => {
637
635
  const requestId = getRequestId(event);
638
636
  const capabilityError = requireCapability(event, "host:stack:write", requestId);
639
637
  if (capabilityError) return capabilityError;
@@ -673,43 +671,47 @@ async function handlePut(event) {
673
671
  model: sttSection.model,
674
672
  language: sttSection.language
675
673
  };
676
- writeVoiceVars(config, state.homeDir);
677
- const result = await engageVoiceAddon({
678
- state,
679
- wantsVoiceAddon: ttsSection?.engine === "openpalm-voice" || sttSection?.engine === "openpalm-voice",
680
- requestedProfile: typeof b.profile === "string" ? b.profile.trim() : ""
674
+ return withAdminUpdateLock(state, requestId, async (_lock, deferReleaseUntil) => {
675
+ writeVoiceVars(config, state.homeDir);
676
+ const result = await engageVoiceAddon({
677
+ state,
678
+ wantsVoiceAddon: ttsSection?.engine === "openpalm-voice" || sttSection?.engine === "openpalm-voice",
679
+ requestedProfile: typeof b.profile === "string" ? b.profile.trim() : ""
680
+ });
681
+ switch (result.status) {
682
+ case "disengaged": return jsonResponse(200, { ok: true }, requestId);
683
+ case "invalid_profile": return errorResponse(400, "invalid_profile", result.message, {}, requestId);
684
+ case "error": return jsonResponse(502, {
685
+ ok: false,
686
+ voiceAddon: {
687
+ wasAlreadyEnabled: result.wasAlreadyEnabled,
688
+ steps: result.steps,
689
+ error: result.error
690
+ }
691
+ }, requestId);
692
+ case "background":
693
+ deferReleaseUntil(result.completion);
694
+ return jsonResponse(202, {
695
+ ok: true,
696
+ voiceAddon: {
697
+ wasAlreadyEnabled: result.wasAlreadyEnabled,
698
+ status: "pulling",
699
+ steps: result.steps,
700
+ message: result.message
701
+ }
702
+ }, requestId);
703
+ case "final": return jsonResponse(result.healthy || result.warming ? 200 : 502, {
704
+ ok: result.healthy || result.warming,
705
+ voiceAddon: {
706
+ wasAlreadyEnabled: result.wasAlreadyEnabled,
707
+ steps: result.steps,
708
+ ...result.warming ? { warming: true } : {},
709
+ ...result.healthy || result.warming ? {} : { error: "Voice addon is starting but did not become healthy in time." }
710
+ }
711
+ }, requestId);
712
+ }
681
713
  });
682
- switch (result.status) {
683
- case "disengaged": return jsonResponse(200, { ok: true }, requestId);
684
- case "invalid_profile": return errorResponse(400, "invalid_profile", result.message, {}, requestId);
685
- case "error": return jsonResponse(502, {
686
- ok: false,
687
- voiceAddon: {
688
- wasAlreadyEnabled: result.wasAlreadyEnabled,
689
- steps: result.steps,
690
- error: result.error
691
- }
692
- }, requestId);
693
- case "background": return jsonResponse(202, {
694
- ok: true,
695
- voiceAddon: {
696
- wasAlreadyEnabled: result.wasAlreadyEnabled,
697
- status: "pulling",
698
- steps: result.steps,
699
- message: result.message
700
- }
701
- }, requestId);
702
- case "final": return jsonResponse(result.healthy || result.warming ? 200 : 502, {
703
- ok: result.healthy || result.warming,
704
- voiceAddon: {
705
- wasAlreadyEnabled: result.wasAlreadyEnabled,
706
- steps: result.steps,
707
- ...result.warming ? { warming: true } : {},
708
- ...result.healthy || result.warming ? {} : { error: "Voice addon is starting but did not become healthy in time." }
709
- }
710
- }, requestId);
711
- }
712
- }
714
+ };
713
715
 
714
716
  export { GET, PUT };
715
- //# sourceMappingURL=_server.ts-D_NDxdhC.js.map
717
+ //# sourceMappingURL=_server.ts-08JCSzPu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-08JCSzPu.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/voice/_server.ts.js"],"sourcesContent":["import { A as setAddonProfileSelection, C as getAddonProfiles, M as getAddonProfileAvailability, N as addonProfileId, O as listEnabledAddonIds, S as getAddonProfileSelection, St as stackDirFor, Y as readStackEnv, j as execFileNoThrow, k as setAddonEnabled, t as buildComposeOptions, x as annotateAddonProfileAvailability } from \"../../../../../chunks/compose-args.js\";\nimport { t as applyStack, v as composeStop } from \"../../../../../chunks/docker.js\";\nimport { X as dockerHasNvidiaRuntime, Y as detectRootlessDocker, u as writeVoiceVars } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withAdminUpdateLock } from \"../../../../../chunks/admin-update-lock.js\";\nimport { existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { connect } from \"node:net\";\n//#region src/lib/server/voice-errors.ts\n/**\n* Translate raw docker / compose stderr into operator-actionable copy.\n*\n* Lives in $lib/server so the route can import it without violating\n* SvelteKit's +server.ts export rules (handlers + `_`-prefixed only).\n*\n* Pattern matches are intentionally case-insensitive and tolerant of\n* compose-CLI prefix decoration. Order matters: more specific patterns\n* first.\n*/\nfunction translateDockerError(stderr) {\n\tconst raw = (stderr ?? \"\").trim();\n\tif (!raw) return \"Docker reported an unknown error (no stderr).\";\n\tif (/spawn .*docker.*ENOENT|no such file or directory.*docker|docker:\\s*command not found/i.test(raw)) return \"Docker isn't installed on this host. Install Docker Engine or Docker Desktop, then retry.\";\n\tif (/pull access denied|manifest unknown|repository does not exist|not found: manifest unknown/i.test(raw)) return \"The voice image for this profile isn't published yet. Try the CPU profile.\";\n\tif (/failed to resolve reference|dial tcp.*lookup .+docker\\.io|i\\/o timeout.*registry|connection refused.*registry/i.test(raw)) return \"Can't reach Docker Hub. Check your internet connection, corporate firewall, or configure a registry mirror.\";\n\tif (/no space left on device|insufficient.*disk space|ENOSPC|write.*disk full/i.test(raw)) return \"Out of disk space. Free space and try again, or run `docker image prune -a` to reclaim unused images.\";\n\tif (/port is already allocated|bind.*address already in use|address already in use|failed to bind host port/i.test(raw)) return \"Port 8880 is already in use on this host. Free it or change the host port (set OP_VOICE_PORT_HOST).\";\n\tif (/unknown[^\\n]*runtime[^\\n]*nvidia|runtime\\s+\"nvidia\"\\s+not\\s+found|nvidia.*runtime.*not[^a-z]+(found|registered)/i.test(raw)) return \"The NVIDIA Docker runtime isn't registered on this machine. Try the CPU profile, or install nvidia-container-toolkit.\";\n\tif (/invoking the NVIDIA Container Runtime Hook/i.test(raw)) return \"Docker is in CDI mode but no CDI spec is registered. Try the CPU profile.\";\n\treturn raw.length > 300 ? `${raw.slice(0, 297)}…` : raw;\n}\n//#endregion\n//#region src/lib/server/voice/bring-up.ts\n/**\n* Voice addon bring-up engine — the Docker/compose infrastructure behind\n* PUT /api/host/voice. Extracted from the route so the HTTP handler stays a\n* thin request-validation + delegation layer (the thin-route-over-service\n* pattern used across the host-admin API).\n*\n* Responsibilities:\n* - Docker image inspection + resolution (dockerImagePresent / resolveServiceImage)\n* - UI-local host probes (TCP port, container health) — the rootless /\n* nvidia-runtime host-fact probes live in lib (control-plane/voice-host-probes.ts)\n* beside hardware-detect.ts, since they inspect the host, not addon/UI state.\n* - Fallback-overlay SELECTION only: voice.compose.cdi.yml and\n* voice.compose.rootless.yml ship as static files in the skeleton's\n* managed system/stack/ tree (packages/skeleton/system/stack/) — nothing\n* here generates compose YAML.\n* - The in-memory background-job registry (activeJobs)\n* - The engageVoiceAddon orchestration that the route delegates to; the\n* actual compose-up + health-wait lifecycle (runBringUp) is a thin\n* shim over `@openpalm/lib`'s single `applyStack` driver (plan 2.2) —\n* this file keeps only job registry + progress-step rendering, plus the\n* \"warming\" re-probe and voice-specific error-copy translation that\n* applyStack's generic result doesn't carry.\n*\n* Everything here is server-only (uses node:child_process / node:net /\n* node:fs) and returns plain data — the route maps the results to HTTP\n* responses.\n*/\nvar VOICE_ADDON = \"voice\";\nvar VOICE_PROBE_TIMEOUT_MS = 18e4;\nvar PORT_PROBE_TIMEOUT_MS = 750;\nvar JOB_RETAIN_MS = 5 * 6e4;\nvar activeJobs = /* @__PURE__ */ new Map();\nfunction setJob(addon, patch) {\n\tconst existing = activeJobs.get(addon);\n\tconst next = existing ? {\n\t\t...existing,\n\t\t...patch\n\t} : {\n\t\tstate: \"pulling\",\n\t\tsteps: [],\n\t\tstartedAt: Date.now(),\n\t\t...patch\n\t};\n\tactiveJobs.set(addon, next);\n\treturn next;\n}\nfunction getActiveJob(addon) {\n\tconst job = activeJobs.get(addon);\n\tif (!job) return void 0;\n\tif (Date.now() - (job.finishedAt ?? job.startedAt) > JOB_RETAIN_MS) {\n\t\tactiveJobs.delete(addon);\n\t\treturn;\n\t}\n\treturn job;\n}\n/**\n* Pick the best profile for this host. Prefers the first available GPU\n* profile (anything that isn't the canonical CPU profile) so operators with NVIDIA/AMD hardware\n* get the accelerated variant auto-selected. Falls back to the labelled\n* default, then first available, then first profile.\n*/\nfunction resolveDefaultProfile(profiles) {\n\tif (profiles.length === 0) return null;\n\tconst availableGpu = profiles.find((p) => p.id !== addonProfileId(\"voice\", \"cpu\") && p.available !== false);\n\tif (availableGpu) return availableGpu.id;\n\tconst labelledDefault = profiles.find((p) => p.default);\n\tif (labelledDefault && labelledDefault.available !== false) return labelledDefault.id;\n\tconst firstAvailable = profiles.find((p) => p.available !== false);\n\tif (firstAvailable) return firstAvailable.id;\n\treturn profiles[0].id;\n}\nfunction voiceHostPort() {\n\tconst raw = process.env.OP_VOICE_PORT_HOST?.trim();\n\tconst n = raw ? Number(raw) : NaN;\n\treturn Number.isFinite(n) && n > 0 ? n : 8880;\n}\nfunction openpalmVoiceBaseURL() {\n\treturn `http://127.0.0.1:${voiceHostPort()}`;\n}\n/**\n* True when the local docker daemon already has the named image cached.\n* `docker image inspect` exits 0 only when the image is present locally.\n*/\nasync function dockerImagePresent(imageRef) {\n\tif (!imageRef) return true;\n\treturn (await execFileNoThrow(\"docker\", [\n\t\t\"image\",\n\t\t\"inspect\",\n\t\timageRef\n\t], 5e3)).ok;\n}\n/**\n* Heuristic: image tags that include `-cu121` / `-rocm6` / `-cpu` are the\n* multi-GB voice images. Show the \"this may take a few minutes\" toast for\n* first pulls so the operator knows the upcoming compose-up isn't stuck.\n*/\nfunction isLargeImageTag(imageRef) {\n\treturn /(-cu\\d+|-rocm\\d+|-cpu)(\\s|$|@|\\b)/i.test(imageRef);\n}\nfunction resolveProjectName() {\n\treturn process.env.OP_PROJECT_NAME?.trim() || process.env.COMPOSE_PROJECT_NAME?.trim() || \"openpalm\";\n}\n/**\n* Read the resolved image for a service from the merged compose config.\n* Best-effort — returns \"\" on any failure so callers can skip the pre-pull\n* check rather than blocking save.\n*/\nasync function resolveServiceImage(composeFiles, service) {\n\tconst args = [\"compose\"];\n\tfor (const f of composeFiles) args.push(\"-f\", f);\n\targs.push(\"--project-name\", resolveProjectName(), \"config\", \"--format\", \"json\");\n\tconst res = await execFileNoThrow(\"docker\", args, 15e3);\n\tif (!res.ok) return \"\";\n\ttry {\n\t\treturn JSON.parse(res.stdout).services?.[service]?.image ?? \"\";\n\t} catch {\n\t\treturn \"\";\n\t}\n}\n/**\n* Probe a TCP port on 127.0.0.1. Resolves true when the connect succeeds\n* within PORT_PROBE_TIMEOUT_MS — meaning something is already listening.\n*/\nfunction isPortListening(port) {\n\treturn new Promise((resolve) => {\n\t\tconst socket = connect({\n\t\t\thost: \"127.0.0.1\",\n\t\t\tport\n\t\t});\n\t\tlet done = false;\n\t\tconst finish = (listening) => {\n\t\t\tif (done) return;\n\t\t\tdone = true;\n\t\t\ttry {\n\t\t\t\tsocket.destroy();\n\t\t\t} catch {}\n\t\t\tresolve(listening);\n\t\t};\n\t\tsocket.setTimeout(PORT_PROBE_TIMEOUT_MS, () => finish(false));\n\t\tsocket.once(\"connect\", () => finish(true));\n\t\tsocket.once(\"error\", () => finish(false));\n\t});\n}\n/**\n* True when a docker container whose name matches openpalm-voice* is\n* already running and presumably owns the host port. Used by the port\n* pre-flight to avoid false positives when our own voice container is\n* the listener.\n*/\nasync function ourVoiceContainerRunning() {\n\tconst res = await execFileNoThrow(\"docker\", [\n\t\t\"ps\",\n\t\t\"--filter\",\n\t\t\"name=openpalm-voice\",\n\t\t\"--format\",\n\t\t\"{{.Names}}\"\n\t], 5e3);\n\tif (!res.ok) return false;\n\treturn res.stdout.trim().length > 0;\n}\n/**\n* Read the Docker healthcheck state of a container.\n* Returns \"starting\" while compose's start_period grace window is in\n* effect; \"healthy\" / \"unhealthy\" / \"none\" / \"\" otherwise.\n*/\nasync function readContainerHealthStatus(containerNamePrefix) {\n\tconst name = (await execFileNoThrow(\"docker\", [\n\t\t\"ps\",\n\t\t\"--filter\",\n\t\t`name=${containerNamePrefix}`,\n\t\t\"--format\",\n\t\t\"{{.Names}}\"\n\t], 5e3)).stdout.split(\"\\n\").map((s) => s.trim()).find(Boolean);\n\tif (!name) return \"\";\n\treturn (await execFileNoThrow(\"docker\", [\n\t\t\"inspect\",\n\t\tname,\n\t\t\"--format\",\n\t\t\"{{if .State.Health}}{{.State.Health.Status}}{{else}}none{{end}}\"\n\t], 5e3)).stdout.trim();\n}\n/** Path of the static CDI overlay, or null when the managed tree isn't seeded yet. */\nfunction voiceCdiOverlayPath(homeDir) {\n\tconst overlayPath = join(stackDirFor(homeDir), \"voice.compose.cdi.yml\");\n\treturn existsSync(overlayPath) ? overlayPath : null;\n}\n/** Path of the static rootless overlay, or null when the managed tree isn't seeded yet. */\nfunction voiceRootlessOverlayPath(homeDir) {\n\tconst overlayPath = join(stackDirFor(homeDir), \"voice.compose.rootless.yml\");\n\treturn existsSync(overlayPath) ? overlayPath : null;\n}\n/**\n* Stops services from OTHER profiles, then routes the actual compose-up +\n* health-wait through `@openpalm/lib`'s single {@link applyStack} driver\n* (plan 2.2) — this function no longer runs its own composeUp or /health\n* poll. `applyStack`'s health-wait reads the SAME docker HEALTHCHECK every\n* voice compose service already declares (`curl .../health` inside the\n* container, `start_period: 180s`), so it observes exactly what the removed\n* manual HTTP poll observed, just via `docker inspect` instead of a\n* host-side fetch loop.\n*\n* Returns the terminal state. Pushed `steps` get mutated in place so the\n* caller (sync or background) can read progress as it happens.\n*/\nasync function runBringUp(input) {\n\tconst { state, services, activeProfile, extraFiles, availableProfiles, steps } = input;\n\tlet composeOk;\n\tlet composeErr;\n\tlet healthy = false;\n\ttry {\n\t\tconst otherProfileServices = availableProfiles.filter((p) => p.id !== activeProfile).flatMap((p) => p.services).filter((svc) => !services.includes(svc));\n\t\tif (otherProfileServices.length > 0) try {\n\t\t\tawait composeStop(otherProfileServices, buildComposeOptions(state));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[voice] composeStop other profiles failed:\", e);\n\t\t}\n\t\tconst baseOpts = buildComposeOptions(state);\n\t\tconst result = await applyStack({\n\t\t\tkind: \"services\",\n\t\t\tservices\n\t\t}, {\n\t\t\tfiles: [...baseOpts.files, ...extraFiles],\n\t\t\tenvFiles: baseOpts.envFiles,\n\t\t\tprofiles: activeProfile ? [activeProfile] : baseOpts.profiles\n\t\t}, void 0, { healthTimeoutMs: VOICE_PROBE_TIMEOUT_MS });\n\t\tif (result.upFailed) {\n\t\t\tcomposeOk = false;\n\t\t\tcomposeErr = translateDockerError(result.rawStderr || result.error || \"compose up failed\");\n\t\t} else {\n\t\t\tcomposeOk = true;\n\t\t\thealthy = result.ok;\n\t\t}\n\t} catch (e) {\n\t\tcomposeOk = false;\n\t\tcomposeErr = translateDockerError(e instanceof Error ? e.message : String(e));\n\t}\n\tsteps.push({\n\t\tstep: \"compose-up\",\n\t\tok: composeOk,\n\t\t...composeErr ? { detail: composeErr.slice(0, 500) } : {}\n\t});\n\tif (!composeOk) return {\n\t\tcomposeOk,\n\t\tcomposeErr,\n\t\thealthy: false,\n\t\twarming: false,\n\t\tsteps\n\t};\n\tlet warming = false;\n\tif (!healthy) try {\n\t\tif (await readContainerHealthStatus(\"openpalm-voice\") === \"starting\") warming = true;\n\t} catch {}\n\tsteps.push({\n\t\tstep: \"healthy\",\n\t\tok: healthy || warming,\n\t\t...healthy ? {} : warming ? { detail: \"still warming up — refresh in a moment\" } : { detail: `did not become healthy within ${VOICE_PROBE_TIMEOUT_MS / 1e3}s` }\n\t});\n\treturn {\n\t\tcomposeOk,\n\t\thealthy,\n\t\twarming,\n\t\tsteps\n\t};\n}\n/**\n* Background variant: runs runBringUp and persists state transitions\n* into the activeJobs map. Returns nothing — the UI polls GET\n* /api/host/voice to observe completion.\n*/\nasync function runBringUpJob(input) {\n\tconst steps = [...input.baseSteps];\n\ttry {\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: \"starting\",\n\t\t\tsteps\n\t\t});\n\t\tconst outcome = await runBringUp({\n\t\t\t...input,\n\t\t\tsteps\n\t\t});\n\t\tif (!outcome.composeOk) {\n\t\t\tsetJob(VOICE_ADDON, {\n\t\t\t\tstate: \"error\",\n\t\t\t\tsteps: outcome.steps,\n\t\t\t\terror: `Voice addon failed to start: ${outcome.composeErr ?? \"unknown error\"}`,\n\t\t\t\tfinishedAt: Date.now()\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: outcome.healthy ? \"healthy\" : outcome.warming ? \"starting\" : \"error\",\n\t\t\tsteps: outcome.steps,\n\t\t\t...outcome.healthy || outcome.warming ? { error: void 0 } : { error: \"Voice addon is starting but did not become healthy in time.\" },\n\t\t\tfinishedAt: Date.now()\n\t\t});\n\t} catch (e) {\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: \"error\",\n\t\t\tsteps,\n\t\t\terror: e instanceof Error ? e.message : String(e),\n\t\t\tfinishedAt: Date.now()\n\t\t});\n\t}\n}\n/**\n* The full PUT /api/host/voice bring-up lifecycle after request validation:\n* auto-stop when disengaging, else resolve profile → enable addon →\n* port pre-flight → image inspect → host fallback overlays → background\n* short-circuit or synchronous compose-up + /health poll.\n*/\nasync function engageVoiceAddon(input) {\n\tconst { state, wantsVoiceAddon, requestedProfile } = input;\n\tif (!wantsVoiceAddon) {\n\t\tif (listEnabledAddonIds(state.homeDir).includes(\"voice\")) try {\n\t\t\tconst voiceServiceNames = getAddonProfiles(state.homeDir, VOICE_ADDON).flatMap((p) => p.services);\n\t\t\tconst unique = Array.from(new Set(voiceServiceNames));\n\t\t\tif (unique.length > 0) await composeStop(unique, buildComposeOptions(state));\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"[voice] composeStop on disengage failed:\", e);\n\t\t}\n\t\treturn { status: \"disengaged\" };\n\t}\n\tconst availableProfiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, VOICE_ADDON));\n\tlet activeProfile = null;\n\tif (requestedProfile) {\n\t\tif (!availableProfiles.some((p) => p.id === requestedProfile)) return {\n\t\t\tstatus: \"invalid_profile\",\n\t\t\tmessage: `Unknown voice profile \"${requestedProfile}\". Available: ${availableProfiles.map((p) => p.id).join(\", \") || \"(none)\"}`\n\t\t};\n\t\tactiveProfile = requestedProfile;\n\t\tsetAddonProfileSelection(state.homeDir, VOICE_ADDON, activeProfile);\n\t} else activeProfile = getAddonProfileSelection(state.homeDir, \"voice\") ?? resolveDefaultProfile(availableProfiles);\n\tconst wasAlreadyEnabled = listEnabledAddonIds(state.homeDir).includes(VOICE_ADDON);\n\tconst steps = [];\n\tif (!wasAlreadyEnabled) try {\n\t\tsetAddonEnabled(state.homeDir, VOICE_ADDON, true, state);\n\t\tsteps.push({\n\t\t\tstep: \"enable\",\n\t\t\tok: true\n\t\t});\n\t} catch (e) {\n\t\tconst detail = e instanceof Error ? e.message : String(e);\n\t\tsteps.push({\n\t\t\tstep: \"enable\",\n\t\t\tok: false,\n\t\t\tdetail\n\t\t});\n\t\treturn {\n\t\t\tstatus: \"error\",\n\t\t\twasAlreadyEnabled,\n\t\t\tsteps,\n\t\t\terror: `Could not enable voice addon: ${detail}`\n\t\t};\n\t}\n\telse steps.push({\n\t\tstep: \"enable\",\n\t\tok: true,\n\t\tdetail: \"already enabled\"\n\t});\n\tconst hostPort = voiceHostPort();\n\tconst inVitest = !!process.env.VITEST;\n\tif (inVitest ? false : await isPortListening(hostPort)) {\n\t\tif (!await ourVoiceContainerRunning()) {\n\t\t\tconst msg = translateDockerError(`Bind for 127.0.0.1:${hostPort} failed: port is already allocated`);\n\t\t\tsteps.push({\n\t\t\t\tstep: \"port-check\",\n\t\t\t\tok: false,\n\t\t\t\tdetail: msg\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tstatus: \"error\",\n\t\t\t\twasAlreadyEnabled,\n\t\t\t\tsteps,\n\t\t\t\terror: msg\n\t\t\t};\n\t\t}\n\t\tsteps.push({\n\t\t\tstep: \"port-check\",\n\t\t\tok: true,\n\t\t\tdetail: \"our container is the listener\"\n\t\t});\n\t} else steps.push({\n\t\tstep: \"port-check\",\n\t\tok: true\n\t});\n\tconst profileServices = activeProfile ? availableProfiles.find((p) => p.id === activeProfile)?.services ?? [] : [];\n\tconst services = profileServices.length > 0 ? profileServices : [VOICE_ADDON];\n\tconst composeFilesBase = buildComposeOptions(state).files;\n\tconst primaryService = services[0];\n\tlet backgroundPull = false;\n\tif (primaryService && !inVitest) {\n\t\tconst imageRef = await resolveServiceImage(composeFilesBase, primaryService);\n\t\tif (imageRef && isLargeImageTag(imageRef)) {\n\t\t\tif (!await dockerImagePresent(imageRef)) {\n\t\t\t\tbackgroundPull = true;\n\t\t\t\tsteps.push({\n\t\t\t\t\tstep: \"pulling\",\n\t\t\t\t\tok: true,\n\t\t\t\t\tdetail: \"first-time download — several minutes for several GB\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tconst extraFiles = [];\n\tconst cdiFallbackSupported = process.platform !== \"win32\";\n\tif (activeProfile === addonProfileId(\"voice\", \"cuda\") && !inVitest && cdiFallbackSupported) {\n\t\tconst runtimeMissing = (await getAddonProfileAvailability({ id: addonProfileId(\"voice\", \"cuda\") })).available === false || !await dockerHasNvidiaRuntime();\n\t\tconst cdiSpecPresent = existsSync(\"/etc/cdi/nvidia.yaml\");\n\t\tif (runtimeMissing && cdiSpecPresent) {\n\t\t\tconst overlay = voiceCdiOverlayPath(state.homeDir);\n\t\t\tif (overlay) {\n\t\t\t\textraFiles.push(overlay);\n\t\t\t\tsteps.push({\n\t\t\t\t\tstep: \"cdi-fallback\",\n\t\t\t\t\tok: true,\n\t\t\t\t\tdetail: \"using CDI device reservation\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tif (!inVitest) try {\n\t\tif (await detectRootlessDocker()) {\n\t\t\tconst overlay = voiceRootlessOverlayPath(state.homeDir);\n\t\t\tif (overlay) {\n\t\t\t\textraFiles.push(overlay);\n\t\t\t\tsteps.push({\n\t\t\t\t\tstep: \"rootless-fallback\",\n\t\t\t\t\tok: true,\n\t\t\t\t\tdetail: \"dropping user: directive for rootless Docker\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(\"[voice] rootless detection failed:\", e);\n\t}\n\tif (backgroundPull) {\n\t\tsetJob(VOICE_ADDON, {\n\t\t\tstate: \"pulling\",\n\t\t\tsteps: [...steps],\n\t\t\tstartedAt: Date.now(),\n\t\t\tprofile: activeProfile ?? void 0,\n\t\t\tfinishedAt: void 0,\n\t\t\terror: void 0\n\t\t});\n\t\treturn {\n\t\t\tstatus: \"background\",\n\t\t\twasAlreadyEnabled,\n\t\t\tsteps,\n\t\t\tmessage: \"Voice image is downloading in the background (~2–8 GB). Poll GET /api/host/voice for progress; UI auto-refreshes.\",\n\t\t\tcompletion: runBringUpJob({\n\t\t\t\tstate,\n\t\t\t\tservices,\n\t\t\t\tactiveProfile,\n\t\t\t\textraFiles,\n\t\t\t\tavailableProfiles,\n\t\t\t\tbaseSteps: [...steps]\n\t\t\t})\n\t\t};\n\t}\n\tconst outcome = await runBringUp({\n\t\tstate,\n\t\tservices,\n\t\tactiveProfile,\n\t\textraFiles,\n\t\tavailableProfiles,\n\t\tsteps\n\t});\n\tif (!outcome.composeOk) return {\n\t\tstatus: \"error\",\n\t\twasAlreadyEnabled,\n\t\tsteps: outcome.steps,\n\t\terror: `Voice addon failed to start: ${outcome.composeErr ?? \"unknown error\"}`\n\t};\n\treturn {\n\t\tstatus: \"final\",\n\t\twasAlreadyEnabled,\n\t\tsteps: outcome.steps,\n\t\thealthy: outcome.healthy,\n\t\twarming: outcome.warming\n\t};\n}\n//#endregion\n//#region src/routes/api/host/voice/+server.ts\nvar REACHABILITY_TIMEOUT_MS = 1500;\nasync function probeReachable(baseURL) {\n\tif (!baseURL) return false;\n\tconst url = `${baseURL.replace(/\\/+$/, \"\")}/v1/models`;\n\ttry {\n\t\treturn (await fetch(url, {\n\t\t\tmethod: \"GET\",\n\t\t\tsignal: AbortSignal.timeout(REACHABILITY_TIMEOUT_MS)\n\t\t})).status < 500;\n\t} catch {\n\t\treturn false;\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:read\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst env = readStackEnv(state.homeDir);\n\tconst ttsBaseURL = env.OP_TTS_BASE_URL ?? \"\";\n\tconst sttBaseURL = env.OP_STT_BASE_URL ?? \"\";\n\tconst profiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, VOICE_ADDON));\n\tconst selectedProfile = getAddonProfileSelection(state.homeDir, \"voice\") ?? resolveDefaultProfile(profiles);\n\tconst [sttReachable, ttsReachable] = await Promise.all([probeReachable(sttBaseURL), probeReachable(ttsBaseURL)]);\n\treturn jsonResponse(200, {\n\t\ttts: {\n\t\t\tenabled: true,\n\t\t\tengine: env.OP_TTS_ENGINE ?? \"\",\n\t\t\tprovider: env.OP_TTS_PROVIDER ?? \"\",\n\t\t\tbaseURL: ttsBaseURL,\n\t\t\tmodel: env.OP_TTS_MODEL ?? \"\",\n\t\t\tvoice: env.OP_TTS_VOICE ?? \"\"\n\t\t},\n\t\tstt: {\n\t\t\tenabled: true,\n\t\t\tengine: env.OP_STT_ENGINE ?? \"\",\n\t\t\tprovider: env.OP_STT_PROVIDER ?? \"\",\n\t\t\tbaseURL: sttBaseURL,\n\t\t\tmodel: env.OP_STT_MODEL ?? \"\",\n\t\t\tlanguage: env.OP_STT_LANGUAGE ?? \"\"\n\t\t},\n\t\tavailability: {\n\t\t\tstt: {\n\t\t\t\tremoteConfigured: Boolean(sttBaseURL),\n\t\t\t\tremoteReachable: sttReachable\n\t\t\t},\n\t\t\ttts: {\n\t\t\t\tremoteConfigured: Boolean(ttsBaseURL),\n\t\t\t\tremoteReachable: ttsReachable\n\t\t\t}\n\t\t},\n\t\taddon: {\n\t\t\tprofiles,\n\t\t\tselectedProfile,\n\t\t\t...getActiveJob(\"voice\") ? { activeJob: getActiveJob(VOICE_ADDON) } : {}\n\t\t}\n\t}, requestId);\n};\nfunction readSection(raw, kind) {\n\tif (!raw || typeof raw !== \"object\") return null;\n\tconst section = {\n\t\tenabled: raw.enabled !== false,\n\t\tengine: typeof raw.engine === \"string\" ? raw.engine : void 0,\n\t\tprovider: typeof raw.provider === \"string\" ? raw.provider : void 0,\n\t\tbaseURL: typeof raw.baseURL === \"string\" ? raw.baseURL : void 0,\n\t\tmodel: typeof raw.model === \"string\" ? raw.model : void 0\n\t};\n\tif (kind === \"tts\" && typeof raw.voice === \"string\") section.voice = raw.voice;\n\tif (kind === \"stt\" && typeof raw.language === \"string\") section.language = raw.language;\n\treturn section;\n}\nvar OPENPALM_VOICE_TTS_MODEL = \"kokoro\";\nvar OPENPALM_VOICE_STT_MODEL = \"whisper-1\";\nvar OPENPALM_VOICE_DEFAULT_VOICE = \"bf_isabella\";\n/**\n* For `engine === 'openpalm-voice'`, fill in baseURL/model with the addon's\n* preset values when the user didn't provide them. This is the auto-config\n* that makes \"select OpenPalm Voice → Save\" Just Work as long as the addon\n* is enabled. The user can still override (e.g. point at a different\n* voice host on the LAN).\n*/\nfunction applyOpenPalmVoicePreset(section, kind) {\n\tif (section.engine !== \"openpalm-voice\") return;\n\tif (!section.baseURL?.trim()) section.baseURL = openpalmVoiceBaseURL();\n\tif (!section.model?.trim()) section.model = kind === \"tts\" ? OPENPALM_VOICE_TTS_MODEL : OPENPALM_VOICE_STT_MODEL;\n\tif (kind === \"tts\" && !section.voice?.trim()) section.voice = OPENPALM_VOICE_DEFAULT_VOICE;\n}\nfunction validateSection(section, kind) {\n\tif (!section?.engine) return null;\n\tif (section.engine === \"browser\" || section.engine === \"browser-stt\" || section.engine === \"browser-tts\") return null;\n\tif (section.engine.startsWith(\"skip-\")) return null;\n\tif (!section.baseURL?.trim()) return `Remote ${kind.toUpperCase()} requires an endpoint URL.`;\n\treturn null;\n}\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:write\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\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\tif (!body || typeof body !== \"object\") return errorResponse(400, \"Bad Request\", \"Body must be an object\", {}, requestId);\n\tconst b = body;\n\tconst ttsSection = readSection(b.tts, \"tts\");\n\tconst sttSection = readSection(b.stt, \"stt\");\n\tif (ttsSection) applyOpenPalmVoicePreset(ttsSection, \"tts\");\n\tif (sttSection) applyOpenPalmVoicePreset(sttSection, \"stt\");\n\tconst ttsErr = validateSection(ttsSection, \"tts\");\n\tif (ttsErr) return errorResponse(400, \"invalid_tts\", ttsErr, {}, requestId);\n\tconst sttErr = validateSection(sttSection, \"stt\");\n\tif (sttErr) return errorResponse(400, \"invalid_stt\", sttErr, {}, requestId);\n\tconst config = {};\n\tif (ttsSection) config.tts = {\n\t\tenabled: ttsSection.enabled,\n\t\tengine: ttsSection.engine,\n\t\tprovider: ttsSection.provider,\n\t\tbaseURL: ttsSection.baseURL,\n\t\tmodel: ttsSection.model,\n\t\tvoice: ttsSection.voice\n\t};\n\tif (sttSection) config.stt = {\n\t\tenabled: sttSection.enabled,\n\t\tengine: sttSection.engine,\n\t\tprovider: sttSection.provider,\n\t\tbaseURL: sttSection.baseURL,\n\t\tmodel: sttSection.model,\n\t\tlanguage: sttSection.language\n\t};\n\treturn withAdminUpdateLock(state, requestId, async (_lock, deferReleaseUntil) => {\n\t\twriteVoiceVars(config, state.homeDir);\n\t\tconst result = await engageVoiceAddon({\n\t\t\tstate,\n\t\t\twantsVoiceAddon: ttsSection?.engine === \"openpalm-voice\" || sttSection?.engine === \"openpalm-voice\",\n\t\t\trequestedProfile: typeof b.profile === \"string\" ? b.profile.trim() : \"\"\n\t\t});\n\t\tswitch (result.status) {\n\t\t\tcase \"disengaged\": return jsonResponse(200, { ok: true }, requestId);\n\t\t\tcase \"invalid_profile\": return errorResponse(400, \"invalid_profile\", result.message, {}, requestId);\n\t\t\tcase \"error\": return jsonResponse(502, {\n\t\t\t\tok: false,\n\t\t\t\tvoiceAddon: {\n\t\t\t\t\twasAlreadyEnabled: result.wasAlreadyEnabled,\n\t\t\t\t\tsteps: result.steps,\n\t\t\t\t\terror: result.error\n\t\t\t\t}\n\t\t\t}, requestId);\n\t\t\tcase \"background\":\n\t\t\t\tdeferReleaseUntil(result.completion);\n\t\t\t\treturn jsonResponse(202, {\n\t\t\t\t\tok: true,\n\t\t\t\t\tvoiceAddon: {\n\t\t\t\t\t\twasAlreadyEnabled: result.wasAlreadyEnabled,\n\t\t\t\t\t\tstatus: \"pulling\",\n\t\t\t\t\t\tsteps: result.steps,\n\t\t\t\t\t\tmessage: result.message\n\t\t\t\t\t}\n\t\t\t\t}, requestId);\n\t\t\tcase \"final\": return jsonResponse(result.healthy || result.warming ? 200 : 502, {\n\t\t\t\tok: result.healthy || result.warming,\n\t\t\t\tvoiceAddon: {\n\t\t\t\t\twasAlreadyEnabled: result.wasAlreadyEnabled,\n\t\t\t\t\tsteps: result.steps,\n\t\t\t\t\t...result.warming ? { warming: true } : {},\n\t\t\t\t\t...result.healthy || result.warming ? {} : { error: \"Voice addon is starting but did not become healthy in time.\" }\n\t\t\t\t}\n\t\t\t}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { GET, PUT };\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { aD as readStackEnv, aF as readStackSecretEnv, c as annotateAddonProfileAvailability, a4 as getAddonProfiles, a3 as getAddonProfileSelection, ak as listEnabledAddonIds } from './src-AHSKeKr0.js';
3
- import { f as detectNetworkPreset } from './network-preset-CJ1RRnki.js';
4
- import { g as getState } from './state-CzXOEt0t.js';
5
- import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword } from './helpers-9U7R7yqL.js';
2
+ import { ax as readStackEnv, az as readStackSecretEnv, c as annotateAddonProfileAvailability, a2 as getAddonProfiles, a1 as getAddonProfileSelection, ah as listEnabledAddonIds } from './src-B2-r_9oB.js';
3
+ import { f as detectNetworkPreset } from './network-preset-BvVAoagy.js';
4
+ import { g as getState } from './state-Dkjz2T4C.js';
5
+ import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword } from './helpers-DWpoPvHz.js';
6
6
  import { existsSync, readFileSync } from 'node:fs';
7
7
  import { join } from 'node:path';
8
8
  import './utils-OXHIhUb5.js';
9
9
  import './chunk-DOvWTNp_.js';
10
10
  import 'node:module';
11
+ import './dist-DtzrgNJ1.js';
11
12
  import 'node:child_process';
12
13
  import 'buffer';
13
14
  import 'node:url';
@@ -23,8 +24,8 @@ import 'assert';
23
24
  import 'zlib';
24
25
  import 'node:assert';
25
26
  import 'node:fs/promises';
26
- import './endpoints-CnnGlw2U.js';
27
- import './features-BUWlozR5.js';
27
+ import './opencode-target-DYD2zQ4l.js';
28
+ import './features-DltizIi4.js';
28
29
 
29
30
  //#region src/routes/api/setup/current-config/+server.ts
30
31
  function readAkmConfig(configDir) {
@@ -148,4 +149,4 @@ var GET = async (event) => {
148
149
  };
149
150
 
150
151
  export { GET };
151
- //# sourceMappingURL=_server.ts-D6UMAxY5.js.map
152
+ //# sourceMappingURL=_server.ts-3bBG0DBN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D6UMAxY5.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/current-config/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { E as listEnabledAddonIds, Q as readStackSecretEnv, X as readStackEnv, b as getAddonProfileSelection, x as getAddonProfiles, y as annotateAddonProfileAvailability } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { i as detectNetworkPreset } from \"../../../../../chunks/network-preset.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, g as getUiLoginPassword, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/routes/api/setup/current-config/+server.ts\nfunction readAkmConfig(configDir) {\n\tconst path = join(configDir, \"akm\", \"config.json\");\n\tif (!existsSync(path)) return {};\n\ttry {\n\t\treturn JSON.parse(readFileSync(path, \"utf-8\"));\n\t} catch {\n\t\treturn {};\n\t}\n}\n/**\n* Read model preferences persisted by importHostOpenCode into\n* <configDir>/assistant/opencode.json. This is the on-disk source of truth\n* after a host import; reusing it means wizard reruns restore the same\n* preferences without re-detecting the (possibly absent) host install.\n* Returns undefined if the file doesn't exist or contains no model keys.\n*/\nfunction readPersistedModelPreferences(configDir) {\n\tconst path = join(configDir, \"assistant\", \"opencode.json\");\n\tif (!existsSync(path)) return void 0;\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tconst prefs = {};\n\t\tif (typeof parsed.model === \"string\" && parsed.model) prefs.model = parsed.model;\n\t\tif (typeof parsed.small_model === \"string\" && parsed.small_model) prefs.small_model = parsed.small_model;\n\t\treturn prefs.model || prefs.small_model ? prefs : void 0;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction deriveBaseUrl(endpoint) {\n\tif (!endpoint) return \"\";\n\treturn endpoint.replace(/\\/chat\\/completions\\/?$/, \"\").replace(/\\/embeddings\\/?$/, \"\").replace(/\\/+$/, \"\");\n}\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst configured = getUiLoginPassword();\n\tconst env = readStackEnv(state.homeDir);\n\tconst secretEnv = readStackSecretEnv(state.homeDir);\n\tconst akm = readAkmConfig(state.configDir);\n\tconst importedModelPreferences = readPersistedModelPreferences(state.configDir);\n\tconst voiceProfiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"voice\"));\n\tconst selectedVoiceProfile = getAddonProfileSelection(state.homeDir, \"voice\");\n\tconst ollamaProfiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"ollama\"));\n\tconst selectedOllamaProfile = getAddonProfileSelection(state.homeDir, \"ollama\");\n\tconst hostHome = process.env.HOME ?? process.env.USERPROFILE ?? \"\";\n\tconst hostAkm = !!hostHome && env.OP_AKM_STASH === `${hostHome}/akm` && env.OP_AKM_CONFIG === `${hostHome}/.config/akm`;\n\tconst meta = (envKey) => ({\n\t\tenvKey,\n\t\tpresent: Boolean(secretEnv[envKey])\n\t});\n\tconst discord = {};\n\tfor (const [field, envKey] of Object.entries({\n\t\tbotToken: \"DISCORD_BOT_TOKEN\",\n\t\tapplicationId: \"DISCORD_APPLICATION_ID\",\n\t\tregisterCommands: \"DISCORD_REGISTER_COMMANDS\",\n\t\tallowedGuilds: \"DISCORD_ALLOWED_GUILDS\",\n\t\tallowedRoles: \"DISCORD_ALLOWED_ROLES\",\n\t\tallowedUsers: \"DISCORD_ALLOWED_USERS\",\n\t\tblockedUsers: \"DISCORD_BLOCKED_USERS\"\n\t})) if (secretEnv[envKey]) discord[field] = meta(envKey);\n\tconst slack = {};\n\tfor (const [field, envKey] of Object.entries({\n\t\tslackBotToken: \"SLACK_BOT_TOKEN\",\n\t\tslackAppToken: \"SLACK_APP_TOKEN\",\n\t\tallowedChannels: \"SLACK_ALLOWED_CHANNELS\",\n\t\tallowedUsers: \"SLACK_ALLOWED_USERS\",\n\t\tblockedUsers: \"SLACK_BLOCKED_USERS\"\n\t})) if (secretEnv[envKey]) slack[field] = meta(envKey);\n\tconst portalCredentials = {};\n\tif (Object.keys(discord).length > 0) portalCredentials.discord = discord;\n\tif (Object.keys(slack).length > 0) portalCredentials.slack = slack;\n\treturn json({\n\t\tok: true,\n\t\thasPassword: typeof configured === \"string\" && configured.length > 0,\n\t\tassistantVersion: env.OP_ASSISTANT_VERSION ?? \"\",\n\t\tguardianVersion: env.OP_GUARDIAN_VERSION ?? \"\",\n\t\tportalVersion: env.OP_PORTAL_VERSION ?? \"\",\n\t\tvoiceVersion: env.OP_VOICE_VERSION ?? \"\",\n\t\thostAkm,\n\t\tllm: akm.llm ? {\n\t\t\tprovider: akm.llm.provider ?? \"\",\n\t\t\tmodel: akm.llm.model ?? \"\",\n\t\t\tbaseUrl: deriveBaseUrl(akm.llm.endpoint)\n\t\t} : null,\n\t\tembedding: akm.embedding ? {\n\t\t\tprovider: akm.embedding.provider ?? \"\",\n\t\t\tmodel: akm.embedding.model ?? \"\",\n\t\t\tdims: akm.embedding.dimension ?? 0,\n\t\t\tbaseUrl: deriveBaseUrl(akm.embedding.endpoint)\n\t\t} : null,\n\t\tvoice: {\n\t\t\ttts: {\n\t\t\t\tengine: env.OP_TTS_ENGINE ?? \"\",\n\t\t\t\tbaseURL: env.OP_TTS_BASE_URL ?? \"\",\n\t\t\t\tmodel: env.OP_TTS_MODEL ?? \"\",\n\t\t\t\tvoice: env.OP_TTS_VOICE ?? \"\"\n\t\t\t},\n\t\t\tstt: {\n\t\t\t\tengine: env.OP_STT_ENGINE ?? \"\",\n\t\t\t\tbaseURL: env.OP_STT_BASE_URL ?? \"\",\n\t\t\t\tmodel: env.OP_STT_MODEL ?? \"\",\n\t\t\t\tlanguage: env.OP_STT_LANGUAGE ?? \"\"\n\t\t\t},\n\t\t\tprofiles: voiceProfiles,\n\t\t\tselectedProfile: selectedVoiceProfile\n\t\t},\n\t\tollama: {\n\t\t\tprofiles: ollamaProfiles,\n\t\t\tselectedProfile: selectedOllamaProfile\n\t\t},\n\t\tenabledAddons: listEnabledAddonIds(state.homeDir),\n\t\tportalCredentials,\n\t\timportedModelPreferences: importedModelPreferences ?? null,\n\t\tnetwork: { preset: detectNetworkPreset(env) },\n\t\thasOpencodePassword: Boolean(secretEnv.OP_OPENCODE_PASSWORD)\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-3bBG0DBN.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/current-config/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { C as getAddonProfiles, O as listEnabledAddonIds, S as getAddonProfileSelection, Y as readStackEnv, Z as readStackSecretEnv, x as annotateAddonProfileAvailability } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { i as detectNetworkPreset } from \"../../../../../chunks/network-preset.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, g as getUiLoginPassword, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/routes/api/setup/current-config/+server.ts\nfunction readAkmConfig(configDir) {\n\tconst path = join(configDir, \"akm\", \"config.json\");\n\tif (!existsSync(path)) return {};\n\ttry {\n\t\treturn JSON.parse(readFileSync(path, \"utf-8\"));\n\t} catch {\n\t\treturn {};\n\t}\n}\n/**\n* Read model preferences persisted by importHostOpenCode into\n* <configDir>/assistant/opencode.json. This is the on-disk source of truth\n* after a host import; reusing it means wizard reruns restore the same\n* preferences without re-detecting the (possibly absent) host install.\n* Returns undefined if the file doesn't exist or contains no model keys.\n*/\nfunction readPersistedModelPreferences(configDir) {\n\tconst path = join(configDir, \"assistant\", \"opencode.json\");\n\tif (!existsSync(path)) return void 0;\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tconst prefs = {};\n\t\tif (typeof parsed.model === \"string\" && parsed.model) prefs.model = parsed.model;\n\t\tif (typeof parsed.small_model === \"string\" && parsed.small_model) prefs.small_model = parsed.small_model;\n\t\treturn prefs.model || prefs.small_model ? prefs : void 0;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction deriveBaseUrl(endpoint) {\n\tif (!endpoint) return \"\";\n\treturn endpoint.replace(/\\/chat\\/completions\\/?$/, \"\").replace(/\\/embeddings\\/?$/, \"\").replace(/\\/+$/, \"\");\n}\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst configured = getUiLoginPassword();\n\tconst env = readStackEnv(state.homeDir);\n\tconst secretEnv = readStackSecretEnv(state.homeDir);\n\tconst akm = readAkmConfig(state.configDir);\n\tconst importedModelPreferences = readPersistedModelPreferences(state.configDir);\n\tconst voiceProfiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"voice\"));\n\tconst selectedVoiceProfile = getAddonProfileSelection(state.homeDir, \"voice\");\n\tconst ollamaProfiles = await annotateAddonProfileAvailability(getAddonProfiles(state.homeDir, \"ollama\"));\n\tconst selectedOllamaProfile = getAddonProfileSelection(state.homeDir, \"ollama\");\n\tconst hostHome = process.env.HOME ?? process.env.USERPROFILE ?? \"\";\n\tconst hostAkm = !!hostHome && env.OP_AKM_STASH === `${hostHome}/akm` && env.OP_AKM_CONFIG === `${hostHome}/.config/akm`;\n\tconst meta = (envKey) => ({\n\t\tenvKey,\n\t\tpresent: Boolean(secretEnv[envKey])\n\t});\n\tconst discord = {};\n\tfor (const [field, envKey] of Object.entries({\n\t\tbotToken: \"DISCORD_BOT_TOKEN\",\n\t\tapplicationId: \"DISCORD_APPLICATION_ID\",\n\t\tregisterCommands: \"DISCORD_REGISTER_COMMANDS\",\n\t\tallowedGuilds: \"DISCORD_ALLOWED_GUILDS\",\n\t\tallowedRoles: \"DISCORD_ALLOWED_ROLES\",\n\t\tallowedUsers: \"DISCORD_ALLOWED_USERS\",\n\t\tblockedUsers: \"DISCORD_BLOCKED_USERS\"\n\t})) if (secretEnv[envKey]) discord[field] = meta(envKey);\n\tconst slack = {};\n\tfor (const [field, envKey] of Object.entries({\n\t\tslackBotToken: \"SLACK_BOT_TOKEN\",\n\t\tslackAppToken: \"SLACK_APP_TOKEN\",\n\t\tallowedChannels: \"SLACK_ALLOWED_CHANNELS\",\n\t\tallowedUsers: \"SLACK_ALLOWED_USERS\",\n\t\tblockedUsers: \"SLACK_BLOCKED_USERS\"\n\t})) if (secretEnv[envKey]) slack[field] = meta(envKey);\n\tconst portalCredentials = {};\n\tif (Object.keys(discord).length > 0) portalCredentials.discord = discord;\n\tif (Object.keys(slack).length > 0) portalCredentials.slack = slack;\n\treturn json({\n\t\tok: true,\n\t\thasPassword: typeof configured === \"string\" && configured.length > 0,\n\t\tassistantVersion: env.OP_ASSISTANT_VERSION ?? \"\",\n\t\tguardianVersion: env.OP_GUARDIAN_VERSION ?? \"\",\n\t\tportalVersion: env.OP_PORTAL_VERSION ?? \"\",\n\t\tvoiceVersion: env.OP_VOICE_VERSION ?? \"\",\n\t\thostAkm,\n\t\tllm: akm.llm ? {\n\t\t\tprovider: akm.llm.provider ?? \"\",\n\t\t\tmodel: akm.llm.model ?? \"\",\n\t\t\tbaseUrl: deriveBaseUrl(akm.llm.endpoint)\n\t\t} : null,\n\t\tembedding: akm.embedding ? {\n\t\t\tprovider: akm.embedding.provider ?? \"\",\n\t\t\tmodel: akm.embedding.model ?? \"\",\n\t\t\tdims: akm.embedding.dimension ?? 0,\n\t\t\tbaseUrl: deriveBaseUrl(akm.embedding.endpoint)\n\t\t} : null,\n\t\tvoice: {\n\t\t\ttts: {\n\t\t\t\tengine: env.OP_TTS_ENGINE ?? \"\",\n\t\t\t\tbaseURL: env.OP_TTS_BASE_URL ?? \"\",\n\t\t\t\tmodel: env.OP_TTS_MODEL ?? \"\",\n\t\t\t\tvoice: env.OP_TTS_VOICE ?? \"\"\n\t\t\t},\n\t\t\tstt: {\n\t\t\t\tengine: env.OP_STT_ENGINE ?? \"\",\n\t\t\t\tbaseURL: env.OP_STT_BASE_URL ?? \"\",\n\t\t\t\tmodel: env.OP_STT_MODEL ?? \"\",\n\t\t\t\tlanguage: env.OP_STT_LANGUAGE ?? \"\"\n\t\t\t},\n\t\t\tprofiles: voiceProfiles,\n\t\t\tselectedProfile: selectedVoiceProfile\n\t\t},\n\t\tollama: {\n\t\t\tprofiles: ollamaProfiles,\n\t\t\tselectedProfile: selectedOllamaProfile\n\t\t},\n\t\tenabledAddons: listEnabledAddonIds(state.homeDir),\n\t\tportalCredentials,\n\t\timportedModelPreferences: importedModelPreferences ?? null,\n\t\tnetwork: { preset: detectNetworkPreset(env) },\n\t\thasOpencodePassword: Boolean(secretEnv.OP_OPENCODE_PASSWORD)\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { l as requireCapability, d as getRequestId, w as withAdminBody, k as jsonResponse } from './helpers-9U7R7yqL.js';
2
- import { o as opencodeFetch } from './http-D2Aul-FP.js';
1
+ import { l as requireCapability, d as getRequestId, w as withAdminBody, k as jsonResponse } from './helpers-DWpoPvHz.js';
2
+ import { o as opencodeFetch } from './http-7E5W3vGt.js';
3
3
  import { a as asStringOrEmpty } from './_helpers-CafYq-UD.js';
4
- import './src-AHSKeKr0.js';
4
+ import './src-B2-r_9oB.js';
5
5
  import './chunk-DOvWTNp_.js';
6
6
  import 'node:module';
7
- import './network-preset-CJ1RRnki.js';
7
+ import './network-preset-BvVAoagy.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 './endpoints-CnnGlw2U.js';
26
- import './state-CzXOEt0t.js';
27
- import './features-BUWlozR5.js';
26
+ import './opencode-target-DYD2zQ4l.js';
27
+ import './state-Dkjz2T4C.js';
28
+ import './features-DltizIi4.js';
28
29
  import './coercion-TNFJisCC.js';
29
30
 
30
31
  //#region src/routes/api/host/providers/oauth/finish/+server.ts
@@ -69,4 +70,4 @@ var POST = async (event) => {
69
70
  };
70
71
 
71
72
  export { POST };
72
- //# sourceMappingURL=_server.ts-COHW_bIw.js.map
73
+ //# sourceMappingURL=_server.ts-7pcCO8Pf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-COHW_bIw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { a as getRequestId, c as jsonResponse, d as requireCapability, p as withAdminBody } from \"../../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../../chunks/http.js\";\nimport { t as asStringOrEmpty } from \"../../../../../../../chunks/_helpers.js\";\n//#region src/routes/api/host/providers/oauth/finish/+server.ts\n/**\n* POST /api/host/providers/oauth/finish — Complete an OAuth code-mode\n* sign-in by exchanging the operator-pasted authorization code with the\n* assistant OpenCode instance.\n*/\nvar POST = async (event) => {\n\tconst capabilityError = requireCapability(event, \"host:secrets\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\ttry {\n\t\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\t\tconst code = asStringOrEmpty(body.code);\n\t\t\tif (!providerId || Number.isNaN(methodIndex) || !code) return jsonResponse(200, {\n\t\t\t\tok: false,\n\t\t\t\tmessage: \"Paste the authorization code before finishing sign-in.\",\n\t\t\t\tselectedProviderId: providerId\n\t\t\t}, requestId);\n\t\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\tmethod: methodIndex,\n\t\t\t\t\tcode\n\t\t\t\t})\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\tmessage: \"OAuth connection completed.\",\n\t\t\t\tselectedProviderId: providerId\n\t\t\t}, requestId);\n\t\t} catch (error) {\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: false,\n\t\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\t\tselectedProviderId: void 0\n\t\t\t}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC5D,EAAE,IAAI;AACN,GAAG,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACtD,GAAG,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChE,GAAG,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1C,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACnF,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,OAAO,EAAE,wDAAwD;AACrE,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACrF,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACzB,KAAK,MAAM,EAAE,WAAW;AACxB,KAAK;AACL,KAAK;AACL,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,OAAO,EAAE,6BAA6B;AAC1C,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACtE,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-7pcCO8Pf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { a as getRequestId, c as jsonResponse, d as requireCapability, p as withAdminBody } from \"../../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../../chunks/http.js\";\nimport { t as asStringOrEmpty } from \"../../../../../../../chunks/_helpers.js\";\n//#region src/routes/api/host/providers/oauth/finish/+server.ts\n/**\n* POST /api/host/providers/oauth/finish — Complete an OAuth code-mode\n* sign-in by exchanging the operator-pasted authorization code with the\n* assistant OpenCode instance.\n*/\nvar POST = async (event) => {\n\tconst capabilityError = requireCapability(event, \"host:secrets\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\ttry {\n\t\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\t\tconst code = asStringOrEmpty(body.code);\n\t\t\tif (!providerId || Number.isNaN(methodIndex) || !code) return jsonResponse(200, {\n\t\t\t\tok: false,\n\t\t\t\tmessage: \"Paste the authorization code before finishing sign-in.\",\n\t\t\t\tselectedProviderId: providerId\n\t\t\t}, requestId);\n\t\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\tmethod: methodIndex,\n\t\t\t\t\tcode\n\t\t\t\t})\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\tmessage: \"OAuth connection completed.\",\n\t\t\t\tselectedProviderId: providerId\n\t\t\t}, requestId);\n\t\t} catch (error) {\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: false,\n\t\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\t\tselectedProviderId: void 0\n\t\t\t}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC5D,EAAE,IAAI;AACN,GAAG,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACtD,GAAG,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChE,GAAG,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1C,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACnF,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,OAAO,EAAE,wDAAwD;AACrE,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACrF,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACzB,KAAK,MAAM,EAAE,WAAW;AACxB,KAAK;AACL,KAAK;AACL,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,OAAO,EAAE,6BAA6B;AAC1C,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACtE,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,9 +1,10 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { a0 as fetchProviderModels, aX as resolveOpenPalmHome } from './src-AHSKeKr0.js';
2
+ import { $ as fetchProviderModels, aO as resolveOpenPalmHome } from './src-B2-r_9oB.js';
3
3
  import './utils-OXHIhUb5.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
- import './network-preset-CJ1RRnki.js';
6
+ import './network-preset-BvVAoagy.js';
7
+ import './dist-DtzrgNJ1.js';
7
8
  import 'node:fs';
8
9
  import 'node:child_process';
9
10
  import 'node:path';
@@ -53,4 +54,4 @@ var POST = async ({ params, request }) => {
53
54
  };
54
55
 
55
56
  export { POST };
56
- //# sourceMappingURL=_server.ts-Z6bcCFE1.js.map
57
+ //# sourceMappingURL=_server.ts-AC1zqetQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Z6bcCFE1.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/models/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { Tt as resolveOpenPalmHome } from \"../../../../../../chunks/compose-args.js\";\nimport { O as fetchProviderModels } from \"../../../../../../chunks/src.js\";\n//#region src/routes/api/setup/models/[provider]/+server.ts\nvar POST = async ({ params, request }) => {\n\tconst provider = decodeURIComponent(params.provider);\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey : \"\";\n\tconst baseUrl = typeof body.baseUrl === \"string\" ? body.baseUrl : \"\";\n\ttry {\n\t\tconst result = await fetchProviderModels(provider, apiKey, baseUrl, resolveOpenPalmHome());\n\t\treturn json({\n\t\t\tok: result.status === \"ok\",\n\t\t\t...result\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"model_fetch_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;AACrD,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AAC7B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,cAAc;AACxB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD,CAAC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AAClE,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC5F,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI;AAC7B,GAAG,GAAG;AACN,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,oBAAoB;AAC9B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-AC1zqetQ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/models/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { bt as resolveOpenPalmHome } from \"../../../../../../chunks/compose-args.js\";\nimport { O as fetchProviderModels } from \"../../../../../../chunks/src.js\";\n//#region src/routes/api/setup/models/[provider]/+server.ts\nvar POST = async ({ params, request }) => {\n\tconst provider = decodeURIComponent(params.provider);\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey : \"\";\n\tconst baseUrl = typeof body.baseUrl === \"string\" ? body.baseUrl : \"\";\n\ttry {\n\t\tconst result = await fetchProviderModels(provider, apiKey, baseUrl, resolveOpenPalmHome());\n\t\treturn json({\n\t\t\tok: result.status === \"ok\",\n\t\t\t...result\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"model_fetch_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;AACrD,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AAC7B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,cAAc;AACxB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD,CAAC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AAClE,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC5F,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI;AAC7B,GAAG,GAAG;AACN,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,oBAAoB;AAC9B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
@@ -1,9 +1,10 @@
1
- import { b3 as summarizeBackups, aj as listBackupDirs, av as pruneBackupDirs, F as createLogger } from './src-AHSKeKr0.js';
2
- import { g as getState } from './state-CzXOEt0t.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-9U7R7yqL.js';
1
+ import { aX as summarizeBackups, ag as listBackupDirs, aq as pruneBackupDirs, D as createLogger } from './src-B2-r_9oB.js';
2
+ import { g as getState } from './state-Dkjz2T4C.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-DWpoPvHz.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
- import './network-preset-CJ1RRnki.js';
6
+ import './network-preset-BvVAoagy.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-CnnGlw2U.js';
25
- import './features-BUWlozR5.js';
25
+ import './opencode-target-DYD2zQ4l.js';
26
+ import './features-DltizIi4.js';
26
27
 
27
28
  //#region src/routes/api/host/backups/+server.ts
28
29
  var logger = createLogger("backups-admin");
@@ -90,4 +91,4 @@ var POST = async (event) => {
90
91
  };
91
92
 
92
93
  export { GET, POST };
93
- //# sourceMappingURL=_server.ts-CN26zawm.js.map
94
+ //# sourceMappingURL=_server.ts-B-uAgtQC.js.map