@openpalm/ui 0.12.0-rc.4 → 0.12.0-rc.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/4.S0ueu2e9.css +1 -0
  3. package/build/client/_app/immutable/assets/4.S0ueu2e9.css.br +0 -0
  4. package/build/client/_app/immutable/assets/4.S0ueu2e9.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{DHUWL49y.js → CE531wHb.js} +1 -1
  6. package/build/client/_app/immutable/chunks/CE531wHb.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/CE531wHb.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{CmFpvFC0.js → CTTeWCFR.js} +2 -2
  9. package/build/client/_app/immutable/chunks/CTTeWCFR.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/CTTeWCFR.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{BqFl1zbV.js → DVcQKE3j.js} +1 -1
  12. package/build/client/_app/immutable/chunks/DVcQKE3j.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/DVcQKE3j.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{DL5sMDxv.js → RdJLMCQn.js} +1 -1
  15. package/build/client/_app/immutable/chunks/RdJLMCQn.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/RdJLMCQn.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/VcQ_AJeM.js +1 -0
  18. package/build/client/_app/immutable/chunks/VcQ_AJeM.js.br +2 -0
  19. package/build/client/_app/immutable/chunks/VcQ_AJeM.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/{app.CafiV7-w.js → app.CUn29SZU.js} +2 -2
  21. package/build/client/_app/immutable/entry/app.CUn29SZU.js.br +0 -0
  22. package/build/client/_app/immutable/entry/app.CUn29SZU.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/start.DRqSiJM4.js +1 -0
  24. package/build/client/_app/immutable/entry/start.DRqSiJM4.js.br +1 -0
  25. package/build/client/_app/immutable/entry/start.DRqSiJM4.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{1.Bds7gMIH.js → 1.mardR1GM.js} +1 -1
  27. package/build/client/_app/immutable/nodes/1.mardR1GM.js.br +1 -0
  28. package/build/client/_app/immutable/nodes/1.mardR1GM.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/4.Xwy82DBw.js +132 -0
  30. package/build/client/_app/immutable/nodes/4.Xwy82DBw.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/4.Xwy82DBw.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{5.CGnOiX1Q.js → 5.BzSSj_Jb.js} +1 -1
  33. package/build/client/_app/immutable/nodes/5.BzSSj_Jb.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/5.BzSSj_Jb.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{6.BW2RFNrq.js → 6.DTZkqQeu.js} +1 -1
  36. package/build/client/_app/immutable/nodes/6.DTZkqQeu.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/6.DTZkqQeu.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{7.B3oQeWT9.js → 7.bM3nkvkD.js} +1 -1
  39. package/build/client/_app/immutable/nodes/7.bM3nkvkD.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/7.bM3nkvkD.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{8.BzjCWne1.js → 8.CQzqLUid.js} +1 -1
  42. package/build/client/_app/immutable/nodes/8.CQzqLUid.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/8.CQzqLUid.js.gz +0 -0
  44. package/build/client/_app/version.json +1 -1
  45. package/build/client/_app/version.json.br +1 -1
  46. package/build/client/_app/version.json.gz +0 -0
  47. package/build/server/chunks/1-Bgq_vafP.js +9 -0
  48. package/build/server/chunks/{1-DXcmr_zA.js.map → 1-Bgq_vafP.js.map} +1 -1
  49. package/build/server/chunks/{10-BW3Y4qaZ.js → 10-DPX0mmNG.js} +4 -4
  50. package/build/server/chunks/{10-BW3Y4qaZ.js.map → 10-DPX0mmNG.js.map} +1 -1
  51. package/build/server/chunks/4-DFf3P2Yi.js +9 -0
  52. package/build/server/chunks/{4-BY7QM2MS.js.map → 4-DFf3P2Yi.js.map} +1 -1
  53. package/build/server/chunks/{5-P-f6Al-B.js → 5-DRtZiNh5.js} +3 -3
  54. package/build/server/chunks/{5-P-f6Al-B.js.map → 5-DRtZiNh5.js.map} +1 -1
  55. package/build/server/chunks/{6-BHZeYa5G.js → 6-Czgmkfyy.js} +3 -3
  56. package/build/server/chunks/{6-BHZeYa5G.js.map → 6-Czgmkfyy.js.map} +1 -1
  57. package/build/server/chunks/7-Ds6TGWHp.js +9 -0
  58. package/build/server/chunks/{7-eE6c3_3B.js.map → 7-Ds6TGWHp.js.map} +1 -1
  59. package/build/server/chunks/{8-DJTatpgo.js → 8-BG329mWx.js} +3 -3
  60. package/build/server/chunks/{8-DJTatpgo.js.map → 8-BG329mWx.js.map} +1 -1
  61. package/build/server/chunks/{ChatMessage-DqfLIJ0l.js → ChatMessage-CoLKsCtm.js} +2 -2
  62. package/build/server/chunks/{ChatMessage-DqfLIJ0l.js.map → ChatMessage-CoLKsCtm.js.map} +1 -1
  63. package/build/server/chunks/{Navbar-BUZwbKR7.js → Navbar-C7H4bpuo.js} +3 -3
  64. package/build/server/chunks/{Navbar-BUZwbKR7.js.map → Navbar-C7H4bpuo.js.map} +1 -1
  65. package/build/server/chunks/{_page.svelte-BNJwzskB.js → _page.svelte-24LtM_Ph.js} +6 -6
  66. package/build/server/chunks/{_page.svelte-BNJwzskB.js.map → _page.svelte-24LtM_Ph.js.map} +1 -1
  67. package/build/server/chunks/{_page.svelte-BGI4E82g.js → _page.svelte-5acOKeXz.js} +100 -55
  68. package/build/server/chunks/_page.svelte-5acOKeXz.js.map +1 -0
  69. package/build/server/chunks/{_page.svelte-Da2QrUlJ.js → _page.svelte-BRyfaVSC.js} +3 -3
  70. package/build/server/chunks/{_page.svelte-Da2QrUlJ.js.map → _page.svelte-BRyfaVSC.js.map} +1 -1
  71. package/build/server/chunks/{_page.svelte-BqrpD9EJ.js → _page.svelte-CflmZoJB.js} +5 -5
  72. package/build/server/chunks/{_page.svelte-BqrpD9EJ.js.map → _page.svelte-CflmZoJB.js.map} +1 -1
  73. package/build/server/chunks/{_page.svelte-CLi7npId.js → _page.svelte-UytzKp_f.js} +5 -5
  74. package/build/server/chunks/{_page.svelte-CLi7npId.js.map → _page.svelte-UytzKp_f.js.map} +1 -1
  75. package/build/server/chunks/{_server.ts-BDjrSCF8.js → _server.ts-2wVF7FpZ.js} +2 -2
  76. package/build/server/chunks/{_server.ts-BDjrSCF8.js.map → _server.ts-2wVF7FpZ.js.map} +1 -1
  77. package/build/server/chunks/{_server.ts-BNqC9EUT.js → _server.ts-4-3LZ4Pl.js} +5 -5
  78. package/build/server/chunks/{_server.ts-BNqC9EUT.js.map → _server.ts-4-3LZ4Pl.js.map} +1 -1
  79. package/build/server/chunks/{_server.ts-MkaNzvkX.js → _server.ts-5GBOytkR.js} +5 -5
  80. package/build/server/chunks/{_server.ts-MkaNzvkX.js.map → _server.ts-5GBOytkR.js.map} +1 -1
  81. package/build/server/chunks/{_server.ts-_7nvJE2X.js → _server.ts-5rSY6kcV.js} +5 -5
  82. package/build/server/chunks/{_server.ts-_7nvJE2X.js.map → _server.ts-5rSY6kcV.js.map} +1 -1
  83. package/build/server/chunks/{_server.ts-XqgZHMH_.js → _server.ts-7KVXn0LX.js} +7 -7
  84. package/build/server/chunks/{_server.ts-XqgZHMH_.js.map → _server.ts-7KVXn0LX.js.map} +1 -1
  85. package/build/server/chunks/{_server.ts-BHJzuoOM.js → _server.ts-8y4-PWDZ.js} +6 -6
  86. package/build/server/chunks/{_server.ts-BHJzuoOM.js.map → _server.ts-8y4-PWDZ.js.map} +1 -1
  87. package/build/server/chunks/{_server.ts-Da_AbetR.js → _server.ts-B5p6VVd9.js} +5 -5
  88. package/build/server/chunks/{_server.ts-Da_AbetR.js.map → _server.ts-B5p6VVd9.js.map} +1 -1
  89. package/build/server/chunks/{_server.ts-CaocPhJi.js → _server.ts-BBmhASZm.js} +5 -5
  90. package/build/server/chunks/{_server.ts-CaocPhJi.js.map → _server.ts-BBmhASZm.js.map} +1 -1
  91. package/build/server/chunks/{_server.ts-BpNoIDkC.js → _server.ts-BDAKItPQ.js} +44 -6
  92. package/build/server/chunks/_server.ts-BDAKItPQ.js.map +1 -0
  93. package/build/server/chunks/{_server.ts-rEZaxK90.js → _server.ts-BDYhzVaF.js} +6 -6
  94. package/build/server/chunks/{_server.ts-rEZaxK90.js.map → _server.ts-BDYhzVaF.js.map} +1 -1
  95. package/build/server/chunks/{_server.ts-DR2bRoGJ.js → _server.ts-BGFmBQYr.js} +5 -5
  96. package/build/server/chunks/{_server.ts-DR2bRoGJ.js.map → _server.ts-BGFmBQYr.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-DX2VL0w3.js → _server.ts-BHJD2IX2.js} +6 -6
  98. package/build/server/chunks/_server.ts-BHJD2IX2.js.map +1 -0
  99. package/build/server/chunks/{_server.ts-BddFxHWB.js → _server.ts-BMrKyS_V.js} +6 -6
  100. package/build/server/chunks/{_server.ts-BddFxHWB.js.map → _server.ts-BMrKyS_V.js.map} +1 -1
  101. package/build/server/chunks/{_server.ts-CTMjNL2a.js → _server.ts-BPsg50PW.js} +5 -5
  102. package/build/server/chunks/{_server.ts-CTMjNL2a.js.map → _server.ts-BPsg50PW.js.map} +1 -1
  103. package/build/server/chunks/{_server.ts-DHfTcOkp.js → _server.ts-BPwqOO4-.js} +5 -5
  104. package/build/server/chunks/{_server.ts-DHfTcOkp.js.map → _server.ts-BPwqOO4-.js.map} +1 -1
  105. package/build/server/chunks/{_server.ts-fn52Uf3f.js → _server.ts-BRaG2rbs.js} +5 -5
  106. package/build/server/chunks/{_server.ts-fn52Uf3f.js.map → _server.ts-BRaG2rbs.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-DAQcUe9k.js → _server.ts-BVO0Yol7.js} +5 -5
  108. package/build/server/chunks/{_server.ts-DAQcUe9k.js.map → _server.ts-BVO0Yol7.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-BI3XQ7Fe.js → _server.ts-BW49vDCi.js} +5 -5
  110. package/build/server/chunks/{_server.ts-BI3XQ7Fe.js.map → _server.ts-BW49vDCi.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-CVV2PdRo.js → _server.ts-BXRAnxcH.js} +2 -2
  112. package/build/server/chunks/{_server.ts-CVV2PdRo.js.map → _server.ts-BXRAnxcH.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-D9dsMRF-.js → _server.ts-BbCeMqh-.js} +7 -7
  114. package/build/server/chunks/{_server.ts-D9dsMRF-.js.map → _server.ts-BbCeMqh-.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-lU516yVf.js → _server.ts-BhMLOvjx.js} +5 -5
  116. package/build/server/chunks/{_server.ts-lU516yVf.js.map → _server.ts-BhMLOvjx.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-iw5QZKgP.js → _server.ts-BonrT-tF.js} +5 -5
  118. package/build/server/chunks/{_server.ts-iw5QZKgP.js.map → _server.ts-BonrT-tF.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-DAlXBvhR.js → _server.ts-BpZDUZ1B.js} +6 -6
  120. package/build/server/chunks/{_server.ts-DAlXBvhR.js.map → _server.ts-BpZDUZ1B.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-DZ5v5q0V.js → _server.ts-C-BNYdGr.js} +6 -6
  122. package/build/server/chunks/{_server.ts-DZ5v5q0V.js.map → _server.ts-C-BNYdGr.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-DbEaJJqa.js → _server.ts-C0MTCoLM.js} +5 -5
  124. package/build/server/chunks/{_server.ts-DbEaJJqa.js.map → _server.ts-C0MTCoLM.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-DpAumRrq.js → _server.ts-C0aieTg0.js} +5 -5
  126. package/build/server/chunks/{_server.ts-DpAumRrq.js.map → _server.ts-C0aieTg0.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-C77r_Slf.js → _server.ts-CFwVQnBv.js} +5 -5
  128. package/build/server/chunks/{_server.ts-C77r_Slf.js.map → _server.ts-CFwVQnBv.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-EZhgk1ej.js → _server.ts-CJPkb7Cp.js} +5 -5
  130. package/build/server/chunks/{_server.ts-EZhgk1ej.js.map → _server.ts-CJPkb7Cp.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-tyT3Bjv3.js → _server.ts-CMLrUC4c.js} +7 -7
  132. package/build/server/chunks/{_server.ts-tyT3Bjv3.js.map → _server.ts-CMLrUC4c.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-NKH2c4tC.js → _server.ts-CPJjZl13.js} +7 -7
  134. package/build/server/chunks/{_server.ts-NKH2c4tC.js.map → _server.ts-CPJjZl13.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-CKF9vpjm.js → _server.ts-CVTAtHX9.js} +5 -5
  136. package/build/server/chunks/{_server.ts-CKF9vpjm.js.map → _server.ts-CVTAtHX9.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-C1ZgpST1.js → _server.ts-CXN_ttOv.js} +5 -5
  138. package/build/server/chunks/{_server.ts-C1ZgpST1.js.map → _server.ts-CXN_ttOv.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-aC8GMqDc.js → _server.ts-CXoUy8_a.js} +5 -5
  140. package/build/server/chunks/{_server.ts-aC8GMqDc.js.map → _server.ts-CXoUy8_a.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-CrY-tcDK.js → _server.ts-CdJjgY-9.js} +7 -7
  142. package/build/server/chunks/{_server.ts-CrY-tcDK.js.map → _server.ts-CdJjgY-9.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-pJnbal79.js → _server.ts-CdM79rMA.js} +5 -5
  144. package/build/server/chunks/{_server.ts-pJnbal79.js.map → _server.ts-CdM79rMA.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-B2veS97o.js → _server.ts-Cep7l0CV.js} +5 -5
  146. package/build/server/chunks/{_server.ts-B2veS97o.js.map → _server.ts-Cep7l0CV.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-BLyLxx8a.js → _server.ts-CfnP0sNc.js} +5 -5
  148. package/build/server/chunks/{_server.ts-BLyLxx8a.js.map → _server.ts-CfnP0sNc.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-DC8kKPsd.js → _server.ts-CibIFxKC.js} +5 -5
  150. package/build/server/chunks/{_server.ts-DC8kKPsd.js.map → _server.ts-CibIFxKC.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-DMH-RbZr.js → _server.ts-Cim4q3sY.js} +6 -6
  152. package/build/server/chunks/{_server.ts-DMH-RbZr.js.map → _server.ts-Cim4q3sY.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-ClwJWqVa.js → _server.ts-CipMkzSd.js} +5 -5
  154. package/build/server/chunks/{_server.ts-ClwJWqVa.js.map → _server.ts-CipMkzSd.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-BP--7Yt5.js → _server.ts-Ck9qdttH.js} +5 -5
  156. package/build/server/chunks/{_server.ts-BP--7Yt5.js.map → _server.ts-Ck9qdttH.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-f-vnJ7Ie.js → _server.ts-CkktuHhi.js} +5 -5
  158. package/build/server/chunks/{_server.ts-f-vnJ7Ie.js.map → _server.ts-CkktuHhi.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-Bnc-nxXp.js → _server.ts-CpF2GT0D.js} +6 -6
  160. package/build/server/chunks/{_server.ts-Bnc-nxXp.js.map → _server.ts-CpF2GT0D.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-BTG7yKQJ.js → _server.ts-CqIpvxzK.js} +5 -5
  162. package/build/server/chunks/{_server.ts-BTG7yKQJ.js.map → _server.ts-CqIpvxzK.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-X8_yz_cF.js → _server.ts-CqgauHdh.js} +6 -6
  164. package/build/server/chunks/{_server.ts-X8_yz_cF.js.map → _server.ts-CqgauHdh.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-DY0Tkqlv.js → _server.ts-Cr1s8-Uv.js} +6 -6
  166. package/build/server/chunks/{_server.ts-DY0Tkqlv.js.map → _server.ts-Cr1s8-Uv.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-B6X0dkuW.js → _server.ts-CtSgvAWi.js} +5 -5
  168. package/build/server/chunks/{_server.ts-B6X0dkuW.js.map → _server.ts-CtSgvAWi.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-CWFma6OW.js → _server.ts-CvsbHKGz.js} +6 -6
  170. package/build/server/chunks/{_server.ts-CWFma6OW.js.map → _server.ts-CvsbHKGz.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-DnC_IrzP.js → _server.ts-CwLvZSeH.js} +5 -5
  172. package/build/server/chunks/{_server.ts-DnC_IrzP.js.map → _server.ts-CwLvZSeH.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-4J6w-r81.js → _server.ts-CyaMkyLz.js} +2 -2
  174. package/build/server/chunks/{_server.ts-4J6w-r81.js.map → _server.ts-CyaMkyLz.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-BiL6n-uG.js → _server.ts-D3kltYEu.js} +5 -5
  176. package/build/server/chunks/{_server.ts-BiL6n-uG.js.map → _server.ts-D3kltYEu.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-fCMXRvRH.js → _server.ts-DD6pe7se.js} +5 -5
  178. package/build/server/chunks/{_server.ts-fCMXRvRH.js.map → _server.ts-DD6pe7se.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-BteARe-C.js → _server.ts-DLgPi_kd.js} +5 -5
  180. package/build/server/chunks/{_server.ts-BteARe-C.js.map → _server.ts-DLgPi_kd.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-J-kbq-R4.js → _server.ts-DQheOBhy.js} +5 -5
  182. package/build/server/chunks/{_server.ts-J-kbq-R4.js.map → _server.ts-DQheOBhy.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-Bx9WEYbj.js → _server.ts-DUiDX6lM.js} +5 -5
  184. package/build/server/chunks/{_server.ts-Bx9WEYbj.js.map → _server.ts-DUiDX6lM.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-C5bfYlSP.js → _server.ts-DVhvk9G_.js} +5 -5
  186. package/build/server/chunks/{_server.ts-C5bfYlSP.js.map → _server.ts-DVhvk9G_.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-YAPI25bu.js → _server.ts-DWBP1iw2.js} +4 -4
  188. package/build/server/chunks/{_server.ts-YAPI25bu.js.map → _server.ts-DWBP1iw2.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-DZlNWTv1.js → _server.ts-DXNRDGZl.js} +4 -4
  190. package/build/server/chunks/{_server.ts-DZlNWTv1.js.map → _server.ts-DXNRDGZl.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-n_99rmOB.js → _server.ts-DY9z68KY.js} +2 -2
  192. package/build/server/chunks/{_server.ts-n_99rmOB.js.map → _server.ts-DY9z68KY.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-DP2uRN66.js → _server.ts-DZV8BgXt.js} +2 -2
  194. package/build/server/chunks/{_server.ts-DP2uRN66.js.map → _server.ts-DZV8BgXt.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-mDvjMxar.js → _server.ts-D_5-bNGX.js} +5 -5
  196. package/build/server/chunks/{_server.ts-mDvjMxar.js.map → _server.ts-D_5-bNGX.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-dRdq38xL.js → _server.ts-DddQZDAT.js} +5 -5
  198. package/build/server/chunks/{_server.ts-dRdq38xL.js.map → _server.ts-DddQZDAT.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-BqBnHeP7.js → _server.ts-Dg-8_3wX.js} +5 -5
  200. package/build/server/chunks/{_server.ts-BqBnHeP7.js.map → _server.ts-Dg-8_3wX.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-B9U_bYQy.js → _server.ts-DhZXxVkd.js} +6 -6
  202. package/build/server/chunks/{_server.ts-B9U_bYQy.js.map → _server.ts-DhZXxVkd.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-CxBdr3hE.js → _server.ts-DoWV0K2g.js} +5 -5
  204. package/build/server/chunks/{_server.ts-CxBdr3hE.js.map → _server.ts-DoWV0K2g.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-BobwONzr.js → _server.ts-DpJjiPl_.js} +5 -5
  206. package/build/server/chunks/{_server.ts-BobwONzr.js.map → _server.ts-DpJjiPl_.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-D_5BJC_z.js → _server.ts-DtRz-OCw.js} +5 -5
  208. package/build/server/chunks/{_server.ts-D_5BJC_z.js.map → _server.ts-DtRz-OCw.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-ug73AQNb.js → _server.ts-DvqaH1vF.js} +5 -5
  210. package/build/server/chunks/{_server.ts-ug73AQNb.js.map → _server.ts-DvqaH1vF.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-8PqopElV.js → _server.ts-DyAJhT1b.js} +5 -5
  212. package/build/server/chunks/{_server.ts-8PqopElV.js.map → _server.ts-DyAJhT1b.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-CPmZZ9aQ.js → _server.ts-EIHeR8z5.js} +5 -5
  214. package/build/server/chunks/{_server.ts-CPmZZ9aQ.js.map → _server.ts-EIHeR8z5.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts--5gGceMl.js → _server.ts-EyMefJJx.js} +5 -5
  216. package/build/server/chunks/{_server.ts--5gGceMl.js.map → _server.ts-EyMefJJx.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-CTQGj2tV.js → _server.ts-GPe9IVMm.js} +5 -5
  218. package/build/server/chunks/{_server.ts-CTQGj2tV.js.map → _server.ts-GPe9IVMm.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-UDLeVWXU.js → _server.ts-LEZrSJ43.js} +5 -5
  220. package/build/server/chunks/{_server.ts-UDLeVWXU.js.map → _server.ts-LEZrSJ43.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-DGUVJH31.js → _server.ts-LOOZjElz.js} +6 -6
  222. package/build/server/chunks/{_server.ts-DGUVJH31.js.map → _server.ts-LOOZjElz.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-D-u20jUU.js → _server.ts-PwCREReL.js} +5 -5
  224. package/build/server/chunks/{_server.ts-D-u20jUU.js.map → _server.ts-PwCREReL.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-Dq1UL_W-.js → _server.ts-UzZ3dMCF.js} +5 -5
  226. package/build/server/chunks/{_server.ts-Dq1UL_W-.js.map → _server.ts-UzZ3dMCF.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-ugLDRTpb.js → _server.ts-exjcgHcx.js} +5 -5
  228. package/build/server/chunks/{_server.ts-ugLDRTpb.js.map → _server.ts-exjcgHcx.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-Cs8lC4CS.js → _server.ts-fno6Bp-R.js} +6 -6
  230. package/build/server/chunks/{_server.ts-Cs8lC4CS.js.map → _server.ts-fno6Bp-R.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-Bqs67HUU.js → _server.ts-jTqD5BwW.js} +7 -7
  232. package/build/server/chunks/{_server.ts-Bqs67HUU.js.map → _server.ts-jTqD5BwW.js.map} +1 -1
  233. package/build/server/chunks/{_server.ts-BVvTNLyM.js → _server.ts-k5ZKZRei.js} +5 -5
  234. package/build/server/chunks/{_server.ts-BVvTNLyM.js.map → _server.ts-k5ZKZRei.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-DuDeloL8.js → _server.ts-nqctHWXr.js} +8 -8
  236. package/build/server/chunks/{_server.ts-DuDeloL8.js.map → _server.ts-nqctHWXr.js.map} +1 -1
  237. package/build/server/chunks/{_server.ts-B28oMCZG.js → _server.ts-pTtmfXKk.js} +5 -5
  238. package/build/server/chunks/{_server.ts-B28oMCZG.js.map → _server.ts-pTtmfXKk.js.map} +1 -1
  239. package/build/server/chunks/{_server.ts-CK46ky8H.js → _server.ts-p_KcE65x.js} +5 -5
  240. package/build/server/chunks/{_server.ts-CK46ky8H.js.map → _server.ts-p_KcE65x.js.map} +1 -1
  241. package/build/server/chunks/{_server.ts-CfJR6lH-.js → _server.ts-qCZQFS1u.js} +6 -6
  242. package/build/server/chunks/{_server.ts-CfJR6lH-.js.map → _server.ts-qCZQFS1u.js.map} +1 -1
  243. package/build/server/chunks/{addon-helpers-CkQjHBvL.js → addon-helpers-Uxv9F26c.js} +3 -3
  244. package/build/server/chunks/{addon-helpers-CkQjHBvL.js.map → addon-helpers-Uxv9F26c.js.map} +1 -1
  245. package/build/server/chunks/{akm-_cUsiv9b.js → akm-DTz9cZzF.js} +2 -2
  246. package/build/server/chunks/{akm-_cUsiv9b.js.map → akm-DTz9cZzF.js.map} +1 -1
  247. package/build/server/chunks/{catalog-CVQgQDZT.js → catalog-CHbys4Tk.js} +5 -5
  248. package/build/server/chunks/{catalog-CVQgQDZT.js.map → catalog-CHbys4Tk.js.map} +1 -1
  249. package/build/server/chunks/{client-CK_EEC7q.js → client-D6zzvHQ9.js} +2 -2
  250. package/build/server/chunks/{client-CK_EEC7q.js.map → client-D6zzvHQ9.js.map} +1 -1
  251. package/build/server/chunks/{config-CW8zrJxw.js → config-BAcgI5t9.js} +2 -2
  252. package/build/server/chunks/{config-CW8zrJxw.js.map → config-BAcgI5t9.js.map} +1 -1
  253. package/build/server/chunks/{docker-BxDkWUiU.js → docker-3ZzOguqL.js} +2 -2
  254. package/build/server/chunks/{docker-BxDkWUiU.js.map → docker-3ZzOguqL.js.map} +1 -1
  255. package/build/server/chunks/{endpoints-C9sjcucN.js → endpoints-47SGUFNp.js} +2 -2
  256. package/build/server/chunks/{endpoints-C9sjcucN.js.map → endpoints-47SGUFNp.js.map} +1 -1
  257. package/build/server/chunks/{environment-D344CnXa.js → environment-Cc6sGJCR.js} +2 -2
  258. package/build/server/chunks/{environment-D344CnXa.js.map → environment-Cc6sGJCR.js.map} +1 -1
  259. package/build/server/chunks/{error.svelte-CI7YrCLE.js → error.svelte-B1GoHE7X.js} +4 -4
  260. package/build/server/chunks/{error.svelte-CI7YrCLE.js.map → error.svelte-B1GoHE7X.js.map} +1 -1
  261. package/build/server/chunks/{helpers-Bebo0tHj.js → helpers-CQ9v-UhX.js} +3 -3
  262. package/build/server/chunks/{helpers-Bebo0tHj.js.map → helpers-CQ9v-UhX.js.map} +1 -1
  263. package/build/server/chunks/{hooks.server-ixIaeil8.js → hooks.server-BoYMuqyN.js} +6 -6
  264. package/build/server/chunks/{hooks.server-ixIaeil8.js.map → hooks.server-BoYMuqyN.js.map} +1 -1
  265. package/build/server/chunks/{http-B9H_dpeX.js → http-DfcMgAxH.js} +2 -2
  266. package/build/server/chunks/{http-B9H_dpeX.js.map → http-DfcMgAxH.js.map} +1 -1
  267. package/build/server/chunks/{internal-Da04QZzQ.js → internal-BQcxRlh1.js} +3 -3
  268. package/build/server/chunks/{internal-Da04QZzQ.js.map → internal-BQcxRlh1.js.map} +1 -1
  269. package/build/server/chunks/{session-cookie-DI4jIKdM.js → session-cookie-Deh3JNKY.js} +2 -2
  270. package/build/server/chunks/{session-cookie-DI4jIKdM.js.map → session-cookie-Deh3JNKY.js.map} +1 -1
  271. package/build/server/chunks/{setup-deploy-NZRJZiNw.js → setup-deploy-C-SGDhqa.js} +2 -2
  272. package/build/server/chunks/{setup-deploy-NZRJZiNw.js.map → setup-deploy-C-SGDhqa.js.map} +1 -1
  273. package/build/server/chunks/{src-kpR902Zr.js → src-HnR-W6qI.js} +157 -40
  274. package/build/server/chunks/src-HnR-W6qI.js.map +1 -0
  275. package/build/server/chunks/{state-TG4xDwlK.js → state-gOzmaumW.js} +2 -2
  276. package/build/server/chunks/{state-TG4xDwlK.js.map → state-gOzmaumW.js.map} +1 -1
  277. package/build/server/chunks/{state2-BqCIx1V7.js → state2-DjPjSdq1.js} +2 -2
  278. package/build/server/chunks/{state2-BqCIx1V7.js.map → state2-DjPjSdq1.js.map} +1 -1
  279. package/build/server/index.js +2 -2
  280. package/build/server/manifest.js +92 -92
  281. package/build/server/manifest.js.map +1 -1
  282. package/package.json +2 -2
  283. package/build/client/_app/immutable/assets/4.4BLkUSeP.css +0 -1
  284. package/build/client/_app/immutable/assets/4.4BLkUSeP.css.br +0 -0
  285. package/build/client/_app/immutable/assets/4.4BLkUSeP.css.gz +0 -0
  286. package/build/client/_app/immutable/chunks/BqFl1zbV.js.br +0 -0
  287. package/build/client/_app/immutable/chunks/BqFl1zbV.js.gz +0 -0
  288. package/build/client/_app/immutable/chunks/CmFpvFC0.js.br +0 -0
  289. package/build/client/_app/immutable/chunks/CmFpvFC0.js.gz +0 -0
  290. package/build/client/_app/immutable/chunks/CuPMacDQ.js +0 -1
  291. package/build/client/_app/immutable/chunks/CuPMacDQ.js.br +0 -2
  292. package/build/client/_app/immutable/chunks/CuPMacDQ.js.gz +0 -0
  293. package/build/client/_app/immutable/chunks/DHUWL49y.js.br +0 -0
  294. package/build/client/_app/immutable/chunks/DHUWL49y.js.gz +0 -0
  295. package/build/client/_app/immutable/chunks/DL5sMDxv.js.br +0 -0
  296. package/build/client/_app/immutable/chunks/DL5sMDxv.js.gz +0 -0
  297. package/build/client/_app/immutable/entry/app.CafiV7-w.js.br +0 -0
  298. package/build/client/_app/immutable/entry/app.CafiV7-w.js.gz +0 -0
  299. package/build/client/_app/immutable/entry/start.D9RjvJJI.js +0 -1
  300. package/build/client/_app/immutable/entry/start.D9RjvJJI.js.br +0 -0
  301. package/build/client/_app/immutable/entry/start.D9RjvJJI.js.gz +0 -0
  302. package/build/client/_app/immutable/nodes/1.Bds7gMIH.js.br +0 -2
  303. package/build/client/_app/immutable/nodes/1.Bds7gMIH.js.gz +0 -0
  304. package/build/client/_app/immutable/nodes/4.bkv3exaP.js +0 -130
  305. package/build/client/_app/immutable/nodes/4.bkv3exaP.js.br +0 -0
  306. package/build/client/_app/immutable/nodes/4.bkv3exaP.js.gz +0 -0
  307. package/build/client/_app/immutable/nodes/5.CGnOiX1Q.js.br +0 -0
  308. package/build/client/_app/immutable/nodes/5.CGnOiX1Q.js.gz +0 -0
  309. package/build/client/_app/immutable/nodes/6.BW2RFNrq.js.br +0 -0
  310. package/build/client/_app/immutable/nodes/6.BW2RFNrq.js.gz +0 -0
  311. package/build/client/_app/immutable/nodes/7.B3oQeWT9.js.br +0 -0
  312. package/build/client/_app/immutable/nodes/7.B3oQeWT9.js.gz +0 -0
  313. package/build/client/_app/immutable/nodes/8.BzjCWne1.js.br +0 -0
  314. package/build/client/_app/immutable/nodes/8.BzjCWne1.js.gz +0 -0
  315. package/build/server/chunks/1-DXcmr_zA.js +0 -9
  316. package/build/server/chunks/4-BY7QM2MS.js +0 -9
  317. package/build/server/chunks/7-eE6c3_3B.js +0 -9
  318. package/build/server/chunks/_page.svelte-BGI4E82g.js.map +0 -1
  319. package/build/server/chunks/_server.ts-BpNoIDkC.js.map +0 -1
  320. package/build/server/chunks/_server.ts-DX2VL0w3.js.map +0 -1
  321. package/build/server/chunks/src-kpR902Zr.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { G as createLogger } from './src-kpR902Zr.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-Bebo0tHj.js';
1
+ import { G as createLogger } from './src-HnR-W6qI.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-CQ9v-UhX.js';
3
3
  import './chunk-CLZ62Ad-.js';
4
4
  import 'node:module';
5
5
  import './provider-constants-DPrj3yBX.js';
@@ -21,8 +21,8 @@ import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
23
  import 'node:os';
24
- import './endpoints-C9sjcucN.js';
25
- import './state-TG4xDwlK.js';
24
+ import './endpoints-47SGUFNp.js';
25
+ import './state-gOzmaumW.js';
26
26
 
27
27
  //#region src/routes/admin/opencode/providers/[id]/auth/+server.ts
28
28
  var logger = createLogger("opencode.auth");
@@ -163,4 +163,4 @@ var DELETE = async (event) => {
163
163
  };
164
164
 
165
165
  export { DELETE, GET, POST };
166
- //# sourceMappingURL=_server.ts-ugLDRTpb.js.map
166
+ //# sourceMappingURL=_server.ts-exjcgHcx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-ugLDRTpb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { hn 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-exjcgHcx.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { _n 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,8 +1,8 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { ad as importHostOpenCode, i as authJsonPath, Q as detectHostOpenCode, G as createLogger, o as checkDocker, m as buildComposeOptions } from './src-kpR902Zr.js';
3
- import { g as getState } from './state-TG4xDwlK.js';
4
- import { o as opencodeFetch } from './http-B9H_dpeX.js';
5
- import { c as composeRestart } from './docker-BxDkWUiU.js';
2
+ import { ad as importHostOpenCode, i as authJsonPath, Q as detectHostOpenCode, G as createLogger, o as checkDocker, m as buildComposeOptions } from './src-HnR-W6qI.js';
3
+ import { g as getState } from './state-gOzmaumW.js';
4
+ import { o as opencodeFetch } from './http-DfcMgAxH.js';
5
+ import { c as composeRestart } from './docker-3ZzOguqL.js';
6
6
  import { existsSync, readFileSync } from 'node:fs';
7
7
  import './utils-BSRjJDrZ.js';
8
8
  import './chunk-CLZ62Ad-.js';
@@ -25,7 +25,7 @@ import 'zlib';
25
25
  import 'node:assert';
26
26
  import 'node:fs/promises';
27
27
  import 'node:os';
28
- import './endpoints-C9sjcucN.js';
28
+ import './endpoints-47SGUFNp.js';
29
29
 
30
30
  //#region src/routes/api/setup/import-host/+server.ts
31
31
  /**
@@ -169,4 +169,4 @@ var POST = async () => {
169
169
  };
170
170
 
171
171
  export { POST };
172
- //# sourceMappingURL=_server.ts-Cs8lC4CS.js.map
172
+ //# sourceMappingURL=_server.ts-fno6Bp-R.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Cs8lC4CS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/import-host/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { I as buildComposeOptions, Jt as authJsonPath, Q as checkDocker, hn as createLogger, i as importHostOpenCode, r as detectHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/import-host/+server.ts\n/**\n* POST /api/setup/import-host\n*\n* Setup-phase equivalent of POST /admin/providers/import-host.\n* No admin auth required — the admin token hasn't been written yet during setup.\n*\n* Copies host OpenCode config + auth into OP_HOME and live-pushes credentials\n* to the running OpenCode subprocess so providers appear connected immediately.\n*/\nvar logger = createLogger(\"setup:import-host\");\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch (err) {\n\t\treturn {\n\t\t\tpushed: [],\n\t\t\terrors: [{\n\t\t\t\tprovider: \"*\",\n\t\t\t\terror: `Could not read auth.json: ${err instanceof Error ? err.message : String(err)}`\n\t\t\t}]\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: [],\n\t\terrors: [{\n\t\t\tprovider: \"*\",\n\t\t\terror: \"auth.json is not a JSON object\"\n\t\t}]\n\t};\n\tconst pushed = [];\n\tconst errors = [];\n\tfor (const [providerId, value] of Object.entries(raw)) {\n\t\tif (providerId === \"anthropic\") continue;\n\t\ttry {\n\t\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\tbody: JSON.stringify(value)\n\t\t\t});\n\t\t\tpushed.push(providerId);\n\t\t} catch (err) {\n\t\t\terrors.push({\n\t\t\t\tprovider: providerId,\n\t\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t\t});\n\t\t}\n\t}\n\treturn {\n\t\tpushed,\n\t\terrors\n\t};\n}\n/** Restart provider-consuming services so they re-read imported startup config. */\nasync function restartProviderConsumers(state) {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(state);\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Read the provider ids present in an auth.json, ignoring read/parse errors. */\nfunction providerIdsFromAuth(authPath) {\n\ttry {\n\t\tconst raw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t\tif (raw && typeof raw === \"object\" && !Array.isArray(raw)) return Object.keys(raw);\n\t} catch {}\n\treturn [];\n}\nvar POST = async () => {\n\tconst state = getState();\n\tlet result;\n\ttry {\n\t\tresult = importHostOpenCode(state, { overwriteConflicts: false });\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: `Could not copy host OpenCode config: ${err instanceof Error ? err.message : String(err)}`\n\t\t}, { status: 500 });\n\t}\n\tconst importedAuthPath = authJsonPath(state);\n\tlet importedProviderIds = [];\n\tif (result.imported.credentials > 0 || existsSync(importedAuthPath)) {\n\t\tconst fromDestination = providerIdsFromAuth(importedAuthPath);\n\t\tif (fromDestination.length > 0) importedProviderIds = fromDestination;\n\t\telse if (result.imported.credentials > 0) {\n\t\t\tconst hostStatus = detectHostOpenCode();\n\t\t\tconst hostFallback = hostStatus.authPath ? providerIdsFromAuth(hostStatus.authPath) : [];\n\t\t\tlogger.warn(\"post-copy auth.json read returned no providers despite credentials being reported; falling back to host auth.json\", {\n\t\t\t\timportedAuthPath,\n\t\t\t\timportedCredentials: result.imported.credentials,\n\t\t\t\tfallbackCount: hostFallback.length\n\t\t\t});\n\t\t\timportedProviderIds = hostFallback;\n\t\t}\n\t}\n\tconst conflictProviders = result.conflicts;\n\tconst authPathToUse = existsSync(importedAuthPath) ? importedAuthPath : null;\n\tlet pushResult = {\n\t\tpushed: [],\n\t\terrors: []\n\t};\n\tif (authPathToUse) pushResult = await pushAuthToOpenCode(authPathToUse);\n\tconst restart = await restartProviderConsumers(state);\n\treturn json({\n\t\tok: true,\n\t\timported: result.imported,\n\t\timportedProviders: importedProviderIds,\n\t\tconflicts: result.conflicts.length,\n\t\tconflictProviders,\n\t\tlivePushed: pushResult.pushed.length,\n\t\tpushedProviders: pushResult.pushed,\n\t\terrors: pushResult.errors,\n\t\trestarted: restart.restarted,\n\t\trestartFailed: restart.failed\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-fno6Bp-R.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/import-host/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { I as buildComposeOptions, Jt as authJsonPath, Q as checkDocker, _n as createLogger, i as importHostOpenCode, r as detectHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/import-host/+server.ts\n/**\n* POST /api/setup/import-host\n*\n* Setup-phase equivalent of POST /admin/providers/import-host.\n* No admin auth required — the admin token hasn't been written yet during setup.\n*\n* Copies host OpenCode config + auth into OP_HOME and live-pushes credentials\n* to the running OpenCode subprocess so providers appear connected immediately.\n*/\nvar logger = createLogger(\"setup:import-host\");\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch (err) {\n\t\treturn {\n\t\t\tpushed: [],\n\t\t\terrors: [{\n\t\t\t\tprovider: \"*\",\n\t\t\t\terror: `Could not read auth.json: ${err instanceof Error ? err.message : String(err)}`\n\t\t\t}]\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: [],\n\t\terrors: [{\n\t\t\tprovider: \"*\",\n\t\t\terror: \"auth.json is not a JSON object\"\n\t\t}]\n\t};\n\tconst pushed = [];\n\tconst errors = [];\n\tfor (const [providerId, value] of Object.entries(raw)) {\n\t\tif (providerId === \"anthropic\") continue;\n\t\ttry {\n\t\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\tbody: JSON.stringify(value)\n\t\t\t});\n\t\t\tpushed.push(providerId);\n\t\t} catch (err) {\n\t\t\terrors.push({\n\t\t\t\tprovider: providerId,\n\t\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t\t});\n\t\t}\n\t}\n\treturn {\n\t\tpushed,\n\t\terrors\n\t};\n}\n/** Restart provider-consuming services so they re-read imported startup config. */\nasync function restartProviderConsumers(state) {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(state);\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Read the provider ids present in an auth.json, ignoring read/parse errors. */\nfunction providerIdsFromAuth(authPath) {\n\ttry {\n\t\tconst raw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t\tif (raw && typeof raw === \"object\" && !Array.isArray(raw)) return Object.keys(raw);\n\t} catch {}\n\treturn [];\n}\nvar POST = async () => {\n\tconst state = getState();\n\tlet result;\n\ttry {\n\t\tresult = importHostOpenCode(state, { overwriteConflicts: false });\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: `Could not copy host OpenCode config: ${err instanceof Error ? err.message : String(err)}`\n\t\t}, { status: 500 });\n\t}\n\tconst importedAuthPath = authJsonPath(state);\n\tlet importedProviderIds = [];\n\tif (result.imported.credentials > 0 || existsSync(importedAuthPath)) {\n\t\tconst fromDestination = providerIdsFromAuth(importedAuthPath);\n\t\tif (fromDestination.length > 0) importedProviderIds = fromDestination;\n\t\telse if (result.imported.credentials > 0) {\n\t\t\tconst hostStatus = detectHostOpenCode();\n\t\t\tconst hostFallback = hostStatus.authPath ? providerIdsFromAuth(hostStatus.authPath) : [];\n\t\t\tlogger.warn(\"post-copy auth.json read returned no providers despite credentials being reported; falling back to host auth.json\", {\n\t\t\t\timportedAuthPath,\n\t\t\t\timportedCredentials: result.imported.credentials,\n\t\t\t\tfallbackCount: hostFallback.length\n\t\t\t});\n\t\t\timportedProviderIds = hostFallback;\n\t\t}\n\t}\n\tconst conflictProviders = result.conflicts;\n\tconst authPathToUse = existsSync(importedAuthPath) ? importedAuthPath : null;\n\tlet pushResult = {\n\t\tpushed: [],\n\t\terrors: []\n\t};\n\tif (authPathToUse) pushResult = await pushAuthToOpenCode(authPathToUse);\n\tconst restart = await restartProviderConsumers(state);\n\treturn json({\n\t\tok: true,\n\t\timported: result.imported,\n\t\timportedProviders: importedProviderIds,\n\t\tconflicts: result.conflicts.length,\n\t\tconflictProviders,\n\t\tlivePushed: pushResult.pushed.length,\n\t\tpushedProviders: pushResult.pushed,\n\t\terrors: pushResult.errors,\n\t\trestarted: restart.restarted,\n\t\trestartFailed: restart.failed\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { aj as isSetupComplete, aQ as resolveStackDir, av as performSetup, aq as mapDockerError, o as checkDocker } from './src-kpR902Zr.js';
3
- import { g as getState, r as resetState } from './state-TG4xDwlK.js';
4
- import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-Bebo0tHj.js';
5
- import { s as sessionCookieHeader } from './session-cookie-DI4jIKdM.js';
6
- import { p as prepareSetupRestorePoint, s as startDeploy, r as resetDeployState } from './setup-deploy-NZRJZiNw.js';
2
+ import { ak as isSetupComplete, aS as resolveStackDir, aw as performSetup, ar as mapDockerError, o as checkDocker } from './src-HnR-W6qI.js';
3
+ import { g as getState, r as resetState } from './state-gOzmaumW.js';
4
+ import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-CQ9v-UhX.js';
5
+ import { s as sessionCookieHeader } from './session-cookie-Deh3JNKY.js';
6
+ import { p as prepareSetupRestorePoint, s as startDeploy, r as resetDeployState } from './setup-deploy-C-SGDhqa.js';
7
7
  import './utils-BSRjJDrZ.js';
8
8
  import './chunk-CLZ62Ad-.js';
9
9
  import 'node:module';
@@ -26,7 +26,7 @@ import 'zlib';
26
26
  import 'node:assert';
27
27
  import 'node:fs/promises';
28
28
  import 'node:os';
29
- import './endpoints-C9sjcucN.js';
29
+ import './endpoints-47SGUFNp.js';
30
30
 
31
31
  //#region src/routes/api/setup/complete/+server.ts
32
32
  var POST = async (event) => {
@@ -91,4 +91,4 @@ var POST = async (event) => {
91
91
  };
92
92
 
93
93
  export { POST };
94
- //# sourceMappingURL=_server.ts-Bqs67HUU.js.map
94
+ //# sourceMappingURL=_server.ts-jTqD5BwW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bqs67HUU.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { $t as resolveStackDir, N as mapDockerError, Q as checkDocker, a as performSetup, ft as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { n as resetState, t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, g as getUiLoginPassword, h as createSession, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\nimport { i as startDeploy, n as prepareSetupRestorePoint, r as resetDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/complete/+server.ts\nvar POST = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst { request } = event;\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst dryRun = body.dryRun === true;\n\tlet result;\n\ttry {\n\t\tprepareSetupRestorePoint(getState());\n\t\tresult = await performSetup(body);\n\t} catch (err) {\n\t\tconst mapped = mapDockerError(String(err));\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: mapped.code,\n\t\t\tmessage: mapped.message\n\t\t}, { status: 500 });\n\t}\n\tif (!result.ok) return json(result, { status: 400 });\n\tresetState();\n\tconst state = getState();\n\tresetDeployState();\n\tlet dockerCheck = null;\n\tif (!dryRun) {\n\t\tdockerCheck = await checkDocker();\n\t\tif (dockerCheck.ok) startDeploy(state);\n\t\telse return json({\n\t\t\tok: false,\n\t\t\terror: \"docker_unavailable\",\n\t\t\tmessage: \"Docker isn't running. Start Docker Desktop or OrbStack, then try again.\"\n\t\t}, {\n\t\t\tstatus: 503,\n\t\t\theaders: { \"content-type\": \"application/json\" }\n\t\t});\n\t}\n\tconst headers = new Headers({ \"content-type\": \"application/json\" });\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword || getUiLoginPassword()) {\n\t\tconst sessionToken = createSession();\n\t\theaders.set(\"set-cookie\", sessionCookieHeader(sessionToken, event.request));\n\t}\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\tdockerAvailable: dockerCheck?.ok ?? false,\n\t\tdryRun\n\t}), {\n\t\tstatus: 200,\n\t\theaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-jTqD5BwW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { $t as resolveStackDir, N as mapDockerError, Q as checkDocker, a as performSetup, ft as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { n as resetState, t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, g as getUiLoginPassword, h as createSession, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\nimport { i as startDeploy, n as prepareSetupRestorePoint, r as resetDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/complete/+server.ts\nvar POST = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst { request } = event;\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst dryRun = body.dryRun === true;\n\tlet result;\n\ttry {\n\t\tprepareSetupRestorePoint(getState());\n\t\tresult = await performSetup(body);\n\t} catch (err) {\n\t\tconst mapped = mapDockerError(String(err));\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: mapped.code,\n\t\t\tmessage: mapped.message\n\t\t}, { status: 500 });\n\t}\n\tif (!result.ok) return json(result, { status: 400 });\n\tresetState();\n\tconst state = getState();\n\tresetDeployState();\n\tlet dockerCheck = null;\n\tif (!dryRun) {\n\t\tdockerCheck = await checkDocker();\n\t\tif (dockerCheck.ok) startDeploy(state);\n\t\telse return json({\n\t\t\tok: false,\n\t\t\terror: \"docker_unavailable\",\n\t\t\tmessage: \"Docker isn't running. Start Docker Desktop or OrbStack, then try again.\"\n\t\t}, {\n\t\t\tstatus: 503,\n\t\t\theaders: { \"content-type\": \"application/json\" }\n\t\t});\n\t}\n\tconst headers = new Headers({ \"content-type\": \"application/json\" });\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword || getUiLoginPassword()) {\n\t\tconst sessionToken = createSession();\n\t\theaders.set(\"set-cookie\", sessionCookieHeader(sessionToken, event.request));\n\t}\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\tdockerAvailable: dockerCheck?.ok ?? false,\n\t\tdryRun\n\t}), {\n\t\tstatus: 200,\n\t\theaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { G as createLogger, o as checkDocker, m as buildComposeOptions, x as composePull, n as buildManagedServices, F as composeUp } from './src-kpR902Zr.js';
2
- import { g as getState } from './state-TG4xDwlK.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-Bebo0tHj.js';
1
+ import { G as createLogger, o as checkDocker, m as buildComposeOptions, x as composePull, n as buildManagedServices, F as composeUp } from './src-HnR-W6qI.js';
2
+ import { g as getState } from './state-gOzmaumW.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CQ9v-UhX.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -23,7 +23,7 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-C9sjcucN.js';
26
+ import './endpoints-47SGUFNp.js';
27
27
 
28
28
  //#region src/routes/admin/containers/pull/+server.ts
29
29
  var logger = createLogger("containers-pull");
@@ -73,4 +73,4 @@ var POST = async (event) => {
73
73
  };
74
74
 
75
75
  export { POST };
76
- //# sourceMappingURL=_server.ts-BVvTNLyM.js.map
76
+ //# sourceMappingURL=_server.ts-k5ZKZRei.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BVvTNLyM.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/pull/_server.ts.js"],"sourcesContent":["import { H as buildManagedServices, I as buildComposeOptions, Q as checkDocker, hn as createLogger, it as composePull, lt as composeUp } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/pull/+server.ts\nvar logger = createLogger(\"containers-pull\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"pull request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:pull\", async () => {\n\t\tconst state = getState();\n\t\tconst dockerCheck = await checkDocker();\n\t\tif (!dockerCheck.ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t\tconst composeOpts = buildComposeOptions(state);\n\t\tlogger.info(\"pulling images\", { requestId });\n\t\tconst pullResult = await composePull(composeOpts);\n\t\tif (!pullResult.ok) {\n\t\t\tlogger.error(\"image pull failed\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: pullResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"pull_failed\", \"Failed to pull images\", { stderr: pullResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"recreating containers\", { requestId });\n\t\tconst managedServices = await buildManagedServices(state);\n\t\tconst upResult = await composeUp({\n\t\t\t...composeOpts,\n\t\t\tservices: managedServices,\n\t\t\tforceRecreate: true\n\t\t});\n\t\tif (!upResult.ok) {\n\t\t\tlogger.error(\"compose up failed after pull\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: upResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"up_failed\", \"Images pulled but failed to recreate containers\", { stderr: upResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"pull completed\", {\n\t\t\trequestId,\n\t\t\tstarted: managedServices\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tpulled: pullResult.stdout,\n\t\t\tstarted: managedServices\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACzC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAChD,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC;AAC9C,EAAE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC;AACnD,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;AACtB,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;AACrC,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,UAAU,CAAC;AACvB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC9G,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,EAAE,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AAC3D,EAAE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC;AACnC,GAAG,GAAG,WAAW;AACjB,GAAG,QAAQ,EAAE,eAAe;AAC5B,GAAG,aAAa,EAAE;AAClB,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpB,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;AAChD,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,QAAQ,CAAC;AACrB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,iDAAiD,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AACpI,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAChC,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-k5ZKZRei.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/pull/_server.ts.js"],"sourcesContent":["import { H as buildManagedServices, I as buildComposeOptions, Q as checkDocker, _n as createLogger, it as composePull, lt as composeUp } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/pull/+server.ts\nvar logger = createLogger(\"containers-pull\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"pull request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:pull\", async () => {\n\t\tconst state = getState();\n\t\tconst dockerCheck = await checkDocker();\n\t\tif (!dockerCheck.ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t\tconst composeOpts = buildComposeOptions(state);\n\t\tlogger.info(\"pulling images\", { requestId });\n\t\tconst pullResult = await composePull(composeOpts);\n\t\tif (!pullResult.ok) {\n\t\t\tlogger.error(\"image pull failed\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: pullResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"pull_failed\", \"Failed to pull images\", { stderr: pullResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"recreating containers\", { requestId });\n\t\tconst managedServices = await buildManagedServices(state);\n\t\tconst upResult = await composeUp({\n\t\t\t...composeOpts,\n\t\t\tservices: managedServices,\n\t\t\tforceRecreate: true\n\t\t});\n\t\tif (!upResult.ok) {\n\t\t\tlogger.error(\"compose up failed after pull\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: upResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"up_failed\", \"Images pulled but failed to recreate containers\", { stderr: upResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"pull completed\", {\n\t\t\trequestId,\n\t\t\tstarted: managedServices\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tpulled: pullResult.stdout,\n\t\t\tstarted: managedServices\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACzC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAChD,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC;AAC9C,EAAE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC;AACnD,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;AACtB,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;AACrC,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,UAAU,CAAC;AACvB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC9G,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,EAAE,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AAC3D,EAAE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC;AACnC,GAAG,GAAG,WAAW;AACjB,GAAG,QAAQ,EAAE,eAAe;AAC5B,GAAG,aAAa,EAAE;AAClB,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpB,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;AAChD,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,QAAQ,CAAC;AACrB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,iDAAiD,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AACpI,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAChC,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-Bebo0tHj.js';
2
- import { l as loadProviderPage } from './catalog-CVQgQDZT.js';
3
- import './src-kpR902Zr.js';
1
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-CQ9v-UhX.js';
2
+ import { l as loadProviderPage } from './catalog-CHbys4Tk.js';
3
+ import './src-HnR-W6qI.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,11 +22,11 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-C9sjcucN.js';
26
- import './state-TG4xDwlK.js';
25
+ import './endpoints-47SGUFNp.js';
26
+ import './state-gOzmaumW.js';
27
27
  import './coercion-TNFJisCC.js';
28
- import './http-B9H_dpeX.js';
29
- import './config-CW8zrJxw.js';
28
+ import './http-DfcMgAxH.js';
29
+ import './config-BAcgI5t9.js';
30
30
 
31
31
  //#region src/routes/admin/providers/+server.ts
32
32
  var GET = async (event) => {
@@ -37,4 +37,4 @@ var GET = async (event) => {
37
37
  };
38
38
 
39
39
  export { GET };
40
- //# sourceMappingURL=_server.ts-DuDeloL8.js.map
40
+ //# sourceMappingURL=_server.ts-nqctHWXr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DuDeloL8.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/_server.ts.js"],"sourcesContent":["import { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as loadProviderPage } from \"../../../../chunks/catalog.js\";\n//#region src/routes/admin/providers/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, await loadProviderPage(), 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,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,gBAAgB,EAAE,EAAE,SAAS,CAAC;AAC9D;;;;"}
1
+ {"version":3,"file":"_server.ts-nqctHWXr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/_server.ts.js"],"sourcesContent":["import { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { t as loadProviderPage } from \"../../../../chunks/catalog.js\";\n//#region src/routes/admin/providers/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, await loadProviderPage(), 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,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,gBAAgB,EAAE,EAAE,SAAS,CAAC;AAC9D;;;;"}
@@ -1,6 +1,6 @@
1
- import { ap as loadAutomations } from './src-kpR902Zr.js';
2
- import { g as getState } from './state-TG4xDwlK.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-Bebo0tHj.js';
1
+ import { aq as loadAutomations } from './src-HnR-W6qI.js';
2
+ import { g as getState } from './state-gOzmaumW.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-CQ9v-UhX.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-C9sjcucN.js';
25
+ import './endpoints-47SGUFNp.js';
26
26
 
27
27
  //#region src/routes/admin/automations/+server.ts
28
28
  var GET = async (event) => {
@@ -46,4 +46,4 @@ var GET = async (event) => {
46
46
  };
47
47
 
48
48
  export { GET };
49
- //# sourceMappingURL=_server.ts-B28oMCZG.js.map
49
+ //# sourceMappingURL=_server.ts-pTtmfXKk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B28oMCZG.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_server.ts.js"],"sourcesContent":["import { d as loadAutomations } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\treturn jsonResponse(200, { automations: loadAutomations(getState().stashDir).map((c) => ({\n\t\tname: c.name,\n\t\tdescription: c.description,\n\t\tschedule: c.schedule,\n\t\ttimezone: c.timezone,\n\t\tenabled: c.enabled,\n\t\taction: {\n\t\t\ttype: c.action.type,\n\t\t\tcontent: c.action.content,\n\t\t\tagent: c.action.agent\n\t\t},\n\t\ton_failure: c.on_failure,\n\t\tfileName: c.fileName\n\t})) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC1F,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;AACd,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;AAC5B,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;AACpB,EAAE,MAAM,EAAE;AACV,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;AACtB,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;AAC5B,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;AACnB,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;AAC1B,EAAE,QAAQ,EAAE,CAAC,CAAC;AACd,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAClB;;;;"}
1
+ {"version":3,"file":"_server.ts-pTtmfXKk.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_server.ts.js"],"sourcesContent":["import { d as loadAutomations } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\treturn jsonResponse(200, { automations: loadAutomations(getState().stashDir).map((c) => ({\n\t\tname: c.name,\n\t\tdescription: c.description,\n\t\tschedule: c.schedule,\n\t\ttimezone: c.timezone,\n\t\tenabled: c.enabled,\n\t\taction: {\n\t\t\ttype: c.action.type,\n\t\t\tcontent: c.action.content,\n\t\t\tagent: c.action.agent\n\t\t},\n\t\ton_failure: c.on_failure,\n\t\tfileName: c.fileName\n\t})) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC1F,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;AACd,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;AAC5B,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;AACpB,EAAE,MAAM,EAAE;AACV,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;AACtB,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;AAC5B,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;AACnB,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;AAC1B,EAAE,QAAQ,EAAE,CAAC,CAAC;AACd,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAClB;;;;"}
@@ -1,6 +1,6 @@
1
- import { ag as isAllowedService, o as checkDocker, u as composeLogs, m as buildComposeOptions } from './src-kpR902Zr.js';
2
- import { g as getState } from './state-TG4xDwlK.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-Bebo0tHj.js';
1
+ import { ag as isAllowedService, o as checkDocker, u as composeLogs, m as buildComposeOptions } from './src-HnR-W6qI.js';
2
+ import { g as getState } from './state-gOzmaumW.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CQ9v-UhX.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-C9sjcucN.js';
25
+ import './endpoints-47SGUFNp.js';
26
26
 
27
27
  //#region src/routes/admin/logs/+server.ts
28
28
  var GET = async (event) => {
@@ -60,4 +60,4 @@ var GET = async (event) => {
60
60
  };
61
61
 
62
62
  export { GET };
63
- //# sourceMappingURL=_server.ts-CK46ky8H.js.map
63
+ //# sourceMappingURL=_server.ts-p_KcE65x.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CK46ky8H.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/logs/_server.ts.js"],"sourcesContent":["import { D as isAllowedService, I as buildComposeOptions, Q as checkDocker, tt as composeLogs } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/logs/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst url = new URL(event.request.url);\n\tconst serviceParam = url.searchParams.get(\"service\");\n\tconst tailParam = url.searchParams.get(\"tail\");\n\tconst sinceParam = url.searchParams.get(\"since\");\n\tconst tail = tailParam ? Number(tailParam) : 100;\n\tif (tailParam && (!Number.isInteger(tail) || tail < 1 || tail > 1e4)) return errorResponse(400, \"invalid_parameter\", \"tail must be an integer between 1 and 10000\", {}, requestId);\n\tlet services;\n\tif (serviceParam) {\n\t\tservices = serviceParam.split(\",\").map((s) => s.trim()).filter(Boolean);\n\t\tconst invalid = services.filter((s) => !isAllowedService(s, state.configDir));\n\t\tif (invalid.length > 0) return errorResponse(400, \"invalid_service\", `Invalid service name(s): ${invalid.join(\", \")}`, { invalid }, requestId);\n\t}\n\tif (sinceParam && !/^[a-zA-Z0-9.:+\\-T]+$/.test(sinceParam)) return errorResponse(400, \"invalid_parameter\", \"since contains invalid characters\", {}, requestId);\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeLogs(services, tail, {\n\t\t...buildComposeOptions(state),\n\t\tsince: sinceParam ?? void 0\n\t});\n\tif (!result.ok) return jsonResponse(500, {\n\t\tok: false,\n\t\tlogs: \"\",\n\t\terror: result.stderr\n\t}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tlogs: (result.stdout + result.stderr).trim()\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/C,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACjD,CAAC,MAAM,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG;AACjD,CAAC,IAAI,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AACnL,CAAC,IAAI,QAAQ;AACb,CAAC,IAAI,YAAY,EAAE;AACnB,EAAE,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACzE,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/E,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AAChJ,CAAC;AACD,CAAC,IAAI,UAAU,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/J,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,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE;AAClD,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAC/B,EAAE,KAAK,EAAE,UAAU,IAAI;AACvB,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,IAAI,EAAE,EAAE;AACV,EAAE,KAAK,EAAE,MAAM,CAAC;AAChB,EAAE,EAAE,SAAS,CAAC;AACd,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI;AAC5C,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-p_KcE65x.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/logs/_server.ts.js"],"sourcesContent":["import { D as isAllowedService, I as buildComposeOptions, Q as checkDocker, tt as composeLogs } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/logs/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst url = new URL(event.request.url);\n\tconst serviceParam = url.searchParams.get(\"service\");\n\tconst tailParam = url.searchParams.get(\"tail\");\n\tconst sinceParam = url.searchParams.get(\"since\");\n\tconst tail = tailParam ? Number(tailParam) : 100;\n\tif (tailParam && (!Number.isInteger(tail) || tail < 1 || tail > 1e4)) return errorResponse(400, \"invalid_parameter\", \"tail must be an integer between 1 and 10000\", {}, requestId);\n\tlet services;\n\tif (serviceParam) {\n\t\tservices = serviceParam.split(\",\").map((s) => s.trim()).filter(Boolean);\n\t\tconst invalid = services.filter((s) => !isAllowedService(s, state.configDir));\n\t\tif (invalid.length > 0) return errorResponse(400, \"invalid_service\", `Invalid service name(s): ${invalid.join(\", \")}`, { invalid }, requestId);\n\t}\n\tif (sinceParam && !/^[a-zA-Z0-9.:+\\-T]+$/.test(sinceParam)) return errorResponse(400, \"invalid_parameter\", \"since contains invalid characters\", {}, requestId);\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeLogs(services, tail, {\n\t\t...buildComposeOptions(state),\n\t\tsince: sinceParam ?? void 0\n\t});\n\tif (!result.ok) return jsonResponse(500, {\n\t\tok: false,\n\t\tlogs: \"\",\n\t\terror: result.stderr\n\t}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tlogs: (result.stdout + result.stderr).trim()\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/C,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACjD,CAAC,MAAM,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG;AACjD,CAAC,IAAI,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AACnL,CAAC,IAAI,QAAQ;AACb,CAAC,IAAI,YAAY,EAAE;AACnB,EAAE,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACzE,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/E,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AAChJ,CAAC;AACD,CAAC,IAAI,UAAU,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/J,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,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE;AAClD,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAC/B,EAAE,KAAK,EAAE,UAAU,IAAI;AACvB,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,IAAI,EAAE,EAAE;AACV,EAAE,KAAK,EAAE,MAAM,CAAC;AAChB,EAAE,EAAE,SAAS,CAAC;AACd,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI;AAC5C,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-Bebo0tHj.js';
2
- import { o as opencodeFetch } from './http-B9H_dpeX.js';
3
- import './src-kpR902Zr.js';
1
+ import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-CQ9v-UhX.js';
2
+ import { o as opencodeFetch } from './http-DfcMgAxH.js';
3
+ import './src-HnR-W6qI.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,8 +22,8 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-C9sjcucN.js';
26
- import './state-TG4xDwlK.js';
25
+ import './endpoints-47SGUFNp.js';
26
+ import './state-gOzmaumW.js';
27
27
 
28
28
  //#region src/routes/admin/providers/oauth/[providerId]/callback/+server.ts
29
29
  var POST = async (event) => {
@@ -52,4 +52,4 @@ var POST = async (event) => {
52
52
  };
53
53
 
54
54
  export { POST };
55
- //# sourceMappingURL=_server.ts-CfJR6lH-.js.map
55
+ //# sourceMappingURL=_server.ts-qCZQFS1u.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CfJR6lH-.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/_providerId_/callback/_server.ts.js"],"sourcesContent":["import { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../../chunks/http.js\";\n//#region src/routes/admin/providers/oauth/[providerId]/callback/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst { providerId } = event.params;\n\tif (!providerId) return errorResponse(400, \"missing_provider\", \"Provider ID is required.\", {}, requestId);\n\ttry {\n\t\tconst body = await event.request.text();\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody\n\t\t});\n\t\treturn new Response(JSON.stringify({ ok: true }), {\n\t\t\tstatus: 200,\n\t\t\theaders: {\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t...requestId ? { \"x-request-id\": requestId } : {}\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\treturn errorResponse(502, \"oauth_callback_failed\", error instanceof Error ? error.message : \"OAuth callback failed\", {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,MAAM;AACpC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1G,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACzC,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACpD,GAAG,MAAM,EAAE,GAAG;AACd,GAAG,OAAO,EAAE;AACZ,IAAI,eAAe,EAAE,UAAU;AAC/B,IAAI,cAAc,EAAE,kBAAkB;AACtC,IAAI,GAAG,SAAS,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG;AACnD;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,uBAAuB,EAAE,EAAE,EAAE,SAAS,CAAC;AACrI,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-qCZQFS1u.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/_providerId_/callback/_server.ts.js"],"sourcesContent":["import { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../../chunks/http.js\";\n//#region src/routes/admin/providers/oauth/[providerId]/callback/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst { providerId } = event.params;\n\tif (!providerId) return errorResponse(400, \"missing_provider\", \"Provider ID is required.\", {}, requestId);\n\ttry {\n\t\tconst body = await event.request.text();\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody\n\t\t});\n\t\treturn new Response(JSON.stringify({ ok: true }), {\n\t\t\tstatus: 200,\n\t\t\theaders: {\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t...requestId ? { \"x-request-id\": requestId } : {}\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\treturn errorResponse(502, \"oauth_callback_failed\", error instanceof Error ? error.message : \"OAuth callback failed\", {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,MAAM;AACpC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1G,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACzC,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACpD,GAAG,MAAM,EAAE,GAAG;AACd,GAAG,OAAO,EAAE;AACZ,IAAI,eAAe,EAAE,UAAU;AAC/B,IAAI,cAAc,EAAE,kBAAkB;AACtC,IAAI,GAAG,SAAS,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG;AACnD;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,uBAAuB,EAAE,EAAE,EAAE,SAAS,CAAC;AACrI,CAAC;AACD;;;;"}
@@ -1,5 +1,5 @@
1
- import { an as listEnabledAddonIds, a7 as getAddonServiceNames, o as checkDocker, E as composeStop, m as buildComposeOptions, aT as setAddonEnabled, G as createLogger } from './src-kpR902Zr.js';
2
- import { r as resetState } from './state-TG4xDwlK.js';
1
+ import { ao as listEnabledAddonIds, a7 as getAddonServiceNames, o as checkDocker, E as composeStop, m as buildComposeOptions, aV as setAddonEnabled, G as createLogger } from './src-HnR-W6qI.js';
2
+ import { r as resetState } from './state-gOzmaumW.js';
3
3
 
4
4
  //#region src/lib/server/addon-helpers.ts
5
5
  /**
@@ -48,4 +48,4 @@ async function performAddonToggle(state, name, requestedEnabled, requestId) {
48
48
  }
49
49
 
50
50
  export { performAddonToggle as p };
51
- //# sourceMappingURL=addon-helpers-CkQjHBvL.js.map
51
+ //# sourceMappingURL=addon-helpers-Uxv9F26c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addon-helpers-CkQjHBvL.js","sources":["../../../.svelte-kit/adapter-node/chunks/addon-helpers.js"],"sourcesContent":["import { Dt as listEnabledAddonIds, I as buildComposeOptions, Ot as setAddonEnabled, Q as checkDocker, ct as composeStop, hn as createLogger, wt as getAddonServiceNames } from \"./src.js\";\nimport { n as resetState } from \"./state.js\";\n//#region src/lib/server/addon-helpers.ts\n/**\n* Shared addon enable/disable logic for admin route handlers.\n*\n* Both /admin/addons and /admin/addons/:name share the same POST flow:\n* validate → stop running services if disabling → mutate state → audit.\n* This module houses the shared mutation step so neither route duplicates it.\n*/\nvar logger = createLogger(\"addon-helpers\");\n/**\n* Stop running services if disabling, then call setAddonEnabled.\n* Returns the mutation result with the final enabled state.\n*/\nasync function performAddonToggle(state, name, requestedEnabled, requestId) {\n\tconst wasEnabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tconst nextEnabled = requestedEnabled !== void 0 ? requestedEnabled : wasEnabled;\n\tif (!nextEnabled && wasEnabled) {\n\t\tconst serviceNames = getAddonServiceNames(state.homeDir, name);\n\t\tif (serviceNames.length > 0) {\n\t\t\tif ((await checkDocker()).ok) try {\n\t\t\t\tawait composeStop(serviceNames, buildComposeOptions(state));\n\t\t\t\tlogger.info(\"stopped addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tlogger.warn(\"failed to stop addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\terror: String(err),\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tconst mutation = setAddonEnabled(state.homeDir, state.stackDir, name, nextEnabled, state);\n\tif (!mutation.ok) return mutation;\n\tif (mutation.changed) resetState();\n\treturn {\n\t\tok: true,\n\t\tenabled: listEnabledAddonIds(state.homeDir).includes(name),\n\t\tchanged: mutation.changed\n\t};\n}\n//#endregion\nexport { performAddonToggle as t };\n"],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA,eAAe,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE;AAC5E,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AACrE,CAAC,MAAM,WAAW,GAAG,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,GAAG,UAAU;AAChF,CAAC,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE;AACjC,EAAE,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AAChE,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,GAAG,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI;AACrC,IAAI,MAAM,WAAW,CAAC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;AACzD,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK;AACL,KAAK,CAAC;AACN,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE;AACjB,IAAI,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;AAChE,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;AACvB,KAAK;AACL,KAAK,CAAC;AACN,GAAG;AACH,EAAE;AACF,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC;AAC1F,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,QAAQ;AAClC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE;AACnC,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5D,EAAE,OAAO,EAAE,QAAQ,CAAC;AACpB,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"addon-helpers-Uxv9F26c.js","sources":["../../../.svelte-kit/adapter-node/chunks/addon-helpers.js"],"sourcesContent":["import { Dt as listEnabledAddonIds, I as buildComposeOptions, Ot as setAddonEnabled, Q as checkDocker, _n as createLogger, ct as composeStop, wt as getAddonServiceNames } from \"./src.js\";\nimport { n as resetState } from \"./state.js\";\n//#region src/lib/server/addon-helpers.ts\n/**\n* Shared addon enable/disable logic for admin route handlers.\n*\n* Both /admin/addons and /admin/addons/:name share the same POST flow:\n* validate → stop running services if disabling → mutate state → audit.\n* This module houses the shared mutation step so neither route duplicates it.\n*/\nvar logger = createLogger(\"addon-helpers\");\n/**\n* Stop running services if disabling, then call setAddonEnabled.\n* Returns the mutation result with the final enabled state.\n*/\nasync function performAddonToggle(state, name, requestedEnabled, requestId) {\n\tconst wasEnabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tconst nextEnabled = requestedEnabled !== void 0 ? requestedEnabled : wasEnabled;\n\tif (!nextEnabled && wasEnabled) {\n\t\tconst serviceNames = getAddonServiceNames(state.homeDir, name);\n\t\tif (serviceNames.length > 0) {\n\t\t\tif ((await checkDocker()).ok) try {\n\t\t\t\tawait composeStop(serviceNames, buildComposeOptions(state));\n\t\t\t\tlogger.info(\"stopped addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tlogger.warn(\"failed to stop addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\terror: String(err),\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tconst mutation = setAddonEnabled(state.homeDir, state.stackDir, name, nextEnabled, state);\n\tif (!mutation.ok) return mutation;\n\tif (mutation.changed) resetState();\n\treturn {\n\t\tok: true,\n\t\tenabled: listEnabledAddonIds(state.homeDir).includes(name),\n\t\tchanged: mutation.changed\n\t};\n}\n//#endregion\nexport { performAddonToggle as t };\n"],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA,eAAe,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE;AAC5E,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AACrE,CAAC,MAAM,WAAW,GAAG,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,GAAG,UAAU;AAChF,CAAC,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE;AACjC,EAAE,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AAChE,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,GAAG,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI;AACrC,IAAI,MAAM,WAAW,CAAC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;AACzD,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK;AACL,KAAK,CAAC;AACN,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE;AACjB,IAAI,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;AAChE,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;AACvB,KAAK;AACL,KAAK,CAAC;AACN,GAAG;AACH,EAAE;AACF,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC;AAC1F,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,QAAQ;AAClC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE;AACnC,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5D,EAAE,OAAO,EAAE,QAAQ,CAAC;AACpB,EAAE;AACF;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { l as lookupEmbeddingDims } from './provider-constants-DPrj3yBX.js';
2
- import { R as detectLocalProviders, a2 as fetchProviderModels, k as buildAkmEndpoint } from './src-kpR902Zr.js';
2
+ import { R as detectLocalProviders, a2 as fetchProviderModels, k as buildAkmEndpoint } from './src-HnR-W6qI.js';
3
3
  import { execFile } from 'node:child_process';
4
4
 
5
5
  //#region src/lib/server/akm.ts
@@ -172,4 +172,4 @@ async function detectEmbeddingSettings(state) {
172
172
  }
173
173
 
174
174
  export { detectEmbeddingSettings as d, runAkmCommand as r, safeParseJsonObject as s, testEmbeddingSettings as t };
175
- //# sourceMappingURL=akm-_cUsiv9b.js.map
175
+ //# sourceMappingURL=akm-DTz9cZzF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"akm-_cUsiv9b.js","sources":["../../../.svelte-kit/adapter-node/chunks/akm.js"],"sourcesContent":["import { o as lookupEmbeddingDims } from \"./provider-constants.js\";\nimport { E as fetchProviderModels, T as buildAkmEndpoint, l as detectLocalProviders } from \"./src.js\";\nimport { execFile } from \"node:child_process\";\n//#region src/lib/server/akm.ts\nvar EMBEDDING_MODEL_HINT_RE = /(?:^|[-/_.])(embed|embedding|bge|gte|e5|nomic|mxbai|arctic-embed|minilm)/i;\nvar PREFERRED_EMBEDDING_MODELS = {\n\tollama: [\n\t\t\"mxbai-embed-large:latest\",\n\t\t\"mxbai-embed-large\",\n\t\t\"mxbai-embed-large-v1\",\n\t\t\"nomic-embed-text:latest\",\n\t\t\"nomic-embed-text\",\n\t\t\"snowflake-arctic-embed\",\n\t\t\"all-minilm\"\n\t],\n\t\"model-runner\": [\"ai/mxbai-embed-large-v1\"],\n\tlmstudio: [\n\t\t\"mxbai-embed-large-v1\",\n\t\t\"mxbai-embed-large\",\n\t\t\"nomic-embed-text\"\n\t]\n};\nfunction createAkmEnv(state) {\n\treturn {\n\t\t...process.env,\n\t\tAKM_STASH_DIR: state.stashDir,\n\t\tAKM_DATA_DIR: `${state.dataDir}/akm/data`,\n\t\tAKM_CONFIG_DIR: `${state.configDir}/akm`\n\t};\n}\nfunction runAkmCommand(state, args, timeoutMs) {\n\treturn new Promise((resolve) => {\n\t\texecFile(\"akm\", args, {\n\t\t\ttimeout: timeoutMs,\n\t\t\tenv: createAkmEnv(state),\n\t\t\tmaxBuffer: 4 * 1024 * 1024\n\t\t}, (error, stdout, stderr) => {\n\t\t\tresolve({\n\t\t\t\tok: !error,\n\t\t\t\tstdout: stdout?.toString() ?? \"\",\n\t\t\t\tstderr: stderr?.toString() ?? \"\"\n\t\t\t});\n\t\t});\n\t});\n}\nfunction safeParseJsonObject(s) {\n\ttry {\n\t\tconst v = JSON.parse(s);\n\t\treturn v && typeof v === \"object\" ? v : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction isEmbeddingModel(provider, model) {\n\treturn lookupEmbeddingDims(provider, model) > 0 || EMBEDDING_MODEL_HINT_RE.test(model);\n}\nfunction compareModelPreference(provider, left, right) {\n\tconst preferred = PREFERRED_EMBEDDING_MODELS[provider] ?? [];\n\tconst leftIdx = preferred.findIndex((entry) => entry === left);\n\tconst rightIdx = preferred.findIndex((entry) => entry === right);\n\tif (leftIdx >= 0 || rightIdx >= 0) {\n\t\tif (leftIdx < 0) return 1;\n\t\tif (rightIdx < 0) return -1;\n\t\treturn leftIdx - rightIdx;\n\t}\n\tconst dimDelta = lookupEmbeddingDims(provider, right) - lookupEmbeddingDims(provider, left);\n\tif (dimDelta !== 0) return dimDelta;\n\treturn left.localeCompare(right);\n}\nfunction bestEmbeddingModel(provider, models) {\n\tconst candidates = models.filter((model) => isEmbeddingModel(provider, model));\n\tif (candidates.length === 0) return null;\n\treturn [...candidates].sort((left, right) => compareModelPreference(provider, left, right))[0] ?? null;\n}\nfunction detectionPriority(left, right) {\n\tconst order = [\n\t\t\"ollama\",\n\t\t\"model-runner\",\n\t\t\"lmstudio\"\n\t];\n\treturn order.indexOf(left.provider) - order.indexOf(right.provider);\n}\nfunction describeUpstreamError(status, raw) {\n\ttry {\n\t\tconst parsed = JSON.parse(raw);\n\t\tconst error = parsed.error;\n\t\tif (typeof error === \"string\" && error) return `Embedding request failed (${status}): ${error}`;\n\t\tif (error && typeof error === \"object\" && typeof error.message === \"string\") return `Embedding request failed (${status}): ${error.message}`;\n\t\tif (typeof parsed.message === \"string\" && parsed.message) return `Embedding request failed (${status}): ${parsed.message}`;\n\t} catch {}\n\treturn `Embedding request failed (${status}).`;\n}\nasync function testEmbeddingSettings(input) {\n\tconst endpoint = input.endpoint.trim();\n\tconst model = input.model.trim();\n\tif (!endpoint) return {\n\t\tok: false,\n\t\tmessage: \"Endpoint is required.\"\n\t};\n\tif (!model) return {\n\t\tok: false,\n\t\tmessage: \"Model is required.\"\n\t};\n\tconst headers = { \"content-type\": \"application/json\" };\n\tconst apiKey = input.apiKey?.trim() ?? \"\";\n\tif (apiKey) headers.authorization = `Bearer ${apiKey}`;\n\ttry {\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel,\n\t\t\t\tinput: [\"OpenPalm embedding settings test\"]\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(1e4)\n\t\t});\n\t\tconst raw = await response.text();\n\t\tif (!response.ok) return {\n\t\t\tok: false,\n\t\t\tmessage: describeUpstreamError(response.status, raw)\n\t\t};\n\t\tconst parsed = safeParseJsonObject(raw);\n\t\tconst first = (Array.isArray(parsed?.data) ? parsed.data : [])[0];\n\t\tconst embedding = first && typeof first === \"object\" ? first.embedding : void 0;\n\t\tif (!Array.isArray(embedding) || embedding.length === 0 || !embedding.every((value) => typeof value === \"number\")) return {\n\t\t\tok: false,\n\t\t\tmessage: \"Endpoint responded, but not with an OpenAI-compatible embeddings payload.\"\n\t\t};\n\t\tconst dimension = embedding.length;\n\t\tconst configuredDimension = typeof input.dimension === \"number\" && input.dimension > 0 ? input.dimension : null;\n\t\treturn {\n\t\t\tok: true,\n\t\t\tdimension,\n\t\t\tmessage: configuredDimension && configuredDimension !== dimension ? `Embedding endpoint is working. Returned ${dimension} dimensions; the form has been updated to match.` : `Embedding endpoint is working. Returned ${dimension} dimensions.`,\n\t\t\tprovider: input.provider\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error && error.name === \"TimeoutError\" ? \"Embedding request timed out after 10 seconds.\" : error instanceof Error ? `Embedding request failed: ${error.message}` : \"Embedding request failed.\"\n\t\t};\n\t}\n}\nasync function detectEmbeddingSettings(state) {\n\tconst detected = (await detectLocalProviders()).filter((provider) => provider.available && provider.url).sort(detectionPriority);\n\tfor (const provider of detected) {\n\t\tconst modelsResult = await fetchProviderModels(provider.provider, \"\", provider.url, state.stackDir);\n\t\tif (modelsResult.status !== \"ok\") continue;\n\t\tconst model = bestEmbeddingModel(provider.provider, modelsResult.models);\n\t\tif (!model) continue;\n\t\tconst endpoint = buildAkmEndpoint(provider.provider, provider.url, \"/embeddings\");\n\t\tconst probe = await testEmbeddingSettings({\n\t\t\tendpoint,\n\t\t\tmodel,\n\t\t\tprovider: provider.provider\n\t\t});\n\t\tif (!probe.ok) continue;\n\t\treturn {\n\t\t\tok: true,\n\t\t\tendpoint,\n\t\t\tmodel,\n\t\t\tprovider: provider.provider,\n\t\t\tdimension: probe.dimension,\n\t\t\tmessage: `Detected ${provider.provider} embedding model ${model}.`\n\t\t};\n\t}\n\treturn {\n\t\tok: false,\n\t\tmessage: \"No working local embedding endpoint was detected. Tried common runtimes such as Ollama, Docker Model Runner, and LM Studio.\"\n\t};\n}\n//#endregion\nexport { testEmbeddingSettings as i, runAkmCommand as n, safeParseJsonObject as r, detectEmbeddingSettings as t };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"akm-DTz9cZzF.js","sources":["../../../.svelte-kit/adapter-node/chunks/akm.js"],"sourcesContent":["import { o as lookupEmbeddingDims } from \"./provider-constants.js\";\nimport { E as fetchProviderModels, T as buildAkmEndpoint, l as detectLocalProviders } from \"./src.js\";\nimport { execFile } from \"node:child_process\";\n//#region src/lib/server/akm.ts\nvar EMBEDDING_MODEL_HINT_RE = /(?:^|[-/_.])(embed|embedding|bge|gte|e5|nomic|mxbai|arctic-embed|minilm)/i;\nvar PREFERRED_EMBEDDING_MODELS = {\n\tollama: [\n\t\t\"mxbai-embed-large:latest\",\n\t\t\"mxbai-embed-large\",\n\t\t\"mxbai-embed-large-v1\",\n\t\t\"nomic-embed-text:latest\",\n\t\t\"nomic-embed-text\",\n\t\t\"snowflake-arctic-embed\",\n\t\t\"all-minilm\"\n\t],\n\t\"model-runner\": [\"ai/mxbai-embed-large-v1\"],\n\tlmstudio: [\n\t\t\"mxbai-embed-large-v1\",\n\t\t\"mxbai-embed-large\",\n\t\t\"nomic-embed-text\"\n\t]\n};\nfunction createAkmEnv(state) {\n\treturn {\n\t\t...process.env,\n\t\tAKM_STASH_DIR: state.stashDir,\n\t\tAKM_DATA_DIR: `${state.dataDir}/akm/data`,\n\t\tAKM_CONFIG_DIR: `${state.configDir}/akm`\n\t};\n}\nfunction runAkmCommand(state, args, timeoutMs) {\n\treturn new Promise((resolve) => {\n\t\texecFile(\"akm\", args, {\n\t\t\ttimeout: timeoutMs,\n\t\t\tenv: createAkmEnv(state),\n\t\t\tmaxBuffer: 4 * 1024 * 1024\n\t\t}, (error, stdout, stderr) => {\n\t\t\tresolve({\n\t\t\t\tok: !error,\n\t\t\t\tstdout: stdout?.toString() ?? \"\",\n\t\t\t\tstderr: stderr?.toString() ?? \"\"\n\t\t\t});\n\t\t});\n\t});\n}\nfunction safeParseJsonObject(s) {\n\ttry {\n\t\tconst v = JSON.parse(s);\n\t\treturn v && typeof v === \"object\" ? v : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction isEmbeddingModel(provider, model) {\n\treturn lookupEmbeddingDims(provider, model) > 0 || EMBEDDING_MODEL_HINT_RE.test(model);\n}\nfunction compareModelPreference(provider, left, right) {\n\tconst preferred = PREFERRED_EMBEDDING_MODELS[provider] ?? [];\n\tconst leftIdx = preferred.findIndex((entry) => entry === left);\n\tconst rightIdx = preferred.findIndex((entry) => entry === right);\n\tif (leftIdx >= 0 || rightIdx >= 0) {\n\t\tif (leftIdx < 0) return 1;\n\t\tif (rightIdx < 0) return -1;\n\t\treturn leftIdx - rightIdx;\n\t}\n\tconst dimDelta = lookupEmbeddingDims(provider, right) - lookupEmbeddingDims(provider, left);\n\tif (dimDelta !== 0) return dimDelta;\n\treturn left.localeCompare(right);\n}\nfunction bestEmbeddingModel(provider, models) {\n\tconst candidates = models.filter((model) => isEmbeddingModel(provider, model));\n\tif (candidates.length === 0) return null;\n\treturn [...candidates].sort((left, right) => compareModelPreference(provider, left, right))[0] ?? null;\n}\nfunction detectionPriority(left, right) {\n\tconst order = [\n\t\t\"ollama\",\n\t\t\"model-runner\",\n\t\t\"lmstudio\"\n\t];\n\treturn order.indexOf(left.provider) - order.indexOf(right.provider);\n}\nfunction describeUpstreamError(status, raw) {\n\ttry {\n\t\tconst parsed = JSON.parse(raw);\n\t\tconst error = parsed.error;\n\t\tif (typeof error === \"string\" && error) return `Embedding request failed (${status}): ${error}`;\n\t\tif (error && typeof error === \"object\" && typeof error.message === \"string\") return `Embedding request failed (${status}): ${error.message}`;\n\t\tif (typeof parsed.message === \"string\" && parsed.message) return `Embedding request failed (${status}): ${parsed.message}`;\n\t} catch {}\n\treturn `Embedding request failed (${status}).`;\n}\nasync function testEmbeddingSettings(input) {\n\tconst endpoint = input.endpoint.trim();\n\tconst model = input.model.trim();\n\tif (!endpoint) return {\n\t\tok: false,\n\t\tmessage: \"Endpoint is required.\"\n\t};\n\tif (!model) return {\n\t\tok: false,\n\t\tmessage: \"Model is required.\"\n\t};\n\tconst headers = { \"content-type\": \"application/json\" };\n\tconst apiKey = input.apiKey?.trim() ?? \"\";\n\tif (apiKey) headers.authorization = `Bearer ${apiKey}`;\n\ttry {\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel,\n\t\t\t\tinput: [\"OpenPalm embedding settings test\"]\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(1e4)\n\t\t});\n\t\tconst raw = await response.text();\n\t\tif (!response.ok) return {\n\t\t\tok: false,\n\t\t\tmessage: describeUpstreamError(response.status, raw)\n\t\t};\n\t\tconst parsed = safeParseJsonObject(raw);\n\t\tconst first = (Array.isArray(parsed?.data) ? parsed.data : [])[0];\n\t\tconst embedding = first && typeof first === \"object\" ? first.embedding : void 0;\n\t\tif (!Array.isArray(embedding) || embedding.length === 0 || !embedding.every((value) => typeof value === \"number\")) return {\n\t\t\tok: false,\n\t\t\tmessage: \"Endpoint responded, but not with an OpenAI-compatible embeddings payload.\"\n\t\t};\n\t\tconst dimension = embedding.length;\n\t\tconst configuredDimension = typeof input.dimension === \"number\" && input.dimension > 0 ? input.dimension : null;\n\t\treturn {\n\t\t\tok: true,\n\t\t\tdimension,\n\t\t\tmessage: configuredDimension && configuredDimension !== dimension ? `Embedding endpoint is working. Returned ${dimension} dimensions; the form has been updated to match.` : `Embedding endpoint is working. Returned ${dimension} dimensions.`,\n\t\t\tprovider: input.provider\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error && error.name === \"TimeoutError\" ? \"Embedding request timed out after 10 seconds.\" : error instanceof Error ? `Embedding request failed: ${error.message}` : \"Embedding request failed.\"\n\t\t};\n\t}\n}\nasync function detectEmbeddingSettings(state) {\n\tconst detected = (await detectLocalProviders()).filter((provider) => provider.available && provider.url).sort(detectionPriority);\n\tfor (const provider of detected) {\n\t\tconst modelsResult = await fetchProviderModels(provider.provider, \"\", provider.url, state.stackDir);\n\t\tif (modelsResult.status !== \"ok\") continue;\n\t\tconst model = bestEmbeddingModel(provider.provider, modelsResult.models);\n\t\tif (!model) continue;\n\t\tconst endpoint = buildAkmEndpoint(provider.provider, provider.url, \"/embeddings\");\n\t\tconst probe = await testEmbeddingSettings({\n\t\t\tendpoint,\n\t\t\tmodel,\n\t\t\tprovider: provider.provider\n\t\t});\n\t\tif (!probe.ok) continue;\n\t\treturn {\n\t\t\tok: true,\n\t\t\tendpoint,\n\t\t\tmodel,\n\t\t\tprovider: provider.provider,\n\t\t\tdimension: probe.dimension,\n\t\t\tmessage: `Detected ${provider.provider} embedding model ${model}.`\n\t\t};\n\t}\n\treturn {\n\t\tok: false,\n\t\tmessage: \"No working local embedding endpoint was detected. Tried common runtimes such as Ollama, Docker Model Runner, and LM Studio.\"\n\t};\n}\n//#endregion\nexport { testEmbeddingSettings as i, runAkmCommand as n, safeParseJsonObject as r, detectEmbeddingSettings as t };\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { i as authJsonPath } from './src-kpR902Zr.js';
2
- import { g as getState } from './state-TG4xDwlK.js';
1
+ import { i as authJsonPath } from './src-HnR-W6qI.js';
2
+ import { g as getState } from './state-gOzmaumW.js';
3
3
  import { b as asRecord, c as asString, a as asNumber, e as asStringRecord, d as asStringArray } from './coercion-TNFJisCC.js';
4
- import { o as opencodeFetch } from './http-B9H_dpeX.js';
5
- import { g as getCurrentConfig } from './config-CW8zrJxw.js';
4
+ import { o as opencodeFetch } from './http-DfcMgAxH.js';
5
+ import { g as getCurrentConfig } from './config-BAcgI5t9.js';
6
6
  import { existsSync, readFileSync } from 'node:fs';
7
7
 
8
8
  //#region src/lib/server/opencode/catalog.ts
@@ -214,4 +214,4 @@ function asModelRecord(value) {
214
214
  }
215
215
 
216
216
  export { loadSetupProviderPage as a, loadProviderPage as l };
217
- //# sourceMappingURL=catalog-CVQgQDZT.js.map
217
+ //# sourceMappingURL=catalog-CHbys4Tk.js.map