@openpalm/ui 0.11.5-rc.3 → 0.11.5-rc.5

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 (390) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/4.Cg0DWfRJ.css +1 -0
  3. package/build/client/_app/immutable/assets/4.Cg0DWfRJ.css.br +0 -0
  4. package/build/client/_app/immutable/assets/4.Cg0DWfRJ.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/7.CtszQVIX.css +1 -0
  6. package/build/client/_app/immutable/assets/7.CtszQVIX.css.br +0 -0
  7. package/build/client/_app/immutable/assets/7.CtszQVIX.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/ChatMessage.09JQ9G_F.css +1 -0
  9. package/build/client/_app/immutable/assets/ChatMessage.09JQ9G_F.css.br +0 -0
  10. package/build/client/_app/immutable/assets/ChatMessage.09JQ9G_F.css.gz +0 -0
  11. package/build/client/_app/immutable/chunks/B0yFRekZ.js +3 -0
  12. package/build/client/_app/immutable/chunks/B0yFRekZ.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/B0yFRekZ.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/B6TDOH9N.js +5 -0
  15. package/build/client/_app/immutable/chunks/B6TDOH9N.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/B6TDOH9N.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{BQ0vnNWj.js → BAaXfhM-.js} +1 -1
  18. package/build/client/_app/immutable/chunks/BAaXfhM-.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/BAaXfhM-.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/BKYOLYrG.js +15 -0
  21. package/build/client/_app/immutable/chunks/BKYOLYrG.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/BKYOLYrG.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{irujFCsS.js → B_FOicoS.js} +1 -1
  24. package/build/client/_app/immutable/chunks/B_FOicoS.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/B_FOicoS.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/Bc91qquS.js +1 -0
  27. package/build/client/_app/immutable/chunks/Bc91qquS.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/Bc91qquS.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/{CDS1U3lf.js → C0etjiv9.js} +2 -2
  30. package/build/client/_app/immutable/chunks/C0etjiv9.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/C0etjiv9.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/CDYZd3Dt.js +1 -0
  33. package/build/client/_app/immutable/chunks/CDYZd3Dt.js.br +1 -0
  34. package/build/client/_app/immutable/chunks/CDYZd3Dt.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/{BTsRblfw.js → CghSfF6U.js} +1 -1
  36. package/build/client/_app/immutable/chunks/CghSfF6U.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/CghSfF6U.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/DTZmSm97.js +1 -0
  39. package/build/client/_app/immutable/chunks/DTZmSm97.js.br +2 -0
  40. package/build/client/_app/immutable/chunks/DTZmSm97.js.gz +0 -0
  41. package/build/client/_app/immutable/entry/app.CIC2xFmj.js +2 -0
  42. package/build/client/_app/immutable/entry/app.CIC2xFmj.js.br +0 -0
  43. package/build/client/_app/immutable/entry/app.CIC2xFmj.js.gz +0 -0
  44. package/build/client/_app/immutable/entry/start.PCdanKMO.js +1 -0
  45. package/build/client/_app/immutable/entry/start.PCdanKMO.js.br +0 -0
  46. package/build/client/_app/immutable/entry/start.PCdanKMO.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/0.CmaZoW6Y.js +1 -0
  48. package/build/client/_app/immutable/nodes/0.CmaZoW6Y.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/0.CmaZoW6Y.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/1.BhQMYP2N.js +1 -0
  51. package/build/client/_app/immutable/nodes/1.BhQMYP2N.js.br +3 -0
  52. package/build/client/_app/immutable/nodes/1.BhQMYP2N.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/2.C-MzgTuq.js +1 -0
  54. package/build/client/_app/immutable/nodes/2.C-MzgTuq.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/2.C-MzgTuq.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/3.DXmMKZyn.js +1 -0
  57. package/build/client/_app/immutable/nodes/3.DXmMKZyn.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/3.DXmMKZyn.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/4.B9yFE6HR.js +19 -0
  60. package/build/client/_app/immutable/nodes/4.B9yFE6HR.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/4.B9yFE6HR.js.gz +0 -0
  62. package/build/client/_app/immutable/nodes/5.BeNqQzJI.js +4 -0
  63. package/build/client/_app/immutable/nodes/5.BeNqQzJI.js.br +0 -0
  64. package/build/client/_app/immutable/nodes/5.BeNqQzJI.js.gz +0 -0
  65. package/build/client/_app/immutable/nodes/6.t6Qb5QFT.js +1 -0
  66. package/build/client/_app/immutable/nodes/6.t6Qb5QFT.js.br +0 -0
  67. package/build/client/_app/immutable/nodes/6.t6Qb5QFT.js.gz +0 -0
  68. package/build/client/_app/immutable/nodes/7.D4yXtdUW.js +1 -0
  69. package/build/client/_app/immutable/nodes/7.D4yXtdUW.js.br +0 -0
  70. package/build/client/_app/immutable/nodes/7.D4yXtdUW.js.gz +0 -0
  71. package/build/client/_app/immutable/nodes/8.CaUTWkJ5.js +1 -0
  72. package/build/client/_app/immutable/nodes/8.CaUTWkJ5.js.br +0 -0
  73. package/build/client/_app/immutable/nodes/8.CaUTWkJ5.js.gz +0 -0
  74. package/build/client/_app/immutable/nodes/9.B1IAKpfH.js +5 -0
  75. package/build/client/_app/immutable/nodes/9.B1IAKpfH.js.br +0 -0
  76. package/build/client/_app/immutable/nodes/9.B1IAKpfH.js.gz +0 -0
  77. package/build/client/_app/version.json +1 -1
  78. package/build/client/_app/version.json.br +1 -1
  79. package/build/client/_app/version.json.gz +0 -0
  80. package/build/server/chunks/0-C0Wm0uh4.js +9 -0
  81. package/build/server/chunks/{0-BGsPZcaQ.js.map → 0-C0Wm0uh4.js.map} +1 -1
  82. package/build/server/chunks/1-BO1FboQo.js +9 -0
  83. package/build/server/chunks/{1-Daoybjaw.js.map → 1-BO1FboQo.js.map} +1 -1
  84. package/build/server/chunks/{2-DQWoUtW1.js → 2-wNOz2qR7.js} +2 -2
  85. package/build/server/chunks/{2-DQWoUtW1.js.map → 2-wNOz2qR7.js.map} +1 -1
  86. package/build/server/chunks/{3-COIGgysA.js → 3-CMcVVZ5t.js} +2 -2
  87. package/build/server/chunks/{3-COIGgysA.js.map → 3-CMcVVZ5t.js.map} +1 -1
  88. package/build/server/chunks/4-Cy42KZEq.js +9 -0
  89. package/build/server/chunks/4-Cy42KZEq.js.map +1 -0
  90. package/build/server/chunks/5-wTAacz_u.js +9 -0
  91. package/build/server/chunks/{5-BfmhtNP9.js.map → 5-wTAacz_u.js.map} +1 -1
  92. package/build/server/chunks/6-CwuJSZNK.js +9 -0
  93. package/build/server/chunks/{6-AcylLX8-.js.map → 6-CwuJSZNK.js.map} +1 -1
  94. package/build/server/chunks/7-BhucvAxb.js +9 -0
  95. package/build/server/chunks/7-BhucvAxb.js.map +1 -0
  96. package/build/server/chunks/{8-DMgWQQBm.js → 8-BbmPm5QQ.js} +3 -3
  97. package/build/server/chunks/{8-DMgWQQBm.js.map → 8-BbmPm5QQ.js.map} +1 -1
  98. package/build/server/chunks/{9-CGVsBC0_.js → 9-BCmr-315.js} +2 -2
  99. package/build/server/chunks/{9-CGVsBC0_.js.map → 9-BCmr-315.js.map} +1 -1
  100. package/build/server/chunks/{_page.svelte-C0eMsRDk.js → ChatMessage-DV_A9qbU.js} +8 -105
  101. package/build/server/chunks/ChatMessage-DV_A9qbU.js.map +1 -0
  102. package/build/server/chunks/{Navbar-C9kE6wR-.js → Navbar-Djg-dawo.js} +490 -38
  103. package/build/server/chunks/Navbar-Djg-dawo.js.map +1 -0
  104. package/build/server/chunks/{_layout.svelte-DCfzq18z.js → _layout.svelte-DzBCdyUD.js} +2 -2
  105. package/build/server/chunks/{_layout.svelte-DCfzq18z.js.map → _layout.svelte-DzBCdyUD.js.map} +1 -1
  106. package/build/server/chunks/{_page.svelte-BA7DptUV.js → _page.svelte-0Fseybo3.js} +3 -3
  107. package/build/server/chunks/{_page.svelte-BA7DptUV.js.map → _page.svelte-0Fseybo3.js.map} +1 -1
  108. package/build/server/chunks/{_page.svelte-B3FJ13Ci.js → _page.svelte-C41AgWxR.js} +6 -6
  109. package/build/server/chunks/{_page.svelte-B3FJ13Ci.js.map → _page.svelte-C41AgWxR.js.map} +1 -1
  110. package/build/server/chunks/{_page.svelte-Dnt12F6c.js → _page.svelte-CF0NIwNQ.js} +6 -6
  111. package/build/server/chunks/{_page.svelte-Dnt12F6c.js.map → _page.svelte-CF0NIwNQ.js.map} +1 -1
  112. package/build/server/chunks/_page.svelte-DHges4Pl.js +326 -0
  113. package/build/server/chunks/_page.svelte-DHges4Pl.js.map +1 -0
  114. package/build/server/chunks/{_page.svelte-Dl3WoXNo.js → _page.svelte-GBRvAIuJ.js} +229 -12
  115. package/build/server/chunks/_page.svelte-GBRvAIuJ.js.map +1 -0
  116. package/build/server/chunks/{_server.ts-3JO3CKsE.js → _server.ts-1QDB0bka.js} +4 -4
  117. package/build/server/chunks/{_server.ts-3JO3CKsE.js.map → _server.ts-1QDB0bka.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-D8cp-Em3.js → _server.ts-8gRao4pC.js} +4 -4
  119. package/build/server/chunks/{_server.ts-D8cp-Em3.js.map → _server.ts-8gRao4pC.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-BNJn20vV.js → _server.ts-9P7a99w7.js} +4 -4
  121. package/build/server/chunks/{_server.ts-BNJn20vV.js.map → _server.ts-9P7a99w7.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-CciSVwzg.js → _server.ts-AOvZbE_q.js} +5 -5
  123. package/build/server/chunks/{_server.ts-CciSVwzg.js.map → _server.ts-AOvZbE_q.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-BvbnbZsl.js → _server.ts-B35VhBNb.js} +4 -4
  125. package/build/server/chunks/{_server.ts-BvbnbZsl.js.map → _server.ts-B35VhBNb.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-CHQmAGEC.js → _server.ts-B3OHtJvn.js} +5 -5
  127. package/build/server/chunks/{_server.ts-CHQmAGEC.js.map → _server.ts-B3OHtJvn.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-Do5L_4tt.js → _server.ts-BCLgKgV5.js} +4 -4
  129. package/build/server/chunks/{_server.ts-Do5L_4tt.js.map → _server.ts-BCLgKgV5.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-DVRyf5BI.js → _server.ts-BCtRrhpo.js} +4 -4
  131. package/build/server/chunks/{_server.ts-DVRyf5BI.js.map → _server.ts-BCtRrhpo.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-QvBpEIYu.js → _server.ts-BEir1hXE.js} +4 -4
  133. package/build/server/chunks/{_server.ts-QvBpEIYu.js.map → _server.ts-BEir1hXE.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-CeeR1W32.js → _server.ts-BGhuGAqU.js} +4 -4
  135. package/build/server/chunks/{_server.ts-CeeR1W32.js.map → _server.ts-BGhuGAqU.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-D3QPUpDc.js → _server.ts-BMpV32HH.js} +4 -4
  137. package/build/server/chunks/{_server.ts-D3QPUpDc.js.map → _server.ts-BMpV32HH.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-E5YqcwqQ.js → _server.ts-BNfKymFO.js} +4 -4
  139. package/build/server/chunks/{_server.ts-E5YqcwqQ.js.map → _server.ts-BNfKymFO.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-DPC8qYUD.js → _server.ts-BPRY2j_2.js} +4 -4
  141. package/build/server/chunks/{_server.ts-DPC8qYUD.js.map → _server.ts-BPRY2j_2.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-C8zFV8J3.js → _server.ts-BPu3WMA2.js} +4 -4
  143. package/build/server/chunks/{_server.ts-C8zFV8J3.js.map → _server.ts-BPu3WMA2.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-D-Vwef5C.js → _server.ts-BTD23brV.js} +4 -4
  145. package/build/server/chunks/{_server.ts-D-Vwef5C.js.map → _server.ts-BTD23brV.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-Gbkg-oto.js → _server.ts-BUexy9Bs.js} +4 -4
  147. package/build/server/chunks/{_server.ts-Gbkg-oto.js.map → _server.ts-BUexy9Bs.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-CdB1K2M6.js → _server.ts-BWuDPAZI.js} +2 -2
  149. package/build/server/chunks/{_server.ts-CdB1K2M6.js.map → _server.ts-BWuDPAZI.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-MGn-MXr5.js → _server.ts-B_A1pH6i.js} +4 -4
  151. package/build/server/chunks/{_server.ts-MGn-MXr5.js.map → _server.ts-B_A1pH6i.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-Dc9XEMmF.js → _server.ts-BbpEaFjU.js} +4 -4
  153. package/build/server/chunks/{_server.ts-Dc9XEMmF.js.map → _server.ts-BbpEaFjU.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-DHBX6Ary.js → _server.ts-BiiFhOLE.js} +5 -5
  155. package/build/server/chunks/{_server.ts-DHBX6Ary.js.map → _server.ts-BiiFhOLE.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-ykNeG8km.js → _server.ts-Bq99b7U6.js} +4 -4
  157. package/build/server/chunks/{_server.ts-ykNeG8km.js.map → _server.ts-Bq99b7U6.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-CreuvDch.js → _server.ts-BvCT6Mjh.js} +4 -4
  159. package/build/server/chunks/{_server.ts-CreuvDch.js.map → _server.ts-BvCT6Mjh.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-DAW24-9-.js → _server.ts-Bw7wH5nP.js} +4 -4
  161. package/build/server/chunks/{_server.ts-DAW24-9-.js.map → _server.ts-Bw7wH5nP.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-BEjyvkVV.js → _server.ts-C3Y82EbX.js} +4 -4
  163. package/build/server/chunks/{_server.ts-BEjyvkVV.js.map → _server.ts-C3Y82EbX.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-4HorMS2R.js → _server.ts-C58ziWGi.js} +4 -4
  165. package/build/server/chunks/{_server.ts-4HorMS2R.js.map → _server.ts-C58ziWGi.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-DLVGDzlE.js → _server.ts-C8NNR7lm.js} +4 -4
  167. package/build/server/chunks/{_server.ts-DLVGDzlE.js.map → _server.ts-C8NNR7lm.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-BTvZB-WH.js → _server.ts-CHvr_s0m.js} +4 -4
  169. package/build/server/chunks/{_server.ts-BTvZB-WH.js.map → _server.ts-CHvr_s0m.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-CX2sHcZR.js → _server.ts-CPKa2U2F.js} +4 -4
  171. package/build/server/chunks/{_server.ts-CX2sHcZR.js.map → _server.ts-CPKa2U2F.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-CH8uRkxq.js → _server.ts-CQmJIAUn.js} +4 -4
  173. package/build/server/chunks/{_server.ts-CH8uRkxq.js.map → _server.ts-CQmJIAUn.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-Bu_7eQaL.js → _server.ts-CSzLOBbB.js} +5 -5
  175. package/build/server/chunks/{_server.ts-Bu_7eQaL.js.map → _server.ts-CSzLOBbB.js.map} +1 -1
  176. package/build/server/chunks/_server.ts-CWWHoyPz.js +48 -0
  177. package/build/server/chunks/_server.ts-CWWHoyPz.js.map +1 -0
  178. package/build/server/chunks/{_server.ts-DlwXpopR.js → _server.ts-CakB2g2B.js} +3 -3
  179. package/build/server/chunks/{_server.ts-DlwXpopR.js.map → _server.ts-CakB2g2B.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-BdLKHRnY.js → _server.ts-CbB7X8WD.js} +6 -6
  181. package/build/server/chunks/{_server.ts-BdLKHRnY.js.map → _server.ts-CbB7X8WD.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-BWtTOsFi.js → _server.ts-Ch5VrU5z.js} +4 -4
  183. package/build/server/chunks/{_server.ts-BWtTOsFi.js.map → _server.ts-Ch5VrU5z.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-C7K7bv8w.js → _server.ts-CmcgtPlf.js} +5 -5
  185. package/build/server/chunks/{_server.ts-C7K7bv8w.js.map → _server.ts-CmcgtPlf.js.map} +1 -1
  186. package/build/server/chunks/_server.ts-Cu3yIoGR.js +627 -0
  187. package/build/server/chunks/_server.ts-Cu3yIoGR.js.map +1 -0
  188. package/build/server/chunks/{_server.ts-CXI7k8hl.js → _server.ts-CuEcjgfs.js} +4 -4
  189. package/build/server/chunks/{_server.ts-CXI7k8hl.js.map → _server.ts-CuEcjgfs.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-pQ9okj_b.js → _server.ts-CyTEh-kp.js} +6 -6
  191. package/build/server/chunks/{_server.ts-pQ9okj_b.js.map → _server.ts-CyTEh-kp.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-BhRtn8Xn.js → _server.ts-CyxjwCIW.js} +4 -4
  193. package/build/server/chunks/{_server.ts-BhRtn8Xn.js.map → _server.ts-CyxjwCIW.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-CXmwf1pu.js → _server.ts-CzHLF3XJ.js} +2 -2
  195. package/build/server/chunks/{_server.ts-CXmwf1pu.js.map → _server.ts-CzHLF3XJ.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-CqH3nv-S.js → _server.ts-CzcX98RF.js} +5 -5
  197. package/build/server/chunks/{_server.ts-CqH3nv-S.js.map → _server.ts-CzcX98RF.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-B31I037d.js → _server.ts-D4hS029K.js} +6 -6
  199. package/build/server/chunks/{_server.ts-B31I037d.js.map → _server.ts-D4hS029K.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-DzIilMO5.js → _server.ts-D5KmG8Iz.js} +2 -2
  201. package/build/server/chunks/{_server.ts-DzIilMO5.js.map → _server.ts-D5KmG8Iz.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-CbOKfJ3v.js → _server.ts-D6bq6_Fp.js} +6 -6
  203. package/build/server/chunks/{_server.ts-CbOKfJ3v.js.map → _server.ts-D6bq6_Fp.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-BUIWPYRF.js → _server.ts-DEL6C5fs.js} +4 -4
  205. package/build/server/chunks/{_server.ts-BUIWPYRF.js.map → _server.ts-DEL6C5fs.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-BGqa6Laa.js → _server.ts-DLMyOePt.js} +4 -4
  207. package/build/server/chunks/_server.ts-DLMyOePt.js.map +1 -0
  208. package/build/server/chunks/{_server.ts-CNLz6iJ7.js → _server.ts-DLkvAnm7.js} +4 -4
  209. package/build/server/chunks/{_server.ts-CNLz6iJ7.js.map → _server.ts-DLkvAnm7.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-B1Jl9Grz.js → _server.ts-DTVKXoI5.js} +4 -4
  211. package/build/server/chunks/{_server.ts-B1Jl9Grz.js.map → _server.ts-DTVKXoI5.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-Bq4Oko-2.js → _server.ts-DZ7Ko_32.js} +4 -4
  213. package/build/server/chunks/{_server.ts-Bq4Oko-2.js.map → _server.ts-DZ7Ko_32.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-DL9hlvL8.js → _server.ts-DZY0Qpnk.js} +4 -4
  215. package/build/server/chunks/{_server.ts-DL9hlvL8.js.map → _server.ts-DZY0Qpnk.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-BY7nR9Ev.js → _server.ts-DcW9CTcB.js} +4 -4
  217. package/build/server/chunks/{_server.ts-BY7nR9Ev.js.map → _server.ts-DcW9CTcB.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-1mdOjWEN.js → _server.ts-Df17RBWC.js} +5 -5
  219. package/build/server/chunks/{_server.ts-1mdOjWEN.js.map → _server.ts-Df17RBWC.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-DsTUwnu1.js → _server.ts-Dh9SJATt.js} +4 -4
  221. package/build/server/chunks/{_server.ts-DsTUwnu1.js.map → _server.ts-Dh9SJATt.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-CIEz-ybk.js → _server.ts-DlDgeWtr.js} +4 -4
  223. package/build/server/chunks/{_server.ts-CIEz-ybk.js.map → _server.ts-DlDgeWtr.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-C8BrkC8T.js → _server.ts-Dmtbp8AT.js} +5 -5
  225. package/build/server/chunks/{_server.ts-C8BrkC8T.js.map → _server.ts-Dmtbp8AT.js.map} +1 -1
  226. package/build/server/chunks/_server.ts-Dnq1yxVI.js +205 -0
  227. package/build/server/chunks/_server.ts-Dnq1yxVI.js.map +1 -0
  228. package/build/server/chunks/{_server.ts-Dd4Mh0JV.js → _server.ts-DolRZ_5Z.js} +4 -4
  229. package/build/server/chunks/{_server.ts-Dd4Mh0JV.js.map → _server.ts-DolRZ_5Z.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-CpJ08_Lw.js → _server.ts-DrccDqL8.js} +4 -4
  231. package/build/server/chunks/{_server.ts-CpJ08_Lw.js.map → _server.ts-DrccDqL8.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-CD-Cddqe.js → _server.ts-Drxntihb.js} +5 -5
  233. package/build/server/chunks/{_server.ts-CD-Cddqe.js.map → _server.ts-Drxntihb.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-B3ntDGZM.js → _server.ts-Du4lTXoC.js} +5 -5
  235. package/build/server/chunks/{_server.ts-B3ntDGZM.js.map → _server.ts-Du4lTXoC.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-B8EZxkK3.js → _server.ts-Dvo786k1.js} +5 -5
  237. package/build/server/chunks/{_server.ts-B8EZxkK3.js.map → _server.ts-Dvo786k1.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-Lzz9ashZ.js → _server.ts-DxE9zbbG.js} +4 -4
  239. package/build/server/chunks/{_server.ts-Lzz9ashZ.js.map → _server.ts-DxE9zbbG.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-C4pf3VKi.js → _server.ts-DzVt4tZV.js} +4 -4
  241. package/build/server/chunks/{_server.ts-C4pf3VKi.js.map → _server.ts-DzVt4tZV.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-DY3ZDXdA.js → _server.ts-GnnvjDGL.js} +4 -4
  243. package/build/server/chunks/{_server.ts-DY3ZDXdA.js.map → _server.ts-GnnvjDGL.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-CVxiERfc.js → _server.ts-H1fnqBYP.js} +4 -4
  245. package/build/server/chunks/{_server.ts-CVxiERfc.js.map → _server.ts-H1fnqBYP.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-yWBMi6sn.js → _server.ts-OVberUvp.js} +6 -6
  247. package/build/server/chunks/{_server.ts-yWBMi6sn.js.map → _server.ts-OVberUvp.js.map} +1 -1
  248. package/build/server/chunks/_server.ts-Oh6upxFv.js +86 -0
  249. package/build/server/chunks/_server.ts-Oh6upxFv.js.map +1 -0
  250. package/build/server/chunks/{_server.ts-j5xF-dJX.js → _server.ts-TkRG9AFn.js} +4 -4
  251. package/build/server/chunks/{_server.ts-j5xF-dJX.js.map → _server.ts-TkRG9AFn.js.map} +1 -1
  252. package/build/server/chunks/{_server.ts-SLlbT28g.js → _server.ts-UwHoFWx1.js} +2 -2
  253. package/build/server/chunks/{_server.ts-SLlbT28g.js.map → _server.ts-UwHoFWx1.js.map} +1 -1
  254. package/build/server/chunks/{_server.ts-CtltE_T-.js → _server.ts-XArez5bY.js} +2 -2
  255. package/build/server/chunks/{_server.ts-CtltE_T-.js.map → _server.ts-XArez5bY.js.map} +1 -1
  256. package/build/server/chunks/{_server.ts-IzD0bafW.js → _server.ts-ZfDsuW2E.js} +5 -5
  257. package/build/server/chunks/{_server.ts-IzD0bafW.js.map → _server.ts-ZfDsuW2E.js.map} +1 -1
  258. package/build/server/chunks/{_server.ts-CzoE8edN.js → _server.ts-chaYrNFx.js} +5 -5
  259. package/build/server/chunks/{_server.ts-CzoE8edN.js.map → _server.ts-chaYrNFx.js.map} +1 -1
  260. package/build/server/chunks/{_server.ts-B8YF9aVx.js → _server.ts-lZxRvx5G.js} +4 -4
  261. package/build/server/chunks/{_server.ts-B8YF9aVx.js.map → _server.ts-lZxRvx5G.js.map} +1 -1
  262. package/build/server/chunks/{_server.ts-BHmCir74.js → _server.ts-v7meNBSR.js} +4 -4
  263. package/build/server/chunks/{_server.ts-BHmCir74.js.map → _server.ts-v7meNBSR.js.map} +1 -1
  264. package/build/server/chunks/{_server.ts-CExwMomX.js → _server.ts-vSoEzokn.js} +4 -4
  265. package/build/server/chunks/{_server.ts-CExwMomX.js.map → _server.ts-vSoEzokn.js.map} +1 -1
  266. package/build/server/chunks/{_server.ts-BLUm8wAq.js → _server.ts-x3-1Iy5T.js} +4 -4
  267. package/build/server/chunks/{_server.ts-BLUm8wAq.js.map → _server.ts-x3-1Iy5T.js.map} +1 -1
  268. package/build/server/chunks/{_server.ts-C_EnHMEu.js → _server.ts-z9JFYptL.js} +4 -4
  269. package/build/server/chunks/{_server.ts-C_EnHMEu.js.map → _server.ts-z9JFYptL.js.map} +1 -1
  270. package/build/server/chunks/{addon-helpers-DBJL8kvq.js → addon-helpers-o7ish5mE.js} +3 -3
  271. package/build/server/chunks/{addon-helpers-DBJL8kvq.js.map → addon-helpers-o7ish5mE.js.map} +1 -1
  272. package/build/server/chunks/{akm-hO0p79ZE.js → akm-W9nWVWkP.js} +2 -2
  273. package/build/server/chunks/{akm-hO0p79ZE.js.map → akm-W9nWVWkP.js.map} +1 -1
  274. package/build/server/chunks/{client-DchoQXpW.js → client-BxrkCo8A.js} +2 -2
  275. package/build/server/chunks/{client-DchoQXpW.js.map → client-BxrkCo8A.js.map} +1 -1
  276. package/build/server/chunks/{config-5vfdWPGq.js → config-DHWE6_Oh.js} +2 -2
  277. package/build/server/chunks/{config-5vfdWPGq.js.map → config-DHWE6_Oh.js.map} +1 -1
  278. package/build/server/chunks/{docker-DYeytgDI.js → docker-DTmz3vyS.js} +2 -2
  279. package/build/server/chunks/{docker-DYeytgDI.js.map → docker-DTmz3vyS.js.map} +1 -1
  280. package/build/server/chunks/{endpoints-pIoXJCW6.js → endpoints-DeqIjeS-.js} +19 -6
  281. package/build/server/chunks/endpoints-DeqIjeS-.js.map +1 -0
  282. package/build/server/chunks/{environment-B0PbsX5P.js → environment-eUM4Nrm3.js} +2 -2
  283. package/build/server/chunks/{environment-B0PbsX5P.js.map → environment-eUM4Nrm3.js.map} +1 -1
  284. package/build/server/chunks/{error.svelte-Cmr7gpdL.js → error.svelte-C1YZdXu0.js} +4 -4
  285. package/build/server/chunks/{error.svelte-Cmr7gpdL.js.map → error.svelte-C1YZdXu0.js.map} +1 -1
  286. package/build/server/chunks/{helpers-CVirrNSz.js → helpers-BxClonOR.js} +3 -3
  287. package/build/server/chunks/{helpers-CVirrNSz.js.map → helpers-BxClonOR.js.map} +1 -1
  288. package/build/server/chunks/{hooks.server-pc-TSpQy.js → hooks.server-BbqU1Xkl.js} +6 -6
  289. package/build/server/chunks/hooks.server-BbqU1Xkl.js.map +1 -0
  290. package/build/server/chunks/{http-DGsfa0DV.js → http-B4lcqCl2.js} +2 -2
  291. package/build/server/chunks/{http-DGsfa0DV.js.map → http-B4lcqCl2.js.map} +1 -1
  292. package/build/server/chunks/{internal-DriC3vi3.js → internal-BqydNqHi.js} +3 -3
  293. package/build/server/chunks/{internal-DriC3vi3.js.map → internal-BqydNqHi.js.map} +1 -1
  294. package/build/server/chunks/{session-cookie-DEuOwtHY.js → session-cookie-BhONF37G.js} +2 -2
  295. package/build/server/chunks/{session-cookie-DEuOwtHY.js.map → session-cookie-BhONF37G.js.map} +1 -1
  296. package/build/server/chunks/{setup-deploy-D4bnmfpV.js → setup-deploy-XJpbNV-N.js} +2 -2
  297. package/build/server/chunks/{setup-deploy-D4bnmfpV.js.map → setup-deploy-XJpbNV-N.js.map} +1 -1
  298. package/build/server/chunks/{src-CyeWH4Df.js → src-DGGmhx-_.js} +523 -69
  299. package/build/server/chunks/src-DGGmhx-_.js.map +1 -0
  300. package/build/server/chunks/{state-BcUnjLg5.js → state-Dd9gBPIF.js} +2 -2
  301. package/build/server/chunks/{state-BcUnjLg5.js.map → state-Dd9gBPIF.js.map} +1 -1
  302. package/build/server/chunks/{theme-state.svelte-CeABRes-.js → theme-state.svelte-_CMr5Hu9.js} +96 -24
  303. package/build/server/chunks/theme-state.svelte-_CMr5Hu9.js.map +1 -0
  304. package/build/server/index.js +2 -2
  305. package/build/server/manifest.js +106 -85
  306. package/build/server/manifest.js.map +1 -1
  307. package/package.json +3 -2
  308. package/build/client/_app/immutable/assets/4.BFLRjZM9.css +0 -1
  309. package/build/client/_app/immutable/assets/4.BFLRjZM9.css.br +0 -0
  310. package/build/client/_app/immutable/assets/4.BFLRjZM9.css.gz +0 -0
  311. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css +0 -1
  312. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.br +0 -0
  313. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.gz +0 -0
  314. package/build/client/_app/immutable/chunks/0swOyi-5.js +0 -3
  315. package/build/client/_app/immutable/chunks/0swOyi-5.js.br +0 -0
  316. package/build/client/_app/immutable/chunks/0swOyi-5.js.gz +0 -0
  317. package/build/client/_app/immutable/chunks/B4LSIsxy.js +0 -1
  318. package/build/client/_app/immutable/chunks/B4LSIsxy.js.br +0 -2
  319. package/build/client/_app/immutable/chunks/B4LSIsxy.js.gz +0 -0
  320. package/build/client/_app/immutable/chunks/BQ0vnNWj.js.br +0 -1
  321. package/build/client/_app/immutable/chunks/BQ0vnNWj.js.gz +0 -0
  322. package/build/client/_app/immutable/chunks/BTsRblfw.js.br +0 -0
  323. package/build/client/_app/immutable/chunks/BTsRblfw.js.gz +0 -0
  324. package/build/client/_app/immutable/chunks/Bmfn2m9N.js +0 -1
  325. package/build/client/_app/immutable/chunks/Bmfn2m9N.js.br +0 -1
  326. package/build/client/_app/immutable/chunks/Bmfn2m9N.js.gz +0 -0
  327. package/build/client/_app/immutable/chunks/C-9oV3QK.js +0 -1
  328. package/build/client/_app/immutable/chunks/C-9oV3QK.js.br +0 -0
  329. package/build/client/_app/immutable/chunks/C-9oV3QK.js.gz +0 -0
  330. package/build/client/_app/immutable/chunks/CDS1U3lf.js.br +0 -0
  331. package/build/client/_app/immutable/chunks/CDS1U3lf.js.gz +0 -0
  332. package/build/client/_app/immutable/chunks/TM1MyO6b.js +0 -5
  333. package/build/client/_app/immutable/chunks/TM1MyO6b.js.br +0 -0
  334. package/build/client/_app/immutable/chunks/TM1MyO6b.js.gz +0 -0
  335. package/build/client/_app/immutable/chunks/irujFCsS.js.br +0 -0
  336. package/build/client/_app/immutable/chunks/irujFCsS.js.gz +0 -0
  337. package/build/client/_app/immutable/entry/app.j4FjlmJV.js +0 -2
  338. package/build/client/_app/immutable/entry/app.j4FjlmJV.js.br +0 -0
  339. package/build/client/_app/immutable/entry/app.j4FjlmJV.js.gz +0 -0
  340. package/build/client/_app/immutable/entry/start.BG0VgQz3.js +0 -1
  341. package/build/client/_app/immutable/entry/start.BG0VgQz3.js.br +0 -1
  342. package/build/client/_app/immutable/entry/start.BG0VgQz3.js.gz +0 -0
  343. package/build/client/_app/immutable/nodes/0.C7eQ_ow9.js +0 -1
  344. package/build/client/_app/immutable/nodes/0.C7eQ_ow9.js.br +0 -0
  345. package/build/client/_app/immutable/nodes/0.C7eQ_ow9.js.gz +0 -0
  346. package/build/client/_app/immutable/nodes/1.DOderKqv.js +0 -1
  347. package/build/client/_app/immutable/nodes/1.DOderKqv.js.br +0 -1
  348. package/build/client/_app/immutable/nodes/1.DOderKqv.js.gz +0 -0
  349. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js +0 -1
  350. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.br +0 -0
  351. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.gz +0 -0
  352. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js +0 -1
  353. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.br +0 -0
  354. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.gz +0 -0
  355. package/build/client/_app/immutable/nodes/4.CL9pbPfw.js +0 -19
  356. package/build/client/_app/immutable/nodes/4.CL9pbPfw.js.br +0 -0
  357. package/build/client/_app/immutable/nodes/4.CL9pbPfw.js.gz +0 -0
  358. package/build/client/_app/immutable/nodes/5.By0afU0Y.js +0 -4
  359. package/build/client/_app/immutable/nodes/5.By0afU0Y.js.br +0 -0
  360. package/build/client/_app/immutable/nodes/5.By0afU0Y.js.gz +0 -0
  361. package/build/client/_app/immutable/nodes/6.BnWmdf6t.js +0 -1
  362. package/build/client/_app/immutable/nodes/6.BnWmdf6t.js.br +0 -0
  363. package/build/client/_app/immutable/nodes/6.BnWmdf6t.js.gz +0 -0
  364. package/build/client/_app/immutable/nodes/7.RAc8_3qJ.js +0 -15
  365. package/build/client/_app/immutable/nodes/7.RAc8_3qJ.js.br +0 -0
  366. package/build/client/_app/immutable/nodes/7.RAc8_3qJ.js.gz +0 -0
  367. package/build/client/_app/immutable/nodes/8.Dytsowyk.js +0 -1
  368. package/build/client/_app/immutable/nodes/8.Dytsowyk.js.br +0 -0
  369. package/build/client/_app/immutable/nodes/8.Dytsowyk.js.gz +0 -0
  370. package/build/client/_app/immutable/nodes/9.CFQabEMi.js +0 -5
  371. package/build/client/_app/immutable/nodes/9.CFQabEMi.js.br +0 -0
  372. package/build/client/_app/immutable/nodes/9.CFQabEMi.js.gz +0 -0
  373. package/build/server/chunks/0-BGsPZcaQ.js +0 -9
  374. package/build/server/chunks/1-Daoybjaw.js +0 -9
  375. package/build/server/chunks/4-Lm1O6Rmh.js +0 -9
  376. package/build/server/chunks/4-Lm1O6Rmh.js.map +0 -1
  377. package/build/server/chunks/5-BfmhtNP9.js +0 -9
  378. package/build/server/chunks/6-AcylLX8-.js +0 -9
  379. package/build/server/chunks/7-BT0zxD9E.js +0 -9
  380. package/build/server/chunks/7-BT0zxD9E.js.map +0 -1
  381. package/build/server/chunks/Navbar-C9kE6wR-.js.map +0 -1
  382. package/build/server/chunks/_page.svelte-C0eMsRDk.js.map +0 -1
  383. package/build/server/chunks/_page.svelte-Dl3WoXNo.js.map +0 -1
  384. package/build/server/chunks/_server.ts-B79PxL9c.js +0 -91
  385. package/build/server/chunks/_server.ts-B79PxL9c.js.map +0 -1
  386. package/build/server/chunks/_server.ts-BGqa6Laa.js.map +0 -1
  387. package/build/server/chunks/endpoints-pIoXJCW6.js.map +0 -1
  388. package/build/server/chunks/hooks.server-pc-TSpQy.js.map +0 -1
  389. package/build/server/chunks/src-CyeWH4Df.js.map +0 -1
  390. package/build/server/chunks/theme-state.svelte-CeABRes-.js.map +0 -1
@@ -1,91 +0,0 @@
1
- import { ah as readStackEnv } from './src-CyeWH4Df.js';
2
- import { b as getState } from './endpoints-pIoXJCW6.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-CVirrNSz.js';
4
- import './chunk-CLZ62Ad-.js';
5
- import 'node:module';
6
- import 'node:fs';
7
- import 'node:path';
8
- import 'buffer';
9
- import 'node:os';
10
- import 'fs';
11
- import 'path';
12
- import 'node:child_process';
13
- import 'node:url';
14
- import 'node:crypto';
15
- import 'events';
16
- import 'node:events';
17
- import 'node:stream';
18
- import 'node:string_decoder';
19
- import 'assert';
20
- import 'zlib';
21
- import 'node:assert';
22
- import 'node:fs/promises';
23
-
24
- //#region src/routes/api/speak/+server.ts
25
- var DEFAULT_MODEL = "kokoro";
26
- var DEFAULT_VOICE = "bf_isabella";
27
- var DEFAULT_FORMAT = "wav";
28
- var UPSTREAM_TIMEOUT_MS = 6e4;
29
- function redactKey(s) {
30
- return s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, "sk-***").replace(/(Bearer\s+)[A-Za-z0-9._-]+/gi, "$1***");
31
- }
32
- var POST = async (event) => {
33
- const requestId = getRequestId(event);
34
- const authError = requireAdmin(event, requestId);
35
- if (authError) return authError;
36
- const stackEnv = readStackEnv(getState().stackDir);
37
- const ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || "").trim();
38
- const ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || "").trim() || DEFAULT_MODEL;
39
- const ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || "").trim() || DEFAULT_VOICE;
40
- const ttsApiKey = (process.env.OP_TTS_API_KEY ?? "").trim();
41
- if (!ttsBaseURL) return errorResponse(503, "tts_not_configured", "Configure a TTS engine in Admin → Voice settings.", {}, requestId);
42
- let body;
43
- try {
44
- body = await event.request.json();
45
- } catch {
46
- return errorResponse(400, "bad_request", "Invalid JSON body", {}, requestId);
47
- }
48
- const b = body ?? {};
49
- const text = typeof b.text === "string" ? b.text.trim() : "";
50
- if (!text) return errorResponse(400, "bad_request", "\"text\" is required", {}, requestId);
51
- const voice = typeof b.voice === "string" && b.voice.trim() ? b.voice.trim() : ttsVoice;
52
- const format = typeof b.format === "string" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;
53
- const upstreamUrl = ttsBaseURL.replace(/\/+$/, "") + "/v1/audio/speech";
54
- const headers = { "content-type": "application/json" };
55
- if (ttsApiKey) headers["authorization"] = `Bearer ${ttsApiKey}`;
56
- let upstream;
57
- try {
58
- upstream = await fetch(upstreamUrl, {
59
- method: "POST",
60
- headers,
61
- body: JSON.stringify({
62
- model: ttsModel,
63
- voice,
64
- input: text,
65
- response_format: format
66
- }),
67
- signal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)
68
- });
69
- } catch (err) {
70
- return errorResponse(502, "upstream_error", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);
71
- }
72
- if (!upstream.ok) {
73
- const body = await upstream.text().catch(() => "");
74
- return errorResponse(502, "upstream_error", `TTS endpoint returned ${upstream.status}`, {
75
- upstreamStatus: upstream.status,
76
- body: redactKey(body).slice(0, 500)
77
- }, requestId);
78
- }
79
- const responseHeaders = new Headers();
80
- responseHeaders.set("content-type", upstream.headers.get("content-type") ?? "audio/wav");
81
- const contentLength = upstream.headers.get("content-length");
82
- if (contentLength) responseHeaders.set("content-length", contentLength);
83
- responseHeaders.set("x-request-id", requestId);
84
- return new Response(upstream.body, {
85
- status: 200,
86
- headers: responseHeaders
87
- });
88
- };
89
-
90
- export { POST };
91
- //# sourceMappingURL=_server.ts-B79PxL9c.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts-B79PxL9c.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { bt as readStackEnv } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\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 voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tconst 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: text,\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":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,aAAa,GAAG,QAAQ;AAC5B,IAAI,aAAa,GAAG,aAAa;AACjC,IAAI,cAAc,GAAG,KAAK;AAC1B,IAAI,mBAAmB,GAAG,GAAG;AAC7B,SAAS,SAAS,CAAC,CAAC,EAAE;AACtB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,OAAO,CAAC;AACvG;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;AACnD,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,EAAE,IAAI,EAAE;AAC1F,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,aAAa;AACnG,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,aAAa;AACnG,CAAC,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE,IAAI,EAAE;AAC5D,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,mDAAmD,EAAE,EAAE,EAAE,SAAS,CAAC;AACrI,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE;AACrB,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;AAC7D,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3F,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,QAAQ;AACxF,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,cAAc;AAClG,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,kBAAkB;AACxE,CAAC,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE;AACvD,CAAC,IAAI,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAChE,CAAC,IAAI,QAAQ;AACb,CAAC,IAAI;AACL,EAAE,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;AACtC,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,OAAO;AACV,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK;AACT,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,eAAe,EAAE;AACrB,IAAI,CAAC;AACL,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,mBAAmB;AAClD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,8BAA8B,EAAE,SAAS,CAAC,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,SAAS,CAAC;AACnL,CAAC;AACD,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnB,EAAE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AACpD,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;AAC1F,GAAG,cAAc,EAAE,QAAQ,CAAC,MAAM;AAClC,GAAG,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG;AACrC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE;AACtC,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC;AACzF,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAC7D,CAAC,IAAI,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC;AACxE,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;AAC/C,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;AACpC,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,EAAE,CAAC;AACH;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_server.ts-BGqa6Laa.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/file/_server.ts.js"],"sourcesContent":["import { $ as assertSafeTaskFilename, et as readTaskFile, nt as writeTaskFile, tt as removeTaskFile } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/[name]/file/+server.ts\nfunction guard(name, requestId) {\n\ttry {\n\t\tassertSafeTaskFilename(name);\n\t\treturn null;\n\t} catch (err) {\n\t\treturn errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst content = readTaskFile(getState().stashDir, name);\n\tif (content === null) return errorResponse(404, \"not_found\", `Task file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tcontent\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst content = result.data.content;\n\tif (typeof content !== \"string\") return errorResponse(400, \"bad_request\", \"content must be a string\", {}, requestId);\n\twriteTaskFile(getState().stashDir, name, content);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tremoveTaskFile(getState().stashDir, name);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"endpoints-pIoXJCW6.js","sources":["../../../.svelte-kit/adapter-node/chunks/endpoints.js"],"sourcesContent":["import { w as createState } from \"./src.js\";\nimport { chmodSync, existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { randomUUID } from \"node:crypto\";\n//#region src/lib/server/state.ts\n/**\n* Singleton control plane state — shared across all SvelteKit server routes.\n*\n* Initialized once on server start. All API endpoints operate on this\n* shared state instance.\n*/\nvar _state = null;\nfunction getState() {\n\tif (!_state) _state = createState();\n\treturn _state;\n}\n/**\n* Bust the singleton so the next getState() call re-reads from disk.\n* Called after performSetup() writes new tokens to stack.env.\n*/\nfunction resetState() {\n\t_state = null;\n}\n//#endregion\n//#region src/lib/server/endpoints.ts\n/**\n* Assistant endpoints — list of OpenCode servers the UI can target, with\n* one marked active. The \"default\" entry is synthesized from environment\n* (OP_OPENCODE_URL / OP_ASSISTANT_URL / OP_ASSISTANT_PORT) and cannot be\n* deleted. User-added endpoints are persisted to a JSON file in the\n* config directory (it's user-owned configuration, not service state —\n* see Phase 5 / D4 in docs/technical/auth-and-proxy-refactor-plan.md).\n*\n* File: ${configDir}/endpoints.json (mode 0600)\n* Shape: { activeId: string | null, endpoints: EndpointEntry[] }\n* - activeId === null or \"default\" → use the env-derived default\n* - activeId === \"<id>\" → use the matching user entry (falls back to default if not found)\n*\n* Legacy path: ${dataDir}/admin/endpoints.json. Old installs are\n* migrated lazily on first read by maybeMigrateLegacyEndpointsFile().\n*/\nvar DEFAULT_ID = \"default\";\nvar LOCAL_ELECTRON_ID = \"local-electron\";\nfunction endpointsPath() {\n\treturn `${getState().configDir}/endpoints.json`;\n}\n/**\n* Legacy path used before Phase 5 of the auth/proxy refactor.\n* See docs/technical/auth-and-proxy-refactor-plan.md § Phase 5 / D4.\n*/\nfunction legacyEndpointsPath() {\n\treturn `${getState().dataDir}/admin/endpoints.json`;\n}\n/**\n* One-shot lazy migration from the legacy data/ path to the new config/ path.\n*\n* Phase 5 of docs/technical/auth-and-proxy-refactor-plan.md (D6 step 3):\n* - If the new path already exists → no-op (already migrated).\n* - If the legacy path doesn't exist → no-op (fresh install).\n* - Otherwise copy contents to the new path (mode 0600), then unlink legacy.\n*\n* If the migration fails partway, the legacy file is left in place so reads\n* fall back to it for the remainder of this session. Idempotent across\n* process restarts because the existence check makes it a no-op after the\n* first successful run.\n*/\nfunction maybeMigrateLegacyEndpointsFile() {\n\tconst newPath = endpointsPath();\n\tif (existsSync(newPath)) return;\n\tconst oldPath = legacyEndpointsPath();\n\tif (!existsSync(oldPath)) return;\n\ttry {\n\t\tmkdirSync(dirname(newPath), { recursive: true });\n\t\twriteFileSync(newPath, readFileSync(oldPath), { mode: 384 });\n\t\ttry {\n\t\t\tchmodSync(newPath, 384);\n\t\t} catch {}\n\t\tunlinkSync(oldPath);\n\t} catch (e) {\n\t\tconsole.warn(\"[endpoints] Failed to migrate legacy endpoints.json from data/ to config/. Leaving the old file in place; reads will fall back to it for this session.\", e);\n\t}\n}\nfunction localRuntimePath() {\n\treturn `${getState().dataDir}/local-opencode.runtime.json`;\n}\n/**\n* Read the Electron-written runtime.json each time it's needed. The file is\n* 0600 and is rewritten on each Electron launch (random password per launch),\n* so callers must NOT cache the result.\n*/\nfunction readLocalRuntime() {\n\tconst path = localRuntimePath();\n\tif (!existsSync(path)) return null;\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tif (!parsed || typeof parsed.url !== \"string\" || !parsed.url) return null;\n\t\treturn {\n\t\t\turl: parsed.url,\n\t\t\tusername: typeof parsed.username === \"string\" ? parsed.username : void 0,\n\t\t\tpassword: typeof parsed.password === \"string\" ? parsed.password : void 0,\n\t\t\tpid: typeof parsed.pid === \"number\" ? parsed.pid : void 0,\n\t\t\tstartedAt: typeof parsed.startedAt === \"string\" ? parsed.startedAt : void 0\n\t\t};\n\t} catch (e) {\n\t\tconsole.warn(\"[endpoints] Failed to parse local-opencode.runtime.json:\", e);\n\t\treturn null;\n\t}\n}\nfunction localEndpoint() {\n\tconst rt = readLocalRuntime();\n\tif (!rt) return null;\n\treturn {\n\t\tid: LOCAL_ELECTRON_ID,\n\t\tlabel: \"OpenPalm Admin\",\n\t\turl: rt.url,\n\t\tusername: rt.username || \"openpalm\",\n\t\t...rt.password ? { password: rt.password } : {},\n\t\tisDefault: false,\n\t\tisLocal: true\n\t};\n}\nfunction readFile() {\n\tmaybeMigrateLegacyEndpointsFile();\n\tlet path = endpointsPath();\n\tif (!existsSync(path)) {\n\t\tconst legacy = legacyEndpointsPath();\n\t\tif (!existsSync(legacy)) return {\n\t\t\tactiveId: null,\n\t\t\tendpoints: []\n\t\t};\n\t\tpath = legacy;\n\t}\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn {\n\t\t\tactiveId: typeof parsed.activeId === \"string\" ? parsed.activeId : null,\n\t\t\tendpoints: Array.isArray(parsed.endpoints) ? parsed.endpoints.filter(isValidEntry) : []\n\t\t};\n\t} catch (e) {\n\t\tconsole.warn(\"[endpoints] Failed to parse endpoints.json, resetting:\", e);\n\t\treturn {\n\t\t\tactiveId: null,\n\t\t\tendpoints: []\n\t\t};\n\t}\n}\nfunction isValidEntry(e) {\n\tif (!e || typeof e !== \"object\") return false;\n\tconst o = e;\n\treturn typeof o.id === \"string\" && typeof o.label === \"string\" && typeof o.url === \"string\";\n}\nfunction writeFile(data) {\n\tconst path = endpointsPath();\n\tmkdirSync(dirname(path), { recursive: true });\n\twriteFileSync(path, JSON.stringify(data, null, 2), {\n\t\tencoding: \"utf-8\",\n\t\tmode: 384\n\t});\n\ttry {\n\t\tchmodSync(path, 384);\n\t} catch {}\n}\nfunction defaultEndpoint() {\n\treturn {\n\t\tid: DEFAULT_ID,\n\t\tlabel: \"Local Assistant\",\n\t\turl: process.env.OP_OPENCODE_URL ?? process.env.OP_ASSISTANT_URL ?? `http://127.0.0.1:${process.env.OP_ASSISTANT_PORT ?? \"3800\"}`,\n\t\tusername: process.env.OPENCODE_SERVER_USERNAME || \"openpalm\",\n\t\tpassword: process.env.OPENCODE_SERVER_PASSWORD || void 0,\n\t\tisDefault: true\n\t};\n}\n/**\n* Hostnames where plain HTTP is permitted. Anything else must use HTTPS.\n*\n* - `127.0.0.1`, `::1`, `localhost` — loopback addresses on the same host.\n* - `host.docker.internal` — Docker's loopback-equivalent for the container\n* hop back to the host (used by the Electron + dev compose setups).\n*\n* Phase 6 of docs/technical/auth-and-proxy-refactor-plan.md.\n*/\nvar LOOPBACK_HOSTS = new Set([\n\t\"127.0.0.1\",\n\t\"::1\",\n\t\"localhost\",\n\t\"host.docker.internal\"\n]);\n/**\n* `URL.hostname` wraps IPv6 addresses in square brackets (e.g. `[::1]`).\n* Strip them before checking against the loopback set so the literal IPv6\n* loopback matches `::1`.\n*/\nfunction isLoopbackHost(hostname) {\n\tconst stripped = hostname.toLowerCase().replace(/^\\[|\\]$/g, \"\");\n\treturn LOOPBACK_HOSTS.has(stripped);\n}\n/**\n* Discriminated validator that callers (admin routes) use to surface\n* specific error messages — in particular, the HTTPS-for-remote rule.\n*/\nfunction validateEndpointUrl(input) {\n\tlet u;\n\ttry {\n\t\tu = new URL(input.trim());\n\t} catch {\n\t\treturn {\n\t\t\tok: false,\n\t\t\treason: \"invalid_url\"\n\t\t};\n\t}\n\tif (u.protocol !== \"http:\" && u.protocol !== \"https:\") return {\n\t\tok: false,\n\t\treason: \"invalid_scheme\"\n\t};\n\tif (!u.hostname) return {\n\t\tok: false,\n\t\treason: \"missing_host\"\n\t};\n\tif (u.protocol === \"http:\" && !isLoopbackHost(u.hostname)) return {\n\t\tok: false,\n\t\treason: \"http_not_allowed\"\n\t};\n\treturn {\n\t\tok: true,\n\t\turl: u.toString().replace(/\\/$/, \"\")\n\t};\n}\n/**\n* Validate a URL string — must be http(s) with a host. Plain HTTP is only\n* allowed for loopback hosts (see `LOOPBACK_HOSTS`). Returns the normalized\n* URL or null. For finer-grained errors, use `validateEndpointUrl`.\n*/\nfunction normalizeEndpointUrl(input) {\n\tconst result = validateEndpointUrl(input);\n\treturn result.ok ? result.url : null;\n}\n/**\n* Returns: [local-electron (if Electron is running it), default, ...user entries].\n* The local-electron entry is synthesized at call time from\n* state/local-opencode.runtime.json — never persisted to endpoints.json.\n*/\nfunction listEndpoints() {\n\tconst { endpoints } = readFile();\n\tconst local = localEndpoint();\n\treturn [\n\t\t...local ? [local] : [],\n\t\tdefaultEndpoint(),\n\t\t...endpoints.map((e) => ({\n\t\t\t...e,\n\t\t\tisDefault: false\n\t\t}))\n\t];\n}\n/**\n* Returns the active endpoint, falling back to the default if no active id is\n* set OR if the active id is `local-electron` but the runtime.json isn't there\n* (e.g. the Electron child died). Re-reads runtime.json each call so a\n* password rotated by a new Electron launch is picked up immediately.\n*/\nfunction getActiveEndpoint() {\n\tconst { activeId, endpoints } = readFile();\n\tif (activeId === LOCAL_ELECTRON_ID) {\n\t\tconst local = localEndpoint();\n\t\tif (local) return local;\n\t\treturn defaultEndpoint();\n\t}\n\tif (!activeId || activeId === DEFAULT_ID) return defaultEndpoint();\n\tconst found = endpoints.find((e) => e.id === activeId);\n\tif (!found) return defaultEndpoint();\n\treturn {\n\t\t...found,\n\t\tisDefault: false\n\t};\n}\nfunction setActiveId(id) {\n\tconst data = readFile();\n\tif (!id || id === DEFAULT_ID) data.activeId = null;\n\telse if (id === LOCAL_ELECTRON_ID) {\n\t\tif (!localEndpoint()) throw new Error(\"Local OpenCode is not running (Electron only)\");\n\t\tdata.activeId = LOCAL_ELECTRON_ID;\n\t} else {\n\t\tif (!data.endpoints.some((e) => e.id === id)) throw new Error(`Endpoint not found: ${id}`);\n\t\tdata.activeId = id;\n\t}\n\twriteFile(data);\n\treturn getActiveEndpoint();\n}\nfunction addEndpoint(input) {\n\tconst label = input.label.trim();\n\tif (!label) throw new Error(\"Label is required\");\n\tconst url = normalizeEndpointUrl(input.url);\n\tif (!url) throw new Error(\"URL must be a valid http(s) URL\");\n\tconst data = readFile();\n\tconst entry = {\n\t\tid: randomUUID(),\n\t\tlabel,\n\t\turl,\n\t\t...input.password ? { password: input.password } : {}\n\t};\n\tdata.endpoints.push(entry);\n\twriteFile(data);\n\treturn entry;\n}\nfunction updateEndpoint(id, patch) {\n\tif (id === DEFAULT_ID) throw new Error(\"Cannot edit the default endpoint\");\n\tif (id === LOCAL_ELECTRON_ID) throw new Error(\"Cannot edit the local Electron OpenCode entry (it is ephemeral and per-launch)\");\n\tconst data = readFile();\n\tconst idx = data.endpoints.findIndex((e) => e.id === id);\n\tif (idx === -1) throw new Error(`Endpoint not found: ${id}`);\n\tconst next = { ...data.endpoints[idx] };\n\tif (patch.label !== void 0) {\n\t\tconst label = patch.label.trim();\n\t\tif (!label) throw new Error(\"Label cannot be empty\");\n\t\tnext.label = label;\n\t}\n\tif (patch.url !== void 0) {\n\t\tconst url = normalizeEndpointUrl(patch.url);\n\t\tif (!url) throw new Error(\"URL must be a valid http(s) URL\");\n\t\tnext.url = url;\n\t}\n\tif (patch.password === null) delete next.password;\n\telse if (typeof patch.password === \"string\") next.password = patch.password;\n\tdata.endpoints[idx] = next;\n\twriteFile(data);\n\treturn next;\n}\nfunction deleteEndpoint(id) {\n\tif (id === DEFAULT_ID) throw new Error(\"Cannot delete the default endpoint\");\n\tif (id === LOCAL_ELECTRON_ID) throw new Error(\"Cannot delete the local Electron OpenCode entry (managed by Electron lifecycle)\");\n\tconst data = readFile();\n\tconst idx = data.endpoints.findIndex((e) => e.id === id);\n\tif (idx === -1) throw new Error(`Endpoint not found: ${id}`);\n\tdata.endpoints.splice(idx, 1);\n\tif (data.activeId === id) data.activeId = null;\n\twriteFile(data);\n}\n//#endregion\nexport { setActiveId as a, getState as c, listEndpoints as i, resetState as l, deleteEndpoint as n, updateEndpoint as o, getActiveEndpoint as r, validateEndpointUrl as s, addEndpoint as t };\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.server-pc-TSpQy.js","sources":["../../../.svelte-kit/adapter-node/entries/hooks.server.js"],"sourcesContent":["import { i as redirect } from \"../chunks/exports.js\";\nimport { Et as readSecret, Ft as ensureHomeDirs, Lt as resolveStackDir, Q as isSetupComplete, _t as ensureOpenCodeSystemConfig, gt as writeRuntimeFiles, ht as resolveRuntimeFiles, vt as ensureOpenCodeConfig, xt as readStackRuntimeEnv, yt as ensureSecrets, zt as createLogger } from \"../chunks/src.js\";\nimport { c as getState } from \"../chunks/endpoints.js\";\nimport { n as checkHostHeader, r as checkOriginHeader, s as identifyCallerByToken, t as UI_PORT, v as touchSession } from \"../chunks/helpers.js\";\nimport { r as sessionCookieHeader, t as SESSION_COOKIE_NAME } from \"../chunks/session-cookie.js\";\n//#region src/hooks.server.ts\nvar logger = createLogger(\"admin\");\nvar startupApplyDone = false;\nfunction runStartupApply() {\n\tif (startupApplyDone) return;\n\tstartupApplyDone = true;\n\ttry {\n\t\tensureHomeDirs();\n\t\tconst state = getState();\n\t\tensureSecrets(state);\n\t\tif (!process.env.OP_UI_LOGIN_PASSWORD) {\n\t\t\tconst pw = readSecret(state.stackDir, \"op_ui_login_password\");\n\t\t\tif (pw) process.env.OP_UI_LOGIN_PASSWORD = pw.trimEnd();\n\t\t}\n\t\tconst stackVars = readStackRuntimeEnv(state.stackDir);\n\t\tfor (const [k, v] of Object.entries(stackVars)) if (v && !process.env[k]) process.env[k] = v;\n\t\tensureOpenCodeConfig();\n\t\tensureOpenCodeSystemConfig();\n\t\tstate.artifacts = resolveRuntimeFiles();\n\t\twriteRuntimeFiles(state);\n\t\tlogger.info(\"startup auto-apply completed successfully\", { artifactMeta: state.artifactMeta });\n\t} catch (err) {\n\t\tlogger.error(\"startup auto-apply failed\", { error: String(err) });\n\t}\n}\nrunStartupApply();\nvar SETUP_PATHS = [\n\t\"/setup\",\n\t\"/api/setup\",\n\t\"/health\",\n\t\"/guardian/health\"\n];\nfunction isLocalhostAddress(ip) {\n\treturn ip === \"127.0.0.1\" || ip === \"::1\" || ip === \"::ffff:127.0.0.1\";\n}\nvar handle = async ({ event, resolve }) => {\n\tconst hostError = checkHostHeader(event.request, UI_PORT);\n\tif (hostError) return hostError;\n\tconst originError = checkOriginHeader(event.request, UI_PORT);\n\tif (originError) return originError;\n\tconst path = event.url.pathname;\n\tconst isSetupPath = SETUP_PATHS.some((p) => path === p || path.startsWith(p + \"/\"));\n\tif (isSetupPath && !isSetupComplete(resolveStackDir())) {\n\t\tif (!isLocalhostAddress(event.getClientAddress())) return new Response(JSON.stringify({\n\t\t\terror: \"setup_localhost_only\",\n\t\t\tmessage: \"Setup is only accessible from the host machine until installation is complete.\"\n\t\t}), {\n\t\t\tstatus: 403,\n\t\t\theaders: { \"content-type\": \"application/json\" }\n\t\t});\n\t}\n\tif (!isSetupPath && !isSetupComplete(resolveStackDir())) redirect(302, \"/setup\");\n\tevent.locals.role = identifyCallerByToken(event);\n\tlet renewedCookie = null;\n\tif (event.locals.role === \"admin\") {\n\t\tconst match = (event.request.headers.get(\"cookie\") ?? \"\").match(new RegExp(`(?:^|;\\\\s*)${SESSION_COOKIE_NAME}=([^;]+)`));\n\t\tconst renewed = match ? touchSession(match[1]) : false;\n\t\tif (renewed) renewedCookie = sessionCookieHeader(renewed, event.request);\n\t}\n\tconst isAuthPath = path === \"/login\" || path.startsWith(\"/login/\");\n\tif (event.request.method === \"GET\" && (event.request.headers.get(\"accept\") ?? \"\").includes(\"text/html\") && !event.locals.role && !isSetupPath && !isAuthPath) {\n\t\tconst redirectTo = path + event.url.search;\n\t\tredirect(302, `/login?redirectTo=${encodeURIComponent(redirectTo)}`);\n\t}\n\tconst response = await resolve(event);\n\tif (renewedCookie) {\n\t\tif (!(response.headers.get(\"set-cookie\") ?? \"\").includes(`op_session=`)) response.headers.append(\"set-cookie\", renewedCookie);\n\t}\n\tresponse.headers.set(\"X-Frame-Options\", \"DENY\");\n\tresponse.headers.set(\"X-Content-Type-Options\", \"nosniff\");\n\tresponse.headers.set(\"Referrer-Policy\", \"no-referrer\");\n\treturn response;\n};\n//#endregion\nexport { handle };\n"],"names":[],"mappings":"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"}