@openpalm/ui 0.12.5 → 0.12.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/chunks/{Dj1EWAPK.js → B-mBBr5-.js} +1 -1
  3. package/build/client/_app/immutable/chunks/B-mBBr5-.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/B-mBBr5-.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{C-I9DWk0.js → CRSbY4Kh.js} +1 -1
  6. package/build/client/_app/immutable/chunks/CRSbY4Kh.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/CRSbY4Kh.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/CwsyZWHi.js +1 -0
  9. package/build/client/_app/immutable/chunks/CwsyZWHi.js.br +2 -0
  10. package/build/client/_app/immutable/chunks/CwsyZWHi.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{BbrGxbnk.js → DQDnMiRB.js} +2 -2
  12. package/build/client/_app/immutable/chunks/DQDnMiRB.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/DQDnMiRB.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{Gm5hDJqK.js → QZhQ9jgL.js} +1 -1
  15. package/build/client/_app/immutable/chunks/QZhQ9jgL.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/QZhQ9jgL.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/{app.CjdOdvy8.js → app.CjeyRTKT.js} +2 -2
  18. package/build/client/_app/immutable/entry/app.CjeyRTKT.js.br +0 -0
  19. package/build/client/_app/immutable/entry/app.CjeyRTKT.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/start.B0-iB266.js +1 -0
  21. package/build/client/_app/immutable/entry/start.B0-iB266.js.br +0 -0
  22. package/build/client/_app/immutable/entry/start.B0-iB266.js.gz +0 -0
  23. package/build/client/_app/immutable/nodes/{1.C8fcW3-z.js → 1.CsV7DNn1.js} +1 -1
  24. package/build/client/_app/immutable/nodes/1.CsV7DNn1.js.br +2 -0
  25. package/build/client/_app/immutable/nodes/1.CsV7DNn1.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{4.C3UgSGBY.js → 4.KMrAUs2s.js} +2 -2
  27. package/build/client/_app/immutable/nodes/4.KMrAUs2s.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/4.KMrAUs2s.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{5.B9XFxNiH.js → 5.BtCa1kCv.js} +1 -1
  30. package/build/client/_app/immutable/nodes/5.BtCa1kCv.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/5.BtCa1kCv.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{6.DbcGHucv.js → 6.BVzjd6cM.js} +1 -1
  33. package/build/client/_app/immutable/nodes/6.BVzjd6cM.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/6.BVzjd6cM.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{7.Bba4wYdp.js → 7.vH7ptLBA.js} +1 -1
  36. package/build/client/_app/immutable/nodes/7.vH7ptLBA.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/7.vH7ptLBA.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{8.Cli07s-b.js → 8.DbovpYj-.js} +1 -1
  39. package/build/client/_app/immutable/nodes/8.DbovpYj-.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/8.DbovpYj-.js.gz +0 -0
  41. package/build/client/_app/version.json +1 -1
  42. package/build/client/_app/version.json.br +1 -1
  43. package/build/client/_app/version.json.gz +0 -0
  44. package/build/server/chunks/1-tqcyjyYn.js +9 -0
  45. package/build/server/chunks/{1-CCWcWeB-.js.map → 1-tqcyjyYn.js.map} +1 -1
  46. package/build/server/chunks/{10-CNK3uF1Q.js → 10-ClWWC_db.js} +5 -5
  47. package/build/server/chunks/{10-CNK3uF1Q.js.map → 10-ClWWC_db.js.map} +1 -1
  48. package/build/server/chunks/4-D45BCCjA.js +9 -0
  49. package/build/server/chunks/{4-DWf_ECl3.js.map → 4-D45BCCjA.js.map} +1 -1
  50. package/build/server/chunks/{5-DdnRlGC3.js → 5-DKkkz5Zu.js} +3 -3
  51. package/build/server/chunks/{5-DdnRlGC3.js.map → 5-DKkkz5Zu.js.map} +1 -1
  52. package/build/server/chunks/{6-Ccae3mrA.js → 6-BmCqItlR.js} +3 -3
  53. package/build/server/chunks/{6-Ccae3mrA.js.map → 6-BmCqItlR.js.map} +1 -1
  54. package/build/server/chunks/7-BCjeTrAw.js +9 -0
  55. package/build/server/chunks/{7-ChMgFav-.js.map → 7-BCjeTrAw.js.map} +1 -1
  56. package/build/server/chunks/{8-BZZqMdyC.js → 8-BQYJohzV.js} +3 -3
  57. package/build/server/chunks/{8-BZZqMdyC.js.map → 8-BQYJohzV.js.map} +1 -1
  58. package/build/server/chunks/{ChatMessage-BRsKmSHX.js → ChatMessage-sBxcrkH1.js} +2 -2
  59. package/build/server/chunks/{ChatMessage-BRsKmSHX.js.map → ChatMessage-sBxcrkH1.js.map} +1 -1
  60. package/build/server/chunks/{Navbar-BmKhtH9A.js → Navbar-DocCJCkJ.js} +3 -3
  61. package/build/server/chunks/{Navbar-BmKhtH9A.js.map → Navbar-DocCJCkJ.js.map} +1 -1
  62. package/build/server/chunks/{_page.svelte-CTN6igHK.js → _page.svelte-BW1I5ypa.js} +5 -5
  63. package/build/server/chunks/{_page.svelte-CTN6igHK.js.map → _page.svelte-BW1I5ypa.js.map} +1 -1
  64. package/build/server/chunks/{_page.svelte-D_wbKTRP.js → _page.svelte-BY9Xi4AF.js} +8 -8
  65. package/build/server/chunks/_page.svelte-BY9Xi4AF.js.map +1 -0
  66. package/build/server/chunks/{_page.svelte-CrFforkM.js → _page.svelte-BjO6HPPf.js} +3 -3
  67. package/build/server/chunks/{_page.svelte-CrFforkM.js.map → _page.svelte-BjO6HPPf.js.map} +1 -1
  68. package/build/server/chunks/{_page.svelte-9Pkbpuj_.js → _page.svelte-BwkM4u_N.js} +5 -5
  69. package/build/server/chunks/{_page.svelte-9Pkbpuj_.js.map → _page.svelte-BwkM4u_N.js.map} +1 -1
  70. package/build/server/chunks/{_page.svelte-CpfZ7HoC.js → _page.svelte-MZeeV3UU.js} +6 -6
  71. package/build/server/chunks/{_page.svelte-CpfZ7HoC.js.map → _page.svelte-MZeeV3UU.js.map} +1 -1
  72. package/build/server/chunks/{_server.ts-CkCKp55w.js → _server.ts-00h626-G.js} +7 -7
  73. package/build/server/chunks/{_server.ts-CkCKp55w.js.map → _server.ts-00h626-G.js.map} +1 -1
  74. package/build/server/chunks/{_server.ts-BlhHYpxu.js → _server.ts-2U69xsqn.js} +6 -6
  75. package/build/server/chunks/{_server.ts-BlhHYpxu.js.map → _server.ts-2U69xsqn.js.map} +1 -1
  76. package/build/server/chunks/{_server.ts-CG16D3SY.js → _server.ts-8dbeS-B9.js} +5 -5
  77. package/build/server/chunks/{_server.ts-CG16D3SY.js.map → _server.ts-8dbeS-B9.js.map} +1 -1
  78. package/build/server/chunks/{_server.ts-DX2bpJhj.js → _server.ts-B0-1jdCf.js} +5 -5
  79. package/build/server/chunks/{_server.ts-DX2bpJhj.js.map → _server.ts-B0-1jdCf.js.map} +1 -1
  80. package/build/server/chunks/{_server.ts-DcjjRTuk.js → _server.ts-B0USMUoE.js} +5 -5
  81. package/build/server/chunks/{_server.ts-DcjjRTuk.js.map → _server.ts-B0USMUoE.js.map} +1 -1
  82. package/build/server/chunks/{_server.ts-Do1ZN3ik.js → _server.ts-B0Zn6ksk.js} +2 -2
  83. package/build/server/chunks/{_server.ts-Do1ZN3ik.js.map → _server.ts-B0Zn6ksk.js.map} +1 -1
  84. package/build/server/chunks/{_server.ts-MkkSU-Ac.js → _server.ts-B2ePIe7k.js} +5 -5
  85. package/build/server/chunks/{_server.ts-MkkSU-Ac.js.map → _server.ts-B2ePIe7k.js.map} +1 -1
  86. package/build/server/chunks/{_server.ts-D6XsxcOL.js → _server.ts-B5mSiQLP.js} +6 -6
  87. package/build/server/chunks/{_server.ts-D6XsxcOL.js.map → _server.ts-B5mSiQLP.js.map} +1 -1
  88. package/build/server/chunks/{_server.ts-DuTNKVSD.js → _server.ts-B6fdoTeE.js} +5 -5
  89. package/build/server/chunks/{_server.ts-DuTNKVSD.js.map → _server.ts-B6fdoTeE.js.map} +1 -1
  90. package/build/server/chunks/{_server.ts-D2fUBbti.js → _server.ts-B6kClDcC.js} +5 -5
  91. package/build/server/chunks/{_server.ts-D2fUBbti.js.map → _server.ts-B6kClDcC.js.map} +1 -1
  92. package/build/server/chunks/{_server.ts-CD4DKXJZ.js → _server.ts-B8O9kJIV.js} +5 -5
  93. package/build/server/chunks/{_server.ts-CD4DKXJZ.js.map → _server.ts-B8O9kJIV.js.map} +1 -1
  94. package/build/server/chunks/{_server.ts-CIYWOnnF.js → _server.ts-BNXbXpJ7.js} +5 -5
  95. package/build/server/chunks/{_server.ts-CIYWOnnF.js.map → _server.ts-BNXbXpJ7.js.map} +1 -1
  96. package/build/server/chunks/{_server.ts-Dh7z60hJ.js → _server.ts-BRMEdAL7.js} +5 -5
  97. package/build/server/chunks/{_server.ts-Dh7z60hJ.js.map → _server.ts-BRMEdAL7.js.map} +1 -1
  98. package/build/server/chunks/{_server.ts-rkzt0r-q.js → _server.ts-BS4JFPG5.js} +2 -2
  99. package/build/server/chunks/{_server.ts-rkzt0r-q.js.map → _server.ts-BS4JFPG5.js.map} +1 -1
  100. package/build/server/chunks/{_server.ts-Ce2ZRKAR.js → _server.ts-BT_5f2pb.js} +5 -5
  101. package/build/server/chunks/{_server.ts-Ce2ZRKAR.js.map → _server.ts-BT_5f2pb.js.map} +1 -1
  102. package/build/server/chunks/{_server.ts-LfrSVvpe.js → _server.ts-BTkI0MYh.js} +5 -5
  103. package/build/server/chunks/{_server.ts-LfrSVvpe.js.map → _server.ts-BTkI0MYh.js.map} +1 -1
  104. package/build/server/chunks/{_server.ts-DE3HYcqn.js → _server.ts-BYY93Gcc.js} +5 -5
  105. package/build/server/chunks/{_server.ts-DE3HYcqn.js.map → _server.ts-BYY93Gcc.js.map} +1 -1
  106. package/build/server/chunks/{_server.ts-BYKmh2Cd.js → _server.ts-BYntUWuo.js} +6 -6
  107. package/build/server/chunks/{_server.ts-BYKmh2Cd.js.map → _server.ts-BYntUWuo.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-D9jM-zYf.js → _server.ts-BbArt_tL.js} +5 -5
  109. package/build/server/chunks/{_server.ts-D9jM-zYf.js.map → _server.ts-BbArt_tL.js.map} +1 -1
  110. package/build/server/chunks/{_server.ts-CqsJ8wae.js → _server.ts-BbHE4obG.js} +5 -5
  111. package/build/server/chunks/{_server.ts-CqsJ8wae.js.map → _server.ts-BbHE4obG.js.map} +1 -1
  112. package/build/server/chunks/{_server.ts-BPYks0Y7.js → _server.ts-Bd3yJr4m.js} +5 -5
  113. package/build/server/chunks/{_server.ts-BPYks0Y7.js.map → _server.ts-Bd3yJr4m.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-BNURY9TS.js → _server.ts-Bi-lppMP.js} +5 -5
  115. package/build/server/chunks/{_server.ts-BNURY9TS.js.map → _server.ts-Bi-lppMP.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-F1lZinPD.js → _server.ts-Bk8_1LiE.js} +5 -5
  117. package/build/server/chunks/{_server.ts-F1lZinPD.js.map → _server.ts-Bk8_1LiE.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-CfNm3_4O.js → _server.ts-Bo6s1ApS.js} +2 -2
  119. package/build/server/chunks/{_server.ts-CfNm3_4O.js.map → _server.ts-Bo6s1ApS.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-4MXWuUGn.js → _server.ts-ByQUGvJ2.js} +7 -7
  121. package/build/server/chunks/{_server.ts-4MXWuUGn.js.map → _server.ts-ByQUGvJ2.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-DseFXx6h.js → _server.ts-BygTeTVH.js} +5 -5
  123. package/build/server/chunks/{_server.ts-DseFXx6h.js.map → _server.ts-BygTeTVH.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-Cr3ByesR.js → _server.ts-C3bsXngt.js} +5 -5
  125. package/build/server/chunks/{_server.ts-Cr3ByesR.js.map → _server.ts-C3bsXngt.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-Dohre8oq.js → _server.ts-CBPnXtls.js} +5 -5
  127. package/build/server/chunks/{_server.ts-Dohre8oq.js.map → _server.ts-CBPnXtls.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-CMZjwvn9.js → _server.ts-CCP8qBay.js} +5 -5
  129. package/build/server/chunks/{_server.ts-CMZjwvn9.js.map → _server.ts-CCP8qBay.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-uoojnzF7.js → _server.ts-CLZTQAem.js} +4 -4
  131. package/build/server/chunks/{_server.ts-uoojnzF7.js.map → _server.ts-CLZTQAem.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-ODKqhaDX.js → _server.ts-CMC-D6G8.js} +5 -5
  133. package/build/server/chunks/{_server.ts-ODKqhaDX.js.map → _server.ts-CMC-D6G8.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-B378kkJ3.js → _server.ts-CP-vg4Mu.js} +5 -5
  135. package/build/server/chunks/{_server.ts-B378kkJ3.js.map → _server.ts-CP-vg4Mu.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-BSbUfKzE.js → _server.ts-CPhe1fct.js} +7 -7
  137. package/build/server/chunks/{_server.ts-BSbUfKzE.js.map → _server.ts-CPhe1fct.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-BncDwlAM.js → _server.ts-CQ9c5VQq.js} +7 -7
  139. package/build/server/chunks/{_server.ts-BncDwlAM.js.map → _server.ts-CQ9c5VQq.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-CRleBnMm.js → _server.ts-CTGWKDqf.js} +5 -5
  141. package/build/server/chunks/{_server.ts-CRleBnMm.js.map → _server.ts-CTGWKDqf.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-C2AXTxHg.js → _server.ts-CV72vnaf.js} +6 -6
  143. package/build/server/chunks/{_server.ts-C2AXTxHg.js.map → _server.ts-CV72vnaf.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-liUR98Id.js → _server.ts-CVuztMSL.js} +5 -5
  145. package/build/server/chunks/{_server.ts-liUR98Id.js.map → _server.ts-CVuztMSL.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-BM3ivna6.js → _server.ts-CVxVsVXt.js} +11 -7
  147. package/build/server/chunks/_server.ts-CVxVsVXt.js.map +1 -0
  148. package/build/server/chunks/{_server.ts-CoUmpZaT.js → _server.ts-CX3Pbgq3.js} +5 -5
  149. package/build/server/chunks/{_server.ts-CoUmpZaT.js.map → _server.ts-CX3Pbgq3.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-bWP8B_W9.js → _server.ts-CaJXmvRh.js} +6 -6
  151. package/build/server/chunks/{_server.ts-bWP8B_W9.js.map → _server.ts-CaJXmvRh.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-D4MxN356.js → _server.ts-Cc5hNlzC.js} +2 -2
  153. package/build/server/chunks/{_server.ts-D4MxN356.js.map → _server.ts-Cc5hNlzC.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-doEXECUj.js → _server.ts-ChWPLbia.js} +5 -5
  155. package/build/server/chunks/{_server.ts-doEXECUj.js.map → _server.ts-ChWPLbia.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-7i00xmU7.js → _server.ts-CpyY-cWr.js} +5 -5
  157. package/build/server/chunks/{_server.ts-7i00xmU7.js.map → _server.ts-CpyY-cWr.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-D-vCeexM.js → _server.ts-CsVvCVw7.js} +5 -5
  159. package/build/server/chunks/{_server.ts-D-vCeexM.js.map → _server.ts-CsVvCVw7.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-C3RpHeA8.js → _server.ts-CuYxH3uM.js} +5 -5
  161. package/build/server/chunks/{_server.ts-C3RpHeA8.js.map → _server.ts-CuYxH3uM.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-B_6wamaS.js → _server.ts-D69kt8gW.js} +6 -6
  163. package/build/server/chunks/{_server.ts-B_6wamaS.js.map → _server.ts-D69kt8gW.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-BimWavgo.js → _server.ts-D6gXnT0S.js} +6 -6
  165. package/build/server/chunks/{_server.ts-BimWavgo.js.map → _server.ts-D6gXnT0S.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-AWmzn9Ei.js → _server.ts-DC_Vh8E6.js} +5 -5
  167. package/build/server/chunks/{_server.ts-AWmzn9Ei.js.map → _server.ts-DC_Vh8E6.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-CIGwu7Rv.js → _server.ts-DDpDu1Zf.js} +5 -5
  169. package/build/server/chunks/{_server.ts-CIGwu7Rv.js.map → _server.ts-DDpDu1Zf.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-BJ_2imNH.js → _server.ts-DEwkX3ls.js} +6 -6
  171. package/build/server/chunks/{_server.ts-BJ_2imNH.js.map → _server.ts-DEwkX3ls.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-BbO_qS7O.js → _server.ts-DGS3HL5L.js} +5 -5
  173. package/build/server/chunks/{_server.ts-BbO_qS7O.js.map → _server.ts-DGS3HL5L.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-4DfIozNZ.js → _server.ts-DGWQtatZ.js} +5 -5
  175. package/build/server/chunks/{_server.ts-4DfIozNZ.js.map → _server.ts-DGWQtatZ.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-CU0mW3h1.js → _server.ts-DHBcE-xZ.js} +6 -6
  177. package/build/server/chunks/{_server.ts-CU0mW3h1.js.map → _server.ts-DHBcE-xZ.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-DD9BtnQo.js → _server.ts-DJX0LiE-.js} +7 -7
  179. package/build/server/chunks/{_server.ts-DD9BtnQo.js.map → _server.ts-DJX0LiE-.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-DPgJ_FII.js → _server.ts-DL0R4W6K.js} +5 -5
  181. package/build/server/chunks/{_server.ts-DPgJ_FII.js.map → _server.ts-DL0R4W6K.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-AYPPlPcE.js → _server.ts-DLgRTupQ.js} +5 -5
  183. package/build/server/chunks/{_server.ts-AYPPlPcE.js.map → _server.ts-DLgRTupQ.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-6C6B5LPj.js → _server.ts-DLtfdvdM.js} +5 -5
  185. package/build/server/chunks/{_server.ts-6C6B5LPj.js.map → _server.ts-DLtfdvdM.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-D5NudFEC.js → _server.ts-DM3isq5U.js} +6 -6
  187. package/build/server/chunks/{_server.ts-D5NudFEC.js.map → _server.ts-DM3isq5U.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-Be0ekB2x.js → _server.ts-DMHPUxEu.js} +5 -5
  189. package/build/server/chunks/{_server.ts-Be0ekB2x.js.map → _server.ts-DMHPUxEu.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-II_TqXR4.js → _server.ts-DPEInT5Z.js} +5 -5
  191. package/build/server/chunks/{_server.ts-II_TqXR4.js.map → _server.ts-DPEInT5Z.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-D6snuyug.js → _server.ts-DStYEikA.js} +5 -5
  193. package/build/server/chunks/{_server.ts-D6snuyug.js.map → _server.ts-DStYEikA.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-CfJ7iDJa.js → _server.ts-DTM2mODf.js} +5 -5
  195. package/build/server/chunks/{_server.ts-CfJ7iDJa.js.map → _server.ts-DTM2mODf.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-DfrOqcLw.js → _server.ts-DccTW04Z.js} +5 -5
  197. package/build/server/chunks/{_server.ts-DfrOqcLw.js.map → _server.ts-DccTW04Z.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-Dq9Rf2QT.js → _server.ts-Ddq07WNJ.js} +5 -5
  199. package/build/server/chunks/{_server.ts-Dq9Rf2QT.js.map → _server.ts-Ddq07WNJ.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-BCOT6TjN.js → _server.ts-DfNcqz8C.js} +5 -5
  201. package/build/server/chunks/{_server.ts-BCOT6TjN.js.map → _server.ts-DfNcqz8C.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-BfpMnZOI.js → _server.ts-DjMVgo8F.js} +5 -5
  203. package/build/server/chunks/{_server.ts-BfpMnZOI.js.map → _server.ts-DjMVgo8F.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-DTrKpzyY.js → _server.ts-DkPleuhw.js} +7 -7
  205. package/build/server/chunks/{_server.ts-DTrKpzyY.js.map → _server.ts-DkPleuhw.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-Dp45LWzz.js → _server.ts-DoZLeC7k.js} +5 -5
  207. package/build/server/chunks/{_server.ts-Dp45LWzz.js.map → _server.ts-DoZLeC7k.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-BChtMFwE.js → _server.ts-DoltyIQF.js} +5 -5
  209. package/build/server/chunks/{_server.ts-BChtMFwE.js.map → _server.ts-DoltyIQF.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-DrkLSnQA.js → _server.ts-DsJ0wRlK.js} +8 -8
  211. package/build/server/chunks/{_server.ts-DrkLSnQA.js.map → _server.ts-DsJ0wRlK.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-Dii70IHB.js → _server.ts-DurWW9F4.js} +5 -5
  213. package/build/server/chunks/{_server.ts-Dii70IHB.js.map → _server.ts-DurWW9F4.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-eGescw1n.js → _server.ts-KVlAwfa7.js} +6 -6
  215. package/build/server/chunks/{_server.ts-eGescw1n.js.map → _server.ts-KVlAwfa7.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-DV4E6jus.js → _server.ts-Nx5G7kN_.js} +5 -5
  217. package/build/server/chunks/{_server.ts-DV4E6jus.js.map → _server.ts-Nx5G7kN_.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-CRMZhRTH.js → _server.ts-OaY_Oi6x.js} +5 -5
  219. package/build/server/chunks/{_server.ts-CRMZhRTH.js.map → _server.ts-OaY_Oi6x.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-Cg0rW5Ut.js → _server.ts-SF6pSx63.js} +5 -5
  221. package/build/server/chunks/{_server.ts-Cg0rW5Ut.js.map → _server.ts-SF6pSx63.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-BFqNKX9-.js → _server.ts-SOuORDIo.js} +5 -5
  223. package/build/server/chunks/{_server.ts-BFqNKX9-.js.map → _server.ts-SOuORDIo.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-D0LGHfwk.js → _server.ts-ZnjMekBF.js} +5 -5
  225. package/build/server/chunks/{_server.ts-D0LGHfwk.js.map → _server.ts-ZnjMekBF.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-Bq9eX-3y.js → _server.ts-dfDPdIru.js} +5 -5
  227. package/build/server/chunks/{_server.ts-Bq9eX-3y.js.map → _server.ts-dfDPdIru.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-ZCgDZEto.js → _server.ts-f8-Db9lI.js} +5 -5
  229. package/build/server/chunks/{_server.ts-ZCgDZEto.js.map → _server.ts-f8-Db9lI.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-D5WKwbH6.js → _server.ts-fM6Gkpfd.js} +6 -6
  231. package/build/server/chunks/{_server.ts-D5WKwbH6.js.map → _server.ts-fM6Gkpfd.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-B4LmSE9a.js → _server.ts-ib6n7JpR.js} +5 -5
  233. package/build/server/chunks/{_server.ts-B4LmSE9a.js.map → _server.ts-ib6n7JpR.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-B7UV2HK1.js → _server.ts-sBc-WN6M.js} +2 -2
  235. package/build/server/chunks/{_server.ts-B7UV2HK1.js.map → _server.ts-sBc-WN6M.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-BgdZ49kQ.js → _server.ts-t98jwIra.js} +4 -4
  237. package/build/server/chunks/{_server.ts-BgdZ49kQ.js.map → _server.ts-t98jwIra.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-BRJySzuk.js → _server.ts-w0HFBqit.js} +6 -6
  239. package/build/server/chunks/{_server.ts-BRJySzuk.js.map → _server.ts-w0HFBqit.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-iFUG8d50.js → _server.ts-z3FqDVpm.js} +5 -5
  241. package/build/server/chunks/{_server.ts-iFUG8d50.js.map → _server.ts-z3FqDVpm.js.map} +1 -1
  242. package/build/server/chunks/{addon-helpers-D0ci-2fI.js → addon-helpers-Bo4hdZTj.js} +3 -3
  243. package/build/server/chunks/{addon-helpers-D0ci-2fI.js.map → addon-helpers-Bo4hdZTj.js.map} +1 -1
  244. package/build/server/chunks/{akm-DSUFwfHT.js → akm-DbPcENjV.js} +2 -2
  245. package/build/server/chunks/{akm-DSUFwfHT.js.map → akm-DbPcENjV.js.map} +1 -1
  246. package/build/server/chunks/{catalog-FV5L8Vb5.js → catalog--Wa5WAM4.js} +5 -5
  247. package/build/server/chunks/{catalog-FV5L8Vb5.js.map → catalog--Wa5WAM4.js.map} +1 -1
  248. package/build/server/chunks/{client-CKQ-rMY8.js → client-BILypdph.js} +2 -2
  249. package/build/server/chunks/{client-CKQ-rMY8.js.map → client-BILypdph.js.map} +1 -1
  250. package/build/server/chunks/{config-Cto-_Sk-.js → config-CfZrAmt4.js} +2 -2
  251. package/build/server/chunks/{config-Cto-_Sk-.js.map → config-CfZrAmt4.js.map} +1 -1
  252. package/build/server/chunks/{docker-N9OFlekP.js → docker-C_kgiGOO.js} +2 -2
  253. package/build/server/chunks/{docker-N9OFlekP.js.map → docker-C_kgiGOO.js.map} +1 -1
  254. package/build/server/chunks/{endpoints-CZLzwKSe.js → endpoints-DNux-fut.js} +2 -2
  255. package/build/server/chunks/{endpoints-CZLzwKSe.js.map → endpoints-DNux-fut.js.map} +1 -1
  256. package/build/server/chunks/{environment-CPQfTi-2.js → environment-Doz0aMGk.js} +2 -2
  257. package/build/server/chunks/{environment-CPQfTi-2.js.map → environment-Doz0aMGk.js.map} +1 -1
  258. package/build/server/chunks/{error.svelte-D7Su22fk.js → error.svelte-ESC3aLu5.js} +4 -4
  259. package/build/server/chunks/{error.svelte-D7Su22fk.js.map → error.svelte-ESC3aLu5.js.map} +1 -1
  260. package/build/server/chunks/{helpers-BQN_GfNX.js → helpers-CIHSEiCi.js} +3 -3
  261. package/build/server/chunks/{helpers-BQN_GfNX.js.map → helpers-CIHSEiCi.js.map} +1 -1
  262. package/build/server/chunks/{hooks.server-CaTwUceN.js → hooks.server-SolNV84_.js} +7 -7
  263. package/build/server/chunks/{hooks.server-CaTwUceN.js.map → hooks.server-SolNV84_.js.map} +1 -1
  264. package/build/server/chunks/{http-jg3xKKrA.js → http-29NeXi8J.js} +2 -2
  265. package/build/server/chunks/{http-jg3xKKrA.js.map → http-29NeXi8J.js.map} +1 -1
  266. package/build/server/chunks/{internal-BhlliPeJ.js → internal-AjT2L6Re.js} +3 -3
  267. package/build/server/chunks/{internal-BhlliPeJ.js.map → internal-AjT2L6Re.js.map} +1 -1
  268. package/build/server/chunks/{migration-status-s4j5m70T.js → migration-status-eArABSVL.js} +2 -2
  269. package/build/server/chunks/{migration-status-s4j5m70T.js.map → migration-status-eArABSVL.js.map} +1 -1
  270. package/build/server/chunks/{session-cookie-DwScW3GM.js → session-cookie-5PNazqrm.js} +2 -2
  271. package/build/server/chunks/{session-cookie-DwScW3GM.js.map → session-cookie-5PNazqrm.js.map} +1 -1
  272. package/build/server/chunks/{setup-deploy-CjrxgHX7.js → setup-deploy-pyw7oUsn.js} +2 -2
  273. package/build/server/chunks/{setup-deploy-CjrxgHX7.js.map → setup-deploy-pyw7oUsn.js.map} +1 -1
  274. package/build/server/chunks/{src-C-1qVAJa.js → src-C5kkVuFB.js} +2 -2
  275. package/build/server/chunks/{src-C-1qVAJa.js.map → src-C5kkVuFB.js.map} +1 -1
  276. package/build/server/chunks/{state-bB0lw7NQ.js → state-BAMdGxdT.js} +2 -2
  277. package/build/server/chunks/{state-bB0lw7NQ.js.map → state-BAMdGxdT.js.map} +1 -1
  278. package/build/server/chunks/{state2-enrfDTyM.js → state2-BVeJ-USX.js} +2 -2
  279. package/build/server/chunks/{state2-enrfDTyM.js.map → state2-BVeJ-USX.js.map} +1 -1
  280. package/build/server/index.js +2 -2
  281. package/build/server/manifest.js +93 -93
  282. package/build/server/manifest.js.map +1 -1
  283. package/package.json +2 -2
  284. package/build/client/_app/immutable/chunks/B3YLDmFC.js +0 -1
  285. package/build/client/_app/immutable/chunks/B3YLDmFC.js.br +0 -2
  286. package/build/client/_app/immutable/chunks/B3YLDmFC.js.gz +0 -0
  287. package/build/client/_app/immutable/chunks/BbrGxbnk.js.br +0 -0
  288. package/build/client/_app/immutable/chunks/BbrGxbnk.js.gz +0 -0
  289. package/build/client/_app/immutable/chunks/C-I9DWk0.js.br +0 -0
  290. package/build/client/_app/immutable/chunks/C-I9DWk0.js.gz +0 -0
  291. package/build/client/_app/immutable/chunks/Dj1EWAPK.js.br +0 -0
  292. package/build/client/_app/immutable/chunks/Dj1EWAPK.js.gz +0 -0
  293. package/build/client/_app/immutable/chunks/Gm5hDJqK.js.br +0 -0
  294. package/build/client/_app/immutable/chunks/Gm5hDJqK.js.gz +0 -0
  295. package/build/client/_app/immutable/entry/app.CjdOdvy8.js.br +0 -0
  296. package/build/client/_app/immutable/entry/app.CjdOdvy8.js.gz +0 -0
  297. package/build/client/_app/immutable/entry/start.DbezVtlc.js +0 -1
  298. package/build/client/_app/immutable/entry/start.DbezVtlc.js.br +0 -0
  299. package/build/client/_app/immutable/entry/start.DbezVtlc.js.gz +0 -0
  300. package/build/client/_app/immutable/nodes/1.C8fcW3-z.js.br +0 -0
  301. package/build/client/_app/immutable/nodes/1.C8fcW3-z.js.gz +0 -0
  302. package/build/client/_app/immutable/nodes/4.C3UgSGBY.js.br +0 -0
  303. package/build/client/_app/immutable/nodes/4.C3UgSGBY.js.gz +0 -0
  304. package/build/client/_app/immutable/nodes/5.B9XFxNiH.js.br +0 -0
  305. package/build/client/_app/immutable/nodes/5.B9XFxNiH.js.gz +0 -0
  306. package/build/client/_app/immutable/nodes/6.DbcGHucv.js.br +0 -0
  307. package/build/client/_app/immutable/nodes/6.DbcGHucv.js.gz +0 -0
  308. package/build/client/_app/immutable/nodes/7.Bba4wYdp.js.br +0 -0
  309. package/build/client/_app/immutable/nodes/7.Bba4wYdp.js.gz +0 -0
  310. package/build/client/_app/immutable/nodes/8.Cli07s-b.js.br +0 -0
  311. package/build/client/_app/immutable/nodes/8.Cli07s-b.js.gz +0 -0
  312. package/build/server/chunks/1-CCWcWeB-.js +0 -9
  313. package/build/server/chunks/4-DWf_ECl3.js +0 -9
  314. package/build/server/chunks/7-ChMgFav-.js +0 -9
  315. package/build/server/chunks/_page.svelte-D_wbKTRP.js.map +0 -1
  316. package/build/server/chunks/_server.ts-BM3ivna6.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { E as head, d as attr } from './dev-B6xUe35c.js';
2
- import './client-CKQ-rMY8.js';
3
- import './internal-BhlliPeJ.js';
2
+ import './client-BILypdph.js';
3
+ import './internal-AjT2L6Re.js';
4
4
  import './utils-BSRjJDrZ.js';
5
5
  import 'node:module';
6
6
  import './chunk-CLZ62Ad-.js';
@@ -34,4 +34,4 @@ function _page($$renderer, $$props) {
34
34
  }
35
35
 
36
36
  export { _page as default };
37
- //# sourceMappingURL=_page.svelte-CrFforkM.js.map
37
+ //# sourceMappingURL=_page.svelte-BjO6HPPf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-CrFforkM.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, s as head } from \"../../../chunks/dev.js\";\nimport { n as goto } from \"../../../chunks/client.js\";\nimport \"../../../chunks/navigation.js\";\nimport { t as Spinner } from \"../../../chunks/Spinner.js\";\n//#region src/lib/components/common/AuthGate.svelte\nfunction AuthGate($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { onSuccess, loading, error } = $$props;\n\t\tlet tokenInput = \"\";\n\t\t$$renderer.push(`<main class=\"auth-gate svelte-zhbyfn\" aria-label=\"Admin login gate\"><section class=\"auth-card svelte-zhbyfn\"><div class=\"auth-brand svelte-zhbyfn\"><span class=\"brand-icon svelte-zhbyfn\"><img src=\"/logo-128.png\" alt=\"OpenPalm Logo\" class=\"svelte-zhbyfn\"/></span> <div><h1 class=\"svelte-zhbyfn\">OpenPalm Console</h1> <p class=\"svelte-zhbyfn\">Enter your admin password to unlock the control plane.</p></div></div> <form class=\"auth-form svelte-zhbyfn\"><label for=\"admin-token\" class=\"svelte-zhbyfn\">Admin Password</label> <input type=\"text\" name=\"username\" autocomplete=\"username\" value=\"admin\" class=\"sr-only svelte-zhbyfn\" tabindex=\"-1\" aria-hidden=\"true\"/> <div class=\"token-input-wrapper svelte-zhbyfn\"><input id=\"admin-token\" name=\"admin-token\"${attr(\"type\", \"password\")}${attr(\"value\", tokenInput)} placeholder=\"Enter admin password\" autocomplete=\"current-password\" class=\"svelte-zhbyfn\"/> <button type=\"button\" class=\"btn-toggle svelte-zhbyfn\"${attr(\"aria-label\", \"Show token\")}>`);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"></path><circle cx=\"12\" cy=\"12\" r=\"3\"></circle></svg>`);\n\t\t$$renderer.push(`<!--]--></button></div> `);\n\t\tif (error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"auth-error svelte-zhbyfn\" role=\"alert\">${escape_html(error)}</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <button class=\"btn btn-primary\" type=\"submit\"${attr(\"disabled\", loading || !tokenInput.trim(), true)}>`);\n\t\tif (loading) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tSpinner($$renderer, {});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> Unlock Console</button></form></section></main>`);\n\t});\n}\n//#endregion\n//#region src/routes/login/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tlet loading = false;\n\t\tlet error = \"\";\n\t\tasync function handleAuthSuccess(token) {\n\t\t\tif (loading) return false;\n\t\t\tconst target = data.redirectTo || \"/chat\";\n\t\t\tloading = true;\n\t\t\terror = \"\";\n\t\t\ttry {\n\t\t\t\tconst res = await fetch(\"/admin/auth/login\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({ password: token }),\n\t\t\t\t\tcredentials: \"include\"\n\t\t\t\t});\n\t\t\t\tif (!res.ok) {\n\t\t\t\t\terror = res.status === 503 ? \"Admin password is not configured yet. Complete setup first.\" : \"Invalid password.\";\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tawait goto(target);\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\terror = \"Unable to reach admin API.\";\n\t\t\t\treturn false;\n\t\t\t} finally {\n\t\t\t\tloading = false;\n\t\t\t}\n\t\t}\n\t\thead(\"1x05zx6\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Sign in — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tAuthGate($$renderer, {\n\t\t\tonSuccess: handleAuthSuccess,\n\t\t\tloading,\n\t\t\terror\n\t\t});\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;;;;AAIA;AACA,SAAS,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE;AACvC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AAEtC,EAAE,IAAI,UAAU,GAAG,EAAE;AACrB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,0uBAA0uB,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,kJAAkJ,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5+B,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAC/B,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,gRAAgR,CAAC,CAAC;AACrS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC;AAC7C,EAGS,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,sDAAsD,EAAE,IAAI,CAAC,UAAU,EAAa,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpI,EAGS,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,wDAAwD,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AA4BxB,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,UAAU,KAAK;AAC9C,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,KAAK;AACpC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,iCAAiC,CAAC,CAAC;AACxD,GAAG,CAAC,CAAC;AACL,EAAE,CAAC,CAAC;AACJ,EAAE,QAAQ,CAAC,UAIR,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_page.svelte-BjO6HPPf.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, s as head } from \"../../../chunks/dev.js\";\nimport { n as goto } from \"../../../chunks/client.js\";\nimport \"../../../chunks/navigation.js\";\nimport { t as Spinner } from \"../../../chunks/Spinner.js\";\n//#region src/lib/components/common/AuthGate.svelte\nfunction AuthGate($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { onSuccess, loading, error } = $$props;\n\t\tlet tokenInput = \"\";\n\t\t$$renderer.push(`<main class=\"auth-gate svelte-zhbyfn\" aria-label=\"Admin login gate\"><section class=\"auth-card svelte-zhbyfn\"><div class=\"auth-brand svelte-zhbyfn\"><span class=\"brand-icon svelte-zhbyfn\"><img src=\"/logo-128.png\" alt=\"OpenPalm Logo\" class=\"svelte-zhbyfn\"/></span> <div><h1 class=\"svelte-zhbyfn\">OpenPalm Console</h1> <p class=\"svelte-zhbyfn\">Enter your admin password to unlock the control plane.</p></div></div> <form class=\"auth-form svelte-zhbyfn\"><label for=\"admin-token\" class=\"svelte-zhbyfn\">Admin Password</label> <input type=\"text\" name=\"username\" autocomplete=\"username\" value=\"admin\" class=\"sr-only svelte-zhbyfn\" tabindex=\"-1\" aria-hidden=\"true\"/> <div class=\"token-input-wrapper svelte-zhbyfn\"><input id=\"admin-token\" name=\"admin-token\"${attr(\"type\", \"password\")}${attr(\"value\", tokenInput)} placeholder=\"Enter admin password\" autocomplete=\"current-password\" class=\"svelte-zhbyfn\"/> <button type=\"button\" class=\"btn-toggle svelte-zhbyfn\"${attr(\"aria-label\", \"Show token\")}>`);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"></path><circle cx=\"12\" cy=\"12\" r=\"3\"></circle></svg>`);\n\t\t$$renderer.push(`<!--]--></button></div> `);\n\t\tif (error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"auth-error svelte-zhbyfn\" role=\"alert\">${escape_html(error)}</p>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <button class=\"btn btn-primary\" type=\"submit\"${attr(\"disabled\", loading || !tokenInput.trim(), true)}>`);\n\t\tif (loading) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tSpinner($$renderer, {});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> Unlock Console</button></form></section></main>`);\n\t});\n}\n//#endregion\n//#region src/routes/login/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tlet loading = false;\n\t\tlet error = \"\";\n\t\tasync function handleAuthSuccess(token) {\n\t\t\tif (loading) return false;\n\t\t\tconst target = data.redirectTo || \"/chat\";\n\t\t\tloading = true;\n\t\t\terror = \"\";\n\t\t\ttry {\n\t\t\t\tconst res = await fetch(\"/admin/auth/login\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({ password: token }),\n\t\t\t\t\tcredentials: \"include\"\n\t\t\t\t});\n\t\t\t\tif (!res.ok) {\n\t\t\t\t\terror = res.status === 503 ? \"Admin password is not configured yet. Complete setup first.\" : \"Invalid password.\";\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tawait goto(target);\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\terror = \"Unable to reach admin API.\";\n\t\t\t\treturn false;\n\t\t\t} finally {\n\t\t\t\tloading = false;\n\t\t\t}\n\t\t}\n\t\thead(\"1x05zx6\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Sign in — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tAuthGate($$renderer, {\n\t\t\tonSuccess: handleAuthSuccess,\n\t\t\tloading,\n\t\t\terror\n\t\t});\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;;;;AAIA;AACA,SAAS,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE;AACvC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AAEtC,EAAE,IAAI,UAAU,GAAG,EAAE;AACrB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,0uBAA0uB,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,kJAAkJ,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5+B,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAC/B,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,gRAAgR,CAAC,CAAC;AACrS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC;AAC7C,EAGS,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,sDAAsD,EAAE,IAAI,CAAC,UAAU,EAAa,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpI,EAGS,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,wDAAwD,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AA4BxB,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,UAAU,KAAK;AAC9C,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,KAAK;AACpC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,iCAAiC,CAAC,CAAC;AACxD,GAAG,CAAC,CAAC;AACL,EAAE,CAAC,CAAC;AACJ,EAAE,QAAQ,CAAC,UAIR,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,12 +1,12 @@
1
1
  import { E as head, r as escape_html, p as ensure_array_like, e as attr_class, d as attr, o as derived } from './dev-B6xUe35c.js';
2
2
  import 'node:module';
3
- import { N as Navbar, e as endpointsService } from './Navbar-BmKhtH9A.js';
4
- import './client-CKQ-rMY8.js';
5
- import './internal-BhlliPeJ.js';
3
+ import { N as Navbar, e as endpointsService } from './Navbar-DocCJCkJ.js';
4
+ import './client-BILypdph.js';
5
+ import './internal-AjT2L6Re.js';
6
6
  import './utils-BSRjJDrZ.js';
7
7
  import './chunk-CLZ62Ad-.js';
8
8
  import './theme-state.svelte-8qSluhfu.js';
9
- import './state2-enrfDTyM.js';
9
+ import './state2-BVeJ-USX.js';
10
10
  import './Spinner-Bk6e83RX.js';
11
11
 
12
12
  //#region src/routes/admin/endpoints/+page.svelte
@@ -67,4 +67,4 @@ function _page($$renderer, $$props) {
67
67
  }
68
68
 
69
69
  export { _page as default };
70
- //# sourceMappingURL=_page.svelte-9Pkbpuj_.js.map
70
+ //# sourceMappingURL=_page.svelte-BwkM4u_N.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-9Pkbpuj_.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/endpoints/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, s as head } from \"../../../../chunks/dev.js\";\nimport \"../../../../chunks/index-server.js\";\nimport { i as endpointsService, t as Navbar } from \"../../../../chunks/Navbar.js\";\n//#region src/routes/admin/endpoints/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet deletingId = null;\n\t\tconst endpoints = derived(() => endpointsService.endpoints);\n\t\tconst active = derived(() => endpointsService.active);\n\t\thead(\"m7qpzt\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Assistant Endpoints — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tNavbar($$renderer, {});\n\t\t$$renderer.push(`<!----> <main class=\"page svelte-m7qpzt\"><header class=\"page-header svelte-m7qpzt\"><h1 class=\"svelte-m7qpzt\">Assistant Endpoints</h1> <p class=\"lede svelte-m7qpzt\">Connect to local or remote OpenPalm assistants. The <strong>Default</strong> entry comes\n from the environment (set by the launcher) and cannot be deleted. Add more endpoints to\n switch between stacks at any time.</p></header> `);\n\t\tif (endpointsService.error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"alert error svelte-m7qpzt\" role=\"alert\">${escape_html(endpointsService.error)}</div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <section class=\"endpoints-list svelte-m7qpzt\" aria-label=\"Configured endpoints\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(endpoints());\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet ep = each_array[$$index];\n\t\t\t$$renderer.push(`<article${attr_class(\"endpoint-card svelte-m7qpzt\", void 0, { \"active\": ep.id === active()?.id })}><div class=\"endpoint-main svelte-m7qpzt\"><div class=\"endpoint-title svelte-m7qpzt\"><span class=\"endpoint-label svelte-m7qpzt\">${escape_html(ep.label)}</span> `);\n\t\t\tif (ep.isDefault) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge default svelte-m7qpzt\">Default</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (ep.id === active()?.id) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge active svelte-m7qpzt\">Active</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (ep.hasPassword) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge password svelte-m7qpzt\" title=\"Server password configured\">🔒</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> <div class=\"endpoint-url svelte-m7qpzt\">${escape_html(ep.url)}</div></div> <div class=\"endpoint-actions svelte-m7qpzt\">`);\n\t\t\tif (ep.id !== active()?.id) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-primary btn-sm\">Use this</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (!ep.isDefault) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-secondary btn-sm\">Edit</button> <button type=\"button\" class=\"btn btn-danger btn-sm svelte-m7qpzt\"${attr(\"disabled\", deletingId === ep.id, true)}>${escape_html(deletingId === ep.id ? \"Removing…\" : \"Remove\")}</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div></article>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section> `);\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-primary\">+ Add endpoint</button>`);\n\t\t$$renderer.push(`<!--]--></main>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;;;;;;;;AAGA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,UAAU,GAAG,IAAI;AACvB,EAAE,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,gBAAgB,CAAC,SAAS,CAAC;AAC7D,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC;AACvD,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,UAAU,KAAK;AAC7C,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,KAAK;AACpC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,6CAA6C,CAAC,CAAC;AACpE,GAAG,CAAC,CAAC;AACL,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,CAAC,UAAc,CAAC;AACxB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AACnB;AACA,wDAAwD,CAAC,CAAC;AAC1D,EAAE,IAAI,gBAAgB,CAAC,KAAK,EAAE;AAC9B,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,oDAAoD,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AACtH,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,iGAAiG,CAAC,CAAC;AACtH,EAAE,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,EAAE,CAAC;AACnD,EAAE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AACrF,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,6BAA6B,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,+HAA+H,EAAE,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;AACvR,GAAG,IAAI,EAAE,CAAC,SAAS,EAAE;AACrB,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,wDAAwD,CAAC,CAAC;AAC/E,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACvC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/B,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,EAAE,EAAE;AAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,sDAAsD,CAAC,CAAC;AAC7E,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACvC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/B,GAAG,IAAI,EAAE,CAAC,WAAW,EAAE;AACvB,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,uFAAuF,CAAC,CAAC;AAC9G,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACvC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,uDAAuD,EAAE,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,yDAAyD,CAAC,CAAC;AAC5J,GAAG,IAAI,EAAE,CAAC,EAAE,KAAK,MAAM,EAAE,EAAE,EAAE,EAAE;AAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,sEAAsE,CAAC,CAAC;AAC7F,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACvC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC/B,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE;AACtB,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,sIAAsI,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,GAAG,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;AACnR,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACvC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC;AAC9C,EAAE;AACF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;AACxC,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC9B,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,qEAAqE,CAAC,CAAC;AAC1F,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_page.svelte-BwkM4u_N.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/endpoints/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, s as head } from \"../../../../chunks/dev.js\";\nimport \"../../../../chunks/index-server.js\";\nimport { i as endpointsService, t as Navbar } from \"../../../../chunks/Navbar.js\";\n//#region src/routes/admin/endpoints/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet deletingId = null;\n\t\tconst endpoints = derived(() => endpointsService.endpoints);\n\t\tconst active = derived(() => endpointsService.active);\n\t\thead(\"m7qpzt\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Assistant Endpoints — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tNavbar($$renderer, {});\n\t\t$$renderer.push(`<!----> <main class=\"page svelte-m7qpzt\"><header class=\"page-header svelte-m7qpzt\"><h1 class=\"svelte-m7qpzt\">Assistant Endpoints</h1> <p class=\"lede svelte-m7qpzt\">Connect to local or remote OpenPalm assistants. The <strong>Default</strong> entry comes\n from the environment (set by the launcher) and cannot be deleted. Add more endpoints to\n switch between stacks at any time.</p></header> `);\n\t\tif (endpointsService.error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"alert error svelte-m7qpzt\" role=\"alert\">${escape_html(endpointsService.error)}</div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <section class=\"endpoints-list svelte-m7qpzt\" aria-label=\"Configured endpoints\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(endpoints());\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet ep = each_array[$$index];\n\t\t\t$$renderer.push(`<article${attr_class(\"endpoint-card svelte-m7qpzt\", void 0, { \"active\": ep.id === active()?.id })}><div class=\"endpoint-main svelte-m7qpzt\"><div class=\"endpoint-title svelte-m7qpzt\"><span class=\"endpoint-label svelte-m7qpzt\">${escape_html(ep.label)}</span> `);\n\t\t\tif (ep.isDefault) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge default svelte-m7qpzt\">Default</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (ep.id === active()?.id) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge active svelte-m7qpzt\">Active</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (ep.hasPassword) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge password svelte-m7qpzt\" title=\"Server password configured\">🔒</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> <div class=\"endpoint-url svelte-m7qpzt\">${escape_html(ep.url)}</div></div> <div class=\"endpoint-actions svelte-m7qpzt\">`);\n\t\t\tif (ep.id !== active()?.id) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-primary btn-sm\">Use this</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (!ep.isDefault) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-secondary btn-sm\">Edit</button> <button type=\"button\" class=\"btn btn-danger btn-sm svelte-m7qpzt\"${attr(\"disabled\", deletingId === ep.id, true)}>${escape_html(deletingId === ep.id ? \"Removing…\" : \"Remove\")}</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div></article>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section> `);\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-primary\">+ Add endpoint</button>`);\n\t\t$$renderer.push(`<!--]--></main>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { E as head, r as escape_html, p as ensure_array_like, d as attr, e as attr_class, o as derived } from './dev-B6xUe35c.js';
2
2
  import 'node:module';
3
- import { g as goto } from './client-CKQ-rMY8.js';
4
- import { p as page } from './state2-enrfDTyM.js';
5
- import { N as Navbar, c as chat, E as EndpointList, S as SessionList, e as endpointsService, I as IconButton } from './Navbar-BmKhtH9A.js';
3
+ import { g as goto } from './client-BILypdph.js';
4
+ import { p as page } from './state2-BVeJ-USX.js';
5
+ import { N as Navbar, c as chat, E as EndpointList, S as SessionList, e as endpointsService, I as IconButton } from './Navbar-DocCJCkJ.js';
6
6
  import { S as Spinner } from './Spinner-Bk6e83RX.js';
7
- import { C as ChatMessage, T as ToolStrip } from './ChatMessage-BRsKmSHX.js';
8
- import './internal-BhlliPeJ.js';
7
+ import { C as ChatMessage, T as ToolStrip } from './ChatMessage-sBxcrkH1.js';
8
+ import './internal-AjT2L6Re.js';
9
9
  import './utils-BSRjJDrZ.js';
10
10
  import './chunk-CLZ62Ad-.js';
11
11
  import './theme-state.svelte-8qSluhfu.js';
@@ -254,4 +254,4 @@ function _page($$renderer, $$props) {
254
254
  }
255
255
 
256
256
  export { _page as default };
257
- //# sourceMappingURL=_page.svelte-CpfZ7HoC.js.map
257
+ //# sourceMappingURL=_page.svelte-MZeeV3UU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-CpfZ7HoC.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/chat/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, s as head } from \"../../../chunks/dev.js\";\nimport \"../../../chunks/index-server.js\";\nimport \"../../../chunks/theme-state.svelte.js\";\nimport { n as goto } from \"../../../chunks/client.js\";\nimport { t as page } from \"../../../chunks/state2.js\";\nimport \"../../../chunks/navigation.js\";\nimport { i as endpointsService, m as IconButton, n as SessionList, r as EndpointList, s as chat, t as Navbar } from \"../../../chunks/Navbar.js\";\nimport { t as Spinner } from \"../../../chunks/Spinner.js\";\nimport { n as ToolStrip, t as ChatMessage } from \"../../../chunks/ChatMessage.js\";\n//#region src/lib/components/chat/NewChatButton.svelte\nfunction plus($$renderer) {\n\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 5v14\"></path><path d=\"M5 12h14\"></path></svg>`);\n}\nfunction NewChatButton($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst onChat = derived(() => (page.url?.pathname ?? \"\") === \"/chat\" || (page.url?.pathname ?? \"\").startsWith(\"/chat/\"));\n\t\tlet starting = false;\n\t\tasync function newChat() {\n\t\t\tif (starting) return;\n\t\t\tstarting = true;\n\t\t\ttry {\n\t\t\t\tif (onChat()) await chat.startNewSession();\n\t\t\t\telse await goto(\"/chat?new=1\");\n\t\t\t} finally {\n\t\t\t\tstarting = false;\n\t\t\t}\n\t\t}\n\t\tIconButton($$renderer, {\n\t\t\ticon: plus,\n\t\t\tariaLabel: \"Start a new chat\",\n\t\t\ttitle: \"New chat\",\n\t\t\tdisabled: starting,\n\t\t\tonclick: newChat\n\t\t});\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/ChatInput.svelte\nfunction ChatInput($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { sending, questionPending = false, onSend } = $$props;\n\t\tlet inputText = \"\";\n\t\tconst inputDisabled = derived(() => sending && !questionPending);\n\t\tconst actionLabel = derived(() => questionPending ? \"Answer\" : \"Send\");\n\t\t$$renderer.push(`<div class=\"chat-input-row svelte-j7h4bp\"><div class=\"input-area svelte-j7h4bp\">`);\n\t\tNewChatButton($$renderer, {});\n\t\t$$renderer.push(`<!----> <textarea id=\"chat-input\"${attr(\"placeholder\", questionPending ? \"Answer the assistant… (Enter to send, Shift+Enter for newline)\" : \"Send a message… (Enter to send, Shift+Enter for newline)\")} rows=\"1\"${attr(\"disabled\", inputDisabled(), true)} aria-label=\"Message input\" class=\"svelte-j7h4bp\">`);\n\t\tconst $$body = escape_html(inputText);\n\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t$$renderer.push(`</textarea> <button class=\"btn btn-primary send-btn svelte-j7h4bp\" type=\"button\"${attr(\"disabled\", inputDisabled() || !inputText.trim(), true)}${attr(\"aria-label\", questionPending ? \"Send answer\" : \"Send message\")}>`);\n\t\tif (sending && !questionPending) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tSpinner($$renderer, {});\n\t\t\t$$renderer.push(`<!----> <span>Sending...</span>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\"></line><polygon points=\"22 2 15 22 11 13 2 9 22 2\"></polygon></svg> <span>${escape_html(actionLabel())}</span>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></button></div></div>`);\n\t});\n}\n//#endregion\n//#region src/routes/chat/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst entriesLoading = derived(() => chat.entriesLoading);\n\t\tconst sessionsLoading = derived(() => chat.byEndpoint.get(chat.activeEndpointId)?.sessionsLoading ?? false);\n\t\tconst activeEndpointLabel = derived(() => endpointsService.active?.label ?? \"Assistant\");\n\t\tconst activeSessionLabel = derived(() => {\n\t\t\treturn (chat.byEndpoint.get(chat.activeEndpointId)?.sessions.find((item) => item.id === chat.activeSessionId))?.title?.trim() || \"New session\";\n\t\t});\n\t\tasync function handleSend(text) {\n\t\t\tawait chat.send(text);\n\t\t}\n\t\tfunction liveStatusText() {\n\t\t\tif (chat.pendingPermission) return \"Assistant paused for approval\";\n\t\t\tif (chat.pendingQuestion) return \"Assistant is waiting for your answer\";\n\t\t\tif (chat.pendingAssistantText) return \"Assistant is responding\";\n\t\t\treturn \"Assistant is typing\";\n\t\t}\n\t\tfunction clamp(text, max = 160) {\n\t\t\treturn text.length > max ? `${text.slice(0, max - 1)}…` : text;\n\t\t}\n\t\thead(\"23dtxz\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Chat — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tNavbar($$renderer, {});\n\t\t$$renderer.push(`<!----> <div class=\"chat-shell svelte-23dtxz\"><div class=\"chat-layout svelte-23dtxz\"><section class=\"messages-area svelte-23dtxz\" aria-label=\"Chat history\"><header class=\"chat-intro svelte-23dtxz\" aria-label=\"Chat overview\"><div class=\"chat-intro-copy svelte-23dtxz\"><div class=\"chat-intro-eyebrow svelte-23dtxz\">OpenPalm chat</div> <h1 class=\"svelte-23dtxz\">Talk to your assistant</h1> <p class=\"svelte-23dtxz\">You're chatting with <strong class=\"svelte-23dtxz\">${escape_html(activeEndpointLabel())}</strong> in <strong class=\"svelte-23dtxz\">${escape_html(activeSessionLabel())}</strong>.\n Ask for help in plain language and review the live output below.</p></div></header> `);\n\t\tif (sessionsLoading() || entriesLoading()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"session-loading svelte-23dtxz\" aria-live=\"polite\">`);\n\t\t\tSpinner($$renderer, {});\n\t\t\t$$renderer.push(`<!----> <span class=\"svelte-23dtxz\">Loading messages…</span></div>`);\n\t\t} else if (chat.entries.length === 0) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"empty-state svelte-23dtxz\"><p class=\"svelte-23dtxz\">No messages yet. Send something to begin.</p></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\tconst each_array = ensure_array_like(chat.entries);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet entry = each_array[$$index];\n\t\t\tChatMessage($$renderer, { entry });\n\t\t}\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (chat.sending) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"typing-message svelte-23dtxz\" aria-live=\"polite\"${attr(\"aria-label\", liveStatusText())}><div class=\"typing-bubble svelte-23dtxz\">`);\n\t\t\tif (chat.pendingAssistantText) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<p class=\"typing-text typing-text-streaming svelte-23dtxz\">${escape_html(chat.pendingAssistantText)}</p>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<div class=\"typing-state-row svelte-23dtxz\"><span class=\"typing-text svelte-23dtxz\">${escape_html(liveStatusText())}</span> `);\n\t\t\t\tif (!chat.pendingPermission && !chat.pendingQuestion) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"typing-indicator svelte-23dtxz\" aria-hidden=\"true\"><span class=\"typing-dot svelte-23dtxz\"></span> <span class=\"typing-dot svelte-23dtxz\"></span> <span class=\"typing-dot svelte-23dtxz\"></span></span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (chat.pendingToolStates.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tToolStrip($$renderer, {\n\t\t\t\t\titems: chat.pendingToolStates,\n\t\t\t\t\tmuted: !!chat.pendingPermission || !!chat.pendingQuestion,\n\t\t\t\t\tbordered: true,\n\t\t\t\t\tariaLabel: \"Assistant tool activity\"\n\t\t\t\t});\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (chat.pendingPermission) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"live-card permission-card svelte-23dtxz\" role=\"group\" aria-label=\"Permission request\"><div class=\"live-card-header svelte-23dtxz\"><span class=\"live-card-kicker svelte-23dtxz\">Permission request</span> <span class=\"live-card-title svelte-23dtxz\">${escape_html(chat.pendingPermission.permission)}</span></div> `);\n\t\t\t\tif (chat.pendingPermission.detail) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"live-card-message svelte-23dtxz\">${escape_html(clamp(chat.pendingPermission.detail))}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (chat.pendingPermission.patterns.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"svelte-23dtxz\"><span class=\"live-card-label svelte-23dtxz\">Requested now</span> <code class=\"live-card-code svelte-23dtxz\">${escape_html(chat.pendingPermission.patterns.join(\", \"))}</code></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (chat.pendingPermission.always.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"svelte-23dtxz\"><span class=\"live-card-label svelte-23dtxz\">Saved if always allowed</span> <code class=\"live-card-code svelte-23dtxz\">${escape_html(chat.pendingPermission.always.join(\", \"))}</code></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (chat.pendingPermission.message) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"live-card-message svelte-23dtxz\">${escape_html(chat.pendingPermission.message)}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <div class=\"live-card-actions svelte-23dtxz\"><button class=\"btn btn-primary btn-sm svelte-23dtxz\" type=\"button\"${attr(\"disabled\", chat.pendingPermission.status === \"submitting\" || chat.pendingPermission.status === \"resolved\", true)}>${escape_html(\"Allow this once\")}</button> <button class=\"btn btn-secondary btn-sm svelte-23dtxz\" type=\"button\"${attr(\"disabled\", chat.pendingPermission.status === \"submitting\" || chat.pendingPermission.status === \"resolved\", true)}>${escape_html(\"Always allow matches\")}</button> <button class=\"btn btn-danger btn-sm svelte-23dtxz\" type=\"button\"${attr(\"disabled\", chat.pendingPermission.status === \"submitting\" || chat.pendingPermission.status === \"resolved\", true)}>${escape_html(\"Deny request\")}</button></div></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (chat.pendingQuestion) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"live-card question-card svelte-23dtxz\" role=\"group\" aria-label=\"Assistant question\"><div class=\"live-card-header svelte-23dtxz\"><span class=\"live-card-kicker svelte-23dtxz\">Assistant question</span> `);\n\t\t\t\tif (chat.pendingQuestion.questions.length === 1 && chat.pendingQuestion.questions[0]?.header) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"live-card-title svelte-23dtxz\">${escape_html(chat.pendingQuestion.questions[0].header)}</span>`);\n\t\t\t\t} else if (chat.pendingQuestion.questions.length > 1) {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"live-card-title svelte-23dtxz\">${escape_html(chat.pendingQuestion.questions.length)} answers required</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\t\tif (chat.pendingQuestion.questions.length === 1 && chat.pendingQuestion.questions[0]) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"live-card-question svelte-23dtxz\">${escape_html(chat.pendingQuestion.questions[0].question)}</p> `);\n\t\t\t\t\tif (chat.pendingQuestion.questions[0].options.length > 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<div class=\"question-options svelte-23dtxz\"><!--[-->`);\n\t\t\t\t\t\tconst each_array_1 = ensure_array_like(chat.pendingQuestion.questions[0].options);\n\t\t\t\t\t\tfor (let index = 0, $$length = each_array_1.length; index < $$length; index++) {\n\t\t\t\t\t\t\tlet option = each_array_1[index];\n\t\t\t\t\t\t\t$$renderer.push(`<button class=\"btn btn-secondary btn-sm question-option svelte-23dtxz\" type=\"button\"${attr(\"disabled\", chat.pendingQuestion.status === \"submitting\" || chat.pendingQuestion.status === \"answered\" || chat.pendingQuestion.status === \"rejected\", true)}><span class=\"svelte-23dtxz\">${escape_html(option.label)}</span> `);\n\t\t\t\t\t\t\tif (option.description) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"question-option-description svelte-23dtxz\">${escape_html(option.description)}</span>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></button>`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> <p class=\"live-card-hint svelte-23dtxz\">Use the composer below to send a custom answer.</p>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"multi-question-list svelte-23dtxz\"><!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(chat.pendingQuestion.questions);\n\t\t\t\t\tfor (let index = 0, $$length = each_array_2.length; index < $$length; index++) {\n\t\t\t\t\t\tlet question = each_array_2[index];\n\t\t\t\t\t\t$$renderer.push(`<div class=\"multi-question-item svelte-23dtxz\">`);\n\t\t\t\t\t\tif (question.header) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<span class=\"live-card-label svelte-23dtxz\">${escape_html(question.header)}</span>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--> <p class=\"live-card-question svelte-23dtxz\">${escape_html(question.question)}</p> `);\n\t\t\t\t\t\tif (question.options.length > 0) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<div class=\"question-options svelte-23dtxz\"><!--[-->`);\n\t\t\t\t\t\t\tconst each_array_3 = ensure_array_like(question.options);\n\t\t\t\t\t\t\tfor (let optionIndex = 0, $$length = each_array_3.length; optionIndex < $$length; optionIndex++) {\n\t\t\t\t\t\t\t\tlet option = each_array_3[optionIndex];\n\t\t\t\t\t\t\t\t$$renderer.push(`<button${attr_class(\"btn btn-secondary btn-sm question-option svelte-23dtxz\", void 0, { \"selected-option\": chat.pendingQuestion.answers[index] === option.label })} type=\"button\"${attr(\"disabled\", chat.pendingQuestion.status === \"submitting\" || chat.pendingQuestion.status === \"answered\" || chat.pendingQuestion.status === \"rejected\", true)}><span class=\"svelte-23dtxz\">${escape_html(option.label)}</span> `);\n\t\t\t\t\t\t\t\tif (option.description) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"question-option-description svelte-23dtxz\">${escape_html(option.description)}</span>`);\n\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></button>`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--> <input class=\"question-input svelte-23dtxz\" type=\"text\"${attr(\"value\", chat.pendingQuestion.answers[index])} placeholder=\"Type an answer\" aria-required=\"true\"${attr(\"aria-invalid\", chat.pendingQuestion.status === \"error\" ? !chat.pendingQuestion.answers[index] : void 0)}${attr(\"disabled\", chat.pendingQuestion.status === \"submitting\" || chat.pendingQuestion.status === \"answered\" || chat.pendingQuestion.status === \"rejected\", true)}/></div>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (chat.pendingQuestion.answers.some((answer) => answer)) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<code class=\"live-card-code svelte-23dtxz\">${escape_html(chat.pendingQuestion.answers.filter(Boolean).join(\" | \"))}</code>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (chat.pendingQuestion.message) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"live-card-message svelte-23dtxz\">${escape_html(chat.pendingQuestion.message)}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <div class=\"live-card-actions svelte-23dtxz\">`);\n\t\t\t\tif (chat.pendingQuestion.questions.length > 1) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<button class=\"btn btn-primary btn-sm svelte-23dtxz\" type=\"button\"${attr(\"disabled\", chat.pendingQuestion.status === \"submitting\" || chat.pendingQuestion.status === \"answered\" || chat.pendingQuestion.status === \"rejected\", true)}>Submit answers</button>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <button class=\"btn btn-secondary btn-sm svelte-23dtxz\" type=\"button\"${attr(\"disabled\", chat.pendingQuestion.status === \"submitting\" || chat.pendingQuestion.status === \"answered\" || chat.pendingQuestion.status === \"rejected\", true)}>Can't answer</button></div></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> <span class=\"typing-meta svelte-23dtxz\">Assistant</span></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <div aria-hidden=\"true\" class=\"svelte-23dtxz\"></div></section> `);\n\t\tif (chat.error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"chat-error-banner svelte-23dtxz\" role=\"alert\"><span class=\"svelte-23dtxz\">${escape_html(chat.error)}</span> <button class=\"reconnect-btn svelte-23dtxz\" type=\"button\">Reconnect</button> <button class=\"dismiss-btn svelte-23dtxz\" type=\"button\" aria-label=\"Dismiss error\">×</button></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tChatInput($$renderer, {\n\t\t\tsending: chat.sending,\n\t\t\tquestionPending: !!chat.pendingQuestion && chat.pendingQuestion.questions.length === 1,\n\t\t\tonSend: handleSend\n\t\t});\n\t\t$$renderer.push(`<!----></div> <aside class=\"chat-side svelte-23dtxz\" aria-label=\"Assistant and sessions\"><section class=\"panel side-panel svelte-23dtxz\"><div class=\"panel-header side-panel-header svelte-23dtxz\"><div class=\"svelte-23dtxz\"><div class=\"chat-side-eyebrow svelte-23dtxz\">Connection</div> <h2 class=\"svelte-23dtxz\">Assistant</h2></div></div> <div class=\"panel-body side-panel-body svelte-23dtxz\">`);\n\t\tEndpointList($$renderer, {});\n\t\t$$renderer.push(`<!----></div></section> <section class=\"panel side-panel side-sessions svelte-23dtxz\"><div class=\"panel-header side-panel-header svelte-23dtxz\"><div class=\"svelte-23dtxz\"><div class=\"chat-side-eyebrow svelte-23dtxz\">History</div> <h2 class=\"svelte-23dtxz\">Sessions</h2></div></div> <div class=\"panel-body side-panel-body side-panel-body--sessions svelte-23dtxz\">`);\n\t\tSessionList($$renderer, {});\n\t\t$$renderer.push(`<!----></div></section></aside></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_page.svelte-MZeeV3UU.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/chat/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, s as head } from \"../../../chunks/dev.js\";\nimport \"../../../chunks/index-server.js\";\nimport \"../../../chunks/theme-state.svelte.js\";\nimport { n as goto } from \"../../../chunks/client.js\";\nimport { t as page } from \"../../../chunks/state2.js\";\nimport \"../../../chunks/navigation.js\";\nimport { i as endpointsService, m as IconButton, n as SessionList, r as EndpointList, s as chat, t as Navbar } from \"../../../chunks/Navbar.js\";\nimport { t as Spinner } from \"../../../chunks/Spinner.js\";\nimport { n as ToolStrip, t as ChatMessage } from \"../../../chunks/ChatMessage.js\";\n//#region src/lib/components/chat/NewChatButton.svelte\nfunction plus($$renderer) {\n\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 5v14\"></path><path d=\"M5 12h14\"></path></svg>`);\n}\nfunction NewChatButton($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst onChat = derived(() => (page.url?.pathname ?? \"\") === \"/chat\" || (page.url?.pathname ?? \"\").startsWith(\"/chat/\"));\n\t\tlet starting = false;\n\t\tasync function newChat() {\n\t\t\tif (starting) return;\n\t\t\tstarting = true;\n\t\t\ttry {\n\t\t\t\tif (onChat()) await chat.startNewSession();\n\t\t\t\telse await goto(\"/chat?new=1\");\n\t\t\t} finally {\n\t\t\t\tstarting = false;\n\t\t\t}\n\t\t}\n\t\tIconButton($$renderer, {\n\t\t\ticon: plus,\n\t\t\tariaLabel: \"Start a new chat\",\n\t\t\ttitle: \"New chat\",\n\t\t\tdisabled: starting,\n\t\t\tonclick: newChat\n\t\t});\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/ChatInput.svelte\nfunction ChatInput($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { sending, questionPending = false, onSend } = $$props;\n\t\tlet inputText = \"\";\n\t\tconst inputDisabled = derived(() => sending && !questionPending);\n\t\tconst actionLabel = derived(() => questionPending ? \"Answer\" : \"Send\");\n\t\t$$renderer.push(`<div class=\"chat-input-row svelte-j7h4bp\"><div class=\"input-area svelte-j7h4bp\">`);\n\t\tNewChatButton($$renderer, {});\n\t\t$$renderer.push(`<!----> <textarea id=\"chat-input\"${attr(\"placeholder\", questionPending ? \"Answer the assistant… (Enter to send, Shift+Enter for newline)\" : \"Send a message… (Enter to send, Shift+Enter for newline)\")} rows=\"1\"${attr(\"disabled\", inputDisabled(), true)} aria-label=\"Message input\" class=\"svelte-j7h4bp\">`);\n\t\tconst $$body = escape_html(inputText);\n\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t$$renderer.push(`</textarea> <button class=\"btn btn-primary send-btn svelte-j7h4bp\" type=\"button\"${attr(\"disabled\", inputDisabled() || !inputText.trim(), true)}${attr(\"aria-label\", questionPending ? \"Send answer\" : \"Send message\")}>`);\n\t\tif (sending && !questionPending) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tSpinner($$renderer, {});\n\t\t\t$$renderer.push(`<!----> <span>Sending...</span>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\"></line><polygon points=\"22 2 15 22 11 13 2 9 22 2\"></polygon></svg> <span>${escape_html(actionLabel())}</span>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></button></div></div>`);\n\t});\n}\n//#endregion\n//#region src/routes/chat/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst entriesLoading = derived(() => chat.entriesLoading);\n\t\tconst sessionsLoading = derived(() => chat.byEndpoint.get(chat.activeEndpointId)?.sessionsLoading ?? false);\n\t\tconst activeEndpointLabel = derived(() => endpointsService.active?.label ?? \"Assistant\");\n\t\tconst activeSessionLabel = derived(() => {\n\t\t\treturn (chat.byEndpoint.get(chat.activeEndpointId)?.sessions.find((item) => item.id === chat.activeSessionId))?.title?.trim() || \"New session\";\n\t\t});\n\t\tasync function handleSend(text) {\n\t\t\tawait chat.send(text);\n\t\t}\n\t\tfunction liveStatusText() {\n\t\t\tif (chat.pendingPermission) return \"Assistant paused for approval\";\n\t\t\tif (chat.pendingQuestion) return \"Assistant is waiting for your answer\";\n\t\t\tif (chat.pendingAssistantText) return \"Assistant is responding\";\n\t\t\treturn \"Assistant is typing\";\n\t\t}\n\t\tfunction clamp(text, max = 160) {\n\t\t\treturn text.length > max ? `${text.slice(0, max - 1)}…` : text;\n\t\t}\n\t\thead(\"23dtxz\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Chat — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tNavbar($$renderer, {});\n\t\t$$renderer.push(`<!----> <div class=\"chat-shell svelte-23dtxz\"><div class=\"chat-layout svelte-23dtxz\"><section class=\"messages-area svelte-23dtxz\" aria-label=\"Chat history\"><header class=\"chat-intro svelte-23dtxz\" aria-label=\"Chat overview\"><div class=\"chat-intro-copy svelte-23dtxz\"><div class=\"chat-intro-eyebrow svelte-23dtxz\">OpenPalm chat</div> <h1 class=\"svelte-23dtxz\">Talk to your assistant</h1> <p class=\"svelte-23dtxz\">You're chatting with <strong class=\"svelte-23dtxz\">${escape_html(activeEndpointLabel())}</strong> in <strong class=\"svelte-23dtxz\">${escape_html(activeSessionLabel())}</strong>.\n Ask for help in plain language and review the live output below.</p></div></header> `);\n\t\tif (sessionsLoading() || entriesLoading()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"session-loading svelte-23dtxz\" aria-live=\"polite\">`);\n\t\t\tSpinner($$renderer, {});\n\t\t\t$$renderer.push(`<!----> <span class=\"svelte-23dtxz\">Loading messages…</span></div>`);\n\t\t} else if (chat.entries.length === 0) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"empty-state svelte-23dtxz\"><p class=\"svelte-23dtxz\">No messages yet. Send something to begin.</p></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\tconst each_array = ensure_array_like(chat.entries);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet entry = each_array[$$index];\n\t\t\tChatMessage($$renderer, { entry });\n\t\t}\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (chat.sending) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"typing-message svelte-23dtxz\" aria-live=\"polite\"${attr(\"aria-label\", liveStatusText())}><div class=\"typing-bubble svelte-23dtxz\">`);\n\t\t\tif (chat.pendingAssistantText) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<p class=\"typing-text typing-text-streaming svelte-23dtxz\">${escape_html(chat.pendingAssistantText)}</p>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<div class=\"typing-state-row svelte-23dtxz\"><span class=\"typing-text svelte-23dtxz\">${escape_html(liveStatusText())}</span> `);\n\t\t\t\tif (!chat.pendingPermission && !chat.pendingQuestion) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"typing-indicator svelte-23dtxz\" aria-hidden=\"true\"><span class=\"typing-dot svelte-23dtxz\"></span> <span class=\"typing-dot svelte-23dtxz\"></span> <span class=\"typing-dot svelte-23dtxz\"></span></span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (chat.pendingToolStates.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tToolStrip($$renderer, {\n\t\t\t\t\titems: chat.pendingToolStates,\n\t\t\t\t\tmuted: !!chat.pendingPermission || !!chat.pendingQuestion,\n\t\t\t\t\tbordered: true,\n\t\t\t\t\tariaLabel: \"Assistant tool activity\"\n\t\t\t\t});\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (chat.pendingPermission) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"live-card permission-card svelte-23dtxz\" role=\"group\" aria-label=\"Permission request\"><div class=\"live-card-header svelte-23dtxz\"><span class=\"live-card-kicker svelte-23dtxz\">Permission request</span> <span class=\"live-card-title svelte-23dtxz\">${escape_html(chat.pendingPermission.permission)}</span></div> `);\n\t\t\t\tif (chat.pendingPermission.detail) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"live-card-message svelte-23dtxz\">${escape_html(clamp(chat.pendingPermission.detail))}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (chat.pendingPermission.patterns.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"svelte-23dtxz\"><span class=\"live-card-label svelte-23dtxz\">Requested now</span> <code class=\"live-card-code svelte-23dtxz\">${escape_html(chat.pendingPermission.patterns.join(\", \"))}</code></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (chat.pendingPermission.always.length > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"svelte-23dtxz\"><span class=\"live-card-label svelte-23dtxz\">Saved if always allowed</span> <code class=\"live-card-code svelte-23dtxz\">${escape_html(chat.pendingPermission.always.join(\", \"))}</code></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (chat.pendingPermission.message) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"live-card-message svelte-23dtxz\">${escape_html(chat.pendingPermission.message)}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <div class=\"live-card-actions svelte-23dtxz\"><button class=\"btn btn-primary btn-sm svelte-23dtxz\" type=\"button\"${attr(\"disabled\", chat.pendingPermission.status === \"submitting\" || chat.pendingPermission.status === \"resolved\", true)}>${escape_html(\"Allow this once\")}</button> <button class=\"btn btn-secondary btn-sm svelte-23dtxz\" type=\"button\"${attr(\"disabled\", chat.pendingPermission.status === \"submitting\" || chat.pendingPermission.status === \"resolved\", true)}>${escape_html(\"Always allow matches\")}</button> <button class=\"btn btn-danger btn-sm svelte-23dtxz\" type=\"button\"${attr(\"disabled\", chat.pendingPermission.status === \"submitting\" || chat.pendingPermission.status === \"resolved\", true)}>${escape_html(\"Deny request\")}</button></div></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (chat.pendingQuestion) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"live-card question-card svelte-23dtxz\" role=\"group\" aria-label=\"Assistant question\"><div class=\"live-card-header svelte-23dtxz\"><span class=\"live-card-kicker svelte-23dtxz\">Assistant question</span> `);\n\t\t\t\tif (chat.pendingQuestion.questions.length === 1 && chat.pendingQuestion.questions[0]?.header) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"live-card-title svelte-23dtxz\">${escape_html(chat.pendingQuestion.questions[0].header)}</span>`);\n\t\t\t\t} else if (chat.pendingQuestion.questions.length > 1) {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"live-card-title svelte-23dtxz\">${escape_html(chat.pendingQuestion.questions.length)} answers required</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\t\tif (chat.pendingQuestion.questions.length === 1 && chat.pendingQuestion.questions[0]) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"live-card-question svelte-23dtxz\">${escape_html(chat.pendingQuestion.questions[0].question)}</p> `);\n\t\t\t\t\tif (chat.pendingQuestion.questions[0].options.length > 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<div class=\"question-options svelte-23dtxz\"><!--[-->`);\n\t\t\t\t\t\tconst each_array_1 = ensure_array_like(chat.pendingQuestion.questions[0].options);\n\t\t\t\t\t\tfor (let index = 0, $$length = each_array_1.length; index < $$length; index++) {\n\t\t\t\t\t\t\tlet option = each_array_1[index];\n\t\t\t\t\t\t\t$$renderer.push(`<button class=\"btn btn-secondary btn-sm question-option svelte-23dtxz\" type=\"button\"${attr(\"disabled\", chat.pendingQuestion.status === \"submitting\" || chat.pendingQuestion.status === \"answered\" || chat.pendingQuestion.status === \"rejected\", true)}><span class=\"svelte-23dtxz\">${escape_html(option.label)}</span> `);\n\t\t\t\t\t\t\tif (option.description) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"question-option-description svelte-23dtxz\">${escape_html(option.description)}</span>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></button>`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> <p class=\"live-card-hint svelte-23dtxz\">Use the composer below to send a custom answer.</p>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"multi-question-list svelte-23dtxz\"><!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(chat.pendingQuestion.questions);\n\t\t\t\t\tfor (let index = 0, $$length = each_array_2.length; index < $$length; index++) {\n\t\t\t\t\t\tlet question = each_array_2[index];\n\t\t\t\t\t\t$$renderer.push(`<div class=\"multi-question-item svelte-23dtxz\">`);\n\t\t\t\t\t\tif (question.header) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<span class=\"live-card-label svelte-23dtxz\">${escape_html(question.header)}</span>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--> <p class=\"live-card-question svelte-23dtxz\">${escape_html(question.question)}</p> `);\n\t\t\t\t\t\tif (question.options.length > 0) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<div class=\"question-options svelte-23dtxz\"><!--[-->`);\n\t\t\t\t\t\t\tconst each_array_3 = ensure_array_like(question.options);\n\t\t\t\t\t\t\tfor (let optionIndex = 0, $$length = each_array_3.length; optionIndex < $$length; optionIndex++) {\n\t\t\t\t\t\t\t\tlet option = each_array_3[optionIndex];\n\t\t\t\t\t\t\t\t$$renderer.push(`<button${attr_class(\"btn btn-secondary btn-sm question-option svelte-23dtxz\", void 0, { \"selected-option\": chat.pendingQuestion.answers[index] === option.label })} type=\"button\"${attr(\"disabled\", chat.pendingQuestion.status === \"submitting\" || chat.pendingQuestion.status === \"answered\" || chat.pendingQuestion.status === \"rejected\", true)}><span class=\"svelte-23dtxz\">${escape_html(option.label)}</span> `);\n\t\t\t\t\t\t\t\tif (option.description) {\n\t\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"question-option-description svelte-23dtxz\">${escape_html(option.description)}</span>`);\n\t\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></button>`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--> <input class=\"question-input svelte-23dtxz\" type=\"text\"${attr(\"value\", chat.pendingQuestion.answers[index])} placeholder=\"Type an answer\" aria-required=\"true\"${attr(\"aria-invalid\", chat.pendingQuestion.status === \"error\" ? !chat.pendingQuestion.answers[index] : void 0)}${attr(\"disabled\", chat.pendingQuestion.status === \"submitting\" || chat.pendingQuestion.status === \"answered\" || chat.pendingQuestion.status === \"rejected\", true)}/></div>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (chat.pendingQuestion.answers.some((answer) => answer)) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<code class=\"live-card-code svelte-23dtxz\">${escape_html(chat.pendingQuestion.answers.filter(Boolean).join(\" | \"))}</code>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (chat.pendingQuestion.message) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"live-card-message svelte-23dtxz\">${escape_html(chat.pendingQuestion.message)}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <div class=\"live-card-actions svelte-23dtxz\">`);\n\t\t\t\tif (chat.pendingQuestion.questions.length > 1) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<button class=\"btn btn-primary btn-sm svelte-23dtxz\" type=\"button\"${attr(\"disabled\", chat.pendingQuestion.status === \"submitting\" || chat.pendingQuestion.status === \"answered\" || chat.pendingQuestion.status === \"rejected\", true)}>Submit answers</button>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <button class=\"btn btn-secondary btn-sm svelte-23dtxz\" type=\"button\"${attr(\"disabled\", chat.pendingQuestion.status === \"submitting\" || chat.pendingQuestion.status === \"answered\" || chat.pendingQuestion.status === \"rejected\", true)}>Can't answer</button></div></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> <span class=\"typing-meta svelte-23dtxz\">Assistant</span></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <div aria-hidden=\"true\" class=\"svelte-23dtxz\"></div></section> `);\n\t\tif (chat.error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"chat-error-banner svelte-23dtxz\" role=\"alert\"><span class=\"svelte-23dtxz\">${escape_html(chat.error)}</span> <button class=\"reconnect-btn svelte-23dtxz\" type=\"button\">Reconnect</button> <button class=\"dismiss-btn svelte-23dtxz\" type=\"button\" aria-label=\"Dismiss error\">×</button></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tChatInput($$renderer, {\n\t\t\tsending: chat.sending,\n\t\t\tquestionPending: !!chat.pendingQuestion && chat.pendingQuestion.questions.length === 1,\n\t\t\tonSend: handleSend\n\t\t});\n\t\t$$renderer.push(`<!----></div> <aside class=\"chat-side svelte-23dtxz\" aria-label=\"Assistant and sessions\"><section class=\"panel side-panel svelte-23dtxz\"><div class=\"panel-header side-panel-header svelte-23dtxz\"><div class=\"svelte-23dtxz\"><div class=\"chat-side-eyebrow svelte-23dtxz\">Connection</div> <h2 class=\"svelte-23dtxz\">Assistant</h2></div></div> <div class=\"panel-body side-panel-body svelte-23dtxz\">`);\n\t\tEndpointList($$renderer, {});\n\t\t$$renderer.push(`<!----></div></section> <section class=\"panel side-panel side-sessions svelte-23dtxz\"><div class=\"panel-header side-panel-header svelte-23dtxz\"><div class=\"svelte-23dtxz\"><div class=\"chat-side-eyebrow svelte-23dtxz\">History</div> <h2 class=\"svelte-23dtxz\">Sessions</h2></div></div> <div class=\"panel-body side-panel-body side-panel-body--sessions svelte-23dtxz\">`);\n\t\tSessionList($$renderer, {});\n\t\t$$renderer.push(`<!----></div></section></aside></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { aE as readStackEnv } from './src-C-1qVAJa.js';
2
- import { g as getState } from './state-bB0lw7NQ.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-BQN_GfNX.js';
4
- import { o as opencodeFetch } from './http-jg3xKKrA.js';
5
- import { g as getCurrentConfig } from './config-Cto-_Sk-.js';
1
+ import { aE as readStackEnv } from './src-C5kkVuFB.js';
2
+ import { g as getState } from './state-BAMdGxdT.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-CIHSEiCi.js';
4
+ import { o as opencodeFetch } from './http-29NeXi8J.js';
5
+ import { g as getCurrentConfig } from './config-CfZrAmt4.js';
6
6
  import { existsSync, readFileSync } from 'node:fs';
7
7
  import { join } from 'node:path';
8
8
  import './chunk-CLZ62Ad-.js';
@@ -24,7 +24,7 @@ import 'zlib';
24
24
  import 'node:assert';
25
25
  import 'node:fs/promises';
26
26
  import 'node:os';
27
- import './endpoints-CZLzwKSe.js';
27
+ import './endpoints-DNux-fut.js';
28
28
  import './coercion-TNFJisCC.js';
29
29
 
30
30
  //#region src/lib/server/speech-prep.ts
@@ -205,4 +205,4 @@ var POST = async (event) => {
205
205
  };
206
206
 
207
207
  export { POST };
208
- //# sourceMappingURL=_server.ts-CkCKp55w.js.map
208
+ //# sourceMappingURL=_server.ts-00h626-G.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CkCKp55w.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Vt as readStackEnv } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.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-00h626-G.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { Vt as readStackEnv } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.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,8 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { ad as importHostOpenCode, i as authJsonPath, Q as detectHostOpenCode, G as createLogger, o as checkDocker, m as buildComposeOptions } from './src-C-1qVAJa.js';
3
- import { g as getState } from './state-bB0lw7NQ.js';
4
- import { o as opencodeFetch } from './http-jg3xKKrA.js';
5
- import { c as composeRestart } from './docker-N9OFlekP.js';
2
+ import { ad as importHostOpenCode, i as authJsonPath, Q as detectHostOpenCode, G as createLogger, o as checkDocker, m as buildComposeOptions } from './src-C5kkVuFB.js';
3
+ import { g as getState } from './state-BAMdGxdT.js';
4
+ import { o as opencodeFetch } from './http-29NeXi8J.js';
5
+ import { c as composeRestart } from './docker-C_kgiGOO.js';
6
6
  import { existsSync, readFileSync } from 'node:fs';
7
7
  import './utils-BSRjJDrZ.js';
8
8
  import './chunk-CLZ62Ad-.js';
@@ -25,7 +25,7 @@ import 'zlib';
25
25
  import 'node:assert';
26
26
  import 'node:fs/promises';
27
27
  import 'node:os';
28
- import './endpoints-CZLzwKSe.js';
28
+ import './endpoints-DNux-fut.js';
29
29
 
30
30
  //#region src/routes/api/setup/import-host/+server.ts
31
31
  /**
@@ -169,4 +169,4 @@ var POST = async () => {
169
169
  };
170
170
 
171
171
  export { POST };
172
- //# sourceMappingURL=_server.ts-BlhHYpxu.js.map
172
+ //# sourceMappingURL=_server.ts-2U69xsqn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BlhHYpxu.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/import-host/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { L as buildComposeOptions, Zt as authJsonPath, a as importHostOpenCode, bn as createLogger, i as detectHostOpenCode, tt as checkDocker } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/import-host/+server.ts\n/**\n* POST /api/setup/import-host\n*\n* Setup-phase equivalent of POST /admin/providers/import-host.\n* No admin auth required — the admin token hasn't been written yet during setup.\n*\n* Copies host OpenCode config + auth into OP_HOME and live-pushes credentials\n* to the running OpenCode subprocess so providers appear connected immediately.\n*/\nvar logger = createLogger(\"setup:import-host\");\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch (err) {\n\t\treturn {\n\t\t\tpushed: [],\n\t\t\terrors: [{\n\t\t\t\tprovider: \"*\",\n\t\t\t\terror: `Could not read auth.json: ${err instanceof Error ? err.message : String(err)}`\n\t\t\t}]\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: [],\n\t\terrors: [{\n\t\t\tprovider: \"*\",\n\t\t\terror: \"auth.json is not a JSON object\"\n\t\t}]\n\t};\n\tconst pushed = [];\n\tconst errors = [];\n\tfor (const [providerId, value] of Object.entries(raw)) {\n\t\tif (providerId === \"anthropic\") continue;\n\t\ttry {\n\t\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\tbody: JSON.stringify(value)\n\t\t\t});\n\t\t\tpushed.push(providerId);\n\t\t} catch (err) {\n\t\t\terrors.push({\n\t\t\t\tprovider: providerId,\n\t\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t\t});\n\t\t}\n\t}\n\treturn {\n\t\tpushed,\n\t\terrors\n\t};\n}\n/** Restart provider-consuming services so they re-read imported startup config. */\nasync function restartProviderConsumers(state) {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(state);\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Read the provider ids present in an auth.json, ignoring read/parse errors. */\nfunction providerIdsFromAuth(authPath) {\n\ttry {\n\t\tconst raw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t\tif (raw && typeof raw === \"object\" && !Array.isArray(raw)) return Object.keys(raw);\n\t} catch {}\n\treturn [];\n}\nvar POST = async () => {\n\tconst state = getState();\n\tlet result;\n\ttry {\n\t\tresult = importHostOpenCode(state, { overwriteConflicts: false });\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: `Could not copy host OpenCode config: ${err instanceof Error ? err.message : String(err)}`\n\t\t}, { status: 500 });\n\t}\n\tconst importedAuthPath = authJsonPath(state);\n\tlet importedProviderIds = [];\n\tif (result.imported.credentials > 0 || existsSync(importedAuthPath)) {\n\t\tconst fromDestination = providerIdsFromAuth(importedAuthPath);\n\t\tif (fromDestination.length > 0) importedProviderIds = fromDestination;\n\t\telse if (result.imported.credentials > 0) {\n\t\t\tconst hostStatus = detectHostOpenCode();\n\t\t\tconst hostFallback = hostStatus.authPath ? providerIdsFromAuth(hostStatus.authPath) : [];\n\t\t\tlogger.warn(\"post-copy auth.json read returned no providers despite credentials being reported; falling back to host auth.json\", {\n\t\t\t\timportedAuthPath,\n\t\t\t\timportedCredentials: result.imported.credentials,\n\t\t\t\tfallbackCount: hostFallback.length\n\t\t\t});\n\t\t\timportedProviderIds = hostFallback;\n\t\t}\n\t}\n\tconst conflictProviders = result.conflicts;\n\tconst authPathToUse = existsSync(importedAuthPath) ? importedAuthPath : null;\n\tlet pushResult = {\n\t\tpushed: [],\n\t\terrors: []\n\t};\n\tif (authPathToUse) pushResult = await pushAuthToOpenCode(authPathToUse);\n\tconst restart = await restartProviderConsumers(state);\n\treturn json({\n\t\tok: true,\n\t\timported: result.imported,\n\t\timportedProviders: importedProviderIds,\n\t\tconflicts: result.conflicts.length,\n\t\tconflictProviders,\n\t\tlivePushed: pushResult.pushed.length,\n\t\tpushedProviders: pushResult.pushed,\n\t\terrors: pushResult.errors,\n\t\trestarted: restart.restarted,\n\t\trestartFailed: restart.failed\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAC9C,eAAe,kBAAkB,CAAC,QAAQ,EAAE;AAC5C,CAAC,IAAI,GAAG;AACR,CAAC,IAAI;AACL,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO;AACT,GAAG,MAAM,EAAE,EAAE;AACb,GAAG,MAAM,EAAE,CAAC;AACZ,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,KAAK,EAAE,CAAC,0BAA0B,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACzF,IAAI;AACJ,GAAG;AACH,CAAC;AACD,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO;AACnE,EAAE,MAAM,EAAE,EAAE;AACZ,EAAE,MAAM,EAAE,CAAC;AACX,GAAG,QAAQ,EAAE,GAAG;AAChB,GAAG,KAAK,EAAE;AACV,GAAG;AACH,EAAE;AACF,CAAC,MAAM,MAAM,GAAG,EAAE;AAClB,CAAC,MAAM,MAAM,GAAG,EAAE;AAClB,CAAC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACxD,EAAE,IAAI,UAAU,KAAK,WAAW,EAAE;AAClC,EAAE,IAAI;AACN,GAAG,MAAM,aAAa,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;AAClE,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;AAC9B,IAAI,CAAC;AACL,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1B,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,MAAM,CAAC,IAAI,CAAC;AACf,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AAC1D,IAAI,CAAC;AACL,EAAE;AACF,CAAC;AACD,CAAC,OAAO;AACR,EAAE,MAAM;AACR,EAAE;AACF,EAAE;AACF;AACA;AACA,eAAe,wBAAwB,CAAC,KAAK,EAAE;AAC/C,CAAC,MAAM,QAAQ,GAAG,CAAC,WAAW,CAAC;AAC/B,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO;AACvC,EAAE,SAAS,EAAE,EAAE;AACf,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC/B,GAAG,OAAO,EAAE,CAAC;AACb,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE;AACF,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC;AACxC,CAAC,MAAM,SAAS,GAAG,EAAE;AACrB,CAAC,MAAM,MAAM,GAAG,EAAE;AAClB,CAAC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,IAAI;AACrC,EAAE,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;AACjD,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;AACnC,OAAO,MAAM,CAAC,IAAI,CAAC;AACnB,GAAG,OAAO;AACV,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC;AACrC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,CAAC,IAAI,CAAC;AACd,GAAG,OAAO;AACV,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,CAAC;AACJ,CAAC;AACD,CAAC,OAAO;AACR,EAAE,SAAS;AACX,EAAE;AACF,EAAE;AACF;AACA;AACA,SAAS,mBAAmB,CAAC,QAAQ,EAAE;AACvC,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzD,EAAE,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACpF,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,EAAE;AACV;AACG,IAAC,IAAI,GAAG,YAAY;AACvB,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,MAAM;AACX,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AACnE,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,CAAC,qCAAqC,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACnG,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC;AAC7C,CAAC,IAAI,mBAAmB,GAAG,EAAE;AAC7B,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE;AACtE,EAAE,MAAM,eAAe,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;AAC/D,EAAE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,mBAAmB,GAAG,eAAe;AACvE,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,EAAE;AAC5C,GAAG,MAAM,UAAU,GAAG,kBAAkB,EAAE;AAC1C,GAAG,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;AAC3F,GAAG,MAAM,CAAC,IAAI,CAAC,mHAAmH,EAAE;AACpI,IAAI,gBAAgB;AACpB,IAAI,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;AACpD,IAAI,aAAa,EAAE,YAAY,CAAC;AAChC,IAAI,CAAC;AACL,GAAG,mBAAmB,GAAG,YAAY;AACrC,EAAE;AACF,CAAC;AACD,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS;AAC3C,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,IAAI;AAC7E,CAAC,IAAI,UAAU,GAAG;AAClB,EAAE,MAAM,EAAE,EAAE;AACZ,EAAE,MAAM,EAAE;AACV,EAAE;AACF,CAAC,IAAI,aAAa,EAAE,UAAU,GAAG,MAAM,kBAAkB,CAAC,aAAa,CAAC;AACxE,CAAC,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,KAAK,CAAC;AACtD,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC3B,EAAE,iBAAiB,EAAE,mBAAmB;AACxC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;AACpC,EAAE,iBAAiB;AACnB,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM;AACtC,EAAE,eAAe,EAAE,UAAU,CAAC,MAAM;AACpC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM;AAC3B,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;AAC9B,EAAE,aAAa,EAAE,OAAO,CAAC;AACzB,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-2U69xsqn.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/import-host/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { L as buildComposeOptions, Zt as authJsonPath, a as importHostOpenCode, bn as createLogger, i as detectHostOpenCode, tt as checkDocker } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/import-host/+server.ts\n/**\n* POST /api/setup/import-host\n*\n* Setup-phase equivalent of POST /admin/providers/import-host.\n* No admin auth required — the admin token hasn't been written yet during setup.\n*\n* Copies host OpenCode config + auth into OP_HOME and live-pushes credentials\n* to the running OpenCode subprocess so providers appear connected immediately.\n*/\nvar logger = createLogger(\"setup:import-host\");\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch (err) {\n\t\treturn {\n\t\t\tpushed: [],\n\t\t\terrors: [{\n\t\t\t\tprovider: \"*\",\n\t\t\t\terror: `Could not read auth.json: ${err instanceof Error ? err.message : String(err)}`\n\t\t\t}]\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: [],\n\t\terrors: [{\n\t\t\tprovider: \"*\",\n\t\t\terror: \"auth.json is not a JSON object\"\n\t\t}]\n\t};\n\tconst pushed = [];\n\tconst errors = [];\n\tfor (const [providerId, value] of Object.entries(raw)) {\n\t\tif (providerId === \"anthropic\") continue;\n\t\ttry {\n\t\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\tbody: JSON.stringify(value)\n\t\t\t});\n\t\t\tpushed.push(providerId);\n\t\t} catch (err) {\n\t\t\terrors.push({\n\t\t\t\tprovider: providerId,\n\t\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t\t});\n\t\t}\n\t}\n\treturn {\n\t\tpushed,\n\t\terrors\n\t};\n}\n/** Restart provider-consuming services so they re-read imported startup config. */\nasync function restartProviderConsumers(state) {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(state);\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Read the provider ids present in an auth.json, ignoring read/parse errors. */\nfunction providerIdsFromAuth(authPath) {\n\ttry {\n\t\tconst raw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t\tif (raw && typeof raw === \"object\" && !Array.isArray(raw)) return Object.keys(raw);\n\t} catch {}\n\treturn [];\n}\nvar POST = async () => {\n\tconst state = getState();\n\tlet result;\n\ttry {\n\t\tresult = importHostOpenCode(state, { overwriteConflicts: false });\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: `Could not copy host OpenCode config: ${err instanceof Error ? err.message : String(err)}`\n\t\t}, { status: 500 });\n\t}\n\tconst importedAuthPath = authJsonPath(state);\n\tlet importedProviderIds = [];\n\tif (result.imported.credentials > 0 || existsSync(importedAuthPath)) {\n\t\tconst fromDestination = providerIdsFromAuth(importedAuthPath);\n\t\tif (fromDestination.length > 0) importedProviderIds = fromDestination;\n\t\telse if (result.imported.credentials > 0) {\n\t\t\tconst hostStatus = detectHostOpenCode();\n\t\t\tconst hostFallback = hostStatus.authPath ? providerIdsFromAuth(hostStatus.authPath) : [];\n\t\t\tlogger.warn(\"post-copy auth.json read returned no providers despite credentials being reported; falling back to host auth.json\", {\n\t\t\t\timportedAuthPath,\n\t\t\t\timportedCredentials: result.imported.credentials,\n\t\t\t\tfallbackCount: hostFallback.length\n\t\t\t});\n\t\t\timportedProviderIds = hostFallback;\n\t\t}\n\t}\n\tconst conflictProviders = result.conflicts;\n\tconst authPathToUse = existsSync(importedAuthPath) ? importedAuthPath : null;\n\tlet pushResult = {\n\t\tpushed: [],\n\t\terrors: []\n\t};\n\tif (authPathToUse) pushResult = await pushAuthToOpenCode(authPathToUse);\n\tconst restart = await restartProviderConsumers(state);\n\treturn json({\n\t\tok: true,\n\t\timported: result.imported,\n\t\timportedProviders: importedProviderIds,\n\t\tconflicts: result.conflicts.length,\n\t\tconflictProviders,\n\t\tlivePushed: pushResult.pushed.length,\n\t\tpushedProviders: pushResult.pushed,\n\t\terrors: pushResult.errors,\n\t\trestarted: restart.restarted,\n\t\trestartFailed: restart.failed\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { b2 as validateProposedState, G as createLogger } from './src-C-1qVAJa.js';
2
- import { g as getState } from './state-bB0lw7NQ.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-BQN_GfNX.js';
1
+ import { b2 as validateProposedState, G as createLogger } from './src-C5kkVuFB.js';
2
+ import { g as getState } from './state-BAMdGxdT.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-CIHSEiCi.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-CZLzwKSe.js';
25
+ import './endpoints-DNux-fut.js';
26
26
 
27
27
  //#region src/routes/admin/config/validate/+server.ts
28
28
  var logger = createLogger("admin.config.validate");
@@ -40,4 +40,4 @@ var GET = async (event) => {
40
40
  };
41
41
 
42
42
  export { GET };
43
- //# sourceMappingURL=_server.ts-CG16D3SY.js.map
43
+ //# sourceMappingURL=_server.ts-8dbeS-B9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CG16D3SY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/config/validate/_server.ts.js"],"sourcesContent":["import { b as validateProposedState, bn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/config/validate/+server.ts\nvar logger = createLogger(\"admin.config.validate\");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst result = await validateProposedState(getState());\n\tif (!result.ok) logger.warn(\"config validation failed\", {\n\t\trequestId,\n\t\terrors: result.errors,\n\t\twarnings: result.warnings\n\t});\n\treturn jsonResponse(200, result, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC;AAC/C,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,CAAC;AACvD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AACzD,EAAE,SAAS;AACX,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,QAAQ,EAAE,MAAM,CAAC;AACnB,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;AAC5C;;;;"}
1
+ {"version":3,"file":"_server.ts-8dbeS-B9.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/config/validate/_server.ts.js"],"sourcesContent":["import { b as validateProposedState, bn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/config/validate/+server.ts\nvar logger = createLogger(\"admin.config.validate\");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst result = await validateProposedState(getState());\n\tif (!result.ok) logger.warn(\"config validation failed\", {\n\t\trequestId,\n\t\terrors: result.errors,\n\t\twarnings: result.warnings\n\t});\n\treturn jsonResponse(200, result, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC;AAC/C,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,CAAC;AACvD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AACzD,EAAE,SAAS;AACX,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,QAAQ,EAAE,MAAM,CAAC;AACnB,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;AAC5C;;;;"}
@@ -1,6 +1,6 @@
1
- import { o as checkDocker, z as composeStats, m as buildComposeOptions } from './src-C-1qVAJa.js';
2
- import { g as getState } from './state-bB0lw7NQ.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-BQN_GfNX.js';
1
+ import { o as checkDocker, z as composeStats, m as buildComposeOptions } from './src-C5kkVuFB.js';
2
+ import { g as getState } from './state-BAMdGxdT.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CIHSEiCi.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-CZLzwKSe.js';
25
+ import './endpoints-DNux-fut.js';
26
26
 
27
27
  //#region src/routes/admin/containers/stats/+server.ts
28
28
  var GET = async (event) => {
@@ -44,4 +44,4 @@ var GET = async (event) => {
44
44
  };
45
45
 
46
46
  export { GET };
47
- //# sourceMappingURL=_server.ts-DX2bpJhj.js.map
47
+ //# sourceMappingURL=_server.ts-B0-1jdCf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DX2bpJhj.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/stats/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, tt as checkDocker, ut as composeStats } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.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-B0-1jdCf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/stats/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, tt as checkDocker, ut as composeStats } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.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;;;;"}