@openpalm/ui 0.11.0-rc.8 → 0.11.0

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 (424) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/0.DlIhzko8.css +1 -0
  3. package/build/client/_app/immutable/assets/0.DlIhzko8.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.DlIhzko8.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/4.CLTnoKrH.css +1 -0
  6. package/build/client/_app/immutable/assets/4.CLTnoKrH.css.br +0 -0
  7. package/build/client/_app/immutable/assets/4.CLTnoKrH.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/6.Dr3r8AEl.css +1 -0
  9. package/build/client/_app/immutable/assets/6.Dr3r8AEl.css.br +0 -0
  10. package/build/client/_app/immutable/assets/6.Dr3r8AEl.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css +1 -0
  12. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.br +0 -0
  13. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.gz +0 -0
  14. package/build/client/_app/immutable/assets/8.CY2RMSue.css +1 -0
  15. package/build/client/_app/immutable/assets/8.CY2RMSue.css.br +4 -0
  16. package/build/client/_app/immutable/assets/8.CY2RMSue.css.gz +0 -0
  17. package/build/client/_app/immutable/assets/9.cpz_TytB.css +1 -0
  18. package/build/client/_app/immutable/assets/9.cpz_TytB.css.br +0 -0
  19. package/build/client/_app/immutable/assets/9.cpz_TytB.css.gz +0 -0
  20. package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css +1 -0
  21. package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css.br +0 -0
  22. package/build/client/_app/immutable/assets/Navbar.Bnqciy-R.css.gz +0 -0
  23. package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css +1 -0
  24. package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css.br +2 -0
  25. package/build/client/_app/immutable/assets/Spinner.BtzHSsat.css.gz +0 -0
  26. package/build/client/_app/immutable/assets/VoiceProfileSelector.B8FTffwl.css +1 -0
  27. package/build/client/_app/immutable/assets/VoiceProfileSelector.B8FTffwl.css.br +0 -0
  28. package/build/client/_app/immutable/assets/VoiceProfileSelector.B8FTffwl.css.gz +0 -0
  29. package/build/client/_app/immutable/chunks/0swOyi-5.js +3 -0
  30. package/build/client/_app/immutable/chunks/0swOyi-5.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/0swOyi-5.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/1sXFUT7r.js +1 -0
  33. package/build/client/_app/immutable/chunks/1sXFUT7r.js.br +2 -0
  34. package/build/client/_app/immutable/chunks/1sXFUT7r.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/BBdT9Cjm.js +1 -0
  36. package/build/client/_app/immutable/chunks/BBdT9Cjm.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/BBdT9Cjm.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/BNcdU8Ou.js +3 -0
  39. package/build/client/_app/immutable/chunks/BNcdU8Ou.js.br +0 -0
  40. package/build/client/_app/immutable/chunks/BNcdU8Ou.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/BQ0vnNWj.js +1 -0
  42. package/build/client/_app/immutable/chunks/BQ0vnNWj.js.br +1 -0
  43. package/build/client/_app/immutable/chunks/BQ0vnNWj.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/{Cb_i8bV9.js → BQrb5YOM.js} +1 -1
  45. package/build/client/_app/immutable/chunks/BQrb5YOM.js.br +0 -0
  46. package/build/client/_app/immutable/chunks/BQrb5YOM.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/Bmfn2m9N.js +1 -0
  48. package/build/client/_app/immutable/chunks/Bmfn2m9N.js.br +1 -0
  49. package/build/client/_app/immutable/chunks/Bmfn2m9N.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/{BuFlayix.js → CymRgjIC.js} +1 -1
  51. package/build/client/_app/immutable/chunks/CymRgjIC.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/CymRgjIC.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/HJd0QhDi.js +1 -0
  54. package/build/client/_app/immutable/chunks/HJd0QhDi.js.br +0 -0
  55. package/build/client/_app/immutable/chunks/HJd0QhDi.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/Mj3AXROx.js +5 -0
  57. package/build/client/_app/immutable/chunks/Mj3AXROx.js.br +0 -0
  58. package/build/client/_app/immutable/chunks/Mj3AXROx.js.gz +0 -0
  59. package/build/client/_app/immutable/entry/app.8wJBndTj.js +2 -0
  60. package/build/client/_app/immutable/entry/app.8wJBndTj.js.br +0 -0
  61. package/build/client/_app/immutable/entry/app.8wJBndTj.js.gz +0 -0
  62. package/build/client/_app/immutable/entry/start.B6QaWAof.js +1 -0
  63. package/build/client/_app/immutable/entry/start.B6QaWAof.js.br +0 -0
  64. package/build/client/_app/immutable/entry/start.B6QaWAof.js.gz +0 -0
  65. package/build/client/_app/immutable/nodes/0.rwRC6zAi.js +1 -0
  66. package/build/client/_app/immutable/nodes/0.rwRC6zAi.js.br +0 -0
  67. package/build/client/_app/immutable/nodes/0.rwRC6zAi.js.gz +0 -0
  68. package/build/client/_app/immutable/nodes/1.BeVZsPun.js +1 -0
  69. package/build/client/_app/immutable/nodes/1.BeVZsPun.js.br +1 -0
  70. package/build/client/_app/immutable/nodes/1.BeVZsPun.js.gz +0 -0
  71. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js +1 -0
  72. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.br +0 -0
  73. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.gz +0 -0
  74. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js +1 -0
  75. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.br +0 -0
  76. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.gz +0 -0
  77. package/build/client/_app/immutable/nodes/4.BAthCCnr.js +19 -0
  78. package/build/client/_app/immutable/nodes/4.BAthCCnr.js.br +0 -0
  79. package/build/client/_app/immutable/nodes/4.BAthCCnr.js.gz +0 -0
  80. package/build/client/_app/immutable/nodes/5.Ci-IDy_L.js +4 -0
  81. package/build/client/_app/immutable/nodes/5.Ci-IDy_L.js.br +0 -0
  82. package/build/client/_app/immutable/nodes/5.Ci-IDy_L.js.gz +0 -0
  83. package/build/client/_app/immutable/nodes/6._GM9bF5h.js +1 -0
  84. package/build/client/_app/immutable/nodes/6._GM9bF5h.js.br +0 -0
  85. package/build/client/_app/immutable/nodes/6._GM9bF5h.js.gz +0 -0
  86. package/build/client/_app/immutable/nodes/7.Cx4EVpki.js +15 -0
  87. package/build/client/_app/immutable/nodes/7.Cx4EVpki.js.br +0 -0
  88. package/build/client/_app/immutable/nodes/7.Cx4EVpki.js.gz +0 -0
  89. package/build/client/_app/immutable/nodes/8.p0qRhws4.js +1 -0
  90. package/build/client/_app/immutable/nodes/8.p0qRhws4.js.br +0 -0
  91. package/build/client/_app/immutable/nodes/8.p0qRhws4.js.gz +0 -0
  92. package/build/client/_app/immutable/nodes/9.C1MP3zci.js +2 -0
  93. package/build/client/_app/immutable/nodes/9.C1MP3zci.js.br +0 -0
  94. package/build/client/_app/immutable/nodes/9.C1MP3zci.js.gz +0 -0
  95. package/build/client/_app/version.json +1 -1
  96. package/build/client/_app/version.json.br +1 -1
  97. package/build/client/_app/version.json.gz +0 -0
  98. package/build/server/chunks/0-CTzT7i_m.js +9 -0
  99. package/build/server/chunks/{0-BSfigTUQ.js.map → 0-CTzT7i_m.js.map} +1 -1
  100. package/build/server/chunks/1-DTcDogB5.js +9 -0
  101. package/build/server/chunks/{1-BZ9i5Jda.js.map → 1-DTcDogB5.js.map} +1 -1
  102. package/build/server/chunks/2-DQWoUtW1.js +9 -0
  103. package/build/server/chunks/{2-C2y4ydWU.js.map → 2-DQWoUtW1.js.map} +1 -1
  104. package/build/server/chunks/{3-BgeGdVvT.js → 3-COIGgysA.js} +2 -2
  105. package/build/server/chunks/{3-BgeGdVvT.js.map → 3-COIGgysA.js.map} +1 -1
  106. package/build/server/chunks/4-Dn-0_RAr.js +9 -0
  107. package/build/server/chunks/4-Dn-0_RAr.js.map +1 -0
  108. package/build/server/chunks/5-Cbcb8WMr.js +9 -0
  109. package/build/server/chunks/5-Cbcb8WMr.js.map +1 -0
  110. package/build/server/chunks/6-CUZpLn9e.js +9 -0
  111. package/build/server/chunks/6-CUZpLn9e.js.map +1 -0
  112. package/build/server/chunks/7-C0-ssq7j.js +9 -0
  113. package/build/server/chunks/7-C0-ssq7j.js.map +1 -0
  114. package/build/server/chunks/8-CIt0k_cP.js +35 -0
  115. package/build/server/chunks/8-CIt0k_cP.js.map +1 -0
  116. package/build/server/chunks/9-B8DzptsC.js +9 -0
  117. package/build/server/chunks/9-B8DzptsC.js.map +1 -0
  118. package/build/server/chunks/Navbar-F9NE4GcT.js +1003 -0
  119. package/build/server/chunks/Navbar-F9NE4GcT.js.map +1 -0
  120. package/build/server/chunks/Spinner-Bk6e83RX.js +12 -0
  121. package/build/server/chunks/Spinner-Bk6e83RX.js.map +1 -0
  122. package/build/server/chunks/VoiceProfileSelector-CbOV_v5A.js +306 -0
  123. package/build/server/chunks/VoiceProfileSelector-CbOV_v5A.js.map +1 -0
  124. package/build/server/chunks/{_layout.svelte-B93aaRP_.js → _layout.svelte-BV7A7zff.js} +2 -2
  125. package/build/server/chunks/{_layout.svelte-B93aaRP_.js.map → _layout.svelte-BV7A7zff.js.map} +1 -1
  126. package/build/server/chunks/{_layout.svelte-CWc5uRoo.js → _layout.svelte-COQuY-BN.js} +8 -8
  127. package/build/server/chunks/_layout.svelte-COQuY-BN.js.map +1 -0
  128. package/build/server/chunks/_page.svelte--GbfGVnN.js +37 -0
  129. package/build/server/chunks/_page.svelte--GbfGVnN.js.map +1 -0
  130. package/build/server/chunks/_page.svelte-BgAgZqQA.js +2590 -0
  131. package/build/server/chunks/_page.svelte-BgAgZqQA.js.map +1 -0
  132. package/build/server/chunks/{_page.svelte-C0Y9xjuf.js → _page.svelte-CqEu-vpE.js} +78 -81
  133. package/build/server/chunks/_page.svelte-CqEu-vpE.js.map +1 -0
  134. package/build/server/chunks/{_page.svelte-D0gMlmzQ.js → _page.svelte-DLAHj-kk.js} +6 -14
  135. package/build/server/chunks/_page.svelte-DLAHj-kk.js.map +1 -0
  136. package/build/server/chunks/_page.svelte-DeJqqBhp.js +70 -0
  137. package/build/server/chunks/_page.svelte-DeJqqBhp.js.map +1 -0
  138. package/build/server/chunks/_page.svelte-DnwUHFZ8.js +27 -0
  139. package/build/server/chunks/_page.svelte-DnwUHFZ8.js.map +1 -0
  140. package/build/server/chunks/{_server.ts-C_fNO73y.js → _server.ts-8iOMau6K.js} +8 -8
  141. package/build/server/chunks/{_server.ts-C_fNO73y.js.map → _server.ts-8iOMau6K.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-DTyZan5L.js → _server.ts-B2RCiGeA.js} +8 -8
  143. package/build/server/chunks/{_server.ts-DTyZan5L.js.map → _server.ts-B2RCiGeA.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-DMKIHwKi.js → _server.ts-B8sdNvW5.js} +8 -8
  145. package/build/server/chunks/{_server.ts-DMKIHwKi.js.map → _server.ts-B8sdNvW5.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-CcTt5aAs.js → _server.ts-BAsbrtjL.js} +6 -6
  147. package/build/server/chunks/{_server.ts-CcTt5aAs.js.map → _server.ts-BAsbrtjL.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-dhkEt2p6.js → _server.ts-BCcQdRne.js} +8 -8
  149. package/build/server/chunks/{_server.ts-dhkEt2p6.js.map → _server.ts-BCcQdRne.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-Dq82kHyx.js → _server.ts-BD0Jit8e.js} +8 -8
  151. package/build/server/chunks/{_server.ts-Dq82kHyx.js.map → _server.ts-BD0Jit8e.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-rXhjnBtw.js → _server.ts-BD6Urice.js} +8 -8
  153. package/build/server/chunks/{_server.ts-rXhjnBtw.js.map → _server.ts-BD6Urice.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-BwHojI4i.js → _server.ts-BG3UvxEU.js} +6 -6
  155. package/build/server/chunks/{_server.ts-BwHojI4i.js.map → _server.ts-BG3UvxEU.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-Bg8OpPuA.js → _server.ts-BQZSWSLy.js} +9 -9
  157. package/build/server/chunks/{_server.ts-Bg8OpPuA.js.map → _server.ts-BQZSWSLy.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-B4N5gO26.js → _server.ts-BTGThm9P.js} +8 -8
  159. package/build/server/chunks/{_server.ts-B4N5gO26.js.map → _server.ts-BTGThm9P.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-fsEmx9mw.js → _server.ts-BVCET3CA.js} +8 -8
  161. package/build/server/chunks/{_server.ts-fsEmx9mw.js.map → _server.ts-BVCET3CA.js.map} +1 -1
  162. package/build/server/chunks/_server.ts-BVYIqRK2.js +101 -0
  163. package/build/server/chunks/_server.ts-BVYIqRK2.js.map +1 -0
  164. package/build/server/chunks/{_server.ts-DqVJ1NqI.js → _server.ts-BYTWLTxk.js} +8 -8
  165. package/build/server/chunks/{_server.ts-DqVJ1NqI.js.map → _server.ts-BYTWLTxk.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-CSgPjCYv.js → _server.ts-BZ8wMJ7l.js} +8 -8
  167. package/build/server/chunks/{_server.ts-CSgPjCYv.js.map → _server.ts-BZ8wMJ7l.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-5CjguYY3.js → _server.ts-Ban3zjRc.js} +8 -8
  169. package/build/server/chunks/{_server.ts-5CjguYY3.js.map → _server.ts-Ban3zjRc.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-DWLkr6Qg.js → _server.ts-BaxB3oQq.js} +8 -8
  171. package/build/server/chunks/{_server.ts-DWLkr6Qg.js.map → _server.ts-BaxB3oQq.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-DdlF1vjy.js → _server.ts-Bj_nJzpo.js} +8 -8
  173. package/build/server/chunks/{_server.ts-DdlF1vjy.js.map → _server.ts-Bj_nJzpo.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-wZ88P3nX.js → _server.ts-BkGQezlX.js} +10 -10
  175. package/build/server/chunks/{_server.ts-wZ88P3nX.js.map → _server.ts-BkGQezlX.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-D2wlMMJl.js → _server.ts-BlMOxGWA.js} +8 -8
  177. package/build/server/chunks/{_server.ts-D2wlMMJl.js.map → _server.ts-BlMOxGWA.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-Bd_I8GjG.js → _server.ts-BrExNZ-2.js} +8 -8
  179. package/build/server/chunks/{_server.ts-Bd_I8GjG.js.map → _server.ts-BrExNZ-2.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-b3mVtmkb.js → _server.ts-C1CpbG3_.js} +8 -8
  181. package/build/server/chunks/{_server.ts-b3mVtmkb.js.map → _server.ts-C1CpbG3_.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-DbO3cg55.js → _server.ts-C44tS0KC.js} +8 -8
  183. package/build/server/chunks/{_server.ts-DbO3cg55.js.map → _server.ts-C44tS0KC.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-xO4nhxDx.js → _server.ts-C5uu6b2a.js} +8 -8
  185. package/build/server/chunks/{_server.ts-xO4nhxDx.js.map → _server.ts-C5uu6b2a.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-DnKTcT9x.js → _server.ts-C5wVttUW.js} +7 -7
  187. package/build/server/chunks/{_server.ts-DnKTcT9x.js.map → _server.ts-C5wVttUW.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-B6FENZO7.js → _server.ts-C7D2sok_.js} +8 -8
  189. package/build/server/chunks/{_server.ts-B6FENZO7.js.map → _server.ts-C7D2sok_.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-D_dO8hvJ.js → _server.ts-C8YMhHYj.js} +8 -8
  191. package/build/server/chunks/{_server.ts-D_dO8hvJ.js.map → _server.ts-C8YMhHYj.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-CqHMhINi.js → _server.ts-CC-mpNNj.js} +8 -8
  193. package/build/server/chunks/{_server.ts-CqHMhINi.js.map → _server.ts-CC-mpNNj.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-CLiYOnOv.js → _server.ts-CG1nihTT.js} +8 -8
  195. package/build/server/chunks/{_server.ts-CLiYOnOv.js.map → _server.ts-CG1nihTT.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-BaxRyhZ8.js → _server.ts-CH8VLn03.js} +8 -8
  197. package/build/server/chunks/{_server.ts-BaxRyhZ8.js.map → _server.ts-CH8VLn03.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-CDtOOD3Q.js → _server.ts-COORKWSc.js} +8 -8
  199. package/build/server/chunks/{_server.ts-CDtOOD3Q.js.map → _server.ts-COORKWSc.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-UF_kxNaU.js → _server.ts-CPzbkayh.js} +8 -8
  201. package/build/server/chunks/{_server.ts-UF_kxNaU.js.map → _server.ts-CPzbkayh.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-BYdXdnje.js → _server.ts-CQPWD_WN.js} +8 -8
  203. package/build/server/chunks/{_server.ts-BYdXdnje.js.map → _server.ts-CQPWD_WN.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-Bq2S1OMq.js → _server.ts-CSs35mBJ.js} +8 -8
  205. package/build/server/chunks/{_server.ts-Bq2S1OMq.js.map → _server.ts-CSs35mBJ.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-CtZuKotA.js → _server.ts-CsUi6NWt.js} +31 -8
  207. package/build/server/chunks/_server.ts-CsUi6NWt.js.map +1 -0
  208. package/build/server/chunks/{_server.ts-I0iKpsyr.js → _server.ts-Cw2YXWgK.js} +9 -9
  209. package/build/server/chunks/{_server.ts-I0iKpsyr.js.map → _server.ts-Cw2YXWgK.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-CfLbEufw.js → _server.ts-D0FZ3wh5.js} +8 -8
  211. package/build/server/chunks/{_server.ts-CfLbEufw.js.map → _server.ts-D0FZ3wh5.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-eK_9jY-9.js → _server.ts-D4zkfcxH.js} +8 -8
  213. package/build/server/chunks/{_server.ts-eK_9jY-9.js.map → _server.ts-D4zkfcxH.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-DmyOp1yq.js → _server.ts-D5Q5mczv.js} +8 -8
  215. package/build/server/chunks/{_server.ts-DmyOp1yq.js.map → _server.ts-D5Q5mczv.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-P4pmd9NX.js → _server.ts-D9HJ0cWI.js} +8 -8
  217. package/build/server/chunks/{_server.ts-P4pmd9NX.js.map → _server.ts-D9HJ0cWI.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-C1y3X6iK.js → _server.ts-DAb50kOu.js} +9 -9
  219. package/build/server/chunks/{_server.ts-C1y3X6iK.js.map → _server.ts-DAb50kOu.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-Bdry_CdG.js → _server.ts-DFL8Mq_R.js} +8 -8
  221. package/build/server/chunks/{_server.ts-Bdry_CdG.js.map → _server.ts-DFL8Mq_R.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-BmZlEy27.js → _server.ts-DLHN_6MC.js} +8 -8
  223. package/build/server/chunks/{_server.ts-BmZlEy27.js.map → _server.ts-DLHN_6MC.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-BclZ3UFT.js → _server.ts-DQE5fd19.js} +8 -8
  225. package/build/server/chunks/{_server.ts-BclZ3UFT.js.map → _server.ts-DQE5fd19.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-BR9OrjcE.js → _server.ts-DQcL5wr_.js} +8 -8
  227. package/build/server/chunks/{_server.ts-BR9OrjcE.js.map → _server.ts-DQcL5wr_.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-C1DcK_rP.js → _server.ts-DRxZJQd6.js} +10 -10
  229. package/build/server/chunks/{_server.ts-C1DcK_rP.js.map → _server.ts-DRxZJQd6.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-DVekHgMN.js → _server.ts-DXOh4EZe.js} +9 -9
  231. package/build/server/chunks/{_server.ts-DVekHgMN.js.map → _server.ts-DXOh4EZe.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-De7IOs2z.js → _server.ts-DbMkM72G.js} +7 -7
  233. package/build/server/chunks/{_server.ts-De7IOs2z.js.map → _server.ts-DbMkM72G.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-yimewsjO.js → _server.ts-DcQTtmS3.js} +8 -8
  235. package/build/server/chunks/{_server.ts-yimewsjO.js.map → _server.ts-DcQTtmS3.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-otJRaSSq.js → _server.ts-DgIgXukK.js} +9 -9
  237. package/build/server/chunks/{_server.ts-otJRaSSq.js.map → _server.ts-DgIgXukK.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-CAKTZL2t.js → _server.ts-DjlikYHH.js} +9 -9
  239. package/build/server/chunks/{_server.ts-CAKTZL2t.js.map → _server.ts-DjlikYHH.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-l4CK3c4j.js → _server.ts-DjnK1iz8.js} +8 -8
  241. package/build/server/chunks/{_server.ts-l4CK3c4j.js.map → _server.ts-DjnK1iz8.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-B3tjtq2m.js → _server.ts-DrM8VAOS.js} +8 -8
  243. package/build/server/chunks/{_server.ts-B3tjtq2m.js.map → _server.ts-DrM8VAOS.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-EZS5Qan4.js → _server.ts-DtC0SjIr.js} +8 -8
  245. package/build/server/chunks/{_server.ts-EZS5Qan4.js.map → _server.ts-DtC0SjIr.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-B8JtVHLy.js → _server.ts-DuBJyo4e.js} +8 -8
  247. package/build/server/chunks/{_server.ts-B8JtVHLy.js.map → _server.ts-DuBJyo4e.js.map} +1 -1
  248. package/build/server/chunks/{_server.ts-C-lN2ZUO.js → _server.ts-EBySP1Ew.js} +6 -6
  249. package/build/server/chunks/{_server.ts-C-lN2ZUO.js.map → _server.ts-EBySP1Ew.js.map} +1 -1
  250. package/build/server/chunks/{_server.ts-CLBKpKeH.js → _server.ts-IkgMCbAi.js} +10 -10
  251. package/build/server/chunks/{_server.ts-CLBKpKeH.js.map → _server.ts-IkgMCbAi.js.map} +1 -1
  252. package/build/server/chunks/{_server.ts-Bl0YOh50.js → _server.ts-Me1rXUGo.js} +8 -8
  253. package/build/server/chunks/{_server.ts-Bl0YOh50.js.map → _server.ts-Me1rXUGo.js.map} +1 -1
  254. package/build/server/chunks/{_server.ts-BjrO7pvn.js → _server.ts-Mycnkmlz.js} +9 -9
  255. package/build/server/chunks/{_server.ts-BjrO7pvn.js.map → _server.ts-Mycnkmlz.js.map} +1 -1
  256. package/build/server/chunks/{_server.ts-CrU9r7-F.js → _server.ts-N6WIc0vw.js} +8 -8
  257. package/build/server/chunks/{_server.ts-CrU9r7-F.js.map → _server.ts-N6WIc0vw.js.map} +1 -1
  258. package/build/server/chunks/{_server.ts-CJL8da0o.js → _server.ts-XOLGzzNk.js} +8 -8
  259. package/build/server/chunks/{_server.ts-CJL8da0o.js.map → _server.ts-XOLGzzNk.js.map} +1 -1
  260. package/build/server/chunks/{_server.ts-C5s-OXCm.js → _server.ts-ZE9PYnxj.js} +8 -8
  261. package/build/server/chunks/{_server.ts-C5s-OXCm.js.map → _server.ts-ZE9PYnxj.js.map} +1 -1
  262. package/build/server/chunks/{_server.ts-D-sjM5kn.js → _server.ts-__xVWUvt.js} +8 -8
  263. package/build/server/chunks/{_server.ts-D-sjM5kn.js.map → _server.ts-__xVWUvt.js.map} +1 -1
  264. package/build/server/chunks/{_server.ts-DzWtvjem.js → _server.ts-_o3Yebl6.js} +8 -8
  265. package/build/server/chunks/{_server.ts-DzWtvjem.js.map → _server.ts-_o3Yebl6.js.map} +1 -1
  266. package/build/server/chunks/{_server.ts-CQqURrHY.js → _server.ts-ccd1enMp.js} +8 -8
  267. package/build/server/chunks/{_server.ts-CQqURrHY.js.map → _server.ts-ccd1enMp.js.map} +1 -1
  268. package/build/server/chunks/{_server.ts-DWN6TJv0.js → _server.ts-iAOP7FW1.js} +5 -5
  269. package/build/server/chunks/{_server.ts-DWN6TJv0.js.map → _server.ts-iAOP7FW1.js.map} +1 -1
  270. package/build/server/chunks/{_server.ts-CG409cWi.js → _server.ts-l3A6IOvJ.js} +8 -8
  271. package/build/server/chunks/{_server.ts-CG409cWi.js.map → _server.ts-l3A6IOvJ.js.map} +1 -1
  272. package/build/server/chunks/{_server.ts-BkoJOqrr.js → _server.ts-pLeJl6U2.js} +7 -7
  273. package/build/server/chunks/{_server.ts-BkoJOqrr.js.map → _server.ts-pLeJl6U2.js.map} +1 -1
  274. package/build/server/chunks/{_server.ts-Da9y6lio.js → _server.ts-sEc4S_v5.js} +10 -10
  275. package/build/server/chunks/{_server.ts-Da9y6lio.js.map → _server.ts-sEc4S_v5.js.map} +1 -1
  276. package/build/server/chunks/{_server.ts-DclRsTpW.js → _server.ts-vp9n_72N.js} +8 -8
  277. package/build/server/chunks/{_server.ts-DclRsTpW.js.map → _server.ts-vp9n_72N.js.map} +1 -1
  278. package/build/server/chunks/{_server.ts-D7L27_xI.js → _server.ts-ypkZ9bJf.js} +5 -5
  279. package/build/server/chunks/{_server.ts-D7L27_xI.js.map → _server.ts-ypkZ9bJf.js.map} +1 -1
  280. package/build/server/chunks/{addon-helpers-BpnH-GEc.js → addon-helpers-B0E6L7iO.js} +2 -2
  281. package/build/server/chunks/{addon-helpers-BpnH-GEc.js.map → addon-helpers-B0E6L7iO.js.map} +1 -1
  282. package/build/server/chunks/{state-ChhzSrVm.js → client-D0taHWmu.js} +29 -56
  283. package/build/server/chunks/client-D0taHWmu.js.map +1 -0
  284. package/build/server/chunks/{config-0LFudKuE.js → config-2pnPob92.js} +2 -2
  285. package/build/server/chunks/{config-0LFudKuE.js.map → config-2pnPob92.js.map} +1 -1
  286. package/build/server/chunks/{dev-DjANv7AF.js → dev-B6xUe35c.js} +23 -2
  287. package/build/server/chunks/dev-B6xUe35c.js.map +1 -0
  288. package/build/server/chunks/{docker-B23w4kr6.js → docker-D17EjIlp.js} +2 -2
  289. package/build/server/chunks/{docker-B23w4kr6.js.map → docker-D17EjIlp.js.map} +1 -1
  290. package/build/server/chunks/{endpoints-Drq_J-2Z.js → endpoints-DoIeO5WL.js} +2 -2
  291. package/build/server/chunks/{endpoints-Drq_J-2Z.js.map → endpoints-DoIeO5WL.js.map} +1 -1
  292. package/build/server/chunks/environment-B38QRFKh.js +36 -0
  293. package/build/server/chunks/environment-B38QRFKh.js.map +1 -0
  294. package/build/server/chunks/{error.svelte-D5JFoLSX.js → error.svelte-DB6X8EVo.js} +6 -5
  295. package/build/server/chunks/{error.svelte-D5JFoLSX.js.map → error.svelte-DB6X8EVo.js.map} +1 -1
  296. package/build/server/chunks/{helpers-CX6xRBmt.js → helpers-CeQwqpAT.js} +14 -4
  297. package/build/server/chunks/helpers-CeQwqpAT.js.map +1 -0
  298. package/build/server/chunks/{hooks.server-BEVMYNQ4.js → hooks.server-2io-2N7D.js} +14 -8
  299. package/build/server/chunks/hooks.server-2io-2N7D.js.map +1 -0
  300. package/build/server/chunks/{http-VqOG8hyj.js → http-CHmjTVGA.js} +2 -2
  301. package/build/server/chunks/{http-VqOG8hyj.js.map → http-CHmjTVGA.js.map} +1 -1
  302. package/build/server/chunks/{internal-DJnSEu6D.js → internal-ClL4rso0.js} +4 -4
  303. package/build/server/chunks/internal-ClL4rso0.js.map +1 -0
  304. package/build/server/chunks/{setup-deploy-B4oSSFYi.js → setup-deploy-53S0fflh.js} +2 -2
  305. package/build/server/chunks/{setup-deploy-B4oSSFYi.js.map → setup-deploy-53S0fflh.js.map} +1 -1
  306. package/build/server/chunks/{src-BkvQ5Uuf.js → src-D9YnoOnU.js} +3793 -3438
  307. package/build/server/chunks/src-D9YnoOnU.js.map +1 -0
  308. package/build/server/chunks/state-CO78UOQH.js +62 -0
  309. package/build/server/chunks/state-CO78UOQH.js.map +1 -0
  310. package/build/server/chunks/{theme-state.svelte-wqhXqgCA.js → theme-state.svelte-CE13yM0n.js} +10 -34
  311. package/build/server/chunks/theme-state.svelte-CE13yM0n.js.map +1 -0
  312. package/build/server/index.js +3 -33
  313. package/build/server/index.js.map +1 -1
  314. package/build/server/manifest.js +95 -80
  315. package/build/server/manifest.js.map +1 -1
  316. package/package.json +8 -6
  317. package/build/client/_app/immutable/assets/0.BoT18krG.css +0 -1
  318. package/build/client/_app/immutable/assets/0.BoT18krG.css.br +0 -0
  319. package/build/client/_app/immutable/assets/0.BoT18krG.css.gz +0 -0
  320. package/build/client/_app/immutable/assets/4.D9MwgTDo.css +0 -1
  321. package/build/client/_app/immutable/assets/4.D9MwgTDo.css.br +0 -0
  322. package/build/client/_app/immutable/assets/4.D9MwgTDo.css.gz +0 -0
  323. package/build/client/_app/immutable/assets/6.COn4HE1H.css +0 -1
  324. package/build/client/_app/immutable/assets/6.COn4HE1H.css.br +0 -0
  325. package/build/client/_app/immutable/assets/6.COn4HE1H.css.gz +0 -0
  326. package/build/client/_app/immutable/assets/7.BimnqtTb.css +0 -1
  327. package/build/client/_app/immutable/assets/7.BimnqtTb.css.br +0 -0
  328. package/build/client/_app/immutable/assets/7.BimnqtTb.css.gz +0 -0
  329. package/build/client/_app/immutable/assets/8.DjrHy5wu.css +0 -1
  330. package/build/client/_app/immutable/assets/8.DjrHy5wu.css.br +0 -0
  331. package/build/client/_app/immutable/assets/8.DjrHy5wu.css.gz +0 -0
  332. package/build/client/_app/immutable/assets/AuthGate.qEXYiiu8.css +0 -1
  333. package/build/client/_app/immutable/assets/AuthGate.qEXYiiu8.css.br +0 -0
  334. package/build/client/_app/immutable/assets/AuthGate.qEXYiiu8.css.gz +0 -0
  335. package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css +0 -1
  336. package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css.br +0 -0
  337. package/build/client/_app/immutable/assets/VoiceProfileSelector.Dp7tWdKe.css.gz +0 -0
  338. package/build/client/_app/immutable/chunks/BBQSZM0g.js +0 -1
  339. package/build/client/_app/immutable/chunks/BBQSZM0g.js.br +0 -0
  340. package/build/client/_app/immutable/chunks/BBQSZM0g.js.gz +0 -0
  341. package/build/client/_app/immutable/chunks/BuFlayix.js.br +0 -0
  342. package/build/client/_app/immutable/chunks/BuFlayix.js.gz +0 -0
  343. package/build/client/_app/immutable/chunks/BwTF6U35.js +0 -3
  344. package/build/client/_app/immutable/chunks/BwTF6U35.js.br +0 -0
  345. package/build/client/_app/immutable/chunks/BwTF6U35.js.gz +0 -0
  346. package/build/client/_app/immutable/chunks/Cb_i8bV9.js.br +0 -0
  347. package/build/client/_app/immutable/chunks/Cb_i8bV9.js.gz +0 -0
  348. package/build/client/_app/immutable/chunks/DEBerhwE.js +0 -1
  349. package/build/client/_app/immutable/chunks/DEBerhwE.js.br +0 -0
  350. package/build/client/_app/immutable/chunks/DEBerhwE.js.gz +0 -0
  351. package/build/client/_app/immutable/chunks/DXseS2Vw.js +0 -1
  352. package/build/client/_app/immutable/chunks/DXseS2Vw.js.br +0 -0
  353. package/build/client/_app/immutable/chunks/DXseS2Vw.js.gz +0 -0
  354. package/build/client/_app/immutable/chunks/Dh6kjuFV.js +0 -5
  355. package/build/client/_app/immutable/chunks/Dh6kjuFV.js.br +0 -0
  356. package/build/client/_app/immutable/chunks/Dh6kjuFV.js.gz +0 -0
  357. package/build/client/_app/immutable/chunks/os2NZ37U.js +0 -1
  358. package/build/client/_app/immutable/chunks/os2NZ37U.js.br +0 -1
  359. package/build/client/_app/immutable/chunks/os2NZ37U.js.gz +0 -0
  360. package/build/client/_app/immutable/entry/app.0vcs9lcu.js +0 -2
  361. package/build/client/_app/immutable/entry/app.0vcs9lcu.js.br +0 -0
  362. package/build/client/_app/immutable/entry/app.0vcs9lcu.js.gz +0 -0
  363. package/build/client/_app/immutable/entry/start.DAyPxTR9.js +0 -1
  364. package/build/client/_app/immutable/entry/start.DAyPxTR9.js.br +0 -0
  365. package/build/client/_app/immutable/entry/start.DAyPxTR9.js.gz +0 -0
  366. package/build/client/_app/immutable/nodes/0.C-6HAZZl.js +0 -1
  367. package/build/client/_app/immutable/nodes/0.C-6HAZZl.js.br +0 -0
  368. package/build/client/_app/immutable/nodes/0.C-6HAZZl.js.gz +0 -0
  369. package/build/client/_app/immutable/nodes/1.2imZJYi3.js +0 -1
  370. package/build/client/_app/immutable/nodes/1.2imZJYi3.js.br +0 -2
  371. package/build/client/_app/immutable/nodes/1.2imZJYi3.js.gz +0 -0
  372. package/build/client/_app/immutable/nodes/2.ojh8oE7F.js +0 -1
  373. package/build/client/_app/immutable/nodes/2.ojh8oE7F.js.br +0 -0
  374. package/build/client/_app/immutable/nodes/2.ojh8oE7F.js.gz +0 -0
  375. package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js +0 -1
  376. package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js.br +0 -0
  377. package/build/client/_app/immutable/nodes/3.DeAC3yVJ.js.gz +0 -0
  378. package/build/client/_app/immutable/nodes/4.UvLQ-_B8.js +0 -19
  379. package/build/client/_app/immutable/nodes/4.UvLQ-_B8.js.br +0 -0
  380. package/build/client/_app/immutable/nodes/4.UvLQ-_B8.js.gz +0 -0
  381. package/build/client/_app/immutable/nodes/5.CeFLRSVn.js +0 -4
  382. package/build/client/_app/immutable/nodes/5.CeFLRSVn.js.br +0 -0
  383. package/build/client/_app/immutable/nodes/5.CeFLRSVn.js.gz +0 -0
  384. package/build/client/_app/immutable/nodes/6.wrEWx8_F.js +0 -1
  385. package/build/client/_app/immutable/nodes/6.wrEWx8_F.js.br +0 -0
  386. package/build/client/_app/immutable/nodes/6.wrEWx8_F.js.gz +0 -0
  387. package/build/client/_app/immutable/nodes/7.B4rrIsb5.js +0 -15
  388. package/build/client/_app/immutable/nodes/7.B4rrIsb5.js.br +0 -0
  389. package/build/client/_app/immutable/nodes/7.B4rrIsb5.js.gz +0 -0
  390. package/build/client/_app/immutable/nodes/8.DNsQWKjK.js +0 -2
  391. package/build/client/_app/immutable/nodes/8.DNsQWKjK.js.br +0 -0
  392. package/build/client/_app/immutable/nodes/8.DNsQWKjK.js.gz +0 -0
  393. package/build/server/chunks/0-BSfigTUQ.js +0 -9
  394. package/build/server/chunks/1-BZ9i5Jda.js +0 -9
  395. package/build/server/chunks/2-C2y4ydWU.js +0 -9
  396. package/build/server/chunks/4-dMZNaZg5.js +0 -9
  397. package/build/server/chunks/4-dMZNaZg5.js.map +0 -1
  398. package/build/server/chunks/5-B3VmLYHv.js +0 -9
  399. package/build/server/chunks/5-B3VmLYHv.js.map +0 -1
  400. package/build/server/chunks/6-BOy95v6X.js +0 -9
  401. package/build/server/chunks/6-BOy95v6X.js.map +0 -1
  402. package/build/server/chunks/7-BHe0Dd-L.js +0 -9
  403. package/build/server/chunks/7-BHe0Dd-L.js.map +0 -1
  404. package/build/server/chunks/8-b9MOJ1zI.js +0 -9
  405. package/build/server/chunks/8-b9MOJ1zI.js.map +0 -1
  406. package/build/server/chunks/AuthGate-CV3twHl8.js +0 -776
  407. package/build/server/chunks/AuthGate-CV3twHl8.js.map +0 -1
  408. package/build/server/chunks/_layout.svelte-CWc5uRoo.js.map +0 -1
  409. package/build/server/chunks/_page.svelte-BSWlh0cc.js +0 -546
  410. package/build/server/chunks/_page.svelte-BSWlh0cc.js.map +0 -1
  411. package/build/server/chunks/_page.svelte-C0Y9xjuf.js.map +0 -1
  412. package/build/server/chunks/_page.svelte-CaA7RITG.js +0 -106
  413. package/build/server/chunks/_page.svelte-CaA7RITG.js.map +0 -1
  414. package/build/server/chunks/_page.svelte-CgREWagG.js +0 -66
  415. package/build/server/chunks/_page.svelte-CgREWagG.js.map +0 -1
  416. package/build/server/chunks/_page.svelte-D0gMlmzQ.js.map +0 -1
  417. package/build/server/chunks/_server.ts-CtZuKotA.js.map +0 -1
  418. package/build/server/chunks/dev-DjANv7AF.js.map +0 -1
  419. package/build/server/chunks/helpers-CX6xRBmt.js.map +0 -1
  420. package/build/server/chunks/hooks.server-BEVMYNQ4.js.map +0 -1
  421. package/build/server/chunks/internal-DJnSEu6D.js.map +0 -1
  422. package/build/server/chunks/src-BkvQ5Uuf.js.map +0 -1
  423. package/build/server/chunks/state-ChhzSrVm.js.map +0 -1
  424. package/build/server/chunks/theme-state.svelte-wqhXqgCA.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CLiYOnOv.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/log/_server.ts.js"],"sourcesContent":["import { u as readAutomationLogs } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/[name]/log/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar DEFAULT_LIMIT = 50;\nvar MAX_LIMIT = 500;\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tconst limitParam = event.url.searchParams.get(\"limit\");\n\tlet limit = DEFAULT_LIMIT;\n\tif (limitParam !== null) {\n\t\tconst parsed = Number.parseInt(limitParam, 10);\n\t\tif (!Number.isFinite(parsed) || parsed <= 0) return errorResponse(400, \"invalid_input\", \"limit must be a positive integer\", {}, requestId);\n\t\tlimit = Math.min(parsed, MAX_LIMIT);\n\t}\n\treturn jsonResponse(200, {\n\t\tname: taskId,\n\t\tlines: readAutomationLogs(taskId, state.dataDir, limit)\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAClD,IAAI,aAAa,GAAG,EAAE;AACtB,IAAI,SAAS,GAAG,GAAG;AAChB,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,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACvD,CAAC,IAAI,KAAK,GAAG,aAAa;AAC1B,CAAC,IAAI,UAAU,KAAK,IAAI,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,kCAAkC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;AACrC,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK;AACxD,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-CG1nihTT.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/log/_server.ts.js"],"sourcesContent":["import { u as readAutomationLogs } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, i as errorResponse, o as getRequestId, u as jsonResponse } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/[name]/log/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar DEFAULT_LIMIT = 50;\nvar MAX_LIMIT = 500;\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tconst limitParam = event.url.searchParams.get(\"limit\");\n\tlet limit = DEFAULT_LIMIT;\n\tif (limitParam !== null) {\n\t\tconst parsed = Number.parseInt(limitParam, 10);\n\t\tif (!Number.isFinite(parsed) || parsed <= 0) return errorResponse(400, \"invalid_input\", \"limit must be a positive integer\", {}, requestId);\n\t\tlimit = Math.min(parsed, MAX_LIMIT);\n\t}\n\treturn jsonResponse(200, {\n\t\tname: taskId,\n\t\tlines: readAutomationLogs(taskId, state.dataDir, limit)\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAClD,IAAI,aAAa,GAAG,EAAE;AACtB,IAAI,SAAS,GAAG,GAAG;AAChB,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,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACvD,CAAC,IAAI,KAAK,GAAG,aAAa;AAC1B,CAAC,IAAI,UAAU,KAAK,IAAI,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,kCAAkC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;AACrC,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK;AACxD,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,25 +1,25 @@
1
- import { m as checkDocker, T as getDockerEvents } from './src-BkvQ5Uuf.js';
2
- import { d as getRequestId, r as requireAdmin, e as errorResponse, h as jsonResponse } from './helpers-CX6xRBmt.js';
1
+ import { m as checkDocker, V as getDockerEvents } from './src-D9YnoOnU.js';
2
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CeQwqpAT.js';
3
3
  import './chunk-CLZ62Ad-.js';
4
4
  import 'node:module';
5
5
  import 'node:fs';
6
6
  import 'node:path';
7
- import 'node:child_process';
8
- import 'node:os';
9
7
  import 'buffer';
8
+ import 'node:os';
9
+ import 'fs';
10
+ import 'path';
11
+ import 'node:child_process';
10
12
  import 'node:url';
11
13
  import 'node:crypto';
12
14
  import 'events';
13
- import 'fs';
14
15
  import 'node:events';
15
16
  import 'node:stream';
16
17
  import 'node:string_decoder';
17
- import 'path';
18
18
  import 'assert';
19
19
  import 'zlib';
20
20
  import 'node:assert';
21
21
  import 'node:fs/promises';
22
- import './endpoints-Drq_J-2Z.js';
22
+ import './endpoints-DoIeO5WL.js';
23
23
 
24
24
  //#region src/routes/admin/containers/events/+server.ts
25
25
  var GET = async (event) => {
@@ -41,4 +41,4 @@ var GET = async (event) => {
41
41
  };
42
42
 
43
43
  export { GET };
44
- //# sourceMappingURL=_server.ts-BaxRyhZ8.js.map
44
+ //# sourceMappingURL=_server.ts-CH8VLn03.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BaxRyhZ8.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/events/_server.ts.js"],"sourcesContent":["import { L as getDockerEvents, T as checkDocker } from \"../../../../../chunks/src.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/events/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst since = event.url.searchParams.get(\"since\") || \"1h\";\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await getDockerEvents(\"openpalm\", since);\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get Docker events: ${result.stderr}`, {}, requestId);\n\tlet events = [];\n\tif (result.stdout.trim()) try {\n\t\tevents = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.events] Failed to parse Docker events output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker events output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { events }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;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,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;AAC1D,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC;AACxD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,6BAA6B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,IAAI,MAAM,GAAG,EAAE;AAChB,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,CAAC,CAAC;AAC7E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sCAAsC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC;AAChD;;;;"}
1
+ {"version":3,"file":"_server.ts-CH8VLn03.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/events/_server.ts.js"],"sourcesContent":["import { L as getDockerEvents, T as checkDocker } from \"../../../../../chunks/src.js\";\nimport { f as requireAdmin, i as errorResponse, o as getRequestId, u as jsonResponse } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/events/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst since = event.url.searchParams.get(\"since\") || \"1h\";\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await getDockerEvents(\"openpalm\", since);\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get Docker events: ${result.stderr}`, {}, requestId);\n\tlet events = [];\n\tif (result.stdout.trim()) try {\n\t\tevents = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.events] Failed to parse Docker events output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker events output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { events }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;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,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;AAC1D,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC;AACxD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,6BAA6B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,IAAI,MAAM,GAAG,EAAE;AAChB,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,0DAA0D,EAAE,CAAC,CAAC;AAC7E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sCAAsC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC;AAChD;;;;"}
@@ -1,22 +1,22 @@
1
- import { y as createLogger, J as ensureHomeDirs, K as ensureOpenCodeConfig, L as ensureOpenCodeSystemConfig, M as ensureSecrets, c as applyInstall, l as buildManagedServices, m as checkDocker, x as composeUp, k as buildComposeOptions, C as CORE_SERVICES } from './src-BkvQ5Uuf.js';
2
- import { b as getState } from './endpoints-Drq_J-2Z.js';
3
- import { d as getRequestId, r as requireAdmin, h as jsonResponse, e as errorResponse } from './helpers-CX6xRBmt.js';
1
+ import { y as createLogger, J as ensureHomeDirs, L as ensureOpenCodeConfig, N as ensureOpenCodeSystemConfig, O as ensureSecrets, c as applyInstall, l as buildManagedServices, m as checkDocker, x as composeUp, k as buildComposeOptions, C as CORE_SERVICES } from './src-D9YnoOnU.js';
2
+ import { b as getState } from './endpoints-DoIeO5WL.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-CeQwqpAT.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import 'node:fs';
8
8
  import 'node:path';
9
- import 'node:child_process';
10
- import 'node:os';
11
9
  import 'buffer';
10
+ import 'node:os';
11
+ import 'fs';
12
+ import 'path';
13
+ import 'node:child_process';
12
14
  import 'node:url';
13
15
  import 'node:crypto';
14
16
  import 'events';
15
- import 'fs';
16
17
  import 'node:events';
17
18
  import 'node:stream';
18
19
  import 'node:string_decoder';
19
- import 'path';
20
20
  import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
@@ -80,4 +80,4 @@ var POST = async (event) => {
80
80
  };
81
81
 
82
82
  export { POST };
83
- //# sourceMappingURL=_server.ts-CDtOOD3Q.js.map
83
+ //# sourceMappingURL=_server.ts-COORKWSc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CDtOOD3Q.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/install/_server.ts.js"],"sourcesContent":["import { I as composeUp, Mt as CORE_SERVICES, Nt as createLogger, T as checkDocker, _ as applyInstall, ht as ensureSecrets, kt as ensureHomeDirs, mt as ensureOpenCodeConfig, pt as ensureOpenCodeSystemConfig, w as buildComposeOptions, x as buildManagedServices } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/install/+server.ts\nvar logger = createLogger(\"install\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"install request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:install\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tlogger.info(\"ensuring home directories and seeding config\", { requestId });\n\t\t\tensureHomeDirs();\n\t\t\tensureOpenCodeConfig();\n\t\t\tensureOpenCodeSystemConfig();\n\t\t\tensureSecrets(state);\n\t\t\tawait applyInstall(state);\n\t\t\tconst managedServices = await buildManagedServices(state);\n\t\t\tlogger.info(\"checking Docker availability\", { requestId });\n\t\t\tconst dockerCheck = await checkDocker();\n\t\t\tlet dockerResult = null;\n\t\t\tif (dockerCheck.ok) {\n\t\t\t\tlogger.info(\"starting compose up\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\tservices: managedServices\n\t\t\t\t});\n\t\t\t\tdockerResult = await composeUp({\n\t\t\t\t\t...buildComposeOptions(state),\n\t\t\t\t\tservices: managedServices\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst started = [...CORE_SERVICES];\n\t\t\tlogger.info(\"install completed\", {\n\t\t\t\trequestId,\n\t\t\t\tstarted,\n\t\t\t\tdockerAvailable: dockerCheck.ok,\n\t\t\t\tcomposeOk: dockerResult?.ok ?? null\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\tstarted,\n\t\t\t\tdockerAvailable: dockerCheck.ok,\n\t\t\t\tcomposeResult: dockerResult ? {\n\t\t\t\t\tok: dockerResult.ok,\n\t\t\t\t\tstderr: dockerResult.stderr\n\t\t\t\t} : null\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"install failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"install_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC;AACjC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,eAAe,EAAE,YAAY;AACrD,EAAE,IAAI;AACN,GAAG,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC3B,GAAG,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,EAAE,SAAS,EAAE,CAAC;AAC7E,GAAG,cAAc,EAAE;AACnB,GAAG,oBAAoB,EAAE;AACzB,GAAG,0BAA0B,EAAE;AAC/B,GAAG,aAAa,CAAC,KAAK,CAAC;AACvB,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;AAC5B,GAAG,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AAC5D,GAAG,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,SAAS,EAAE,CAAC;AAC7D,GAAG,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AAC1C,GAAG,IAAI,YAAY,GAAG,IAAI;AAC1B,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE;AACvB,IAAI,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACvC,KAAK,SAAS;AACd,KAAK,QAAQ,EAAE;AACf,KAAK,CAAC;AACN,IAAI,YAAY,GAAG,MAAM,SAAS,CAAC;AACnC,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAClC,KAAK,QAAQ,EAAE;AACf,KAAK,CAAC;AACN,GAAG;AACH,GAAG,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC;AACrC,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;AACpC,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,eAAe,EAAE,WAAW,CAAC,EAAE;AACnC,IAAI,SAAS,EAAE,YAAY,EAAE,EAAE,IAAI;AACnC,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,OAAO;AACX,IAAI,eAAe,EAAE,WAAW,CAAC,EAAE;AACnC,IAAI,aAAa,EAAE,YAAY,GAAG;AAClC,KAAK,EAAE,EAAE,YAAY,CAAC,EAAE;AACxB,KAAK,MAAM,EAAE,YAAY,CAAC;AAC1B,KAAK,GAAG;AACR,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/D,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE;AAClC,IAAI,SAAS;AACb,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AAClE,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-COORKWSc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/install/_server.ts.js"],"sourcesContent":["import { Ft as createLogger, I as composeUp, Pt as CORE_SERVICES, T as checkDocker, _ as applyInstall, ht as ensureSecrets, jt as ensureHomeDirs, mt as ensureOpenCodeConfig, pt as ensureOpenCodeSystemConfig, w as buildComposeOptions, x as buildManagedServices } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, i as errorResponse, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/install/+server.ts\nvar logger = createLogger(\"install\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"install request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:install\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tlogger.info(\"ensuring home directories and seeding config\", { requestId });\n\t\t\tensureHomeDirs();\n\t\t\tensureOpenCodeConfig();\n\t\t\tensureOpenCodeSystemConfig();\n\t\t\tensureSecrets(state);\n\t\t\tawait applyInstall(state);\n\t\t\tconst managedServices = await buildManagedServices(state);\n\t\t\tlogger.info(\"checking Docker availability\", { requestId });\n\t\t\tconst dockerCheck = await checkDocker();\n\t\t\tlet dockerResult = null;\n\t\t\tif (dockerCheck.ok) {\n\t\t\t\tlogger.info(\"starting compose up\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\tservices: managedServices\n\t\t\t\t});\n\t\t\t\tdockerResult = await composeUp({\n\t\t\t\t\t...buildComposeOptions(state),\n\t\t\t\t\tservices: managedServices\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst started = [...CORE_SERVICES];\n\t\t\tlogger.info(\"install completed\", {\n\t\t\t\trequestId,\n\t\t\t\tstarted,\n\t\t\t\tdockerAvailable: dockerCheck.ok,\n\t\t\t\tcomposeOk: dockerResult?.ok ?? null\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\tstarted,\n\t\t\t\tdockerAvailable: dockerCheck.ok,\n\t\t\t\tcomposeResult: dockerResult ? {\n\t\t\t\t\tok: dockerResult.ok,\n\t\t\t\t\tstderr: dockerResult.stderr\n\t\t\t\t} : null\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"install failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"install_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC;AACjC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,eAAe,EAAE,YAAY;AACrD,EAAE,IAAI;AACN,GAAG,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC3B,GAAG,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,EAAE,SAAS,EAAE,CAAC;AAC7E,GAAG,cAAc,EAAE;AACnB,GAAG,oBAAoB,EAAE;AACzB,GAAG,0BAA0B,EAAE;AAC/B,GAAG,aAAa,CAAC,KAAK,CAAC;AACvB,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;AAC5B,GAAG,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AAC5D,GAAG,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,SAAS,EAAE,CAAC;AAC7D,GAAG,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AAC1C,GAAG,IAAI,YAAY,GAAG,IAAI;AAC1B,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE;AACvB,IAAI,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACvC,KAAK,SAAS;AACd,KAAK,QAAQ,EAAE;AACf,KAAK,CAAC;AACN,IAAI,YAAY,GAAG,MAAM,SAAS,CAAC;AACnC,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAClC,KAAK,QAAQ,EAAE;AACf,KAAK,CAAC;AACN,GAAG;AACH,GAAG,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC;AACrC,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;AACpC,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,eAAe,EAAE,WAAW,CAAC,EAAE;AACnC,IAAI,SAAS,EAAE,YAAY,EAAE,EAAE,IAAI;AACnC,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,OAAO;AACX,IAAI,eAAe,EAAE,WAAW,CAAC,EAAE;AACnC,IAAI,aAAa,EAAE,YAAY,GAAG;AAClC,KAAK,EAAE,EAAE,YAAY,CAAC,EAAE;AACxB,KAAK,MAAM,EAAE,YAAY,CAAC;AAC1B,KAAK,GAAG;AACR,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/D,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE;AAClC,IAAI,SAAS;AACb,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AAClE,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,23 +1,23 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { i as authJsonPath } from './src-BkvQ5Uuf.js';
3
- import { b as getState } from './endpoints-Drq_J-2Z.js';
4
- import { g as getOpenCodeClient } from './helpers-CX6xRBmt.js';
2
+ import { i as authJsonPath } from './src-D9YnoOnU.js';
3
+ import { b as getState } from './endpoints-DoIeO5WL.js';
4
+ import { g as getOpenCodeClient } from './helpers-CeQwqpAT.js';
5
5
  import { existsSync, readFileSync } from 'node:fs';
6
6
  import './utils-BSRjJDrZ.js';
7
7
  import './chunk-CLZ62Ad-.js';
8
8
  import 'node:module';
9
9
  import 'node:path';
10
- import 'node:child_process';
11
- import 'node:os';
12
10
  import 'buffer';
11
+ import 'node:os';
12
+ import 'fs';
13
+ import 'path';
14
+ import 'node:child_process';
13
15
  import 'node:url';
14
16
  import 'node:crypto';
15
17
  import 'events';
16
- import 'fs';
17
18
  import 'node:events';
18
19
  import 'node:stream';
19
20
  import 'node:string_decoder';
20
- import 'path';
21
21
  import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
@@ -76,4 +76,4 @@ var GET = async () => {
76
76
  };
77
77
 
78
78
  export { GET };
79
- //# sourceMappingURL=_server.ts-UF_kxNaU.js.map
79
+ //# sourceMappingURL=_server.ts-CPzbkayh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-UF_kxNaU.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { Et as authJsonPath } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/opencode/providers/+server.ts\nfunction selectedModels() {\n\ttry {\n\t\tconst path = `${getState().configDir}/assistant/opencode.json`;\n\t\tif (!existsSync(path)) return {};\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn {\n\t\t\t...typeof data.model === \"string\" && data.model ? { llm: data.model } : {},\n\t\t\t...typeof data.small_model === \"string\" && data.small_model ? { small: data.small_model } : {}\n\t\t};\n\t} catch {\n\t\treturn {};\n\t}\n}\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\nvar GET = async () => {\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (!await client.isAvailable()) return json({\n\t\t\tok: true,\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t});\n\t\tconst [catalog, auth] = await Promise.all([client.proxy(\"/provider\"), client.getProviderAuth()]);\n\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: true,\n\t\t\tproviders: Array.isArray(raw.all) ? raw.all : [],\n\t\t\tauth,\n\t\t\tconnected: Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()])),\n\t\t\tselectedModels: selectedModels()\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,SAAS,cAAc,GAAG;AAC1B,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC;AAChE,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,OAAO;AACT,GAAG,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;AAC7E,GAAG,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG;AAC/F,GAAG;AACH,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACA;AACA,SAAS,iBAAiB,GAAG;AAC7B,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AACvC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,iBAAiB,EAAE;AACpC,EAAE,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,IAAI,CAAC;AAC/C,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;AAClG,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,EAAE;AAC5C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,IAAI;AAClB,GAAG,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE;AACnD,GAAG,IAAI;AACP,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACnF,GAAG,cAAc,EAAE,cAAc;AACjC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-CPzbkayh.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { Et as authJsonPath } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/opencode/providers/+server.ts\nfunction selectedModels() {\n\ttry {\n\t\tconst path = `${getState().configDir}/assistant/opencode.json`;\n\t\tif (!existsSync(path)) return {};\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn {\n\t\t\t...typeof data.model === \"string\" && data.model ? { llm: data.model } : {},\n\t\t\t...typeof data.small_model === \"string\" && data.small_model ? { small: data.small_model } : {}\n\t\t};\n\t} catch {\n\t\treturn {};\n\t}\n}\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\nvar GET = async () => {\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (!await client.isAvailable()) return json({\n\t\t\tok: true,\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t});\n\t\tconst [catalog, auth] = await Promise.all([client.proxy(\"/provider\"), client.getProviderAuth()]);\n\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: true,\n\t\t\tproviders: Array.isArray(raw.all) ? raw.all : [],\n\t\t\tauth,\n\t\t\tconnected: Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()])),\n\t\t\tselectedModels: selectedModels()\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,SAAS,cAAc,GAAG;AAC1B,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC;AAChE,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,OAAO;AACT,GAAG,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;AAC7E,GAAG,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG;AAC/F,GAAG;AACH,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACA;AACA,SAAS,iBAAiB,GAAG;AAC7B,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AACvC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,iBAAiB,EAAE;AACpC,EAAE,IAAI,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,IAAI,CAAC;AAC/C,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;AAClG,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,EAAE;AAC5C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,IAAI;AAClB,GAAG,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE;AACnD,GAAG,IAAI;AACP,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACnF,GAAG,cAAc,EAAE,cAAc;AACjC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
@@ -1,21 +1,21 @@
1
- import { D as deleteUserEnvKey, I as ensureAkmUserEnv, ae as readUserEnvFile, y as createLogger, A as AKM_USER_ENV_REF, av as writeUserEnvKey } from './src-BkvQ5Uuf.js';
2
- import { b as getState } from './endpoints-Drq_J-2Z.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, h as jsonResponse, w as withAdminBody } from './helpers-CX6xRBmt.js';
1
+ import { D as deleteUserEnvKey, I as ensureAkmUserEnv, ag as readUserEnvFile, y as createLogger, A as AKM_USER_ENV_REF, ax as writeUserEnvKey } from './src-D9YnoOnU.js';
2
+ import { b as getState } from './endpoints-DoIeO5WL.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse, w as withAdminBody } from './helpers-CeQwqpAT.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
- import 'node:child_process';
9
- import 'node:os';
10
8
  import 'buffer';
9
+ import 'node:os';
10
+ import 'fs';
11
+ import 'path';
12
+ import 'node:child_process';
11
13
  import 'node:url';
12
14
  import 'node:crypto';
13
15
  import 'events';
14
- import 'fs';
15
16
  import 'node:events';
16
17
  import 'node:stream';
17
18
  import 'node:string_decoder';
18
- import 'path';
19
19
  import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
@@ -94,4 +94,4 @@ var DELETE = async (event) => {
94
94
  };
95
95
 
96
96
  export { DELETE, GET, POST };
97
- //# sourceMappingURL=_server.ts-BYdXdnje.js.map
97
+ //# sourceMappingURL=_server.ts-CQPWD_WN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BYdXdnje.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/secrets/user-env/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, d as AKM_USER_ENV_REF, g as writeUserEnvKey, h as readUserEnvFile, m as ensureAkmUserEnv, p as deleteUserEnvKey } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, p as withAdminBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/secrets/user-env/+server.ts\nvar logger = createLogger(\"admin.secrets.user-env\");\nvar KEY_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;\n/**\n* GET — list keys in the akm env:user store. Values are NEVER returned.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst envPath = ensureAkmUserEnv(getState());\n\treturn jsonResponse(200, {\n\t\tprovider: \"akm\",\n\t\tenvRef: AKM_USER_ENV_REF,\n\t\tkeys: Object.keys(readUserEnvFile(envPath)).sort()\n\t}, requestId);\n};\n/**\n* POST — write a key into the user env file. The value is shell-quoted and\n* written directly to `knowledge/env/user.env` (mode 0600); it never appears on\n* a process argv. The assistant sources the env file at startup, so a key\n* written here is visible to OpenCode after the next assistant restart.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst state = getState();\n\tconst key = typeof body.key === \"string\" ? body.key.trim() : \"\";\n\tconst value = typeof body.value === \"string\" ? body.value : null;\n\tif (!key || value === null) return errorResponse(400, \"bad_request\", \"key and value are required\", {}, requestId);\n\tif (!KEY_RE.test(key)) return errorResponse(400, \"invalid_key\", \"key must match [A-Za-z_][A-Za-z0-9_]*\", {}, requestId);\n\tif (value.length === 0) return errorResponse(400, \"bad_request\", \"value must be non-empty; use DELETE to remove a key\", {}, requestId);\n\tif (/[\\x00-\\x08\\x0a-\\x1f\\x7f]/.test(value)) return errorResponse(400, \"invalid_value\", \"value must not contain newlines or control characters\", {}, requestId);\n\ttry {\n\t\twriteUserEnvKey(state, key, value);\n\t} catch (err) {\n\t\tconst reason = err instanceof Error ? err.message : String(err);\n\t\tlogger.warn(\"user env write failed\", {\n\t\t\tkey,\n\t\t\treason,\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"write_failed\", `Failed to write user env key: ${reason}`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tkey\n\t}, requestId);\n});\n/** DELETE — remove a key from the user env file. */\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst key = new URL(event.request.url).searchParams.get(\"key\")?.trim() ?? \"\";\n\tif (!key || !KEY_RE.test(key)) return errorResponse(400, \"bad_request\", \"valid key query parameter is required\", {}, requestId);\n\ttry {\n\t\tdeleteUserEnvKey(state, key);\n\t} catch (err) {\n\t\tconst reason = err instanceof Error ? err.message : String(err);\n\t\tlogger.warn(\"user env delete failed\", {\n\t\t\tkey,\n\t\t\treason,\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"delete_failed\", `Failed to remove user env key: ${reason}`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tkey\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CQPWD_WN.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/secrets/user-env/_server.ts.js"],"sourcesContent":["import { Ft as createLogger, d as AKM_USER_ENV_REF, g as writeUserEnvKey, h as readUserEnvFile, m as ensureAkmUserEnv, p as deleteUserEnvKey } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, i as errorResponse, m as withAdminBody, o as getRequestId, u as jsonResponse } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/secrets/user-env/+server.ts\nvar logger = createLogger(\"admin.secrets.user-env\");\nvar KEY_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;\n/**\n* GET — list keys in the akm env:user store. Values are NEVER returned.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst envPath = ensureAkmUserEnv(getState());\n\treturn jsonResponse(200, {\n\t\tprovider: \"akm\",\n\t\tenvRef: AKM_USER_ENV_REF,\n\t\tkeys: Object.keys(readUserEnvFile(envPath)).sort()\n\t}, requestId);\n};\n/**\n* POST — write a key into the user env file. The value is shell-quoted and\n* written directly to `knowledge/env/user.env` (mode 0600); it never appears on\n* a process argv. The assistant sources the env file at startup, so a key\n* written here is visible to OpenCode after the next assistant restart.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst state = getState();\n\tconst key = typeof body.key === \"string\" ? body.key.trim() : \"\";\n\tconst value = typeof body.value === \"string\" ? body.value : null;\n\tif (!key || value === null) return errorResponse(400, \"bad_request\", \"key and value are required\", {}, requestId);\n\tif (!KEY_RE.test(key)) return errorResponse(400, \"invalid_key\", \"key must match [A-Za-z_][A-Za-z0-9_]*\", {}, requestId);\n\tif (value.length === 0) return errorResponse(400, \"bad_request\", \"value must be non-empty; use DELETE to remove a key\", {}, requestId);\n\tif (/[\\x00-\\x08\\x0a-\\x1f\\x7f]/.test(value)) return errorResponse(400, \"invalid_value\", \"value must not contain newlines or control characters\", {}, requestId);\n\ttry {\n\t\twriteUserEnvKey(state, key, value);\n\t} catch (err) {\n\t\tconst reason = err instanceof Error ? err.message : String(err);\n\t\tlogger.warn(\"user env write failed\", {\n\t\t\tkey,\n\t\t\treason,\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"write_failed\", `Failed to write user env key: ${reason}`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tkey\n\t}, requestId);\n});\n/** DELETE — remove a key from the user env file. */\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst key = new URL(event.request.url).searchParams.get(\"key\")?.trim() ?? \"\";\n\tif (!key || !KEY_RE.test(key)) return errorResponse(400, \"bad_request\", \"valid key query parameter is required\", {}, requestId);\n\ttry {\n\t\tdeleteUserEnvKey(state, key);\n\t} catch (err) {\n\t\tconst reason = err instanceof Error ? err.message : String(err);\n\t\tlogger.warn(\"user env delete failed\", {\n\t\t\tkey,\n\t\t\treason,\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"delete_failed\", `Failed to remove user env key: ${reason}`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tkey\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,25 +1,25 @@
1
- import { y as createLogger } from './src-BkvQ5Uuf.js';
2
- import { d as getRequestId, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, h as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CX6xRBmt.js';
1
+ import { y as createLogger } from './src-D9YnoOnU.js';
2
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CeQwqpAT.js';
3
3
  import './chunk-CLZ62Ad-.js';
4
4
  import 'node:module';
5
5
  import 'node:fs';
6
6
  import 'node:path';
7
- import 'node:child_process';
8
- import 'node:os';
9
7
  import 'buffer';
8
+ import 'node:os';
9
+ import 'fs';
10
+ import 'path';
11
+ import 'node:child_process';
10
12
  import 'node:url';
11
13
  import 'node:crypto';
12
14
  import 'events';
13
- import 'fs';
14
15
  import 'node:events';
15
16
  import 'node:stream';
16
17
  import 'node:string_decoder';
17
- import 'path';
18
18
  import 'assert';
19
19
  import 'zlib';
20
20
  import 'node:assert';
21
21
  import 'node:fs/promises';
22
- import './endpoints-Drq_J-2Z.js';
22
+ import './endpoints-DoIeO5WL.js';
23
23
 
24
24
  //#region src/routes/admin/opencode/providers/[id]/auth/+server.ts
25
25
  var logger = createLogger("opencode.auth");
@@ -160,4 +160,4 @@ var DELETE = async (event) => {
160
160
  };
161
161
 
162
162
  export { DELETE, GET, POST };
163
- //# sourceMappingURL=_server.ts-Bq2S1OMq.js.map
163
+ //# sourceMappingURL=_server.ts-CSs35mBJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bq2S1OMq.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { Nt as createLogger } from \"../../../../../../../chunks/src.js\";\nimport { a as getOpenCodeClient, 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/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /admin/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CSs35mBJ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { Ft as createLogger } from \"../../../../../../../chunks/src.js\";\nimport { a as getOpenCodeClient, d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /admin/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,21 +1,21 @@
1
- import { J as ensureHomeDirs, K as ensureOpenCodeConfig, L as ensureOpenCodeSystemConfig, M as ensureSecrets, m as checkDocker, a6 as performUpgrade, y as createLogger } from './src-BkvQ5Uuf.js';
2
- import { b as getState } from './endpoints-Drq_J-2Z.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, h as jsonResponse } from './helpers-CX6xRBmt.js';
1
+ import { K as ensureMigrated, M as MigrationError, J as ensureHomeDirs, L as ensureOpenCodeConfig, N as ensureOpenCodeSystemConfig, O as ensureSecrets, m as checkDocker, a8 as performUpgrade, y as createLogger } from './src-D9YnoOnU.js';
2
+ import { b as getState } from './endpoints-DoIeO5WL.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CeQwqpAT.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
- import 'node:child_process';
9
- import 'node:os';
10
8
  import 'buffer';
9
+ import 'node:os';
10
+ import 'fs';
11
+ import 'path';
12
+ import 'node:child_process';
11
13
  import 'node:url';
12
14
  import 'node:crypto';
13
15
  import 'events';
14
- import 'fs';
15
16
  import 'node:events';
16
17
  import 'node:stream';
17
18
  import 'node:string_decoder';
18
- import 'path';
19
19
  import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
@@ -28,6 +28,29 @@ var POST = async (event) => {
28
28
  logger.info("upgrade request received", { requestId });
29
29
  const authError = requireAdmin(event, requestId);
30
30
  if (authError) return authError;
31
+ try {
32
+ const report = ensureMigrated();
33
+ if (report.migrated) logger.info("layout migrated", {
34
+ requestId,
35
+ from: report.from,
36
+ to: report.to,
37
+ backupDir: report.backupDir,
38
+ notes: report.notes
39
+ });
40
+ } catch (e) {
41
+ if (e instanceof MigrationError) {
42
+ logger.error("auto-migration aborted", {
43
+ requestId,
44
+ error: e.message,
45
+ backupDir: e.backupDir
46
+ });
47
+ return errorResponse(500, "migration_failed", e.message, {
48
+ guidance: e.guidance,
49
+ backupDir: e.backupDir
50
+ }, requestId);
51
+ }
52
+ throw e;
53
+ }
31
54
  const state = getState();
32
55
  ensureHomeDirs();
33
56
  ensureOpenCodeConfig();
@@ -67,4 +90,4 @@ var POST = async (event) => {
67
90
  };
68
91
 
69
92
  export { POST };
70
- //# sourceMappingURL=_server.ts-CtZuKotA.js.map
93
+ //# sourceMappingURL=_server.ts-CsUi6NWt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-CsUi6NWt.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/upgrade/_server.ts.js"],"sourcesContent":["import { C as performUpgrade, Ft as createLogger, Ot as MigrationError, T as checkDocker, ht as ensureSecrets, jt as ensureHomeDirs, kt as ensureMigrated, mt as ensureOpenCodeConfig, pt as ensureOpenCodeSystemConfig } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, i as errorResponse, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/upgrade/+server.ts\nvar logger = createLogger(\"upgrade\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"upgrade request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\ttry {\n\t\tconst report = ensureMigrated();\n\t\tif (report.migrated) logger.info(\"layout migrated\", {\n\t\t\trequestId,\n\t\t\tfrom: report.from,\n\t\t\tto: report.to,\n\t\t\tbackupDir: report.backupDir,\n\t\t\tnotes: report.notes\n\t\t});\n\t} catch (e) {\n\t\tif (e instanceof MigrationError) {\n\t\t\tlogger.error(\"auto-migration aborted\", {\n\t\t\t\trequestId,\n\t\t\t\terror: e.message,\n\t\t\t\tbackupDir: e.backupDir\n\t\t\t});\n\t\t\treturn errorResponse(500, \"migration_failed\", e.message, {\n\t\t\t\tguidance: e.guidance,\n\t\t\t\tbackupDir: e.backupDir\n\t\t\t}, requestId);\n\t\t}\n\t\tthrow e;\n\t}\n\tconst state = getState();\n\tensureHomeDirs();\n\tensureOpenCodeConfig();\n\tensureOpenCodeSystemConfig();\n\tensureSecrets(state);\n\tconst dockerCheck = await checkDocker();\n\tif (!dockerCheck.ok) {\n\t\tlogger.error(\"upgrade aborted: docker unavailable\", {\n\t\t\trequestId,\n\t\t\tstderr: dockerCheck.stderr\n\t\t});\n\t\treturn errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t}\n\tlet result;\n\ttry {\n\t\tresult = await performUpgrade(state);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"upgrade failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"upgrade_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"upgrade completed\", {\n\t\trequestId,\n\t\timageTag: result.imageTag,\n\t\tassetsUpdated: result.assetsUpdated\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\timageTag: result.imageTag,\n\t\tbackupDir: result.backupDir,\n\t\tassetsUpdated: result.assetsUpdated,\n\t\trestarted: result.restarted\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,27 +1,27 @@
1
- import { w as withAdminBody, h as jsonResponse } from './helpers-CX6xRBmt.js';
2
- import { o as opencodeFetch } from './http-VqOG8hyj.js';
1
+ import { w as withAdminBody, k as jsonResponse } from './helpers-CeQwqpAT.js';
2
+ import { o as opencodeFetch } from './http-CHmjTVGA.js';
3
3
  import { a as asStringOrEmpty, e as extractInputs } from './_helpers-B_lb4-jB.js';
4
- import './src-BkvQ5Uuf.js';
4
+ import './src-D9YnoOnU.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import 'node:fs';
8
8
  import 'node:path';
9
- import 'node:child_process';
10
- import 'node:os';
11
9
  import 'buffer';
10
+ import 'node:os';
11
+ import 'fs';
12
+ import 'path';
13
+ import 'node:child_process';
12
14
  import 'node:url';
13
15
  import 'node:crypto';
14
16
  import 'events';
15
- import 'fs';
16
17
  import 'node:events';
17
18
  import 'node:stream';
18
19
  import 'node:string_decoder';
19
- import 'path';
20
20
  import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-Drq_J-2Z.js';
24
+ import './endpoints-DoIeO5WL.js';
25
25
  import './coercion-TNFJisCC.js';
26
26
 
27
27
  //#region src/routes/admin/providers/oauth/start/+server.ts
@@ -74,4 +74,4 @@ var POST = (event) => withAdminBody(event, async ({ requestId, body }) => {
74
74
  });
75
75
 
76
76
  export { POST };
77
- //# sourceMappingURL=_server.ts-I0iKpsyr.js.map
77
+ //# sourceMappingURL=_server.ts-Cw2YXWgK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-I0iKpsyr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/start/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, p as withAdminBody } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { r as extractInputs, t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/start/+server.ts\n/**\n* POST /admin/providers/oauth/start — Begin an OpenCode-mediated OAuth\n* sign-in for a provider. Returns the authorization URL and any extra\n* inputs the operator needs to confirm in the UI.\n*\n* Forwards directly to the running assistant's OpenCode at\n* OP_OPENCODE_URL, which holds the OAuth methods map needed to issue\n* the authorize request.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tif (!providerId || Number.isNaN(methodIndex)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider sign-in method first.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tconst inputs = extractInputs(body);\n\t\tconst oauth = await opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/authorize`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\t...inputs ? { inputs } : {}\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth flow prepared. Open the link below to continue.\",\n\t\t\tselectedProviderId: providerId,\n\t\t\toauth: {\n\t\t\t\tproviderId,\n\t\t\t\tmethodIndex,\n\t\t\t\turl: oauth.url,\n\t\t\t\tmode: oauth.method,\n\t\t\t\tinstructions: oauth.instructions,\n\t\t\t\tinputs\n\t\t\t}\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACzE,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,yCAAyC;AACrD,GAAG,kBAAkB,EAAE,KAAK;AAC5B,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,EAAE;AACnG,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,GAAG,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG;AAC7B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,uDAAuD;AACnE,GAAG,kBAAkB,EAAE,UAAU;AACjC,GAAG,KAAK,EAAE;AACV,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM;AACtB,IAAI,YAAY,EAAE,KAAK,CAAC,YAAY;AACpC,IAAI;AACJ;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
1
+ {"version":3,"file":"_server.ts-Cw2YXWgK.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/start/_server.ts.js"],"sourcesContent":["import { m as withAdminBody, u as jsonResponse } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { r as extractInputs, t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/start/+server.ts\n/**\n* POST /admin/providers/oauth/start — Begin an OpenCode-mediated OAuth\n* sign-in for a provider. Returns the authorization URL and any extra\n* inputs the operator needs to confirm in the UI.\n*\n* Forwards directly to the running assistant's OpenCode at\n* OP_OPENCODE_URL, which holds the OAuth methods map needed to issue\n* the authorize request.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tif (!providerId || Number.isNaN(methodIndex)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider sign-in method first.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tconst inputs = extractInputs(body);\n\t\tconst oauth = await opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/authorize`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\t...inputs ? { inputs } : {}\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth flow prepared. Open the link below to continue.\",\n\t\t\tselectedProviderId: providerId,\n\t\t\toauth: {\n\t\t\t\tproviderId,\n\t\t\t\tmethodIndex,\n\t\t\t\turl: oauth.url,\n\t\t\t\tmode: oauth.method,\n\t\t\t\tinstructions: oauth.instructions,\n\t\t\t\tinputs\n\t\t\t}\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACzE,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,yCAAyC;AACrD,GAAG,kBAAkB,EAAE,KAAK;AAC5B,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,EAAE;AACnG,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,GAAG,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG;AAC7B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,uDAAuD;AACnE,GAAG,kBAAkB,EAAE,UAAU;AACjC,GAAG,KAAK,EAAE;AACV,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM;AACtB,IAAI,YAAY,EAAE,KAAK,CAAC,YAAY;AACpC,IAAI;AACJ;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
@@ -1,22 +1,22 @@
1
- import { y as createLogger, Y as isAllowedService, m as checkDocker, t as composeRestart, k as buildComposeOptions } from './src-BkvQ5Uuf.js';
2
- import { b as getState } from './endpoints-Drq_J-2Z.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, h as jsonResponse } from './helpers-CX6xRBmt.js';
1
+ import { y as createLogger, _ as isAllowedService, m as checkDocker, t as composeRestart, k as buildComposeOptions } from './src-D9YnoOnU.js';
2
+ import { b as getState } from './endpoints-DoIeO5WL.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-CeQwqpAT.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import 'node:fs';
8
8
  import 'node:path';
9
- import 'node:child_process';
10
- import 'node:os';
11
9
  import 'buffer';
10
+ import 'node:os';
11
+ import 'fs';
12
+ import 'path';
13
+ import 'node:child_process';
12
14
  import 'node:url';
13
15
  import 'node:crypto';
14
16
  import 'events';
15
- import 'fs';
16
17
  import 'node:events';
17
18
  import 'node:stream';
18
19
  import 'node:string_decoder';
19
- import 'path';
20
20
  import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
@@ -50,4 +50,4 @@ var POST = async (event) => {
50
50
  };
51
51
 
52
52
  export { POST };
53
- //# sourceMappingURL=_server.ts-CfLbEufw.js.map
53
+ //# sourceMappingURL=_server.ts-D0FZ3wh5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CfLbEufw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { M as composeRestart, Nt as createLogger, T as checkDocker, q as isAllowedService, w as buildComposeOptions } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-D0FZ3wh5.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/restart/_server.ts.js"],"sourcesContent":["import { Ft as createLogger, M as composeRestart, T as checkDocker, q as isAllowedService, w as buildComposeOptions } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/restart/+server.ts\nvar logger = createLogger(\"containers-restart\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container restart request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:restart\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeRestart([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"running\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to restart service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"running\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC5C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,0BAA0B,EAAE,YAAY;AAChE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC7E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACxH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,21 +1,21 @@
1
- import { g as getActiveEndpoint, l as listEndpoints, v as validateEndpointUrl, a as addEndpoint } from './endpoints-Drq_J-2Z.js';
2
- import { d as getRequestId, r as requireAdmin, h as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-CX6xRBmt.js';
3
- import './src-BkvQ5Uuf.js';
1
+ import { g as getActiveEndpoint, l as listEndpoints, v as validateEndpointUrl, a as addEndpoint } from './endpoints-DoIeO5WL.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-CeQwqpAT.js';
3
+ import './src-D9YnoOnU.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
- import 'node:child_process';
9
- import 'node:os';
10
8
  import 'buffer';
9
+ import 'node:os';
10
+ import 'fs';
11
+ import 'path';
12
+ import 'node:child_process';
11
13
  import 'node:url';
12
14
  import 'node:crypto';
13
15
  import 'events';
14
- import 'fs';
15
16
  import 'node:events';
16
17
  import 'node:stream';
17
18
  import 'node:string_decoder';
18
- import 'path';
19
19
  import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
@@ -64,4 +64,4 @@ var POST = async (event) => withAdminBody(event, async ({ requestId, body }) =>
64
64
  });
65
65
 
66
66
  export { GET, POST };
67
- //# sourceMappingURL=_server.ts-eK_9jY-9.js.map
67
+ //# sourceMappingURL=_server.ts-D4zkfcxH.js.map