@openpalm/ui 0.11.5-rc.7 → 0.11.5-rc.8

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 (410) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/0.Cg_kDPOD.css +1 -0
  3. package/build/client/_app/immutable/assets/0.Cg_kDPOD.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.Cg_kDPOD.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/4.DuxrEHWs.css +1 -0
  6. package/build/client/_app/immutable/assets/4.DuxrEHWs.css.br +0 -0
  7. package/build/client/_app/immutable/assets/4.DuxrEHWs.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/{9.CK_nuPTW.css → 9.BqmkXh6u.css} +1 -1
  9. package/build/client/_app/immutable/assets/9.BqmkXh6u.css.br +0 -0
  10. package/build/client/_app/immutable/assets/9.BqmkXh6u.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/{ChatMessage.nPUEFb-s.css → ChatMessage.DDPla6Cg.css} +1 -1
  12. package/build/client/_app/immutable/assets/ChatMessage.DDPla6Cg.css.br +0 -0
  13. package/build/client/_app/immutable/assets/{ChatMessage.nPUEFb-s.css.gz → ChatMessage.DDPla6Cg.css.gz} +0 -0
  14. package/build/client/_app/immutable/chunks/{CVWppHrm.js → 2ZMOX13V.js} +5 -5
  15. package/build/client/_app/immutable/chunks/2ZMOX13V.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/2ZMOX13V.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/BBLSV5-4.js +1 -0
  18. package/build/client/_app/immutable/chunks/BBLSV5-4.js.br +1 -0
  19. package/build/client/_app/immutable/chunks/BBLSV5-4.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/BE96pGoc.js +3 -0
  21. package/build/client/_app/immutable/chunks/BE96pGoc.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/BE96pGoc.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{hgikw-Qd.js → BWN4X0zs.js} +1 -1
  24. package/build/client/_app/immutable/chunks/BWN4X0zs.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/BWN4X0zs.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/BXh0hlRI.js +1 -0
  27. package/build/client/_app/immutable/chunks/BXh0hlRI.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/BXh0hlRI.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/BplpI4py.js +5 -0
  30. package/build/client/_app/immutable/chunks/BplpI4py.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/BplpI4py.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/C2xA1Bq0.js +3 -0
  33. package/build/client/_app/immutable/chunks/C2xA1Bq0.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/C2xA1Bq0.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/CVdeYz6v.js +1 -0
  36. package/build/client/_app/immutable/chunks/CVdeYz6v.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/CVdeYz6v.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/DJjiuSdP.js +1 -0
  39. package/build/client/_app/immutable/chunks/DJjiuSdP.js.br +1 -0
  40. package/build/client/_app/immutable/chunks/DJjiuSdP.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/p0W0xTr8.js +1 -0
  42. package/build/client/_app/immutable/chunks/p0W0xTr8.js.br +2 -0
  43. package/build/client/_app/immutable/chunks/p0W0xTr8.js.gz +0 -0
  44. package/build/client/_app/immutable/entry/app.CvJhqOWB.js +2 -0
  45. package/build/client/_app/immutable/entry/app.CvJhqOWB.js.br +0 -0
  46. package/build/client/_app/immutable/entry/app.CvJhqOWB.js.gz +0 -0
  47. package/build/client/_app/immutable/entry/start.Buubqkoa.js +1 -0
  48. package/build/client/_app/immutable/entry/start.Buubqkoa.js.br +1 -0
  49. package/build/client/_app/immutable/entry/start.Buubqkoa.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/0.BeACmjY0.js +1 -0
  51. package/build/client/_app/immutable/nodes/0.BeACmjY0.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/0.BeACmjY0.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/1.CkZ-UG6X.js +1 -0
  54. package/build/client/_app/immutable/nodes/1.CkZ-UG6X.js.br +4 -0
  55. package/build/client/_app/immutable/nodes/1.CkZ-UG6X.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/2.BP82lSEI.js +1 -0
  57. package/build/client/_app/immutable/nodes/2.BP82lSEI.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/2.BP82lSEI.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/3.BtPTs7lf.js +1 -0
  60. package/build/client/_app/immutable/nodes/3.BtPTs7lf.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/3.BtPTs7lf.js.gz +0 -0
  62. package/build/client/_app/immutable/nodes/4.DZOzJf5N.js +120 -0
  63. package/build/client/_app/immutable/nodes/4.DZOzJf5N.js.br +0 -0
  64. package/build/client/_app/immutable/nodes/4.DZOzJf5N.js.gz +0 -0
  65. package/build/client/_app/immutable/nodes/5.CQID4Lcc.js +4 -0
  66. package/build/client/_app/immutable/nodes/5.CQID4Lcc.js.br +0 -0
  67. package/build/client/_app/immutable/nodes/5.CQID4Lcc.js.gz +0 -0
  68. package/build/client/_app/immutable/nodes/6.BkC_Qb-V.js +1 -0
  69. package/build/client/_app/immutable/nodes/6.BkC_Qb-V.js.br +0 -0
  70. package/build/client/_app/immutable/nodes/6.BkC_Qb-V.js.gz +0 -0
  71. package/build/client/_app/immutable/nodes/7.C_moEri9.js +1 -0
  72. package/build/client/_app/immutable/nodes/7.C_moEri9.js.br +0 -0
  73. package/build/client/_app/immutable/nodes/7.C_moEri9.js.gz +0 -0
  74. package/build/client/_app/immutable/nodes/8.CPQQ7-ZY.js +1 -0
  75. package/build/client/_app/immutable/nodes/8.CPQQ7-ZY.js.br +0 -0
  76. package/build/client/_app/immutable/nodes/8.CPQQ7-ZY.js.gz +0 -0
  77. package/build/client/_app/immutable/nodes/9.BhpjEFrE.js +5 -0
  78. package/build/client/_app/immutable/nodes/9.BhpjEFrE.js.br +0 -0
  79. package/build/client/_app/immutable/nodes/9.BhpjEFrE.js.gz +0 -0
  80. package/build/client/_app/version.json +1 -1
  81. package/build/client/_app/version.json.br +1 -1
  82. package/build/client/_app/version.json.gz +0 -0
  83. package/build/client/setup/wizard.css +159 -27
  84. package/build/client/setup/wizard.css.br +0 -0
  85. package/build/client/setup/wizard.css.gz +0 -0
  86. package/build/server/chunks/0-WMKdOxQY.js +9 -0
  87. package/build/server/chunks/{0-sfmVs00_.js.map → 0-WMKdOxQY.js.map} +1 -1
  88. package/build/server/chunks/1-DUa0GF3v.js +9 -0
  89. package/build/server/chunks/{1-BQlukPTN.js.map → 1-DUa0GF3v.js.map} +1 -1
  90. package/build/server/chunks/{2-wNOz2qR7.js → 2-DcJQxQCJ.js} +2 -2
  91. package/build/server/chunks/{2-wNOz2qR7.js.map → 2-DcJQxQCJ.js.map} +1 -1
  92. package/build/server/chunks/{3-CMcVVZ5t.js → 3-D50EGd7q.js} +2 -2
  93. package/build/server/chunks/{3-CMcVVZ5t.js.map → 3-D50EGd7q.js.map} +1 -1
  94. package/build/server/chunks/4-CRAGzUQh.js +9 -0
  95. package/build/server/chunks/{4-C79a4Yto.js.map → 4-CRAGzUQh.js.map} +1 -1
  96. package/build/server/chunks/5-C1m-Jk_l.js +9 -0
  97. package/build/server/chunks/{5-D7eeN25a.js.map → 5-C1m-Jk_l.js.map} +1 -1
  98. package/build/server/chunks/6-BxTOxlzm.js +9 -0
  99. package/build/server/chunks/{6-Dg79fiQc.js.map → 6-BxTOxlzm.js.map} +1 -1
  100. package/build/server/chunks/7-CiVEK5n0.js +9 -0
  101. package/build/server/chunks/{7-DTavGKhw.js.map → 7-CiVEK5n0.js.map} +1 -1
  102. package/build/server/chunks/{8-B0FQ5gh5.js → 8-Bpnku7ab.js} +3 -3
  103. package/build/server/chunks/{8-B0FQ5gh5.js.map → 8-Bpnku7ab.js.map} +1 -1
  104. package/build/server/chunks/9-BjxPEGaS.js +9 -0
  105. package/build/server/chunks/{9-BCmr-315.js.map → 9-BjxPEGaS.js.map} +1 -1
  106. package/build/server/chunks/{ChatMessage-CzW3dV57.js → ChatMessage-BHIBUzrd.js} +16 -6
  107. package/build/server/chunks/{ChatMessage-CzW3dV57.js.map → ChatMessage-BHIBUzrd.js.map} +1 -1
  108. package/build/server/chunks/{Navbar-EBUPxUnS.js → Navbar-CHNgBXIf.js} +23 -9
  109. package/build/server/chunks/Navbar-CHNgBXIf.js.map +1 -0
  110. package/build/server/chunks/{VoiceProfileSelector-CbOV_v5A.js → VoiceProfileSelector-Dm9LnnyW.js} +4 -4
  111. package/build/server/chunks/VoiceProfileSelector-Dm9LnnyW.js.map +1 -0
  112. package/build/server/chunks/{_layout.svelte-e5vEwOWj.js → _layout.svelte-DKvvz-xQ.js} +2 -2
  113. package/build/server/chunks/{_layout.svelte-e5vEwOWj.js.map → _layout.svelte-DKvvz-xQ.js.map} +1 -1
  114. package/build/server/chunks/{_page.svelte-Dq0B2wTX.js → _page.svelte-BEfqZueO.js} +6 -6
  115. package/build/server/chunks/{_page.svelte-Dq0B2wTX.js.map → _page.svelte-BEfqZueO.js.map} +1 -1
  116. package/build/server/chunks/{_page.svelte-B0M8mXzs.js → _page.svelte-Bo_k7Yp9.js} +2 -2
  117. package/build/server/chunks/_page.svelte-Bo_k7Yp9.js.map +1 -0
  118. package/build/server/chunks/{_page.svelte-CXGT7iVI.js → _page.svelte-CLA0ELRQ.js} +319 -51
  119. package/build/server/chunks/_page.svelte-CLA0ELRQ.js.map +1 -0
  120. package/build/server/chunks/{_page.svelte-Du_FGvId.js → _page.svelte-D1_skK9H.js} +3 -3
  121. package/build/server/chunks/{_page.svelte-Du_FGvId.js.map → _page.svelte-D1_skK9H.js.map} +1 -1
  122. package/build/server/chunks/{_page.svelte-CScIJqid.js → _page.svelte-DAOv8x_O.js} +10 -10
  123. package/build/server/chunks/_page.svelte-DAOv8x_O.js.map +1 -0
  124. package/build/server/chunks/{_page.svelte-Dc9YczvY.js → _page.svelte-DqPyVIwk.js} +6 -6
  125. package/build/server/chunks/{_page.svelte-Dc9YczvY.js.map → _page.svelte-DqPyVIwk.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-Dicprv7A.js → _server.ts-2L3QS1hC.js} +5 -4
  127. package/build/server/chunks/{_server.ts-Dicprv7A.js.map → _server.ts-2L3QS1hC.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-Bttq5XEc.js → _server.ts-6x0IrmfD.js} +3 -2
  129. package/build/server/chunks/{_server.ts-Bttq5XEc.js.map → _server.ts-6x0IrmfD.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-CxpkPdkw.js → _server.ts-7sbbhwIJ.js} +6 -5
  131. package/build/server/chunks/{_server.ts-CxpkPdkw.js.map → _server.ts-7sbbhwIJ.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-B-YtpFZv.js → _server.ts-9X9GboOx.js} +5 -4
  133. package/build/server/chunks/{_server.ts-B-YtpFZv.js.map → _server.ts-9X9GboOx.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-D064BG7i.js → _server.ts-Adn-DdpI.js} +5 -4
  135. package/build/server/chunks/{_server.ts-D064BG7i.js.map → _server.ts-Adn-DdpI.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-mFCCnU2f.js → _server.ts-Az776yqU.js} +5 -4
  137. package/build/server/chunks/{_server.ts-mFCCnU2f.js.map → _server.ts-Az776yqU.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-DABvBtNg.js → _server.ts-B0Mco4CF.js} +6 -5
  139. package/build/server/chunks/{_server.ts-DABvBtNg.js.map → _server.ts-B0Mco4CF.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-BG_3Aam5.js → _server.ts-B4XJRWmg.js} +5 -4
  141. package/build/server/chunks/{_server.ts-BG_3Aam5.js.map → _server.ts-B4XJRWmg.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts--ajZwgpx.js → _server.ts-B8D9bzxZ.js} +5 -4
  143. package/build/server/chunks/{_server.ts--ajZwgpx.js.map → _server.ts-B8D9bzxZ.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-Zu8ZTux3.js → _server.ts-BE_vE72K.js} +6 -5
  145. package/build/server/chunks/{_server.ts-Zu8ZTux3.js.map → _server.ts-BE_vE72K.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-BnCNI_5v.js → _server.ts-BKTLNDmT.js} +7 -6
  147. package/build/server/chunks/{_server.ts-BnCNI_5v.js.map → _server.ts-BKTLNDmT.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-B3n_KrVi.js → _server.ts-BMVMgjjP.js} +7 -6
  149. package/build/server/chunks/{_server.ts-B3n_KrVi.js.map → _server.ts-BMVMgjjP.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-Y57oqscW.js → _server.ts-BRMeIbO9.js} +11 -5
  151. package/build/server/chunks/_server.ts-BRMeIbO9.js.map +1 -0
  152. package/build/server/chunks/{_server.ts-DLS_wObr.js → _server.ts-BRx0eMUC.js} +4 -3
  153. package/build/server/chunks/{_server.ts-DLS_wObr.js.map → _server.ts-BRx0eMUC.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-CxOokd6P.js → _server.ts-BW8WG_zO.js} +5 -4
  155. package/build/server/chunks/{_server.ts-CxOokd6P.js.map → _server.ts-BW8WG_zO.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-BYHQLzIU.js → _server.ts-Bj-aBJk7.js} +5 -4
  157. package/build/server/chunks/{_server.ts-BYHQLzIU.js.map → _server.ts-Bj-aBJk7.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-DwH287WQ.js → _server.ts-BjHba4db.js} +5 -4
  159. package/build/server/chunks/{_server.ts-DwH287WQ.js.map → _server.ts-BjHba4db.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-C0p_epYa.js → _server.ts-BljWPM83.js} +5 -4
  161. package/build/server/chunks/{_server.ts-C0p_epYa.js.map → _server.ts-BljWPM83.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-DooshvGc.js → _server.ts-Brd-UhLJ.js} +6 -5
  163. package/build/server/chunks/{_server.ts-DooshvGc.js.map → _server.ts-Brd-UhLJ.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-CuFSHsdA.js → _server.ts-C25ID2Ds.js} +6 -5
  165. package/build/server/chunks/{_server.ts-CuFSHsdA.js.map → _server.ts-C25ID2Ds.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-DDhNa_X1.js → _server.ts-C6hPARrn.js} +5 -4
  167. package/build/server/chunks/{_server.ts-DDhNa_X1.js.map → _server.ts-C6hPARrn.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-BTFsY3ns.js → _server.ts-C8z34WB4.js} +7 -6
  169. package/build/server/chunks/{_server.ts-BTFsY3ns.js.map → _server.ts-C8z34WB4.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-TS_ttjdr.js → _server.ts-CHeQUV5e.js} +5 -4
  171. package/build/server/chunks/{_server.ts-TS_ttjdr.js.map → _server.ts-CHeQUV5e.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-_lxrLHOI.js → _server.ts-CIf-kHdw.js} +5 -4
  173. package/build/server/chunks/{_server.ts-_lxrLHOI.js.map → _server.ts-CIf-kHdw.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-BZNECWdo.js → _server.ts-CLnVD1ol.js} +3 -2
  175. package/build/server/chunks/{_server.ts-BZNECWdo.js.map → _server.ts-CLnVD1ol.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-BYNejrbv.js → _server.ts-CMpjAvc7.js} +3 -2
  177. package/build/server/chunks/_server.ts-CMpjAvc7.js.map +1 -0
  178. package/build/server/chunks/{_server.ts-CQn6OWsw.js → _server.ts-CNgRWhGz.js} +5 -4
  179. package/build/server/chunks/{_server.ts-CQn6OWsw.js.map → _server.ts-CNgRWhGz.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-C0gphQE8.js → _server.ts-CTTmVvXF.js} +5 -4
  181. package/build/server/chunks/{_server.ts-C0gphQE8.js.map → _server.ts-CTTmVvXF.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-Bi7Kdi9Z.js → _server.ts-Cf18QJ0U.js} +6 -5
  183. package/build/server/chunks/{_server.ts-Bi7Kdi9Z.js.map → _server.ts-Cf18QJ0U.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-nOJLfmaj.js → _server.ts-CfeJ2lFS.js} +7 -6
  185. package/build/server/chunks/{_server.ts-nOJLfmaj.js.map → _server.ts-CfeJ2lFS.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-BCivjDa1.js → _server.ts-ChMZ5tdq.js} +5 -4
  187. package/build/server/chunks/_server.ts-ChMZ5tdq.js.map +1 -0
  188. package/build/server/chunks/{_server.ts-CoIWXJLt.js → _server.ts-ClPu8Rkm.js} +6 -5
  189. package/build/server/chunks/{_server.ts-CoIWXJLt.js.map → _server.ts-ClPu8Rkm.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-CKqIuso7.js → _server.ts-CosA5eNc.js} +5 -4
  191. package/build/server/chunks/{_server.ts-CKqIuso7.js.map → _server.ts-CosA5eNc.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-Ch8LouSG.js → _server.ts-CqgWbZJS.js} +6 -5
  193. package/build/server/chunks/{_server.ts-Ch8LouSG.js.map → _server.ts-CqgWbZJS.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-BQlauqG7.js → _server.ts-CrqxuI7F.js} +6 -5
  195. package/build/server/chunks/{_server.ts-BQlauqG7.js.map → _server.ts-CrqxuI7F.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-DTlXzoMP.js → _server.ts-CrxFegEr.js} +5 -4
  197. package/build/server/chunks/{_server.ts-DTlXzoMP.js.map → _server.ts-CrxFegEr.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-Cay6JJmu.js → _server.ts-CxEzeqf_.js} +7 -6
  199. package/build/server/chunks/{_server.ts-Cay6JJmu.js.map → _server.ts-CxEzeqf_.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-B8vW8q3-.js → _server.ts-CydJkxqH.js} +5 -4
  201. package/build/server/chunks/{_server.ts-B8vW8q3-.js.map → _server.ts-CydJkxqH.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-dBLS5OxC.js → _server.ts-Czpq8s6u.js} +5 -4
  203. package/build/server/chunks/{_server.ts-dBLS5OxC.js.map → _server.ts-Czpq8s6u.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-BhduAFwe.js → _server.ts-CzsTFGFb.js} +5 -4
  205. package/build/server/chunks/{_server.ts-BhduAFwe.js.map → _server.ts-CzsTFGFb.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-DFBxMXVv.js → _server.ts-D3sEN-0K.js} +5 -4
  207. package/build/server/chunks/{_server.ts-DFBxMXVv.js.map → _server.ts-D3sEN-0K.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-D0fThJEL.js → _server.ts-DCDfTBwU.js} +5 -4
  209. package/build/server/chunks/{_server.ts-D0fThJEL.js.map → _server.ts-DCDfTBwU.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-Bd95fWI2.js → _server.ts-DCSE5HH9.js} +7 -6
  211. package/build/server/chunks/{_server.ts-Bd95fWI2.js.map → _server.ts-DCSE5HH9.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-CsUJia-4.js → _server.ts-DFlWDerb.js} +5 -4
  213. package/build/server/chunks/{_server.ts-CsUJia-4.js.map → _server.ts-DFlWDerb.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-SA9d0x_K.js → _server.ts-DKCYV7cA.js} +6 -5
  215. package/build/server/chunks/{_server.ts-SA9d0x_K.js.map → _server.ts-DKCYV7cA.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-Cdq-yzqP.js → _server.ts-DKG4AeRF.js} +32 -5
  217. package/build/server/chunks/_server.ts-DKG4AeRF.js.map +1 -0
  218. package/build/server/chunks/{_server.ts-CqviakL3.js → _server.ts-DNehZ4Dq.js} +5 -4
  219. package/build/server/chunks/{_server.ts-CqviakL3.js.map → _server.ts-DNehZ4Dq.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-CBW-iSGY.js → _server.ts-DRP9GnjO.js} +5 -4
  221. package/build/server/chunks/{_server.ts-CBW-iSGY.js.map → _server.ts-DRP9GnjO.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-CvBgeFp9.js → _server.ts-DRtfz2MH.js} +6 -5
  223. package/build/server/chunks/{_server.ts-CvBgeFp9.js.map → _server.ts-DRtfz2MH.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-CQucsScY.js → _server.ts-DVSzfbvS.js} +5 -4
  225. package/build/server/chunks/{_server.ts-CQucsScY.js.map → _server.ts-DVSzfbvS.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-YHGTRtDD.js → _server.ts-DYzS6l9L.js} +5 -4
  227. package/build/server/chunks/{_server.ts-YHGTRtDD.js.map → _server.ts-DYzS6l9L.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-CBYhHA1_.js → _server.ts-D_CnUPkK.js} +5 -4
  229. package/build/server/chunks/{_server.ts-CBYhHA1_.js.map → _server.ts-D_CnUPkK.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-CmshKmzd.js → _server.ts-D_YIlUj0.js} +5 -4
  231. package/build/server/chunks/{_server.ts-CmshKmzd.js.map → _server.ts-D_YIlUj0.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-BQtDb5rW.js → _server.ts-D__yhafj.js} +5 -4
  233. package/build/server/chunks/{_server.ts-BQtDb5rW.js.map → _server.ts-D__yhafj.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-CObmPmDw.js → _server.ts-DaEP8BBJ.js} +5 -4
  235. package/build/server/chunks/{_server.ts-CObmPmDw.js.map → _server.ts-DaEP8BBJ.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-Cmi0m_Ec.js → _server.ts-Db3C73DS.js} +5 -4
  237. package/build/server/chunks/{_server.ts-Cmi0m_Ec.js.map → _server.ts-Db3C73DS.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-pJgm08Ns.js → _server.ts-DdmosErD.js} +5 -4
  239. package/build/server/chunks/{_server.ts-pJgm08Ns.js.map → _server.ts-DdmosErD.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-CtqksBun.js → _server.ts-DkPNdshV.js} +5 -4
  241. package/build/server/chunks/{_server.ts-CtqksBun.js.map → _server.ts-DkPNdshV.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-CFjN9JNk.js → _server.ts-DlF8VdRG.js} +5 -4
  243. package/build/server/chunks/{_server.ts-CFjN9JNk.js.map → _server.ts-DlF8VdRG.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-CZMBEF_P.js → _server.ts-Dnl_--6H.js} +6 -5
  245. package/build/server/chunks/{_server.ts-CZMBEF_P.js.map → _server.ts-Dnl_--6H.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-DpnQQsEi.js → _server.ts-DnveUL19.js} +5 -4
  247. package/build/server/chunks/{_server.ts-DpnQQsEi.js.map → _server.ts-DnveUL19.js.map} +1 -1
  248. package/build/server/chunks/{_server.ts-DqnxZoKV.js → _server.ts-DuMubVfl.js} +3 -2
  249. package/build/server/chunks/{_server.ts-DqnxZoKV.js.map → _server.ts-DuMubVfl.js.map} +1 -1
  250. package/build/server/chunks/{_server.ts-DBD7W3nM.js → _server.ts-DxHIA_Rr.js} +5 -4
  251. package/build/server/chunks/{_server.ts-DBD7W3nM.js.map → _server.ts-DxHIA_Rr.js.map} +1 -1
  252. package/build/server/chunks/{_server.ts-D-hh_BTK.js → _server.ts-GR8XZaCp.js} +5 -4
  253. package/build/server/chunks/{_server.ts-D-hh_BTK.js.map → _server.ts-GR8XZaCp.js.map} +1 -1
  254. package/build/server/chunks/{_server.ts-BdyV0_Is.js → _server.ts-Lvr38bTh.js} +3 -2
  255. package/build/server/chunks/{_server.ts-BdyV0_Is.js.map → _server.ts-Lvr38bTh.js.map} +1 -1
  256. package/build/server/chunks/{_server.ts-BUuhZLQW.js → _server.ts-NxCB35yu.js} +5 -4
  257. package/build/server/chunks/{_server.ts-BUuhZLQW.js.map → _server.ts-NxCB35yu.js.map} +1 -1
  258. package/build/server/chunks/{_server.ts-wKN3c9Bs.js → _server.ts-Pe6f27yp.js} +5 -4
  259. package/build/server/chunks/{_server.ts-wKN3c9Bs.js.map → _server.ts-Pe6f27yp.js.map} +1 -1
  260. package/build/server/chunks/{_server.ts-CrK5Xjnh.js → _server.ts-Ro0pdSG-.js} +5 -4
  261. package/build/server/chunks/{_server.ts-CrK5Xjnh.js.map → _server.ts-Ro0pdSG-.js.map} +1 -1
  262. package/build/server/chunks/{_server.ts-jUybF0F9.js → _server.ts-U5GFn5_3.js} +5 -4
  263. package/build/server/chunks/{_server.ts-jUybF0F9.js.map → _server.ts-U5GFn5_3.js.map} +1 -1
  264. package/build/server/chunks/{_server.ts-VtDFzmOm.js → _server.ts-X5JJ8ArH.js} +5 -4
  265. package/build/server/chunks/{_server.ts-VtDFzmOm.js.map → _server.ts-X5JJ8ArH.js.map} +1 -1
  266. package/build/server/chunks/{_server.ts-CHd9_WPs.js → _server.ts-YXu1Ll0m.js} +5 -4
  267. package/build/server/chunks/{_server.ts-CHd9_WPs.js.map → _server.ts-YXu1Ll0m.js.map} +1 -1
  268. package/build/server/chunks/{_server.ts-B8JGa5NB.js → _server.ts-Yr37THbf.js} +5 -4
  269. package/build/server/chunks/{_server.ts-B8JGa5NB.js.map → _server.ts-Yr37THbf.js.map} +1 -1
  270. package/build/server/chunks/{_server.ts-vuXd3nrT.js → _server.ts-atTSaGh1.js} +5 -4
  271. package/build/server/chunks/{_server.ts-vuXd3nrT.js.map → _server.ts-atTSaGh1.js.map} +1 -1
  272. package/build/server/chunks/{_server.ts-BglWcbgl.js → _server.ts-jJDzcwxi.js} +6 -5
  273. package/build/server/chunks/{_server.ts-BglWcbgl.js.map → _server.ts-jJDzcwxi.js.map} +1 -1
  274. package/build/server/chunks/{_server.ts-BfXe8M8I.js → _server.ts-kT0aEfNc.js} +5 -4
  275. package/build/server/chunks/{_server.ts-BfXe8M8I.js.map → _server.ts-kT0aEfNc.js.map} +1 -1
  276. package/build/server/chunks/{_server.ts-BGMXMZ3f.js → _server.ts-oR5F0ndN.js} +5 -4
  277. package/build/server/chunks/{_server.ts-BGMXMZ3f.js.map → _server.ts-oR5F0ndN.js.map} +1 -1
  278. package/build/server/chunks/{_server.ts-D4QpYVnk.js → _server.ts-ve3vu4qb.js} +5 -4
  279. package/build/server/chunks/{_server.ts-D4QpYVnk.js.map → _server.ts-ve3vu4qb.js.map} +1 -1
  280. package/build/server/chunks/{addon-helpers-D3GJCulD.js → addon-helpers-BvyuEly-.js} +3 -3
  281. package/build/server/chunks/{addon-helpers-D3GJCulD.js.map → addon-helpers-BvyuEly-.js.map} +1 -1
  282. package/build/server/chunks/{akm-B_BIZJJv.js → akm-DoHUKzR0.js} +2 -2
  283. package/build/server/chunks/{akm-B_BIZJJv.js.map → akm-DoHUKzR0.js.map} +1 -1
  284. package/build/server/chunks/{client-DuNIsVic.js → client-Cjb8uvpz.js} +2 -2
  285. package/build/server/chunks/{client-DuNIsVic.js.map → client-Cjb8uvpz.js.map} +1 -1
  286. package/build/server/chunks/{config-UnF5M7J6.js → config-Bonsx0Rw.js} +2 -2
  287. package/build/server/chunks/{config-UnF5M7J6.js.map → config-Bonsx0Rw.js.map} +1 -1
  288. package/build/server/chunks/dist-DOFcG0Zp.js +6617 -0
  289. package/build/server/chunks/dist-DOFcG0Zp.js.map +1 -0
  290. package/build/server/chunks/{docker-DmrYwY_e.js → docker-DUcl5Nd3.js} +2 -2
  291. package/build/server/chunks/{docker-DmrYwY_e.js.map → docker-DUcl5Nd3.js.map} +1 -1
  292. package/build/server/chunks/{endpoints-D6uoesB9.js → endpoints-Crjg6AFu.js} +2 -2
  293. package/build/server/chunks/{endpoints-D6uoesB9.js.map → endpoints-Crjg6AFu.js.map} +1 -1
  294. package/build/server/chunks/{environment-C9HyCxX9.js → environment-OK7MYhly.js} +2 -2
  295. package/build/server/chunks/{environment-C9HyCxX9.js.map → environment-OK7MYhly.js.map} +1 -1
  296. package/build/server/chunks/{error.svelte-BajT8v3i.js → error.svelte-CZS56Lew.js} +4 -4
  297. package/build/server/chunks/{error.svelte-BajT8v3i.js.map → error.svelte-CZS56Lew.js.map} +1 -1
  298. package/build/server/chunks/{helpers-zCNRvZpT.js → helpers-BQ_IzT4l.js} +3 -3
  299. package/build/server/chunks/{helpers-zCNRvZpT.js.map → helpers-BQ_IzT4l.js.map} +1 -1
  300. package/build/server/chunks/{hooks.server-BKK-8Ct6.js → hooks.server-DauSX3Qa.js} +6 -5
  301. package/build/server/chunks/{hooks.server-BKK-8Ct6.js.map → hooks.server-DauSX3Qa.js.map} +1 -1
  302. package/build/server/chunks/{http-Cm-sRzTa.js → http-CW8qaRto.js} +2 -2
  303. package/build/server/chunks/{http-Cm-sRzTa.js.map → http-CW8qaRto.js.map} +1 -1
  304. package/build/server/chunks/{internal-LXD6a4Om.js → internal-CU62uCyK.js} +3 -3
  305. package/build/server/chunks/{internal-LXD6a4Om.js.map → internal-CU62uCyK.js.map} +1 -1
  306. package/build/server/chunks/{session-cookie-CoF3FU_0.js → session-cookie-C4Vsx_M2.js} +2 -2
  307. package/build/server/chunks/{session-cookie-CoF3FU_0.js.map → session-cookie-C4Vsx_M2.js.map} +1 -1
  308. package/build/server/chunks/{setup-deploy-CVYxUJZD.js → setup-deploy-DvvlcGX4.js} +2 -2
  309. package/build/server/chunks/{setup-deploy-CVYxUJZD.js.map → setup-deploy-DvvlcGX4.js.map} +1 -1
  310. package/build/server/chunks/{src-efp8mb8-.js → src-D4RUgmPp.js} +19 -6624
  311. package/build/server/chunks/src-D4RUgmPp.js.map +1 -0
  312. package/build/server/chunks/{state-z9dl5k8n.js → state-Di9Aippp.js} +2 -2
  313. package/build/server/chunks/{state-z9dl5k8n.js.map → state-Di9Aippp.js.map} +1 -1
  314. package/build/server/chunks/{theme-state.svelte-BNtUaCD7.js → theme-state.svelte-CUVpUHOv.js} +36 -22
  315. package/build/server/chunks/theme-state.svelte-CUVpUHOv.js.map +1 -0
  316. package/build/server/index.js +2 -2
  317. package/build/server/manifest.js +88 -88
  318. package/build/server/manifest.js.map +1 -1
  319. package/package.json +2 -2
  320. package/build/client/_app/immutable/assets/0.CFC7xzus.css +0 -1
  321. package/build/client/_app/immutable/assets/0.CFC7xzus.css.br +0 -0
  322. package/build/client/_app/immutable/assets/0.CFC7xzus.css.gz +0 -0
  323. package/build/client/_app/immutable/assets/4.Cg0DWfRJ.css +0 -1
  324. package/build/client/_app/immutable/assets/4.Cg0DWfRJ.css.br +0 -0
  325. package/build/client/_app/immutable/assets/4.Cg0DWfRJ.css.gz +0 -0
  326. package/build/client/_app/immutable/assets/9.CK_nuPTW.css.br +0 -0
  327. package/build/client/_app/immutable/assets/9.CK_nuPTW.css.gz +0 -0
  328. package/build/client/_app/immutable/assets/ChatMessage.nPUEFb-s.css.br +0 -0
  329. package/build/client/_app/immutable/chunks/B0yFRekZ.js +0 -3
  330. package/build/client/_app/immutable/chunks/B0yFRekZ.js.br +0 -0
  331. package/build/client/_app/immutable/chunks/B0yFRekZ.js.gz +0 -0
  332. package/build/client/_app/immutable/chunks/BAaXfhM-.js +0 -1
  333. package/build/client/_app/immutable/chunks/BAaXfhM-.js.br +0 -0
  334. package/build/client/_app/immutable/chunks/BAaXfhM-.js.gz +0 -0
  335. package/build/client/_app/immutable/chunks/BTrxgLOM.js +0 -1
  336. package/build/client/_app/immutable/chunks/BTrxgLOM.js.br +0 -2
  337. package/build/client/_app/immutable/chunks/BTrxgLOM.js.gz +0 -0
  338. package/build/client/_app/immutable/chunks/B_FOicoS.js +0 -1
  339. package/build/client/_app/immutable/chunks/B_FOicoS.js.br +0 -0
  340. package/build/client/_app/immutable/chunks/B_FOicoS.js.gz +0 -0
  341. package/build/client/_app/immutable/chunks/CDYZd3Dt.js +0 -1
  342. package/build/client/_app/immutable/chunks/CDYZd3Dt.js.br +0 -1
  343. package/build/client/_app/immutable/chunks/CDYZd3Dt.js.gz +0 -0
  344. package/build/client/_app/immutable/chunks/CVWppHrm.js.br +0 -0
  345. package/build/client/_app/immutable/chunks/CVWppHrm.js.gz +0 -0
  346. package/build/client/_app/immutable/chunks/DYcHS_qY.js +0 -5
  347. package/build/client/_app/immutable/chunks/DYcHS_qY.js.br +0 -0
  348. package/build/client/_app/immutable/chunks/DYcHS_qY.js.gz +0 -0
  349. package/build/client/_app/immutable/chunks/HsxQhp5A.js +0 -3
  350. package/build/client/_app/immutable/chunks/HsxQhp5A.js.br +0 -0
  351. package/build/client/_app/immutable/chunks/HsxQhp5A.js.gz +0 -0
  352. package/build/client/_app/immutable/chunks/hgikw-Qd.js.br +0 -0
  353. package/build/client/_app/immutable/chunks/hgikw-Qd.js.gz +0 -0
  354. package/build/client/_app/immutable/chunks/xtI7_jDL.js +0 -1
  355. package/build/client/_app/immutable/chunks/xtI7_jDL.js.br +0 -0
  356. package/build/client/_app/immutable/chunks/xtI7_jDL.js.gz +0 -0
  357. package/build/client/_app/immutable/entry/app.DtY5C9pR.js +0 -2
  358. package/build/client/_app/immutable/entry/app.DtY5C9pR.js.br +0 -0
  359. package/build/client/_app/immutable/entry/app.DtY5C9pR.js.gz +0 -0
  360. package/build/client/_app/immutable/entry/start.CmS1dlrE.js +0 -1
  361. package/build/client/_app/immutable/entry/start.CmS1dlrE.js.br +0 -0
  362. package/build/client/_app/immutable/entry/start.CmS1dlrE.js.gz +0 -0
  363. package/build/client/_app/immutable/nodes/0.CeRyHcWC.js +0 -1
  364. package/build/client/_app/immutable/nodes/0.CeRyHcWC.js.br +0 -0
  365. package/build/client/_app/immutable/nodes/0.CeRyHcWC.js.gz +0 -0
  366. package/build/client/_app/immutable/nodes/1.BIqfJFCb.js +0 -1
  367. package/build/client/_app/immutable/nodes/1.BIqfJFCb.js.br +0 -2
  368. package/build/client/_app/immutable/nodes/1.BIqfJFCb.js.gz +0 -0
  369. package/build/client/_app/immutable/nodes/2.C-MzgTuq.js +0 -1
  370. package/build/client/_app/immutable/nodes/2.C-MzgTuq.js.br +0 -0
  371. package/build/client/_app/immutable/nodes/2.C-MzgTuq.js.gz +0 -0
  372. package/build/client/_app/immutable/nodes/3.DXmMKZyn.js +0 -1
  373. package/build/client/_app/immutable/nodes/3.DXmMKZyn.js.br +0 -0
  374. package/build/client/_app/immutable/nodes/3.DXmMKZyn.js.gz +0 -0
  375. package/build/client/_app/immutable/nodes/4.h8N33vpx.js +0 -19
  376. package/build/client/_app/immutable/nodes/4.h8N33vpx.js.br +0 -0
  377. package/build/client/_app/immutable/nodes/4.h8N33vpx.js.gz +0 -0
  378. package/build/client/_app/immutable/nodes/5.B2qtGelf.js +0 -4
  379. package/build/client/_app/immutable/nodes/5.B2qtGelf.js.br +0 -0
  380. package/build/client/_app/immutable/nodes/5.B2qtGelf.js.gz +0 -0
  381. package/build/client/_app/immutable/nodes/6.DrYb30Cc.js +0 -1
  382. package/build/client/_app/immutable/nodes/6.DrYb30Cc.js.br +0 -0
  383. package/build/client/_app/immutable/nodes/6.DrYb30Cc.js.gz +0 -0
  384. package/build/client/_app/immutable/nodes/7.CrDhK7am.js +0 -1
  385. package/build/client/_app/immutable/nodes/7.CrDhK7am.js.br +0 -0
  386. package/build/client/_app/immutable/nodes/7.CrDhK7am.js.gz +0 -0
  387. package/build/client/_app/immutable/nodes/8.CKAtL-gx.js +0 -1
  388. package/build/client/_app/immutable/nodes/8.CKAtL-gx.js.br +0 -0
  389. package/build/client/_app/immutable/nodes/8.CKAtL-gx.js.gz +0 -0
  390. package/build/client/_app/immutable/nodes/9.B1IAKpfH.js +0 -5
  391. package/build/client/_app/immutable/nodes/9.B1IAKpfH.js.br +0 -0
  392. package/build/client/_app/immutable/nodes/9.B1IAKpfH.js.gz +0 -0
  393. package/build/server/chunks/0-sfmVs00_.js +0 -9
  394. package/build/server/chunks/1-BQlukPTN.js +0 -9
  395. package/build/server/chunks/4-C79a4Yto.js +0 -9
  396. package/build/server/chunks/5-D7eeN25a.js +0 -9
  397. package/build/server/chunks/6-Dg79fiQc.js +0 -9
  398. package/build/server/chunks/7-DTavGKhw.js +0 -9
  399. package/build/server/chunks/9-BCmr-315.js +0 -9
  400. package/build/server/chunks/Navbar-EBUPxUnS.js.map +0 -1
  401. package/build/server/chunks/VoiceProfileSelector-CbOV_v5A.js.map +0 -1
  402. package/build/server/chunks/_page.svelte-B0M8mXzs.js.map +0 -1
  403. package/build/server/chunks/_page.svelte-CScIJqid.js.map +0 -1
  404. package/build/server/chunks/_page.svelte-CXGT7iVI.js.map +0 -1
  405. package/build/server/chunks/_server.ts-BCivjDa1.js.map +0 -1
  406. package/build/server/chunks/_server.ts-BYNejrbv.js.map +0 -1
  407. package/build/server/chunks/_server.ts-Cdq-yzqP.js.map +0 -1
  408. package/build/server/chunks/_server.ts-Y57oqscW.js.map +0 -1
  409. package/build/server/chunks/src-efp8mb8-.js.map +0 -1
  410. package/build/server/chunks/theme-state.svelte-BNtUaCD7.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-ChMZ5tdq.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/_server.ts.js"],"sourcesContent":["import { P as writeFileAtomic } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../chunks/helpers.js\";\nimport { existsSync, mkdirSync, readFileSync } from \"node:fs\";\n//#region src/routes/admin/akm/+server.ts\nfunction akmConfigPath(configDir) {\n\treturn `${configDir}/akm/config.json`;\n}\nfunction readAkmConfig(configDir) {\n\tconst path = akmConfigPath(configDir);\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}\nfunction isRec(v) {\n\treturn typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction expectStr(v, field) {\n\treturn typeof v === \"string\" ? v : /* @__PURE__ */ new Error(`${field} must be a string`);\n}\nfunction expectBool(v, field) {\n\treturn typeof v === \"boolean\" ? v : /* @__PURE__ */ new Error(`${field} must be a boolean`);\n}\nfunction expectPosInt(v, field) {\n\treturn typeof v === \"number\" && Number.isInteger(v) && v > 0 ? v : /* @__PURE__ */ new Error(`${field} must be a positive integer`);\n}\nfunction expectNum(v, field, min, max) {\n\treturn typeof v === \"number\" && v >= min && v <= max ? v : /* @__PURE__ */ new Error(`${field} must be a number between ${min} and ${max}`);\n}\nfunction validateLlmProfile(raw, prefix) {\n\tif (\"endpoint\" in raw) {\n\t\tconst r = expectStr(raw.endpoint, `${prefix}.endpoint`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"model\" in raw) {\n\t\tconst r = expectStr(raw.model, `${prefix}.model`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"provider\" in raw) {\n\t\tconst r = expectStr(raw.provider, `${prefix}.provider`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"apiKey\" in raw) {\n\t\tconst r = expectStr(raw.apiKey, `${prefix}.apiKey`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"judgeModel\" in raw) {\n\t\tconst r = expectStr(raw.judgeModel, `${prefix}.judgeModel`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"temperature\" in raw) {\n\t\tconst r = expectNum(raw.temperature, `${prefix}.temperature`, 0, 2);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxTokens\" in raw) {\n\t\tconst r = expectPosInt(raw.maxTokens, `${prefix}.maxTokens`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"timeoutMs\" in raw) {\n\t\tconst r = expectPosInt(raw.timeoutMs, `${prefix}.timeoutMs`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"concurrency\" in raw) {\n\t\tconst r = expectPosInt(raw.concurrency, `${prefix}.concurrency`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"contextLength\" in raw) {\n\t\tconst r = expectPosInt(raw.contextLength, `${prefix}.contextLength`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"supportsJsonSchema\" in raw) {\n\t\tconst r = expectBool(raw.supportsJsonSchema, `${prefix}.supportsJsonSchema`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"enableThinking\" in raw) {\n\t\tconst r = expectBool(raw.enableThinking, `${prefix}.enableThinking`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"capabilities\" in raw) {\n\t\tif (!isRec(raw.capabilities)) return /* @__PURE__ */ new Error(`${prefix}.capabilities must be an object`);\n\t\tif (\"structuredOutput\" in raw.capabilities) {\n\t\t\tconst r = expectBool(raw.capabilities.structuredOutput, `${prefix}.capabilities.structuredOutput`);\n\t\t\tif (r instanceof Error) return r;\n\t\t}\n\t}\n\tif (\"extraParams\" in raw && !isRec(raw.extraParams)) return /* @__PURE__ */ new Error(`${prefix}.extraParams must be an object`);\n\treturn null;\n}\nfunction pickLlmProfile(raw) {\n\tconst out = {};\n\tfor (const f of [\n\t\t\"endpoint\",\n\t\t\"model\",\n\t\t\"provider\",\n\t\t\"judgeModel\"\n\t]) if (f in raw && raw[f]) out[f] = raw[f];\n\tif (\"apiKey\" in raw) {\n\t\tif (raw.apiKey) out.apiKey = raw.apiKey;\n\t}\n\tfor (const f of [\n\t\t\"temperature\",\n\t\t\"maxTokens\",\n\t\t\"timeoutMs\",\n\t\t\"concurrency\",\n\t\t\"contextLength\"\n\t]) if (f in raw && raw[f] !== void 0) out[f] = raw[f];\n\tif (\"supportsJsonSchema\" in raw) out.supportsJsonSchema = raw.supportsJsonSchema;\n\tif (\"enableThinking\" in raw) out.enableThinking = raw.enableThinking;\n\tif (isRec(raw.capabilities) && Object.keys(raw.capabilities).length) out.capabilities = raw.capabilities;\n\tif (isRec(raw.extraParams) && Object.keys(raw.extraParams).length) out.extraParams = raw.extraParams;\n\treturn out;\n}\nvar ALLOWED_IMPROVE_PROCESSES = new Set([\n\t\"reflect\",\n\t\"distill\",\n\t\"consolidate\",\n\t\"memoryInference\",\n\t\"graphExtraction\",\n\t\"validation\",\n\t\"extract\",\n\t\"triage\"\n]);\nvar APPLY_MODES = new Set([\"queue\", \"promote\"]);\nvar FEAT_MODES = new Set([\n\t\"llm\",\n\t\"agent\",\n\t\"sdk\"\n]);\nvar AGENT_PLATFORMS = new Set([\n\t\"opencode\",\n\t\"claude\",\n\t\"opencode-sdk\"\n]);\nvar SEMANTIC_SEARCH_MODES = new Set([\"auto\", \"off\"]);\nvar OUTPUT_FORMATS = new Set([\n\t\"json\",\n\t\"yaml\",\n\t\"text\"\n]);\nvar OUTPUT_DETAILS = new Set([\n\t\"brief\",\n\t\"normal\",\n\t\"full\"\n]);\nfunction validateEnabledGate(v, path) {\n\tif (!isRec(v)) return /* @__PURE__ */ new Error(`${path} must be an object`);\n\tif (\"enabled\" in v) {\n\t\tconst r = expectBool(v.enabled, `${path}.enabled`);\n\t\tif (r instanceof Error) return r;\n\t}\n\treturn null;\n}\nfunction validateImproveProcess(proc, path) {\n\tif (\"enabled\" in proc) {\n\t\tconst r = expectBool(proc.enabled, `${path}.enabled`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"mode\" in proc && (typeof proc.mode !== \"string\" || !FEAT_MODES.has(proc.mode))) return /* @__PURE__ */ new Error(`${path}.mode must be llm, agent, or sdk`);\n\tif (\"profile\" in proc) {\n\t\tconst r = expectStr(proc.profile, `${path}.profile`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"timeoutMs\" in proc && proc.timeoutMs !== null) {\n\t\tconst r = expectPosInt(proc.timeoutMs, `${path}.timeoutMs`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"allowedTypes\" in proc) {\n\t\tif (!Array.isArray(proc.allowedTypes) || !proc.allowedTypes.every((t) => typeof t === \"string\" && t.length > 0)) return /* @__PURE__ */ new Error(`${path}.allowedTypes must be an array of non-empty strings`);\n\t}\n\tif (\"qualityGate\" in proc) {\n\t\tconst r = validateEnabledGate(proc.qualityGate, `${path}.qualityGate`);\n\t\tif (r) return r;\n\t}\n\tif (\"contradictionDetection\" in proc) {\n\t\tconst r = validateEnabledGate(proc.contradictionDetection, `${path}.contradictionDetection`);\n\t\tif (r) return r;\n\t}\n\tif (\"defaultSince\" in proc) {\n\t\tconst r = expectStr(proc.defaultSince, `${path}.defaultSince`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxTotalChars\" in proc) {\n\t\tconst r = expectPosInt(proc.maxTotalChars, `${path}.maxTotalChars`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxChunkSize\" in proc) {\n\t\tif (typeof proc.maxChunkSize !== \"number\" || !Number.isInteger(proc.maxChunkSize) || proc.maxChunkSize < 1 || proc.maxChunkSize > 50) return /* @__PURE__ */ new Error(`${path}.maxChunkSize must be an integer 1–50`);\n\t}\n\tif (\"applyMode\" in proc && (typeof proc.applyMode !== \"string\" || !APPLY_MODES.has(proc.applyMode))) return /* @__PURE__ */ new Error(`${path}.applyMode must be queue or promote`);\n\tif (\"policy\" in proc) {\n\t\tconst r = expectStr(proc.policy, `${path}.policy`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxAcceptsPerRun\" in proc) {\n\t\tconst r = expectPosInt(proc.maxAcceptsPerRun, `${path}.maxAcceptsPerRun`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxDiffLines\" in proc) {\n\t\tconst r = expectPosInt(proc.maxDiffLines, `${path}.maxDiffLines`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"rejectEmpty\" in proc) {\n\t\tconst r = expectBool(proc.rejectEmpty, `${path}.rejectEmpty`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"judgment\" in proc) {\n\t\tif (!isRec(proc.judgment)) return /* @__PURE__ */ new Error(`${path}.judgment must be an object`);\n\t\tconst j = proc.judgment;\n\t\tif (\"mode\" in j && (typeof j.mode !== \"string\" || !FEAT_MODES.has(j.mode))) return /* @__PURE__ */ new Error(`${path}.judgment.mode must be llm, agent, or sdk`);\n\t\tif (\"profile\" in j) {\n\t\t\tconst r = expectStr(j.profile, `${path}.judgment.profile`);\n\t\t\tif (r instanceof Error) return r;\n\t\t}\n\t\tif (\"timeoutMs\" in j && j.timeoutMs !== null) {\n\t\t\tconst r = expectPosInt(j.timeoutMs, `${path}.judgment.timeoutMs`);\n\t\t\tif (r instanceof Error) return r;\n\t\t}\n\t}\n\treturn null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, { config: readAkmConfig(getState().configDir) }, requestId);\n};\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst profilesBody = body.profiles;\n\tif (profilesBody !== void 0 && !isRec(profilesBody)) return errorResponse(400, \"bad_request\", \"profiles must be an object\", {}, requestId);\n\tconst profilesLlmBody = profilesBody?.llm;\n\tif (profilesLlmBody !== void 0) {\n\t\tif (!isRec(profilesLlmBody)) return errorResponse(400, \"bad_request\", \"profiles.llm must be an object\", {}, requestId);\n\t\tfor (const [name, entry] of Object.entries(profilesLlmBody)) {\n\t\t\tif (!isRec(entry)) return errorResponse(400, \"bad_request\", `profiles.llm.${name} must be an object`, {}, requestId);\n\t\t\tconst err = validateLlmProfile(entry, `profiles.llm.${name}`);\n\t\t\tif (err) return errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t\t}\n\t}\n\tconst profilesAgentBody = profilesBody?.agent;\n\tif (profilesAgentBody !== void 0) {\n\t\tif (!isRec(profilesAgentBody)) return errorResponse(400, \"bad_request\", \"profiles.agent must be an object\", {}, requestId);\n\t\tfor (const [name, entry] of Object.entries(profilesAgentBody)) {\n\t\t\tif (!isRec(entry)) return errorResponse(400, \"bad_request\", `profiles.agent.${name} must be an object`, {}, requestId);\n\t\t\tif (\"platform\" in entry && (typeof entry.platform !== \"string\" || !AGENT_PLATFORMS.has(entry.platform))) return errorResponse(400, \"bad_request\", `profiles.agent.${name}.platform must be opencode, claude, or opencode-sdk`, {}, requestId);\n\t\t\tif (\"bin\" in entry) {\n\t\t\t\tconst r = expectStr(entry.bin, `profiles.agent.${name}.bin`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"workspace\" in entry) {\n\t\t\t\tconst r = expectStr(entry.workspace, `profiles.agent.${name}.workspace`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"model\" in entry) {\n\t\t\t\tconst r = expectStr(entry.model, `profiles.agent.${name}.model`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"args\" in entry && !Array.isArray(entry.args)) return errorResponse(400, \"bad_request\", `profiles.agent.${name}.args must be an array`, {}, requestId);\n\t\t}\n\t}\n\tconst profilesImproveBody = profilesBody?.improve;\n\tif (profilesImproveBody !== void 0) {\n\t\tif (!isRec(profilesImproveBody)) return errorResponse(400, \"bad_request\", \"profiles.improve must be an object\", {}, requestId);\n\t\tfor (const [name, entry] of Object.entries(profilesImproveBody)) {\n\t\t\tif (!isRec(entry)) return errorResponse(400, \"bad_request\", `profiles.improve.${name} must be an object`, {}, requestId);\n\t\t\tif (\"description\" in entry) {\n\t\t\t\tconst r = expectStr(entry.description, `profiles.improve.${name}.description`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"limit\" in entry) {\n\t\t\t\tconst r = expectPosInt(entry.limit, `profiles.improve.${name}.limit`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"autoAccept\" in entry && (typeof entry.autoAccept !== \"number\" || entry.autoAccept < 0)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.autoAccept must be a non-negative number`, {}, requestId);\n\t\t\tif (\"processes\" in entry) {\n\t\t\t\tif (!isRec(entry.processes)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.processes must be an object`, {}, requestId);\n\t\t\t\tfor (const [procName, proc] of Object.entries(entry.processes)) {\n\t\t\t\t\tif (!ALLOWED_IMPROVE_PROCESSES.has(procName)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.processes.${procName} is not a recognized process name`, {}, requestId);\n\t\t\t\t\tif (!isRec(proc)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.processes.${procName} must be an object`, {}, requestId);\n\t\t\t\t\tconst err = validateImproveProcess(proc, `profiles.improve.${name}.processes.${procName}`);\n\t\t\t\t\tif (err) return errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\"sync\" in entry) {\n\t\t\t\tif (!isRec(entry.sync)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.sync must be an object`, {}, requestId);\n\t\t\t\tconst sync = entry.sync;\n\t\t\t\tif (\"enabled\" in sync) {\n\t\t\t\t\tconst r = expectBool(sync.enabled, `profiles.improve.${name}.sync.enabled`);\n\t\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t\t}\n\t\t\t\tif (\"push\" in sync) {\n\t\t\t\t\tconst r = expectBool(sync.push, `profiles.improve.${name}.sync.push`);\n\t\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t\t}\n\t\t\t\tif (\"message\" in sync) {\n\t\t\t\t\tconst r = expectStr(sync.message, `profiles.improve.${name}.sync.message`);\n\t\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tconst defaultsBody = body.defaults;\n\tif (defaultsBody !== void 0 && !isRec(defaultsBody)) return errorResponse(400, \"bad_request\", \"defaults must be an object\", {}, requestId);\n\tif (defaultsBody?.llm !== void 0) {\n\t\tconst r = expectStr(defaultsBody.llm, \"defaults.llm\");\n\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t}\n\tif (defaultsBody?.agent !== void 0) {\n\t\tconst r = expectStr(defaultsBody.agent, \"defaults.agent\");\n\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t}\n\tif (defaultsBody?.improve !== void 0) {\n\t\tconst r = expectStr(defaultsBody.improve, \"defaults.improve\");\n\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t}\n\tconst embBody = body.embedding;\n\tif (embBody !== void 0) {\n\t\tif (!isRec(embBody)) return errorResponse(400, \"bad_request\", \"embedding must be an object\", {}, requestId);\n\t\tfor (const f of [\n\t\t\t\"endpoint\",\n\t\t\t\"model\",\n\t\t\t\"provider\",\n\t\t\t\"apiKey\",\n\t\t\t\"localModel\"\n\t\t]) if (f in embBody) {\n\t\t\tconst r = expectStr(embBody[f], `embedding.${f}`);\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tif (\"dimension\" in embBody) {\n\t\t\tconst r = expectPosInt(embBody.dimension, \"embedding.dimension\");\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tfor (const f of [\n\t\t\t\"maxTokens\",\n\t\t\t\"batchSize\",\n\t\t\t\"chunkSize\",\n\t\t\t\"contextLength\"\n\t\t]) if (f in embBody) {\n\t\t\tconst r = expectPosInt(embBody[f], `embedding.${f}`);\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tif (isRec(embBody.ollamaOptions) && \"num_ctx\" in embBody.ollamaOptions) {\n\t\t\tconst r = expectPosInt(embBody.ollamaOptions.num_ctx, \"embedding.ollamaOptions.num_ctx\");\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t}\n\tif (\"semanticSearchMode\" in body && (typeof body.semanticSearchMode !== \"string\" || !SEMANTIC_SEARCH_MODES.has(body.semanticSearchMode))) return errorResponse(400, \"bad_request\", \"semanticSearchMode must be \\\"auto\\\" or \\\"off\\\"\", {}, requestId);\n\tconst outputBody = body.output;\n\tif (outputBody !== void 0) {\n\t\tif (!isRec(outputBody)) return errorResponse(400, \"bad_request\", \"output must be an object\", {}, requestId);\n\t\tif (\"format\" in outputBody && (typeof outputBody.format !== \"string\" || !OUTPUT_FORMATS.has(outputBody.format))) return errorResponse(400, \"bad_request\", \"output.format must be json, yaml, or text\", {}, requestId);\n\t\tif (\"detail\" in outputBody && (typeof outputBody.detail !== \"string\" || !OUTPUT_DETAILS.has(outputBody.detail))) return errorResponse(400, \"bad_request\", \"output.detail must be brief, normal, or full\", {}, requestId);\n\t}\n\tconst improveTopBody = body.improve;\n\tif (improveTopBody !== void 0) {\n\t\tif (!isRec(improveTopBody)) return errorResponse(400, \"bad_request\", \"improve must be an object\", {}, requestId);\n\t\tif (\"utilityDecay\" in improveTopBody) {\n\t\t\tif (!isRec(improveTopBody.utilityDecay)) return errorResponse(400, \"bad_request\", \"improve.utilityDecay must be an object\", {}, requestId);\n\t\t\tconst d = improveTopBody.utilityDecay;\n\t\t\tif (\"halfLifeDays\" in d && (typeof d.halfLifeDays !== \"number\" || d.halfLifeDays < .1)) return errorResponse(400, \"bad_request\", \"improve.utilityDecay.halfLifeDays must be a number ≥ 0.1\", {}, requestId);\n\t\t\tif (\"feedbackStabilityBoost\" in d && (typeof d.feedbackStabilityBoost !== \"number\" || d.feedbackStabilityBoost < 1)) return errorResponse(400, \"bad_request\", \"improve.utilityDecay.feedbackStabilityBoost must be a number ≥ 1\", {}, requestId);\n\t\t}\n\t\tif (\"eventRetentionDays\" in improveTopBody && (typeof improveTopBody.eventRetentionDays !== \"number\" || improveTopBody.eventRetentionDays < 0)) return errorResponse(400, \"bad_request\", \"improve.eventRetentionDays must be a non-negative number\", {}, requestId);\n\t}\n\tconst searchBody = body.search;\n\tif (searchBody !== void 0) {\n\t\tif (!isRec(searchBody)) return errorResponse(400, \"bad_request\", \"search must be an object\", {}, requestId);\n\t\tif (\"minScore\" in searchBody && (typeof searchBody.minScore !== \"number\" || searchBody.minScore < 0)) return errorResponse(400, \"bad_request\", \"search.minScore must be a non-negative number\", {}, requestId);\n\t\tif (\"curateRerank\" in searchBody) {\n\t\t\tconst r = validateEnabledGate(searchBody.curateRerank, \"search.curateRerank\");\n\t\t\tif (r) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t}\n\tconst feedbackBody = body.feedback;\n\tif (feedbackBody !== void 0) {\n\t\tif (!isRec(feedbackBody)) return errorResponse(400, \"bad_request\", \"feedback must be an object\", {}, requestId);\n\t\tif (\"requireReason\" in feedbackBody) {\n\t\t\tconst r = expectBool(feedbackBody.requireReason, \"feedback.requireReason\");\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tif (\"allowedFailureModes\" in feedbackBody && (!Array.isArray(feedbackBody.allowedFailureModes) || !feedbackBody.allowedFailureModes.every((m) => typeof m === \"string\" && m.length > 0))) return errorResponse(400, \"bad_request\", \"feedback.allowedFailureModes must be an array of non-empty strings\", {}, requestId);\n\t}\n\tconst indexBody = body.index;\n\tif (indexBody !== void 0 && !isRec(indexBody)) return errorResponse(400, \"bad_request\", \"index must be an object keyed by pass name\", {}, requestId);\n\ttry {\n\t\tconst existing = readAkmConfig(state.configDir);\n\t\tconst updated = { ...existing };\n\t\tif (profilesBody !== void 0) {\n\t\t\tconst existingProfiles = existing.profiles ?? {};\n\t\t\tconst newProfiles = { ...existingProfiles };\n\t\t\tif (profilesLlmBody !== void 0) {\n\t\t\t\tconst built = {};\n\t\t\t\tfor (const [name, entry] of Object.entries(profilesLlmBody)) built[name] = pickLlmProfile(entry);\n\t\t\t\tnewProfiles.llm = built;\n\t\t\t}\n\t\t\tif (profilesAgentBody !== void 0) {\n\t\t\t\tconst built = {};\n\t\t\t\tfor (const [name, entry] of Object.entries(profilesAgentBody)) {\n\t\t\t\t\tconst raw = entry;\n\t\t\t\t\tconst agentEntry = {};\n\t\t\t\t\tif (\"platform\" in raw) agentEntry.platform = raw.platform;\n\t\t\t\t\tif (\"bin\" in raw && raw.bin) agentEntry.bin = raw.bin;\n\t\t\t\t\tif (\"args\" in raw && Array.isArray(raw.args) && raw.args.length) agentEntry.args = raw.args;\n\t\t\t\t\tif (\"workspace\" in raw && raw.workspace) agentEntry.workspace = raw.workspace;\n\t\t\t\t\tif (\"model\" in raw && raw.model) agentEntry.model = raw.model;\n\t\t\t\t\tbuilt[name] = agentEntry;\n\t\t\t\t}\n\t\t\t\tnewProfiles.agent = built;\n\t\t\t}\n\t\t\tif (profilesImproveBody !== void 0) {\n\t\t\t\tconst existingImprove = existingProfiles.improve ?? {};\n\t\t\t\tconst builtImprove = {};\n\t\t\t\tfor (const [name, entry] of Object.entries(profilesImproveBody)) {\n\t\t\t\t\tconst raw = entry;\n\t\t\t\t\tconst existingProfile = existingImprove[name] ?? {};\n\t\t\t\t\tconst profileEntry = { ...existingProfile };\n\t\t\t\t\tif (\"description\" in raw && raw.description) profileEntry.description = raw.description;\n\t\t\t\t\tif (\"limit\" in raw) profileEntry.limit = raw.limit;\n\t\t\t\t\tif (\"autoAccept\" in raw) profileEntry.autoAccept = raw.autoAccept;\n\t\t\t\t\tif (\"processes\" in raw && isRec(raw.processes)) {\n\t\t\t\t\t\tconst newProcs = { ...existingProfile.processes ?? {} };\n\t\t\t\t\t\tfor (const [procName, proc] of Object.entries(raw.processes)) newProcs[procName] = proc;\n\t\t\t\t\t\tprofileEntry.processes = newProcs;\n\t\t\t\t\t}\n\t\t\t\t\tif (\"sync\" in raw) if (isRec(raw.sync)) profileEntry.sync = raw.sync;\n\t\t\t\t\telse delete profileEntry.sync;\n\t\t\t\t\tbuiltImprove[name] = profileEntry;\n\t\t\t\t}\n\t\t\t\tnewProfiles.improve = builtImprove;\n\t\t\t}\n\t\t\tupdated.profiles = newProfiles;\n\t\t}\n\t\tif (defaultsBody !== void 0) updated.defaults = {\n\t\t\t...existing.defaults ?? {},\n\t\t\t...\"llm\" in defaultsBody ? { llm: defaultsBody.llm } : {},\n\t\t\t...\"agent\" in defaultsBody ? { agent: defaultsBody.agent } : {},\n\t\t\t...\"improve\" in defaultsBody ? { improve: defaultsBody.improve } : {}\n\t\t};\n\t\tif (embBody !== void 0) {\n\t\t\tconst merged = { ...existing.embedding ?? {} };\n\t\t\tfor (const f of [\n\t\t\t\t\"endpoint\",\n\t\t\t\t\"model\",\n\t\t\t\t\"provider\",\n\t\t\t\t\"localModel\"\n\t\t\t]) if (f in embBody) if (embBody[f]) merged[f] = embBody[f];\n\t\t\telse delete merged[f];\n\t\t\tif (\"apiKey\" in embBody) if (embBody.apiKey) merged.apiKey = embBody.apiKey;\n\t\t\telse delete merged.apiKey;\n\t\t\tif (\"dimension\" in embBody) merged.dimension = embBody.dimension;\n\t\t\tfor (const f of [\n\t\t\t\t\"maxTokens\",\n\t\t\t\t\"batchSize\",\n\t\t\t\t\"chunkSize\",\n\t\t\t\t\"contextLength\"\n\t\t\t]) if (f in embBody) merged[f] = embBody[f];\n\t\t\tif (isRec(embBody.ollamaOptions) && \"num_ctx\" in embBody.ollamaOptions) merged.ollamaOptions = {\n\t\t\t\t...existing.embedding?.[\"ollamaOptions\"] ?? {},\n\t\t\t\tnum_ctx: embBody.ollamaOptions.num_ctx\n\t\t\t};\n\t\t\tupdated.embedding = merged;\n\t\t}\n\t\tif (\"semanticSearchMode\" in body) updated.semanticSearchMode = body.semanticSearchMode;\n\t\tupdated.stashDir = \"/stash\";\n\t\tif (outputBody !== void 0) updated.output = {\n\t\t\t...existing.output ?? {},\n\t\t\t...\"format\" in outputBody ? { format: outputBody.format } : {},\n\t\t\t...\"detail\" in outputBody ? { detail: outputBody.detail } : {}\n\t\t};\n\t\tif (improveTopBody !== void 0) updated.improve = improveTopBody;\n\t\tif (searchBody !== void 0) updated.search = searchBody;\n\t\tif (feedbackBody !== void 0) updated.feedback = feedbackBody;\n\t\tif (indexBody !== void 0) updated.index = indexBody;\n\t\tmkdirSync(`${state.configDir}/akm`, { recursive: true });\n\t\twriteFileAtomic(akmConfigPath(state.configDir), JSON.stringify(updated, null, 2), 384);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tconfig: updated\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"internal_error\", `Failed to persist akm config: ${String(e)}`, {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, PATCH };\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { w as withAdminBody, k as jsonResponse } from './helpers-zCNRvZpT.js';
2
- import { o as opencodeFetch } from './http-Cm-sRzTa.js';
1
+ import { w as withAdminBody, k as jsonResponse } from './helpers-BQ_IzT4l.js';
2
+ import { o as opencodeFetch } from './http-CW8qaRto.js';
3
3
  import { a as asStringOrEmpty, e as extractInputs } from './_helpers-B_lb4-jB.js';
4
- import './src-efp8mb8-.js';
4
+ import './src-D4RUgmPp.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
+ import './dist-DOFcG0Zp.js';
7
8
  import 'node:fs';
8
9
  import 'node:path';
9
10
  import 'buffer';
@@ -21,7 +22,7 @@ import 'assert';
21
22
  import 'zlib';
22
23
  import 'node:assert';
23
24
  import 'node:fs/promises';
24
- import './endpoints-D6uoesB9.js';
25
+ import './endpoints-Crjg6AFu.js';
25
26
  import './coercion-TNFJisCC.js';
26
27
 
27
28
  //#region src/routes/admin/providers/oauth/start/+server.ts
@@ -74,4 +75,4 @@ var POST = (event) => withAdminBody(event, async ({ requestId, body }) => {
74
75
  });
75
76
 
76
77
  export { POST };
77
- //# sourceMappingURL=_server.ts-CoIWXJLt.js.map
78
+ //# sourceMappingURL=_server.ts-ClPu8Rkm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CoIWXJLt.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/start/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, p as withAdminBody } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { r as extractInputs, t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/start/+server.ts\n/**\n* POST /admin/providers/oauth/start — Begin an OpenCode-mediated OAuth\n* sign-in for a provider. Returns the authorization URL and any extra\n* inputs the operator needs to confirm in the UI.\n*\n* Forwards directly to the running assistant's OpenCode at\n* OP_OPENCODE_URL, which holds the OAuth methods map needed to issue\n* the authorize request.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tif (!providerId || Number.isNaN(methodIndex)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider sign-in method first.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tconst inputs = extractInputs(body);\n\t\tconst oauth = await opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/authorize`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\t...inputs ? { inputs } : {}\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth flow prepared. Open the link below to continue.\",\n\t\t\tselectedProviderId: providerId,\n\t\t\toauth: {\n\t\t\t\tproviderId,\n\t\t\t\tmethodIndex,\n\t\t\t\turl: oauth.url,\n\t\t\t\tmode: oauth.method,\n\t\t\t\tinstructions: oauth.instructions,\n\t\t\t\tinputs\n\t\t\t}\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACzE,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,yCAAyC;AACrD,GAAG,kBAAkB,EAAE,KAAK;AAC5B,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,EAAE;AACnG,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,GAAG,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG;AAC7B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,uDAAuD;AACnE,GAAG,kBAAkB,EAAE,UAAU;AACjC,GAAG,KAAK,EAAE;AACV,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM;AACtB,IAAI,YAAY,EAAE,KAAK,CAAC,YAAY;AACpC,IAAI;AACJ;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
1
+ {"version":3,"file":"_server.ts-ClPu8Rkm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/start/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, p as withAdminBody } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { r as extractInputs, t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/start/+server.ts\n/**\n* POST /admin/providers/oauth/start — Begin an OpenCode-mediated OAuth\n* sign-in for a provider. Returns the authorization URL and any extra\n* inputs the operator needs to confirm in the UI.\n*\n* Forwards directly to the running assistant's OpenCode at\n* OP_OPENCODE_URL, which holds the OAuth methods map needed to issue\n* the authorize request.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tif (!providerId || Number.isNaN(methodIndex)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider sign-in method first.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tconst inputs = extractInputs(body);\n\t\tconst oauth = await opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/authorize`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\t...inputs ? { inputs } : {}\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth flow prepared. Open the link below to continue.\",\n\t\t\tselectedProviderId: providerId,\n\t\t\toauth: {\n\t\t\t\tproviderId,\n\t\t\t\tmethodIndex,\n\t\t\t\turl: oauth.url,\n\t\t\t\tmode: oauth.method,\n\t\t\t\tinstructions: oauth.instructions,\n\t\t\t\tinputs\n\t\t\t}\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACzE,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,yCAAyC;AACrD,GAAG,kBAAkB,EAAE,KAAK;AAC5B,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,EAAE;AACnG,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,GAAG,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG;AAC7B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,uDAAuD;AACnE,GAAG,kBAAkB,EAAE,UAAU;AACjC,GAAG,KAAK,EAAE;AACV,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM;AACtB,IAAI,YAAY,EAAE,KAAK,CAAC,YAAY;AACpC,IAAI;AACJ;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
@@ -1,9 +1,10 @@
1
- import { z as createLogger, a3 as isAllowedService, n as checkDocker, u as composeRestart, l as buildComposeOptions } from './src-efp8mb8-.js';
2
- import { b as getState } from './endpoints-D6uoesB9.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-zCNRvZpT.js';
1
+ import { z as createLogger, a3 as isAllowedService, n as checkDocker, u as composeRestart, l as buildComposeOptions } from './src-D4RUgmPp.js';
2
+ import { b as getState } from './endpoints-Crjg6AFu.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-BQ_IzT4l.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
+ import './dist-DOFcG0Zp.js';
7
8
  import 'node:fs';
8
9
  import 'node:path';
9
10
  import 'buffer';
@@ -50,4 +51,4 @@ var POST = async (event) => {
50
51
  };
51
52
 
52
53
  export { POST };
53
- //# sourceMappingURL=_server.ts-CKqIuso7.js.map
54
+ //# sourceMappingURL=_server.ts-CosA5eNc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CKqIuso7.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { D as buildComposeOptions, G as composeRestart, L as isAllowedService, R as checkDocker, Vt as createLogger } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CosA5eNc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { D as buildComposeOptions, G as composeRestart, L as isAllowedService, R as checkDocker, Vt as createLogger } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,9 +1,10 @@
1
- import { b as getState } from './endpoints-D6uoesB9.js';
2
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-zCNRvZpT.js';
3
- import { r as runAkmCommand } from './akm-B_BIZJJv.js';
4
- import './src-efp8mb8-.js';
1
+ import { b as getState } from './endpoints-Crjg6AFu.js';
2
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-BQ_IzT4l.js';
3
+ import { r as runAkmCommand } from './akm-DoHUKzR0.js';
4
+ import './src-D4RUgmPp.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
+ import './dist-DOFcG0Zp.js';
7
8
  import 'node:fs';
8
9
  import 'node:path';
9
10
  import 'buffer';
@@ -37,4 +38,4 @@ var POST = async (event) => {
37
38
  };
38
39
 
39
40
  export { POST };
40
- //# sourceMappingURL=_server.ts-Ch8LouSG.js.map
41
+ //# sourceMappingURL=_server.ts-CqgWbZJS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Ch8LouSG.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/reindex/_server.ts.js"],"sourcesContent":["import { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as runAkmCommand } from \"../../../../../chunks/akm.js\";\n//#region src/routes/admin/akm/reindex/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await runAkmCommand(getState(), [\"index\", \"--full\"], 15 * 6e4);\n\tif (!result.ok) return errorResponse(502, \"akm_reindex_failed\", result.stderr.trim() || result.stdout.trim() || \"AKM re-index failed.\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tmessage: \"AKM index rebuilt successfully.\",\n\t\toutput: result.stdout.trim()\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC;AAC9E,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvJ,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,iCAAiC;AAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;AAC5B,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-CqgWbZJS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/reindex/_server.ts.js"],"sourcesContent":["import { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as runAkmCommand } from \"../../../../../chunks/akm.js\";\n//#region src/routes/admin/akm/reindex/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await runAkmCommand(getState(), [\"index\", \"--full\"], 15 * 6e4);\n\tif (!result.ok) return errorResponse(502, \"akm_reindex_failed\", result.stderr.trim() || result.stdout.trim() || \"AKM re-index failed.\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tmessage: \"AKM index rebuilt successfully.\",\n\t\toutput: result.stdout.trim()\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC;AAC9E,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvJ,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,iCAAiC;AAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;AAC5B,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,8 +1,9 @@
1
- import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-zCNRvZpT.js';
2
- import { s as sessionCookieHeader } from './session-cookie-CoF3FU_0.js';
3
- import './src-efp8mb8-.js';
1
+ import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-BQ_IzT4l.js';
2
+ import { s as sessionCookieHeader } from './session-cookie-C4Vsx_M2.js';
3
+ import './src-D4RUgmPp.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
+ import './dist-DOFcG0Zp.js';
6
7
  import 'node:fs';
7
8
  import 'node:path';
8
9
  import 'buffer';
@@ -20,7 +21,7 @@ import 'assert';
20
21
  import 'zlib';
21
22
  import 'node:assert';
22
23
  import 'node:fs/promises';
23
- import './endpoints-D6uoesB9.js';
24
+ import './endpoints-Crjg6AFu.js';
24
25
 
25
26
  //#region src/routes/admin/auth/session/+server.ts
26
27
  /**
@@ -58,4 +59,4 @@ var POST = async (event) => {
58
59
  };
59
60
 
60
61
  export { POST };
61
- //# sourceMappingURL=_server.ts-BQlauqG7.js.map
62
+ //# sourceMappingURL=_server.ts-CrqxuI7F.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BQlauqG7.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/session/_server.ts.js"],"sourcesContent":["import { f as safeTokenCompare, g as getUiLoginPassword, h as createSession, i as errorResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/session/+server.ts\n/**\n* POST /admin/auth/session\n*\n* Issues an `op_session` cookie after verifying the operator-supplied password\n* against `process.env.OP_UI_LOGIN_PASSWORD`.\n*\n* The cookie value is a random UUID session token — NOT the plaintext password.\n* Kept alongside `/admin/auth/login` as an alias; both verify the same\n* `password` body field and issue the `op_session` cookie.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CrqxuI7F.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/session/_server.ts.js"],"sourcesContent":["import { f as safeTokenCompare, g as getUiLoginPassword, h as createSession, i as errorResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/session/+server.ts\n/**\n* POST /admin/auth/session\n*\n* Issues an `op_session` cookie after verifying the operator-supplied password\n* against `process.env.OP_UI_LOGIN_PASSWORD`.\n*\n* The cookie value is a random UUID session token — NOT the plaintext password.\n* Kept alongside `/admin/auth/login` as an alias; both verify the same\n* `password` body field and issue the `op_session` cookie.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,9 +1,10 @@
1
- import { z as createLogger, a3 as isAllowedService, n as checkDocker, x as composeStop, l as buildComposeOptions } from './src-efp8mb8-.js';
2
- import { b as getState } from './endpoints-D6uoesB9.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-zCNRvZpT.js';
1
+ import { z as createLogger, a3 as isAllowedService, n as checkDocker, x as composeStop, l as buildComposeOptions } from './src-D4RUgmPp.js';
2
+ import { b as getState } from './endpoints-Crjg6AFu.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-BQ_IzT4l.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
+ import './dist-DOFcG0Zp.js';
7
8
  import 'node:fs';
8
9
  import 'node:path';
9
10
  import 'buffer';
@@ -50,4 +51,4 @@ var POST = async (event) => {
50
51
  };
51
52
 
52
53
  export { POST };
53
- //# sourceMappingURL=_server.ts-DTlXzoMP.js.map
54
+ //# sourceMappingURL=_server.ts-CrxFegEr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DTlXzoMP.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/down/_server.ts.js"],"sourcesContent":["import { D as buildComposeOptions, J as composeStop, L as isAllowedService, R as checkDocker, Vt as createLogger } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/down/+server.ts\nvar logger = createLogger(\"containers-down\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container stop request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:down\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeStop([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"stopped\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to stop service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"stopped\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CrxFegEr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/down/_server.ts.js"],"sourcesContent":["import { D as buildComposeOptions, J as composeStop, L as isAllowedService, R as checkDocker, Vt as createLogger } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/down/+server.ts\nvar logger = createLogger(\"containers-down\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container stop request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:down\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeStop([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"stopped\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to stop service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"stopped\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,12 +1,13 @@
1
- import { aj as readStackEnv } from './src-efp8mb8-.js';
2
- import { b as getState } from './endpoints-D6uoesB9.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-zCNRvZpT.js';
4
- import { o as opencodeFetch } from './http-Cm-sRzTa.js';
5
- import { g as getCurrentConfig } from './config-UnF5M7J6.js';
1
+ import { aj as readStackEnv } from './src-D4RUgmPp.js';
2
+ import { b as getState } from './endpoints-Crjg6AFu.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-BQ_IzT4l.js';
4
+ import { o as opencodeFetch } from './http-CW8qaRto.js';
5
+ import { g as getCurrentConfig } from './config-Bonsx0Rw.js';
6
6
  import { existsSync, readFileSync } from 'node:fs';
7
7
  import { join } from 'node:path';
8
8
  import './chunk-CLZ62Ad-.js';
9
9
  import 'node:module';
10
+ import './dist-DOFcG0Zp.js';
10
11
  import 'buffer';
11
12
  import 'node:os';
12
13
  import 'fs';
@@ -202,4 +203,4 @@ var POST = async (event) => {
202
203
  };
203
204
 
204
205
  export { POST };
205
- //# sourceMappingURL=_server.ts-Cay6JJmu.js.map
206
+ //# sourceMappingURL=_server.ts-CxEzeqf_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Cay6JJmu.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { St as readStackEnv } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/lib/server/speech-prep.ts\nfunction personaPath() {\n\treturn join(getState().configDir, \"assistant\", \"openpalm.md\");\n}\nfunction readPersona() {\n\tconst path = personaPath();\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\").trim();\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction extractText(response) {\n\treturn (response.parts ?? []).filter((part) => part.type === \"text\" && typeof part.text === \"string\").map((part) => part.text?.trim() ?? \"\").join(\" \").trim();\n}\nfunction buildPrompt(input) {\n\tconst personaBlock = input.persona ? input.persona : \"No persona markdown is configured. Use a neutral, helpful, conversational tone.\";\n\tif (input.mode === \"chat_ack\") return [\n\t\t\"You are preparing a short spoken acknowledgement for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Keep it to one brief sentence.\",\n\t\t\"Sound conversational and aligned with the persona context.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"Do not answer the full request. Just acknowledge that you are working on it.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText\n\t].join(\"\\n\");\n\treturn [\n\t\t\"You are preparing a spoken summary for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Rewrite the final assistant reply into a concise, natural, conversational response.\",\n\t\t\"Preserve the meaning and important caveats.\",\n\t\t\"Keep it brief enough for audio playback.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText,\n\t\t\"\",\n\t\t\"Final assistant reply:\",\n\t\tinput.assistantText ?? \"\"\n\t].join(\"\\n\");\n}\nfunction resolveSpeechModel(config) {\n\tconst small = typeof config.small_model === \"string\" ? config.small_model.trim() : \"\";\n\tif (small) return small;\n\treturn (typeof config.model === \"string\" ? config.model.trim() : \"\") || null;\n}\nasync function loadSpeechConfig() {\n\ttry {\n\t\treturn await opencodeFetch(\"/config\");\n\t} catch {\n\t\treturn getCurrentConfig();\n\t}\n}\nasync function prepareSpeechText(input) {\n\tconst userText = input.userText.trim();\n\tif (!userText) return null;\n\tif (input.mode === \"chat_reply\" && !input.assistantText?.trim()) return null;\n\tconst persona = readPersona();\n\tconst model = resolveSpeechModel(await loadSpeechConfig());\n\tconst prompt = buildPrompt({\n\t\tmode: input.mode,\n\t\tuserText,\n\t\tassistantText: input.assistantText?.trim(),\n\t\tpersona\n\t});\n\tlet sessionId = \"\";\n\ttry {\n\t\tconst created = await opencodeFetch(\"/session\", {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({})\n\t\t});\n\t\tsessionId = typeof created.id === \"string\" ? created.id : \"\";\n\t\tif (!sessionId) return null;\n\t\treturn extractText(await opencodeFetch(`/session/${encodeURIComponent(sessionId)}/message`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tparts: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: prompt\n\t\t\t\t}],\n\t\t\t\t...model ? { model } : {}\n\t\t\t})\n\t\t})) || null;\n\t} finally {\n\t\tif (sessionId) await opencodeFetch(`/session/${encodeURIComponent(sessionId)}`, { method: \"DELETE\" }).catch(() => {});\n\t}\n}\n//#endregion\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst mode = b.mode === \"chat_ack\" || b.mode === \"chat_reply\" ? b.mode : null;\n\tconst userText = typeof b.userText === \"string\" ? b.userText.trim() : \"\";\n\tconst assistantText = typeof b.assistantText === \"string\" ? b.assistantText.trim() : \"\";\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tlet speechText = text;\n\tif (mode) try {\n\t\tconst prepared = await prepareSpeechText({\n\t\t\tmode,\n\t\t\tuserText,\n\t\t\tassistantText\n\t\t});\n\t\tif (prepared) speechText = prepared;\n\t} catch (err) {\n\t\tconsole.warn(\"[api/speak] speech prep failed; falling back to raw text\", err);\n\t}\n\tconst upstreamUrl = ttsBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/speech\";\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers[\"authorization\"] = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CxEzeqf_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { St as readStackEnv } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/lib/server/speech-prep.ts\nfunction personaPath() {\n\treturn join(getState().configDir, \"assistant\", \"openpalm.md\");\n}\nfunction readPersona() {\n\tconst path = personaPath();\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\").trim();\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction extractText(response) {\n\treturn (response.parts ?? []).filter((part) => part.type === \"text\" && typeof part.text === \"string\").map((part) => part.text?.trim() ?? \"\").join(\" \").trim();\n}\nfunction buildPrompt(input) {\n\tconst personaBlock = input.persona ? input.persona : \"No persona markdown is configured. Use a neutral, helpful, conversational tone.\";\n\tif (input.mode === \"chat_ack\") return [\n\t\t\"You are preparing a short spoken acknowledgement for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Keep it to one brief sentence.\",\n\t\t\"Sound conversational and aligned with the persona context.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"Do not answer the full request. Just acknowledge that you are working on it.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText\n\t].join(\"\\n\");\n\treturn [\n\t\t\"You are preparing a spoken summary for text-to-speech.\",\n\t\t\"Return only the exact words to speak.\",\n\t\t\"Rewrite the final assistant reply into a concise, natural, conversational response.\",\n\t\t\"Preserve the meaning and important caveats.\",\n\t\t\"Keep it brief enough for audio playback.\",\n\t\t\"Do not use markdown, lists, or quotes.\",\n\t\t\"\",\n\t\t\"Persona markdown:\",\n\t\tpersonaBlock,\n\t\t\"\",\n\t\t\"User request:\",\n\t\tinput.userText,\n\t\t\"\",\n\t\t\"Final assistant reply:\",\n\t\tinput.assistantText ?? \"\"\n\t].join(\"\\n\");\n}\nfunction resolveSpeechModel(config) {\n\tconst small = typeof config.small_model === \"string\" ? config.small_model.trim() : \"\";\n\tif (small) return small;\n\treturn (typeof config.model === \"string\" ? config.model.trim() : \"\") || null;\n}\nasync function loadSpeechConfig() {\n\ttry {\n\t\treturn await opencodeFetch(\"/config\");\n\t} catch {\n\t\treturn getCurrentConfig();\n\t}\n}\nasync function prepareSpeechText(input) {\n\tconst userText = input.userText.trim();\n\tif (!userText) return null;\n\tif (input.mode === \"chat_reply\" && !input.assistantText?.trim()) return null;\n\tconst persona = readPersona();\n\tconst model = resolveSpeechModel(await loadSpeechConfig());\n\tconst prompt = buildPrompt({\n\t\tmode: input.mode,\n\t\tuserText,\n\t\tassistantText: input.assistantText?.trim(),\n\t\tpersona\n\t});\n\tlet sessionId = \"\";\n\ttry {\n\t\tconst created = await opencodeFetch(\"/session\", {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({})\n\t\t});\n\t\tsessionId = typeof created.id === \"string\" ? created.id : \"\";\n\t\tif (!sessionId) return null;\n\t\treturn extractText(await opencodeFetch(`/session/${encodeURIComponent(sessionId)}/message`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tparts: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: prompt\n\t\t\t\t}],\n\t\t\t\t...model ? { model } : {}\n\t\t\t})\n\t\t})) || null;\n\t} finally {\n\t\tif (sessionId) await opencodeFetch(`/session/${encodeURIComponent(sessionId)}`, { method: \"DELETE\" }).catch(() => {});\n\t}\n}\n//#endregion\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst mode = b.mode === \"chat_ack\" || b.mode === \"chat_reply\" ? b.mode : null;\n\tconst userText = typeof b.userText === \"string\" ? b.userText.trim() : \"\";\n\tconst assistantText = typeof b.assistantText === \"string\" ? b.assistantText.trim() : \"\";\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tlet speechText = text;\n\tif (mode) try {\n\t\tconst prepared = await prepareSpeechText({\n\t\t\tmode,\n\t\t\tuserText,\n\t\t\tassistantText\n\t\t});\n\t\tif (prepared) speechText = prepared;\n\t} catch (err) {\n\t\tconsole.warn(\"[api/speak] speech prep failed; falling back to raw text\", err);\n\t}\n\tconst upstreamUrl = ttsBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/speech\";\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers[\"authorization\"] = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { n as checkDocker, w as composeStats, l as buildComposeOptions } from './src-efp8mb8-.js';
2
- import { b as getState } from './endpoints-D6uoesB9.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-zCNRvZpT.js';
1
+ import { n as checkDocker, w as composeStats, l as buildComposeOptions } from './src-D4RUgmPp.js';
2
+ import { b as getState } from './endpoints-Crjg6AFu.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-BQ_IzT4l.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
+ import './dist-DOFcG0Zp.js';
6
7
  import 'node:fs';
7
8
  import 'node:path';
8
9
  import 'buffer';
@@ -41,4 +42,4 @@ var GET = async (event) => {
41
42
  };
42
43
 
43
44
  export { GET };
44
- //# sourceMappingURL=_server.ts-B8vW8q3-.js.map
45
+ //# sourceMappingURL=_server.ts-CydJkxqH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B8vW8q3-.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/stats/_server.ts.js"],"sourcesContent":["import { D as buildComposeOptions, R as checkDocker, q as composeStats } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/stats/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeStats(buildComposeOptions(state));\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get container stats: ${result.stderr}`, {}, requestId);\n\tlet stats = [];\n\tif (result.stdout.trim()) try {\n\t\tstats = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.stats] Failed to parse Docker stats output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker stats output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { stats }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,+BAA+B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC,IAAI,KAAK,GAAG,EAAE;AACf,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,CAAC,CAAC;AAC3E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AAChG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;AAC/C;;;;"}
1
+ {"version":3,"file":"_server.ts-CydJkxqH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/stats/_server.ts.js"],"sourcesContent":["import { D as buildComposeOptions, R as checkDocker, q as composeStats } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/stats/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeStats(buildComposeOptions(state));\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get container stats: ${result.stderr}`, {}, requestId);\n\tlet stats = [];\n\tif (result.stdout.trim()) try {\n\t\tstats = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.stats] Failed to parse Docker stats output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker stats output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { stats }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,+BAA+B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC,IAAI,KAAK,GAAG,EAAE;AACf,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,CAAC,CAAC;AAC3E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AAChG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;AAC/C;;;;"}
@@ -1,6 +1,6 @@
1
- import { aj as readStackEnv, b as annotateAddonProfileAvailability, X as getAddonProfiles, W as getAddonProfileSelection, a as addonProfileId, aG as writeVoiceVars, a7 as listEnabledAddonIds, x as composeStop, l as buildComposeOptions, ax as setAddonProfileSelection, aw as setAddonEnabled, V as getAddonProfileAvailability, y as composeUp, ab as parseComposeStderr } from './src-efp8mb8-.js';
2
- import { b as getState } from './endpoints-D6uoesB9.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-zCNRvZpT.js';
1
+ import { aj as readStackEnv, b as annotateAddonProfileAvailability, X as getAddonProfiles, W as getAddonProfileSelection, a as addonProfileId, aG as writeVoiceVars, a7 as listEnabledAddonIds, x as composeStop, l as buildComposeOptions, ax as setAddonProfileSelection, aw as setAddonEnabled, V as getAddonProfileAvailability, y as composeUp, ab as parseComposeStderr } from './src-D4RUgmPp.js';
2
+ import { b as getState } from './endpoints-Crjg6AFu.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-BQ_IzT4l.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import { existsSync, writeFileSync } from 'node:fs';
6
6
  import { join } from 'node:path';
@@ -8,6 +8,7 @@ import { execFile } from 'node:child_process';
8
8
  import { connect } from 'node:net';
9
9
  import './chunk-CLZ62Ad-.js';
10
10
  import 'node:module';
11
+ import './dist-DOFcG0Zp.js';
11
12
  import 'buffer';
12
13
  import 'node:os';
13
14
  import 'fs';
@@ -756,4 +757,4 @@ async function dockerHasNvidiaRuntime() {
756
757
  }
757
758
 
758
759
  export { GET, PUT };
759
- //# sourceMappingURL=_server.ts-dBLS5OxC.js.map
760
+ //# sourceMappingURL=_server.ts-Czpq8s6u.js.map