@openpalm/ui 0.11.3 → 0.11.5-rc.1

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 (376) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/{4.DPfzakrS.css → 4.IdIqxXvJ.css} +1 -1
  3. package/build/client/_app/immutable/assets/4.IdIqxXvJ.css.br +0 -0
  4. package/build/client/_app/immutable/assets/4.IdIqxXvJ.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/7.BBZ56P_e.css +1 -0
  6. package/build/client/_app/immutable/assets/7.BBZ56P_e.css.br +0 -0
  7. package/build/client/_app/immutable/assets/7.BBZ56P_e.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/B0yFRekZ.js +3 -0
  9. package/build/client/_app/immutable/chunks/B0yFRekZ.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/B0yFRekZ.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{BQ0vnNWj.js → BAaXfhM-.js} +1 -1
  12. package/build/client/_app/immutable/chunks/BAaXfhM-.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/BAaXfhM-.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{irujFCsS.js → B_FOicoS.js} +1 -1
  15. package/build/client/_app/immutable/chunks/B_FOicoS.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/B_FOicoS.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/C8l3LsdI.js +1 -0
  18. package/build/client/_app/immutable/chunks/C8l3LsdI.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/C8l3LsdI.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/CDYZd3Dt.js +1 -0
  21. package/build/client/_app/immutable/chunks/CDYZd3Dt.js.br +1 -0
  22. package/build/client/_app/immutable/chunks/CDYZd3Dt.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/CbZ3EANA.js +5 -0
  24. package/build/client/_app/immutable/chunks/CbZ3EANA.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/CbZ3EANA.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{CGfIEMHl.js → D4eWPJ5x.js} +1 -1
  27. package/build/client/_app/immutable/chunks/D4eWPJ5x.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/D4eWPJ5x.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/DWrxguRp.js +3 -0
  30. package/build/client/_app/immutable/chunks/DWrxguRp.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/DWrxguRp.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/GzVSnhwB.js +1 -0
  33. package/build/client/_app/immutable/chunks/GzVSnhwB.js.br +2 -0
  34. package/build/client/_app/immutable/chunks/GzVSnhwB.js.gz +0 -0
  35. package/build/client/_app/immutable/entry/app.BgG1Uliu.js +2 -0
  36. package/build/client/_app/immutable/entry/app.BgG1Uliu.js.br +0 -0
  37. package/build/client/_app/immutable/entry/app.BgG1Uliu.js.gz +0 -0
  38. package/build/client/_app/immutable/entry/start.D77xxjvu.js +1 -0
  39. package/build/client/_app/immutable/entry/start.D77xxjvu.js.br +0 -0
  40. package/build/client/_app/immutable/entry/start.D77xxjvu.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/0.B0SVfmqI.js +1 -0
  42. package/build/client/_app/immutable/nodes/0.B0SVfmqI.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/0.B0SVfmqI.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/1.DbQMVnxU.js +1 -0
  45. package/build/client/_app/immutable/nodes/1.DbQMVnxU.js.br +1 -0
  46. package/build/client/_app/immutable/nodes/1.DbQMVnxU.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/2.C-MzgTuq.js +1 -0
  48. package/build/client/_app/immutable/nodes/2.C-MzgTuq.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/2.C-MzgTuq.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/3.DXmMKZyn.js +1 -0
  51. package/build/client/_app/immutable/nodes/3.DXmMKZyn.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/3.DXmMKZyn.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/4.BP1UQ07f.js +19 -0
  54. package/build/client/_app/immutable/nodes/4.BP1UQ07f.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/4.BP1UQ07f.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/5.MxL5g3qw.js +4 -0
  57. package/build/client/_app/immutable/nodes/5.MxL5g3qw.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/5.MxL5g3qw.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/6.BkOFgf5g.js +1 -0
  60. package/build/client/_app/immutable/nodes/6.BkOFgf5g.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/6.BkOFgf5g.js.gz +0 -0
  62. package/build/client/_app/immutable/nodes/7.Ceu1f_kD.js +15 -0
  63. package/build/client/_app/immutable/nodes/7.Ceu1f_kD.js.br +0 -0
  64. package/build/client/_app/immutable/nodes/7.Ceu1f_kD.js.gz +0 -0
  65. package/build/client/_app/immutable/nodes/8.SOGUNPc0.js +1 -0
  66. package/build/client/_app/immutable/nodes/8.SOGUNPc0.js.br +0 -0
  67. package/build/client/_app/immutable/nodes/8.SOGUNPc0.js.gz +0 -0
  68. package/build/client/_app/immutable/nodes/9.B1IAKpfH.js +5 -0
  69. package/build/client/_app/immutable/nodes/9.B1IAKpfH.js.br +0 -0
  70. package/build/client/_app/immutable/nodes/9.B1IAKpfH.js.gz +0 -0
  71. package/build/client/_app/version.json +1 -1
  72. package/build/client/_app/version.json.br +1 -1
  73. package/build/client/_app/version.json.gz +0 -0
  74. package/build/server/chunks/0-BFQFTlU2.js +9 -0
  75. package/build/server/chunks/{0-D0XrV9ke.js.map → 0-BFQFTlU2.js.map} +1 -1
  76. package/build/server/chunks/1-BAqyeYw3.js +9 -0
  77. package/build/server/chunks/{1-CgqXNtgA.js.map → 1-BAqyeYw3.js.map} +1 -1
  78. package/build/server/chunks/{2-DQWoUtW1.js → 2-wNOz2qR7.js} +2 -2
  79. package/build/server/chunks/{2-DQWoUtW1.js.map → 2-wNOz2qR7.js.map} +1 -1
  80. package/build/server/chunks/{3-COIGgysA.js → 3-CMcVVZ5t.js} +2 -2
  81. package/build/server/chunks/{3-COIGgysA.js.map → 3-CMcVVZ5t.js.map} +1 -1
  82. package/build/server/chunks/4-CbzGhvp7.js +9 -0
  83. package/build/server/chunks/{4-DsiddHou.js.map → 4-CbzGhvp7.js.map} +1 -1
  84. package/build/server/chunks/5-CUIO9BFN.js +9 -0
  85. package/build/server/chunks/{5-JKB70T0W.js.map → 5-CUIO9BFN.js.map} +1 -1
  86. package/build/server/chunks/6-BmZ6gKak.js +9 -0
  87. package/build/server/chunks/{6-rJ3qUhTA.js.map → 6-BmZ6gKak.js.map} +1 -1
  88. package/build/server/chunks/7-BBWy1AEh.js +9 -0
  89. package/build/server/chunks/{7-BiRKgpMX.js.map → 7-BBWy1AEh.js.map} +1 -1
  90. package/build/server/chunks/{8-CMAHerzT.js → 8-DMVqrb6P.js} +3 -3
  91. package/build/server/chunks/{8-CMAHerzT.js.map → 8-DMVqrb6P.js.map} +1 -1
  92. package/build/server/chunks/{9-CGVsBC0_.js → 9-BCmr-315.js} +2 -2
  93. package/build/server/chunks/{9-CGVsBC0_.js.map → 9-BCmr-315.js.map} +1 -1
  94. package/build/server/chunks/{Navbar-BAeaqjaN.js → Navbar-Bx4D1yFQ.js} +454 -38
  95. package/build/server/chunks/Navbar-Bx4D1yFQ.js.map +1 -0
  96. package/build/server/chunks/{_layout.svelte-COQuY-BN.js → _layout.svelte-DzBCdyUD.js} +2 -2
  97. package/build/server/chunks/{_layout.svelte-COQuY-BN.js.map → _layout.svelte-DzBCdyUD.js.map} +1 -1
  98. package/build/server/chunks/{_page.svelte-BAL_V5np.js → _page.svelte-BtKgsh16.js} +3 -3
  99. package/build/server/chunks/{_page.svelte-BAL_V5np.js.map → _page.svelte-BtKgsh16.js.map} +1 -1
  100. package/build/server/chunks/{_page.svelte-D9zRzRCV.js → _page.svelte-BucH_yEP.js} +6 -6
  101. package/build/server/chunks/{_page.svelte-D9zRzRCV.js.map → _page.svelte-BucH_yEP.js.map} +1 -1
  102. package/build/server/chunks/{_page.svelte-zSkk6PMh.js → _page.svelte-DD-cF_uw.js} +204 -17
  103. package/build/server/chunks/{_page.svelte-zSkk6PMh.js.map → _page.svelte-DD-cF_uw.js.map} +1 -1
  104. package/build/server/chunks/{_page.svelte-B61fCYqv.js → _page.svelte-DxrwcZoP.js} +248 -16
  105. package/build/server/chunks/_page.svelte-DxrwcZoP.js.map +1 -0
  106. package/build/server/chunks/{_page.svelte-CYJQOnk0.js → _page.svelte-fZ8uQkAv.js} +6 -6
  107. package/build/server/chunks/{_page.svelte-CYJQOnk0.js.map → _page.svelte-fZ8uQkAv.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-7D-Rc6vR.js → _server.ts-4mBSRzZ0.js} +4 -4
  109. package/build/server/chunks/{_server.ts-7D-Rc6vR.js.map → _server.ts-4mBSRzZ0.js.map} +1 -1
  110. package/build/server/chunks/_server.ts-7iLdi0IJ.js +205 -0
  111. package/build/server/chunks/_server.ts-7iLdi0IJ.js.map +1 -0
  112. package/build/server/chunks/{_server.ts-BzSa91Mu.js → _server.ts-B-E7fk-8.js} +4 -4
  113. package/build/server/chunks/{_server.ts-BzSa91Mu.js.map → _server.ts-B-E7fk-8.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-Dfoak6lb.js → _server.ts-B0obzdyg.js} +4 -4
  115. package/build/server/chunks/{_server.ts-Dfoak6lb.js.map → _server.ts-B0obzdyg.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-B19b36Eo.js → _server.ts-B1_ms3tJ.js} +4 -4
  117. package/build/server/chunks/{_server.ts-B19b36Eo.js.map → _server.ts-B1_ms3tJ.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-C73JZxNS.js → _server.ts-B1a13QOX.js} +4 -4
  119. package/build/server/chunks/{_server.ts-C73JZxNS.js.map → _server.ts-B1a13QOX.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-KrHLZ41l.js → _server.ts-B600zcV1.js} +4 -4
  121. package/build/server/chunks/{_server.ts-KrHLZ41l.js.map → _server.ts-B600zcV1.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-D3JrqMf5.js → _server.ts-B82yAdBX.js} +5 -5
  123. package/build/server/chunks/{_server.ts-D3JrqMf5.js.map → _server.ts-B82yAdBX.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-B262_mM_.js → _server.ts-B8onUVE8.js} +4 -4
  125. package/build/server/chunks/{_server.ts-B262_mM_.js.map → _server.ts-B8onUVE8.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-BkYAvAn4.js → _server.ts-BBE5x3QY.js} +5 -5
  127. package/build/server/chunks/{_server.ts-BkYAvAn4.js.map → _server.ts-BBE5x3QY.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-XvDJ5OtB.js → _server.ts-BCCwdxvs.js} +4 -4
  129. package/build/server/chunks/{_server.ts-XvDJ5OtB.js.map → _server.ts-BCCwdxvs.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-Bs9prWkw.js → _server.ts-BIKiBZV_.js} +4 -4
  131. package/build/server/chunks/{_server.ts-Bs9prWkw.js.map → _server.ts-BIKiBZV_.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-4-UC6SEV.js → _server.ts-BIn9lsec.js} +4 -4
  133. package/build/server/chunks/{_server.ts-4-UC6SEV.js.map → _server.ts-BIn9lsec.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-BnjrP3ks.js → _server.ts-BKoYlaBb.js} +4 -4
  135. package/build/server/chunks/{_server.ts-BnjrP3ks.js.map → _server.ts-BKoYlaBb.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-0XsihZif.js → _server.ts-BSRqflR_.js} +4 -4
  137. package/build/server/chunks/{_server.ts-0XsihZif.js.map → _server.ts-BSRqflR_.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-BjzBsC6w.js → _server.ts-BSsfDk15.js} +4 -4
  139. package/build/server/chunks/{_server.ts-BjzBsC6w.js.map → _server.ts-BSsfDk15.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-LPclMhOg.js → _server.ts-BVoVhhS9.js} +4 -4
  141. package/build/server/chunks/{_server.ts-LPclMhOg.js.map → _server.ts-BVoVhhS9.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-CbHU1vkN.js → _server.ts-BbNV0p64.js} +4 -4
  143. package/build/server/chunks/{_server.ts-CbHU1vkN.js.map → _server.ts-BbNV0p64.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-Wb18-UPz.js → _server.ts-BcPQ0xIF.js} +2 -2
  145. package/build/server/chunks/{_server.ts-Wb18-UPz.js.map → _server.ts-BcPQ0xIF.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-Bdc1yveI.js → _server.ts-BceCrKJH.js} +4 -4
  147. package/build/server/chunks/{_server.ts-Bdc1yveI.js.map → _server.ts-BceCrKJH.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-CEM2Bhrp.js → _server.ts-BdLR7JYt.js} +4 -4
  149. package/build/server/chunks/{_server.ts-CEM2Bhrp.js.map → _server.ts-BdLR7JYt.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-B6xTnPJR.js → _server.ts-BeI_S31W.js} +4 -4
  151. package/build/server/chunks/{_server.ts-B6xTnPJR.js.map → _server.ts-BeI_S31W.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-CsN4U0jo.js → _server.ts-Bfbn9lhj.js} +4 -4
  153. package/build/server/chunks/{_server.ts-CsN4U0jo.js.map → _server.ts-Bfbn9lhj.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-CJyYri21.js → _server.ts-Bi-QXr_U.js} +4 -4
  155. package/build/server/chunks/{_server.ts-CJyYri21.js.map → _server.ts-Bi-QXr_U.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-DK_yszHc.js → _server.ts-BilvlV9b.js} +4 -4
  157. package/build/server/chunks/{_server.ts-DK_yszHc.js.map → _server.ts-BilvlV9b.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-BesHLxS2.js → _server.ts-BjAlQcqF.js} +4 -4
  159. package/build/server/chunks/{_server.ts-BesHLxS2.js.map → _server.ts-BjAlQcqF.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-DpL6zI13.js → _server.ts-BjYJISog.js} +4 -4
  161. package/build/server/chunks/{_server.ts-DpL6zI13.js.map → _server.ts-BjYJISog.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-BvhZYj4O.js → _server.ts-BnHDsStJ.js} +4 -4
  163. package/build/server/chunks/{_server.ts-BvhZYj4O.js.map → _server.ts-BnHDsStJ.js.map} +1 -1
  164. package/build/server/chunks/_server.ts-BnJquF3b.js +86 -0
  165. package/build/server/chunks/_server.ts-BnJquF3b.js.map +1 -0
  166. package/build/server/chunks/{_server.ts-B-e9YBGN.js → _server.ts-Bq95l_ee.js} +6 -6
  167. package/build/server/chunks/{_server.ts-B-e9YBGN.js.map → _server.ts-Bq95l_ee.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-CY2txcrO.js → _server.ts-Bxz_w5lw.js} +5 -5
  169. package/build/server/chunks/{_server.ts-CY2txcrO.js.map → _server.ts-Bxz_w5lw.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-CeUZgHnR.js → _server.ts-BzcAg5le.js} +2 -2
  171. package/build/server/chunks/{_server.ts-CeUZgHnR.js.map → _server.ts-BzcAg5le.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-2VQoZ57d.js → _server.ts-C2DttH_j.js} +4 -4
  173. package/build/server/chunks/{_server.ts-2VQoZ57d.js.map → _server.ts-C2DttH_j.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-BYeJhgFH.js → _server.ts-C75ONqUr.js} +5 -5
  175. package/build/server/chunks/{_server.ts-BYeJhgFH.js.map → _server.ts-C75ONqUr.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-DrySD7h9.js → _server.ts-CALM0gvt.js} +6 -6
  177. package/build/server/chunks/{_server.ts-DrySD7h9.js.map → _server.ts-CALM0gvt.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-DFpwWuLU.js → _server.ts-CBJLoGvQ.js} +4 -4
  179. package/build/server/chunks/{_server.ts-DFpwWuLU.js.map → _server.ts-CBJLoGvQ.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-ek6MwdUK.js → _server.ts-CH0hbG99.js} +4 -4
  181. package/build/server/chunks/{_server.ts-ek6MwdUK.js.map → _server.ts-CH0hbG99.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-DVtd0Eah.js → _server.ts-CMG94cgX.js} +4 -4
  183. package/build/server/chunks/{_server.ts-DVtd0Eah.js.map → _server.ts-CMG94cgX.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-DvrTAImV.js → _server.ts-COB2uqM8.js} +4 -4
  185. package/build/server/chunks/{_server.ts-DvrTAImV.js.map → _server.ts-COB2uqM8.js.map} +1 -1
  186. package/build/server/chunks/_server.ts-CQu3-Yre.js +602 -0
  187. package/build/server/chunks/_server.ts-CQu3-Yre.js.map +1 -0
  188. package/build/server/chunks/{_server.ts-DcTyFyDW.js → _server.ts-CRmaS7rN.js} +4 -4
  189. package/build/server/chunks/{_server.ts-DcTyFyDW.js.map → _server.ts-CRmaS7rN.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-xZeGGokt.js → _server.ts-CcgcUrz4.js} +5 -5
  191. package/build/server/chunks/{_server.ts-xZeGGokt.js.map → _server.ts-CcgcUrz4.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-DZ3Z2xUm.js → _server.ts-CdROlo3B.js} +2 -2
  193. package/build/server/chunks/{_server.ts-DZ3Z2xUm.js.map → _server.ts-CdROlo3B.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-Bi0VeyRr.js → _server.ts-CewxkrA0.js} +2 -2
  195. package/build/server/chunks/{_server.ts-Bi0VeyRr.js.map → _server.ts-CewxkrA0.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-D_RT5a88.js → _server.ts-Cv_tDPcz.js} +6 -6
  197. package/build/server/chunks/{_server.ts-D_RT5a88.js.map → _server.ts-Cv_tDPcz.js.map} +1 -1
  198. package/build/server/chunks/_server.ts-CvgjhFTr.js +36 -0
  199. package/build/server/chunks/_server.ts-CvgjhFTr.js.map +1 -0
  200. package/build/server/chunks/{_server.ts-zyxUGoYW.js → _server.ts-CzaVvCkd.js} +4 -4
  201. package/build/server/chunks/{_server.ts-zyxUGoYW.js.map → _server.ts-CzaVvCkd.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-COKTksXS.js → _server.ts-D1DMh7dc.js} +4 -4
  203. package/build/server/chunks/_server.ts-D1DMh7dc.js.map +1 -0
  204. package/build/server/chunks/{_server.ts-C-iybQg_.js → _server.ts-D4f920nj.js} +4 -4
  205. package/build/server/chunks/{_server.ts-C-iybQg_.js.map → _server.ts-D4f920nj.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-DjFhNlGz.js → _server.ts-D6Pr_XI_.js} +2 -2
  207. package/build/server/chunks/{_server.ts-DjFhNlGz.js.map → _server.ts-D6Pr_XI_.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-C1KzS6xc.js → _server.ts-DMA3iJPX.js} +5 -5
  209. package/build/server/chunks/{_server.ts-C1KzS6xc.js.map → _server.ts-DMA3iJPX.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-BjKendRn.js → _server.ts-DO6HhMyZ.js} +6 -6
  211. package/build/server/chunks/{_server.ts-BjKendRn.js.map → _server.ts-DO6HhMyZ.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-DzFwsF9j.js → _server.ts-DTpYCtfU.js} +5 -5
  213. package/build/server/chunks/{_server.ts-DzFwsF9j.js.map → _server.ts-DTpYCtfU.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-DkLhIF73.js → _server.ts-DcTP5Yi3.js} +4 -4
  215. package/build/server/chunks/{_server.ts-DkLhIF73.js.map → _server.ts-DcTP5Yi3.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-ClrUP4an.js → _server.ts-DeJWmEMG.js} +4 -4
  217. package/build/server/chunks/{_server.ts-ClrUP4an.js.map → _server.ts-DeJWmEMG.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-COzEgPgm.js → _server.ts-DfgOjCEL.js} +4 -4
  219. package/build/server/chunks/{_server.ts-COzEgPgm.js.map → _server.ts-DfgOjCEL.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-BstRFodf.js → _server.ts-DgdYq8Ea.js} +4 -4
  221. package/build/server/chunks/{_server.ts-BstRFodf.js.map → _server.ts-DgdYq8Ea.js.map} +1 -1
  222. package/build/server/chunks/_server.ts-DhfiREoV.js +40 -0
  223. package/build/server/chunks/_server.ts-DhfiREoV.js.map +1 -0
  224. package/build/server/chunks/{_server.ts-CAdmGw2l.js → _server.ts-Doqp92Ve.js} +4 -4
  225. package/build/server/chunks/{_server.ts-CAdmGw2l.js.map → _server.ts-Doqp92Ve.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-JrZ2T0x3.js → _server.ts-DpllrvO_.js} +5 -5
  227. package/build/server/chunks/{_server.ts-JrZ2T0x3.js.map → _server.ts-DpllrvO_.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-CgIBSa2W.js → _server.ts-Drhair2Z.js} +4 -4
  229. package/build/server/chunks/{_server.ts-CgIBSa2W.js.map → _server.ts-Drhair2Z.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-DRFb9TfV.js → _server.ts-Dwfh-uai.js} +4 -4
  231. package/build/server/chunks/{_server.ts-DRFb9TfV.js.map → _server.ts-Dwfh-uai.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-CVEG3K9b.js → _server.ts-DytqRDCZ.js} +5 -5
  233. package/build/server/chunks/{_server.ts-CVEG3K9b.js.map → _server.ts-DytqRDCZ.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-Bb6_g6bb.js → _server.ts-DzRsXtlt.js} +4 -4
  235. package/build/server/chunks/{_server.ts-Bb6_g6bb.js.map → _server.ts-DzRsXtlt.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-D41uKHXF.js → _server.ts-Em-TxgiV.js} +4 -4
  237. package/build/server/chunks/{_server.ts-D41uKHXF.js.map → _server.ts-Em-TxgiV.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-DhHNXH2Y.js → _server.ts-FVtB8vud.js} +11 -46
  239. package/build/server/chunks/_server.ts-FVtB8vud.js.map +1 -0
  240. package/build/server/chunks/{_server.ts-B8yF8yr3.js → _server.ts-Yr-VbJ6z.js} +4 -4
  241. package/build/server/chunks/{_server.ts-B8yF8yr3.js.map → _server.ts-Yr-VbJ6z.js.map} +1 -1
  242. package/build/server/chunks/_server.ts-_j6A61pI.js +51 -0
  243. package/build/server/chunks/_server.ts-_j6A61pI.js.map +1 -0
  244. package/build/server/chunks/{_server.ts-BPI-RcmG.js → _server.ts-h6dhtLdh.js} +4 -4
  245. package/build/server/chunks/{_server.ts-BPI-RcmG.js.map → _server.ts-h6dhtLdh.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-CB9981qx.js → _server.ts-jaAfE-7p.js} +3 -3
  247. package/build/server/chunks/{_server.ts-CB9981qx.js.map → _server.ts-jaAfE-7p.js.map} +1 -1
  248. package/build/server/chunks/{_server.ts-D6GjjoAA.js → _server.ts-kZrS-jc4.js} +4 -4
  249. package/build/server/chunks/{_server.ts-D6GjjoAA.js.map → _server.ts-kZrS-jc4.js.map} +1 -1
  250. package/build/server/chunks/{_server.ts-C8y5k5IZ.js → _server.ts-lGp994gP.js} +4 -4
  251. package/build/server/chunks/{_server.ts-C8y5k5IZ.js.map → _server.ts-lGp994gP.js.map} +1 -1
  252. package/build/server/chunks/{_server.ts-DN6e9aZX.js → _server.ts-mMWXWLPZ.js} +6 -6
  253. package/build/server/chunks/{_server.ts-DN6e9aZX.js.map → _server.ts-mMWXWLPZ.js.map} +1 -1
  254. package/build/server/chunks/{_server.ts-CmzKw1o3.js → _server.ts-noqLl5fv.js} +4 -4
  255. package/build/server/chunks/{_server.ts-CmzKw1o3.js.map → _server.ts-noqLl5fv.js.map} +1 -1
  256. package/build/server/chunks/{_server.ts-pmjwexpo.js → _server.ts-pyxPjKSd.js} +4 -4
  257. package/build/server/chunks/{_server.ts-pmjwexpo.js.map → _server.ts-pyxPjKSd.js.map} +1 -1
  258. package/build/server/chunks/{_server.ts-B4xZ8oA3.js → _server.ts-rkPqnrxd.js} +4 -4
  259. package/build/server/chunks/{_server.ts-B4xZ8oA3.js.map → _server.ts-rkPqnrxd.js.map} +1 -1
  260. package/build/server/chunks/{addon-helpers-KNw7tctP.js → addon-helpers-DAirj9Ze.js} +3 -3
  261. package/build/server/chunks/{addon-helpers-KNw7tctP.js.map → addon-helpers-DAirj9Ze.js.map} +1 -1
  262. package/build/server/chunks/akm-BlxJtWqf.js +174 -0
  263. package/build/server/chunks/akm-BlxJtWqf.js.map +1 -0
  264. package/build/server/chunks/{client-CA8h4-ry.js → client-CzWS98u-.js} +2 -2
  265. package/build/server/chunks/{client-CA8h4-ry.js.map → client-CzWS98u-.js.map} +1 -1
  266. package/build/server/chunks/{config-D5SE6Awc.js → config-XF8xaL-e.js} +2 -2
  267. package/build/server/chunks/{config-D5SE6Awc.js.map → config-XF8xaL-e.js.map} +1 -1
  268. package/build/server/chunks/{docker-BVtcOSzA.js → docker-2Z8gCk7h.js} +2 -2
  269. package/build/server/chunks/{docker-BVtcOSzA.js.map → docker-2Z8gCk7h.js.map} +1 -1
  270. package/build/server/chunks/{endpoints-zfo5Ad6e.js → endpoints-5NhmFZ2p.js} +2 -2
  271. package/build/server/chunks/{endpoints-zfo5Ad6e.js.map → endpoints-5NhmFZ2p.js.map} +1 -1
  272. package/build/server/chunks/{environment-GWvw20UY.js → environment-CpCEZMaj.js} +2 -2
  273. package/build/server/chunks/{environment-GWvw20UY.js.map → environment-CpCEZMaj.js.map} +1 -1
  274. package/build/server/chunks/{error.svelte-mW__f31O.js → error.svelte-ql9RO6az.js} +4 -4
  275. package/build/server/chunks/{error.svelte-mW__f31O.js.map → error.svelte-ql9RO6az.js.map} +1 -1
  276. package/build/server/chunks/{helpers-DHbBmb0V.js → helpers-CDa-yBOY.js} +3 -3
  277. package/build/server/chunks/{helpers-DHbBmb0V.js.map → helpers-CDa-yBOY.js.map} +1 -1
  278. package/build/server/chunks/{hooks.server-BcB7DyJ7.js → hooks.server-Bv4lzDJF.js} +5 -5
  279. package/build/server/chunks/{hooks.server-BcB7DyJ7.js.map → hooks.server-Bv4lzDJF.js.map} +1 -1
  280. package/build/server/chunks/{http-B6HcMA7S.js → http-DNTu_Z58.js} +2 -2
  281. package/build/server/chunks/{http-B6HcMA7S.js.map → http-DNTu_Z58.js.map} +1 -1
  282. package/build/server/chunks/{internal-C60J8YGh.js → internal-Cv1tDOi8.js} +3 -3
  283. package/build/server/chunks/{internal-C60J8YGh.js.map → internal-Cv1tDOi8.js.map} +1 -1
  284. package/build/server/chunks/{session-cookie-Do-csnSL.js → session-cookie-kNDCcqJr.js} +2 -2
  285. package/build/server/chunks/{session-cookie-Do-csnSL.js.map → session-cookie-kNDCcqJr.js.map} +1 -1
  286. package/build/server/chunks/{setup-deploy-BgLVwmhY.js → setup-deploy-69NTbd-m.js} +2 -2
  287. package/build/server/chunks/{setup-deploy-BgLVwmhY.js.map → setup-deploy-69NTbd-m.js.map} +1 -1
  288. package/build/server/chunks/{src-56XoMiXa.js → src-nTQnTO9V.js} +160 -16
  289. package/build/server/chunks/src-nTQnTO9V.js.map +1 -0
  290. package/build/server/chunks/{state-DlLwDz60.js → state-DaLIIQmU.js} +2 -2
  291. package/build/server/chunks/{state-DlLwDz60.js.map → state-DaLIIQmU.js.map} +1 -1
  292. package/build/server/chunks/{theme-state.svelte-CE13yM0n.js → theme-state.svelte-_CMr5Hu9.js} +102 -24
  293. package/build/server/chunks/theme-state.svelte-_CMr5Hu9.js.map +1 -0
  294. package/build/server/index.js +2 -2
  295. package/build/server/manifest.js +117 -82
  296. package/build/server/manifest.js.map +1 -1
  297. package/package.json +2 -2
  298. package/build/client/_app/immutable/assets/4.DPfzakrS.css.br +0 -0
  299. package/build/client/_app/immutable/assets/4.DPfzakrS.css.gz +0 -0
  300. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css +0 -1
  301. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.br +0 -0
  302. package/build/client/_app/immutable/assets/7.DKl0e2Fb.css.gz +0 -0
  303. package/build/client/_app/immutable/chunks/0swOyi-5.js +0 -3
  304. package/build/client/_app/immutable/chunks/0swOyi-5.js.br +0 -0
  305. package/build/client/_app/immutable/chunks/0swOyi-5.js.gz +0 -0
  306. package/build/client/_app/immutable/chunks/BQ0vnNWj.js.br +0 -1
  307. package/build/client/_app/immutable/chunks/BQ0vnNWj.js.gz +0 -0
  308. package/build/client/_app/immutable/chunks/Bmfn2m9N.js +0 -1
  309. package/build/client/_app/immutable/chunks/Bmfn2m9N.js.br +0 -1
  310. package/build/client/_app/immutable/chunks/Bmfn2m9N.js.gz +0 -0
  311. package/build/client/_app/immutable/chunks/Brimfe5O.js +0 -3
  312. package/build/client/_app/immutable/chunks/Brimfe5O.js.br +0 -0
  313. package/build/client/_app/immutable/chunks/Brimfe5O.js.gz +0 -0
  314. package/build/client/_app/immutable/chunks/CGfIEMHl.js.br +0 -0
  315. package/build/client/_app/immutable/chunks/CGfIEMHl.js.gz +0 -0
  316. package/build/client/_app/immutable/chunks/CkEumHeM.js +0 -5
  317. package/build/client/_app/immutable/chunks/CkEumHeM.js.br +0 -0
  318. package/build/client/_app/immutable/chunks/CkEumHeM.js.gz +0 -0
  319. package/build/client/_app/immutable/chunks/CntupqMG.js +0 -1
  320. package/build/client/_app/immutable/chunks/CntupqMG.js.br +0 -2
  321. package/build/client/_app/immutable/chunks/CntupqMG.js.gz +0 -0
  322. package/build/client/_app/immutable/chunks/JXKXFmZF.js +0 -1
  323. package/build/client/_app/immutable/chunks/JXKXFmZF.js.br +0 -0
  324. package/build/client/_app/immutable/chunks/JXKXFmZF.js.gz +0 -0
  325. package/build/client/_app/immutable/chunks/irujFCsS.js.br +0 -0
  326. package/build/client/_app/immutable/chunks/irujFCsS.js.gz +0 -0
  327. package/build/client/_app/immutable/entry/app.DwREblKQ.js +0 -2
  328. package/build/client/_app/immutable/entry/app.DwREblKQ.js.br +0 -0
  329. package/build/client/_app/immutable/entry/app.DwREblKQ.js.gz +0 -0
  330. package/build/client/_app/immutable/entry/start.4SCazkhD.js +0 -1
  331. package/build/client/_app/immutable/entry/start.4SCazkhD.js.br +0 -1
  332. package/build/client/_app/immutable/entry/start.4SCazkhD.js.gz +0 -0
  333. package/build/client/_app/immutable/nodes/0.7SpSN_Ip.js +0 -1
  334. package/build/client/_app/immutable/nodes/0.7SpSN_Ip.js.br +0 -0
  335. package/build/client/_app/immutable/nodes/0.7SpSN_Ip.js.gz +0 -0
  336. package/build/client/_app/immutable/nodes/1.SA58z0My.js +0 -1
  337. package/build/client/_app/immutable/nodes/1.SA58z0My.js.br +0 -1
  338. package/build/client/_app/immutable/nodes/1.SA58z0My.js.gz +0 -0
  339. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js +0 -1
  340. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.br +0 -0
  341. package/build/client/_app/immutable/nodes/2.B-8ehRO1.js.gz +0 -0
  342. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js +0 -1
  343. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.br +0 -0
  344. package/build/client/_app/immutable/nodes/3.B_FXzjZB.js.gz +0 -0
  345. package/build/client/_app/immutable/nodes/4.Ddu6ozpR.js +0 -19
  346. package/build/client/_app/immutable/nodes/4.Ddu6ozpR.js.br +0 -0
  347. package/build/client/_app/immutable/nodes/4.Ddu6ozpR.js.gz +0 -0
  348. package/build/client/_app/immutable/nodes/5.ujLDiIKn.js +0 -4
  349. package/build/client/_app/immutable/nodes/5.ujLDiIKn.js.br +0 -0
  350. package/build/client/_app/immutable/nodes/5.ujLDiIKn.js.gz +0 -0
  351. package/build/client/_app/immutable/nodes/6.DRmY8bvl.js +0 -1
  352. package/build/client/_app/immutable/nodes/6.DRmY8bvl.js.br +0 -0
  353. package/build/client/_app/immutable/nodes/6.DRmY8bvl.js.gz +0 -0
  354. package/build/client/_app/immutable/nodes/7.BV_ceeZR.js +0 -15
  355. package/build/client/_app/immutable/nodes/7.BV_ceeZR.js.br +0 -0
  356. package/build/client/_app/immutable/nodes/7.BV_ceeZR.js.gz +0 -0
  357. package/build/client/_app/immutable/nodes/8.9p2W5EZn.js +0 -1
  358. package/build/client/_app/immutable/nodes/8.9p2W5EZn.js.br +0 -0
  359. package/build/client/_app/immutable/nodes/8.9p2W5EZn.js.gz +0 -0
  360. package/build/client/_app/immutable/nodes/9.CFQabEMi.js +0 -5
  361. package/build/client/_app/immutable/nodes/9.CFQabEMi.js.br +0 -0
  362. package/build/client/_app/immutable/nodes/9.CFQabEMi.js.gz +0 -0
  363. package/build/server/chunks/0-D0XrV9ke.js +0 -9
  364. package/build/server/chunks/1-CgqXNtgA.js +0 -9
  365. package/build/server/chunks/4-DsiddHou.js +0 -9
  366. package/build/server/chunks/5-JKB70T0W.js +0 -9
  367. package/build/server/chunks/6-rJ3qUhTA.js +0 -9
  368. package/build/server/chunks/7-BiRKgpMX.js +0 -9
  369. package/build/server/chunks/Navbar-BAeaqjaN.js.map +0 -1
  370. package/build/server/chunks/_page.svelte-B61fCYqv.js.map +0 -1
  371. package/build/server/chunks/_server.ts-COKTksXS.js.map +0 -1
  372. package/build/server/chunks/_server.ts-CtPbD9jt.js +0 -91
  373. package/build/server/chunks/_server.ts-CtPbD9jt.js.map +0 -1
  374. package/build/server/chunks/_server.ts-DhHNXH2Y.js.map +0 -1
  375. package/build/server/chunks/src-56XoMiXa.js.map +0 -1
  376. package/build/server/chunks/theme-state.svelte-CE13yM0n.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-CQu3-Yre.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/health-report/_server.ts.js"],"sourcesContent":["import { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as runAkmCommand, r as safeParseJsonObject } from \"../../../../../chunks/akm.js\";\n//#region src/lib/server/akm-health-report.ts\nvar AKM_HEALTH_REPORT_WINDOWS = [\n\t\"24h\",\n\t\"72h\",\n\t\"7d\",\n\t\"14d\",\n\t\"30d\"\n];\nfunction asRecord(value) {\n\treturn value && typeof value === \"object\" && !Array.isArray(value) ? value : null;\n}\nfunction asArray(value) {\n\treturn Array.isArray(value) ? value : [];\n}\nfunction asNumber(value) {\n\treturn typeof value === \"number\" && Number.isFinite(value) ? value : 0;\n}\nfunction asString(value) {\n\treturn typeof value === \"string\" ? value : \"\";\n}\nfunction asBoolean(value) {\n\treturn value === true;\n}\nfunction clampWindow(value) {\n\treturn AKM_HEALTH_REPORT_WINDOWS.includes(value ?? \"\") ? value : \"72h\";\n}\nfunction escapeHtml(value) {\n\treturn value.replaceAll(\"&\", \"&amp;\").replaceAll(\"<\", \"&lt;\").replaceAll(\">\", \"&gt;\").replaceAll(\"\\\"\", \"&quot;\").replaceAll(\"'\", \"&#39;\");\n}\nfunction scriptJson(value) {\n\treturn JSON.stringify(value).replaceAll(\"<\", \"\\\\u003c\");\n}\nfunction fmtInt(value) {\n\treturn new Intl.NumberFormat(\"en-US\", { maximumFractionDigits: 0 }).format(value);\n}\nfunction fmtPercent(value) {\n\treturn `${(value * 100).toFixed(value === 0 || value >= .1 ? 0 : 1)}%`;\n}\nfunction fmtDuration(ms) {\n\tif (!Number.isFinite(ms) || ms <= 0) return \"0s\";\n\tif (ms < 1e3) return `${Math.round(ms)}ms`;\n\tconst seconds = ms / 1e3;\n\tif (seconds < 60) return `${seconds.toFixed(seconds >= 10 ? 0 : 1)}s`;\n\tconst minutes = Math.floor(seconds / 60);\n\tconst remSeconds = Math.round(seconds % 60);\n\tif (minutes < 60) return `${minutes}m ${remSeconds}s`;\n\treturn `${Math.floor(minutes / 60)}h ${minutes % 60}m`;\n}\nfunction fmtUtc(value) {\n\tif (!value) return \"n/a\";\n\tconst d = new Date(value);\n\tif (Number.isNaN(d.getTime())) return \"n/a\";\n\treturn d.toLocaleString(\"en-US\", {\n\t\tdateStyle: \"medium\",\n\t\ttimeStyle: \"short\",\n\t\ttimeZone: \"UTC\"\n\t}) + \" UTC\";\n}\nfunction metricDelta(current, prior) {\n\tif (prior === current) return \"flat vs prior window\";\n\tif (prior === 0) return current > 0 ? \"new vs prior window\" : \"flat vs prior window\";\n\tconst pct = (current - prior) / Math.abs(prior) * 100;\n\treturn `${pct > 0 ? \"up\" : \"down\"} ${Math.abs(pct).toFixed(Math.abs(pct) >= 10 ? 0 : 1)}% vs prior window`;\n}\nfunction statusClass(status) {\n\tif (status === \"ok\" || status === \"pass\") return \"ok\";\n\tif (status === \"warn\") return \"warn\";\n\treturn \"fail\";\n}\nfunction buildCards(current, prior, proposalCount) {\n\tconst invoked = asNumber(current.invoked);\n\tconst completed = asNumber(current.completed);\n\tconst completionRate = invoked > 0 ? completed / invoked : 0;\n\tconst failRate = asNumber(asRecord(current.actions)?.error) > 0 && invoked > 0 ? asNumber(asRecord(current.actions)?.error) / invoked : 0;\n\tconst promoted = asNumber(asRecord(current.consolidation)?.promoted);\n\tconst written = asNumber(asRecord(current.memoryInference)?.written);\n\tconst entities = asNumber(asRecord(current.graphExtraction)?.entities);\n\tconst medianMs = asNumber(asRecord(current.wallTime)?.medianMs);\n\tconst priorInvoked = asNumber(prior.invoked);\n\tconst priorCompleted = asNumber(prior.completed);\n\tconst priorCompletionRate = priorInvoked > 0 ? priorCompleted / priorInvoked : 0;\n\tconst priorFailRate = asNumber(asRecord(prior.actions)?.error) > 0 && priorInvoked > 0 ? asNumber(asRecord(prior.actions)?.error) / priorInvoked : 0;\n\treturn [\n\t\t{\n\t\t\tlabel: \"Completion rate\",\n\t\t\tvalue: fmtPercent(completionRate),\n\t\t\tsub: metricDelta(completionRate, priorCompletionRate)\n\t\t},\n\t\t{\n\t\t\tlabel: \"Fail rate\",\n\t\t\tvalue: fmtPercent(failRate),\n\t\t\tsub: metricDelta(failRate, priorFailRate)\n\t\t},\n\t\t{\n\t\t\tlabel: \"Promoted\",\n\t\t\tvalue: fmtInt(promoted),\n\t\t\tsub: metricDelta(promoted, asNumber(asRecord(prior.consolidation)?.promoted))\n\t\t},\n\t\t{\n\t\t\tlabel: \"MI written\",\n\t\t\tvalue: fmtInt(written),\n\t\t\tsub: metricDelta(written, asNumber(asRecord(prior.memoryInference)?.written))\n\t\t},\n\t\t{\n\t\t\tlabel: \"Graph entities\",\n\t\t\tvalue: fmtInt(entities),\n\t\t\tsub: metricDelta(entities, asNumber(asRecord(prior.graphExtraction)?.entities))\n\t\t},\n\t\t{\n\t\t\tlabel: \"Median duration\",\n\t\t\tvalue: fmtDuration(medianMs),\n\t\t\tsub: metricDelta(medianMs, asNumber(asRecord(prior.wallTime)?.medianMs))\n\t\t},\n\t\t{\n\t\t\tlabel: \"Runs\",\n\t\t\tvalue: fmtInt(completed),\n\t\t\tsub: metricDelta(completed, priorCompleted)\n\t\t},\n\t\t{\n\t\t\tlabel: \"Pending proposals\",\n\t\t\tvalue: fmtInt(proposalCount),\n\t\t\tsub: proposalCount > 0 ? \"review queue has pending items\" : \"no pending proposals\"\n\t\t}\n\t].map((card) => `\n <div class=\"card\">\n <div class=\"card-label\">${escapeHtml(card.label)}</div>\n <div class=\"card-value\">${escapeHtml(card.value)}</div>\n <div class=\"card-sub\">${escapeHtml(card.sub)}</div>\n </div>`).join(\"\");\n}\nfunction buildAdvisories(health) {\n\tconst items = [...asArray(health.advisories), ...asArray(health.hardChecks).filter((item) => {\n\t\tconst status = asString(asRecord(item)?.status);\n\t\treturn status === \"warn\" || status === \"fail\";\n\t})].map((item) => asRecord(item)).filter((item) => item !== null);\n\tif (items.length === 0) return \"<div class=\\\"notice ok\\\">No active advisories for this window.</div>\";\n\treturn items.map((item) => {\n\t\tconst status = statusClass(asString(item.status));\n\t\tconst name = asString(item.name) || \"advisory\";\n\t\tconst message = asString(item.message) || \"No details.\";\n\t\treturn `<div class=\"notice ${status}\"><strong>${escapeHtml(name)}</strong><span>${escapeHtml(message)}</span></div>`;\n\t}).join(\"\");\n}\nfunction buildProposalRows(proposals) {\n\tif (proposals.length === 0) return \"<tr><td colspan=\\\"4\\\" class=\\\"empty\\\">No pending proposals.</td></tr>\";\n\treturn proposals.slice(0, 20).map((proposal) => `\n <tr>\n <td>${escapeHtml(proposal.ref || proposal.id || \"unknown\")}</td>\n <td>${escapeHtml(proposal.source || \"unknown\")}</td>\n <td>${escapeHtml(fmtUtc(proposal.createdAt))}</td>\n <td>${escapeHtml(proposal.id || \"\")}</td>\n </tr>`).join(\"\");\n}\nfunction buildRunRows(runs) {\n\tif (runs.length === 0) return \"<tr><td colspan=\\\"6\\\" class=\\\"empty\\\">No improve runs in this window.</td></tr>\";\n\treturn runs.slice(-10).reverse().map((run, index) => {\n\t\tconst consolidation = asRecord(run.consolidation);\n\t\tconst memoryInference = asRecord(run.memoryInference);\n\t\tconst graphExtraction = asRecord(run.graphExtraction);\n\t\tconst startedAt = asString(run.startedAt);\n\t\tconst durationMs = asNumber(run.wallTimeMs) || asNumber(run.durationMs);\n\t\treturn `\n <tr>\n <td>${escapeHtml(asString(run.runId) || asString(run.id) || `run-${index + 1}`)}</td>\n <td>${escapeHtml(fmtUtc(startedAt))}</td>\n <td>${escapeHtml(fmtDuration(durationMs))}</td>\n <td>${escapeHtml(String(asBoolean(run.ok) ? \"ok\" : \"fail\"))}</td>\n <td>${escapeHtml(fmtInt(asNumber(consolidation?.promoted)))}</td>\n <td>${escapeHtml(fmtInt(asNumber(memoryInference?.written)))}</td>\n <td>${escapeHtml(fmtInt(asNumber(graphExtraction?.entities)))}</td>\n </tr>`;\n\t}).join(\"\");\n}\nfunction buildSummaryRows(current) {\n\treturn [\n\t\t[\"Invoked\", fmtInt(asNumber(current.invoked))],\n\t\t[\"Completed\", fmtInt(asNumber(current.completed))],\n\t\t[\"Skipped\", fmtInt(asNumber(current.skipped))],\n\t\t[\"Promoted\", fmtInt(asNumber(asRecord(current.consolidation)?.promoted))],\n\t\t[\"Merged\", fmtInt(asNumber(asRecord(current.consolidation)?.merged))],\n\t\t[\"Deleted\", fmtInt(asNumber(asRecord(current.consolidation)?.deleted))],\n\t\t[\"Judged no action\", fmtInt(asNumber(asRecord(current.consolidation)?.judgedNoAction))],\n\t\t[\"Inference written\", fmtInt(asNumber(asRecord(current.memoryInference)?.written))],\n\t\t[\"Graph entities\", fmtInt(asNumber(asRecord(current.graphExtraction)?.entities))],\n\t\t[\"Median wall time\", fmtDuration(asNumber(asRecord(current.wallTime)?.medianMs))]\n\t].map(([label, value]) => `\n <tr>\n <th>${escapeHtml(label)}</th>\n <td>${escapeHtml(value)}</td>\n </tr>`).join(\"\");\n}\nfunction renderHtml(window, health, proposals) {\n\tconst improve = asRecord(health.improve) ?? {};\n\tconst windows = asArray(health.windows).map((item) => asRecord(item)).filter((item) => item !== null);\n\tconst currentWindow = asRecord(windows.find((item) => asString(item.name) === \"current\")?.improve) ?? improve;\n\tconst priorWindow = asRecord(windows.find((item) => asString(item.name) === \"prior\")?.improve) ?? {};\n\tconst runs = asArray(health.runs).map((item) => asRecord(item)).filter((item) => item !== null);\n\tconst status = asString(health.status) || \"unknown\";\n\tconst since = asString(health.since);\n\tconst until = asString((windows.find((item) => asString(item.name) === \"current\") ?? {}).until);\n\tconst semanticStatus = asString(asRecord(asArray(health.advisories).map((item) => asRecord(item)).find((item) => asString(item?.name) === \"semantic-search-runtime\")?.evidence)?.status) || \"unknown\";\n\tconst payload = runs.map((run, index) => {\n\t\tconst consolidation = asRecord(run.consolidation);\n\t\tconst memoryInference = asRecord(run.memoryInference);\n\t\tconst graphExtraction = asRecord(run.graphExtraction);\n\t\treturn {\n\t\t\tlabel: asString(run.startedAt) ? fmtUtc(asString(run.startedAt)).replace(\" UTC\", \"\") : `Run ${index + 1}`,\n\t\t\twallTimeMs: asNumber(run.wallTimeMs) || asNumber(run.durationMs),\n\t\t\tpromoted: asNumber(consolidation?.promoted),\n\t\t\tmerged: asNumber(consolidation?.merged),\n\t\t\tdeleted: asNumber(consolidation?.deleted),\n\t\t\tjudgedNoAction: asNumber(consolidation?.judgedNoAction),\n\t\t\twritten: asNumber(memoryInference?.written),\n\t\t\tentities: asNumber(graphExtraction?.entities),\n\t\t\tconsolidationMs: asNumber(consolidation?.durationMs),\n\t\t\tmemoryInferenceMs: asNumber(memoryInference?.durationMs),\n\t\t\tgraphExtractionMs: asNumber(graphExtraction?.durationMs),\n\t\t\tok: asBoolean(run.ok)\n\t\t};\n\t});\n\treturn `<!doctype html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n <title>AKM Health Report (${escapeHtml(window)})</title>\n <style>\n :root {\n color-scheme: dark;\n --bg: #07111f;\n --panel: #101b2d;\n --panel-soft: #15233a;\n --border: rgba(148, 163, 184, 0.18);\n --text: #e5eefc;\n --muted: #93a4bf;\n --ok: #22c55e;\n --warn: #f59e0b;\n --fail: #ef4444;\n --accent: #60a5fa;\n }\n * { box-sizing: border-box; }\n body {\n margin: 0;\n font-family: Inter, ui-sans-serif, system-ui, sans-serif;\n background: radial-gradient(circle at top, #14233d 0%, var(--bg) 55%);\n color: var(--text);\n padding: 24px;\n }\n .shell {\n max-width: 1400px;\n margin: 0 auto;\n display: grid;\n gap: 20px;\n }\n .hero, .panel {\n background: rgba(16, 27, 45, 0.9);\n border: 1px solid var(--border);\n border-radius: 18px;\n box-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);\n }\n .hero {\n padding: 24px;\n display: grid;\n gap: 16px;\n }\n .hero-top {\n display: flex;\n justify-content: space-between;\n gap: 16px;\n align-items: flex-start;\n flex-wrap: wrap;\n }\n h1, h2, h3, p { margin: 0; }\n .eyebrow { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; }\n .title { font-size: clamp(28px, 4vw, 40px); font-weight: 700; }\n .subtitle { color: var(--muted); max-width: 80ch; }\n .status {\n border-radius: 999px;\n padding: 8px 12px;\n font-size: 12px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n border: 1px solid transparent;\n }\n .status.ok { color: #bbf7d0; background: rgba(34, 197, 94, 0.14); border-color: rgba(34, 197, 94, 0.32); }\n .status.warn { color: #fde68a; background: rgba(245, 158, 11, 0.14); border-color: rgba(245, 158, 11, 0.32); }\n .status.fail { color: #fecaca; background: rgba(239, 68, 68, 0.14); border-color: rgba(239, 68, 68, 0.32); }\n .meta {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n gap: 12px;\n }\n .meta-item, .card {\n background: var(--panel-soft);\n border: 1px solid var(--border);\n border-radius: 14px;\n padding: 14px;\n }\n .meta-label, .card-label { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; }\n .meta-value, .card-value { margin-top: 8px; font-size: 22px; font-weight: 700; }\n .card-sub { margin-top: 8px; color: var(--muted); font-size: 13px; }\n .cards {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\n gap: 12px;\n }\n .grid-two {\n display: grid;\n grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);\n gap: 20px;\n }\n .panel { padding: 18px; }\n .panel-title { font-size: 18px; font-weight: 700; margin-bottom: 14px; }\n .chart-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));\n gap: 16px;\n }\n .chart {\n height: 320px;\n background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0));\n border: 1px solid var(--border);\n border-radius: 14px;\n }\n .notice-list {\n display: grid;\n gap: 10px;\n }\n .notice {\n display: grid;\n gap: 6px;\n border-radius: 14px;\n padding: 14px;\n border: 1px solid var(--border);\n background: var(--panel-soft);\n }\n .notice.ok { border-color: rgba(34, 197, 94, 0.32); }\n .notice.warn { border-color: rgba(245, 158, 11, 0.32); }\n .notice.fail { border-color: rgba(239, 68, 68, 0.32); }\n .summary-table, .data-table {\n width: 100%;\n border-collapse: collapse;\n }\n .summary-table th, .summary-table td, .data-table th, .data-table td {\n padding: 10px 12px;\n border-bottom: 1px solid var(--border);\n text-align: left;\n vertical-align: top;\n }\n .summary-table th, .data-table th { color: var(--muted); font-weight: 600; }\n .empty { color: var(--muted); text-align: center; }\n .footer-note { color: var(--muted); font-size: 13px; }\n @media (max-width: 900px) {\n body { padding: 12px; }\n .grid-two { grid-template-columns: 1fr; }\n }\n </style>\n</head>\n<body>\n <div class=\"shell\">\n <section class=\"hero\">\n <div class=\"hero-top\">\n <div>\n <div class=\"eyebrow\">AKM Health Report</div>\n <h1 class=\"title\">Knowledge Health for ${escapeHtml(window)}</h1>\n <p class=\"subtitle\">Generated from live <code>akm health</code> data in the current stack stash. This mirrors the existing AKM report shape with KPI cards, ECharts trends, advisories, and queue visibility.</p>\n </div>\n <div class=\"status ${escapeHtml(statusClass(status))}\">${escapeHtml(status)}</div>\n </div>\n <div class=\"meta\">\n <div class=\"meta-item\">\n <div class=\"meta-label\">Window</div>\n <div class=\"meta-value\">${escapeHtml(window)}</div>\n </div>\n <div class=\"meta-item\">\n <div class=\"meta-label\">Since</div>\n <div class=\"meta-value\">${escapeHtml(fmtUtc(since))}</div>\n </div>\n <div class=\"meta-item\">\n <div class=\"meta-label\">Until</div>\n <div class=\"meta-value\">${escapeHtml(fmtUtc(until))}</div>\n </div>\n <div class=\"meta-item\">\n <div class=\"meta-label\">Semantic search</div>\n <div class=\"meta-value\">${escapeHtml(semanticStatus)}</div>\n </div>\n </div>\n <div class=\"cards\">${buildCards(currentWindow, priorWindow, proposals.length)}</div>\n </section>\n\n <section class=\"panel\">\n <h2 class=\"panel-title\">Run Trends</h2>\n <div class=\"chart-grid\">\n <div id=\"chartWallTime\" class=\"chart\"></div>\n <div id=\"chartPhases\" class=\"chart\"></div>\n <div id=\"chartOutput\" class=\"chart\"></div>\n <div id=\"chartKnowledge\" class=\"chart\"></div>\n </div>\n </section>\n\n <section class=\"grid-two\">\n <div class=\"panel\">\n <h2 class=\"panel-title\">Summary</h2>\n <table class=\"summary-table\">\n <tbody>${buildSummaryRows(currentWindow)}</tbody>\n </table>\n </div>\n <div class=\"panel\">\n <h2 class=\"panel-title\">Advisories</h2>\n <div class=\"notice-list\">${buildAdvisories(health)}</div>\n </div>\n </section>\n\n <section class=\"grid-two\">\n <div class=\"panel\">\n <h2 class=\"panel-title\">Pending Proposals (${escapeHtml(fmtInt(proposals.length))})</h2>\n <table class=\"data-table\">\n <thead>\n <tr><th>Ref</th><th>Source</th><th>Created</th><th>ID</th></tr>\n </thead>\n <tbody>${buildProposalRows(proposals)}</tbody>\n </table>\n </div>\n <div class=\"panel\">\n <h2 class=\"panel-title\">Recent Runs</h2>\n <table class=\"data-table\">\n <thead>\n <tr><th>Run</th><th>Started</th><th>Duration</th><th>Status</th><th>Promoted</th><th>MI</th><th>Entities</th></tr>\n </thead>\n <tbody>${buildRunRows(runs)}</tbody>\n </table>\n </div>\n </section>\n\n <div class=\"footer-note\">Charts use Apache ECharts from jsDelivr. If the browser blocks external assets, the summary tables above remain the source of truth.</div>\n </div>\n\n <script>window.REPORT_DATA = ${scriptJson(payload)};<\\/script>\n <script src=\"https://cdn.jsdelivr.net/npm/echarts@5.5.1/dist/echarts.min.js\"><\\/script>\n <script>\n const runs = Array.isArray(window.REPORT_DATA) ? window.REPORT_DATA : [];\n const textColor = '#dbe7ff';\n const mutedColor = '#93a4bf';\n const axisStyle = { axisLabel: { color: mutedColor }, axisLine: { lineStyle: { color: '#334155' } }, splitLine: { lineStyle: { color: 'rgba(148,163,184,0.12)' } } };\n function baseChart(id) {\n const el = document.getElementById(id);\n if (!el || !window.echarts) return null;\n return window.echarts.init(el, null, { renderer: 'canvas' });\n }\n function setEmpty(elId, label) {\n const el = document.getElementById(elId);\n if (!el) return;\n el.innerHTML = '<div style=\"height:100%;display:grid;place-items:center;color:' + mutedColor + ';font-size:14px;\">' + label + '</div>';\n }\n function labels() { return runs.map((run) => run.label); }\n if (!window.echarts) {\n ['chartWallTime', 'chartPhases', 'chartOutput', 'chartKnowledge'].forEach((id) => setEmpty(id, 'ECharts failed to load.'));\n } else if (runs.length === 0) {\n ['chartWallTime', 'chartPhases', 'chartOutput', 'chartKnowledge'].forEach((id) => setEmpty(id, 'No runs in this window.'));\n } else {\n const common = { textStyle: { color: textColor }, animation: false, grid: { left: 48, right: 18, top: 40, bottom: 36 }, tooltip: { trigger: 'axis' } };\n const wallTime = baseChart('chartWallTime');\n wallTime && wallTime.setOption({\n ...common,\n title: { text: 'Wall Time Per Run', textStyle: { color: textColor, fontSize: 14 } },\n xAxis: { type: 'category', data: labels(), ...axisStyle },\n yAxis: { type: 'value', axisLabel: { color: mutedColor, formatter: (value) => Math.round(value / 1000) + 's' }, splitLine: axisStyle.splitLine },\n series: [{ type: 'line', smooth: true, data: runs.map((run) => run.wallTimeMs), lineStyle: { color: '#60a5fa' }, itemStyle: { color: '#60a5fa' }, areaStyle: { color: 'rgba(96,165,250,0.14)' } }]\n });\n\n const phases = baseChart('chartPhases');\n phases && phases.setOption({\n ...common,\n title: { text: 'Phase Breakdown', textStyle: { color: textColor, fontSize: 14 } },\n legend: { textStyle: { color: mutedColor } },\n xAxis: { type: 'category', data: labels(), ...axisStyle },\n yAxis: { type: 'value', axisLabel: { color: mutedColor, formatter: (value) => Math.round(value / 1000) + 's' }, splitLine: axisStyle.splitLine },\n series: [\n { name: 'Consolidation', type: 'bar', stack: 'phases', data: runs.map((run) => run.consolidationMs), itemStyle: { color: '#60a5fa' } },\n { name: 'Memory Inference', type: 'bar', stack: 'phases', data: runs.map((run) => run.memoryInferenceMs), itemStyle: { color: '#a78bfa' } },\n { name: 'Graph Extraction', type: 'bar', stack: 'phases', data: runs.map((run) => run.graphExtractionMs), itemStyle: { color: '#34d399' } }\n ]\n });\n\n const output = baseChart('chartOutput');\n output && output.setOption({\n ...common,\n title: { text: 'Consolidation Output', textStyle: { color: textColor, fontSize: 14 } },\n legend: { textStyle: { color: mutedColor } },\n xAxis: { type: 'category', data: labels(), ...axisStyle },\n yAxis: { type: 'value', axisLabel: { color: mutedColor }, splitLine: axisStyle.splitLine },\n series: [\n { name: 'Promoted', type: 'bar', data: runs.map((run) => run.promoted), itemStyle: { color: '#22c55e' } },\n { name: 'Merged', type: 'bar', data: runs.map((run) => run.merged), itemStyle: { color: '#f59e0b' } },\n { name: 'Deleted', type: 'bar', data: runs.map((run) => run.deleted), itemStyle: { color: '#ef4444' } },\n { name: 'No action', type: 'bar', data: runs.map((run) => run.judgedNoAction), itemStyle: { color: '#94a3b8' } }\n ]\n });\n\n const knowledge = baseChart('chartKnowledge');\n knowledge && knowledge.setOption({\n ...common,\n title: { text: 'Knowledge Growth Signals', textStyle: { color: textColor, fontSize: 14 } },\n legend: { textStyle: { color: mutedColor } },\n xAxis: { type: 'category', data: labels(), ...axisStyle },\n yAxis: { type: 'value', axisLabel: { color: mutedColor }, splitLine: axisStyle.splitLine },\n series: [\n { name: 'MI written', type: 'line', smooth: true, data: runs.map((run) => run.written), itemStyle: { color: '#a78bfa' }, lineStyle: { color: '#a78bfa' } },\n { name: 'Entities', type: 'line', smooth: true, data: runs.map((run) => run.entities), itemStyle: { color: '#34d399' }, lineStyle: { color: '#34d399' } }\n ]\n });\n\n window.addEventListener('resize', () => {\n wallTime && wallTime.resize();\n phases && phases.resize();\n output && output.resize();\n knowledge && knowledge.resize();\n });\n }\n <\\/script>\n</body>\n</html>`;\n}\nasync function buildAkmHealthReport(state, requestedWindow) {\n\tconst window = clampWindow(requestedWindow);\n\tconst [healthResult, proposalsResult] = await Promise.all([runAkmCommand(state, [\n\t\t\"health\",\n\t\t`--since=${window}`,\n\t\t\"--group-by\",\n\t\t\"run\",\n\t\t`--window-compare=${window}`,\n\t\t\"--format\",\n\t\t\"json\"\n\t], 2e4), runAkmCommand(state, [\n\t\t\"proposal\",\n\t\t\"list\",\n\t\t\"--format\",\n\t\t\"json\"\n\t], 12e3)]);\n\tconst health = safeParseJsonObject(healthResult.stdout);\n\tconst proposalsPayload = safeParseJsonObject(proposalsResult.stdout);\n\tif (!health) {\n\t\tconst detail = [healthResult.stderr.trim(), healthResult.stdout.trim()].filter(Boolean).join(\"\\n\\n\");\n\t\treturn {\n\t\t\twindow,\n\t\t\thtml: `<!doctype html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>AKM Health Report</title><style>body{margin:0;font-family:Inter,system-ui,sans-serif;background:#07111f;color:#e5eefc;padding:24px}main{max-width:860px;margin:0 auto;background:#101b2d;border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:24px}pre{white-space:pre-wrap;background:#15233a;padding:16px;border-radius:12px;overflow:auto}code{font-family:ui-monospace,SFMono-Regular,monospace}</style></head><body><main><h1>AKM health report unavailable</h1><p>The admin UI could not build the report from <code>akm health</code> for window <code>${escapeHtml(window)}</code>.</p><pre>${escapeHtml(detail || \"The AKM CLI returned no parseable JSON output.\")}</pre></main></body></html>`\n\t\t};\n\t}\n\treturn {\n\t\thtml: renderHtml(window, health, asArray(proposalsPayload?.proposals).map((item) => asRecord(item)).filter((item) => item !== null).map((item) => ({\n\t\t\tid: asString(item.id),\n\t\t\tref: asString(item.ref),\n\t\t\tsource: asString(item.source),\n\t\t\tcreatedAt: asString(item.createdAt)\n\t\t}))),\n\t\twindow\n\t};\n}\n//#endregion\n//#region src/routes/admin/akm/health-report/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tconst { html } = await buildAkmHealthReport(getState(), event.url.searchParams.get(\"since\"));\n\treturn new Response(html, {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"text/html; charset=utf-8\",\n\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;AACtE;AACA;AACA,2BAA2B,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;AACpF;AACA;AACA;AACA;AACA,kCAAkC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;AACvD;AACA;AACA;AACA,kCAAkC,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D;AACA;AACA;AACA,kCAAkC,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D;AACA;AACA;AACA,kCAAkC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;AAC/D;AACA;AACA,yBAAyB,EAAE,UAAU,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACpF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACnD;AACA;AACA;AACA;AACA,iCAAiC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;AAC3D;AACA;;AAEA;AACA;AACA,mDAAmD,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1F;AACA;AACA;AACA;AACA,iBAAiB,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;AACtC;AACA;AACA;;AAEA;AACA;;AAEA,+BAA+B,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;AACR;AACA,eAAe,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE;AAC5D,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC;AAC5C,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE;AACjF,EAAE,QAAQ;AACV,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACrB,EAAE,YAAY;AACd,EAAE,KAAK;AACP,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAC9B,EAAE,UAAU;AACZ,EAAE;AACF,EAAE,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE;AAC/B,EAAE,UAAU;AACZ,EAAE,MAAM;AACR,EAAE,UAAU;AACZ,EAAE;AACF,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;AACX,CAAC,MAAM,MAAM,GAAG,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC;AACxD,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,eAAe,CAAC,MAAM,CAAC;AACrE,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,EAAE,MAAM,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACtG,EAAE,OAAO;AACT,GAAG,MAAM;AACT,GAAG,IAAI,EAAE,CAAC,irBAAirB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,UAAU,CAAC,MAAM,IAAI,gDAAgD,CAAC,CAAC,2BAA2B;AACr0B,GAAG;AACH,CAAC;AACD,CAAC,OAAO;AACR,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACrJ,GAAG,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AACxB,GAAG,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1B,GAAG,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAChC,GAAG,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;AACrC,GAAG,CAAC,CAAC,CAAC;AACN,EAAE;AACF,EAAE;AACF;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9C,CAAC,IAAI,MAAM,EAAE,OAAO,MAAM;AAC1B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7F,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;AAC3B,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,0BAA0B;AAC7C,GAAG,eAAe,EAAE,UAAU;AAC9B,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { m as checkDocker, d as applyTagChange, y as createLogger } from './src-56XoMiXa.js';
2
- import { b as getState } from './endpoints-zfo5Ad6e.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DHbBmb0V.js';
1
+ import { n as checkDocker, d as applyTagChange, z as createLogger } from './src-nTQnTO9V.js';
2
+ import { b as getState } from './endpoints-5NhmFZ2p.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CDa-yBOY.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -65,4 +65,4 @@ var PATCH = async (event) => {
65
65
  };
66
66
 
67
67
  export { PATCH };
68
- //# sourceMappingURL=_server.ts-DcTyFyDW.js.map
68
+ //# sourceMappingURL=_server.ts-CRmaS7rN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DcTyFyDW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/stack-version/_server.ts.js"],"sourcesContent":["import { I as checkDocker, Rt as createLogger, b as applyTagChange } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/stack-version/+server.ts\nvar logger = createLogger(\"stack-version\");\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._\\-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst state = getState();\n\tconst dockerCheck = await checkDocker();\n\tif (!dockerCheck.ok) {\n\t\tlogger.error(\"stack-version aborted: docker unavailable\", { requestId });\n\t\treturn errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t}\n\tlet result;\n\ttry {\n\t\tresult = await applyTagChange(state, tag);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"stack-version apply failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"apply_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"stack-version applied\", {\n\t\trequestId,\n\t\timageTag: result.imageTag\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\timageTag: result.imageTag,\n\t\trestarted: result.restarted\n\t}, requestId);\n};\n//#endregion\nexport { PATCH };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,KAAK,GAAG,OAAO,KAAK,KAAK;AAC7B,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,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7F,CAAC;AACD,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;AAChE,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,CAAC;AACtF,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5I,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACxC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;AACtB,EAAE,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,SAAS,EAAE,CAAC;AAC1E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AACvH,CAAC;AACD,CAAC,IAAI,MAAM;AACX,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC;AAC3C,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;AACxD,EAAE,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;AAC7C,GAAG,SAAS;AACZ,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC;AAC7E,CAAC;AACD,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;AACtC,EAAE,SAAS;AACX,EAAE,QAAQ,EAAE,MAAM,CAAC;AACnB,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC3B,EAAE,SAAS,EAAE,MAAM,CAAC;AACpB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-CRmaS7rN.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/stack-version/_server.ts.js"],"sourcesContent":["import { Bt as createLogger, L as checkDocker, b as applyTagChange } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/stack-version/+server.ts\nvar logger = createLogger(\"stack-version\");\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._\\-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst state = getState();\n\tconst dockerCheck = await checkDocker();\n\tif (!dockerCheck.ok) {\n\t\tlogger.error(\"stack-version aborted: docker unavailable\", { requestId });\n\t\treturn errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t}\n\tlet result;\n\ttry {\n\t\tresult = await applyTagChange(state, tag);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"stack-version apply failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"apply_failed\", msg, { message: msg }, requestId);\n\t}\n\tlogger.info(\"stack-version applied\", {\n\t\trequestId,\n\t\timageTag: result.imageTag\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\timageTag: result.imageTag,\n\t\trestarted: result.restarted\n\t}, requestId);\n};\n//#endregion\nexport { PATCH };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,KAAK,GAAG,OAAO,KAAK,KAAK;AAC7B,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,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7F,CAAC;AACD,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;AAChE,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,CAAC;AACtF,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5I,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACxC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;AACtB,EAAE,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,SAAS,EAAE,CAAC;AAC1E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AACvH,CAAC;AACD,CAAC,IAAI,MAAM;AACX,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC;AAC3C,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;AACxD,EAAE,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;AAC7C,GAAG,SAAS;AACZ,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC;AAC7E,CAAC;AACD,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;AACtC,EAAE,SAAS;AACX,EAAE,QAAQ,EAAE,MAAM,CAAC;AACnB,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC3B,EAAE,SAAS,EAAE,MAAM,CAAC;AACpB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-DHbBmb0V.js';
2
- import { o as opencodeFetch } from './http-B6HcMA7S.js';
3
- import './src-56XoMiXa.js';
1
+ import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-CDa-yBOY.js';
2
+ import { o as opencodeFetch } from './http-DNTu_Z58.js';
3
+ import './src-nTQnTO9V.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -20,7 +20,7 @@ import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
- import './endpoints-zfo5Ad6e.js';
23
+ import './endpoints-5NhmFZ2p.js';
24
24
 
25
25
  //#region src/routes/admin/providers/oauth/[providerId]/callback/+server.ts
26
26
  var POST = async (event) => {
@@ -49,4 +49,4 @@ var POST = async (event) => {
49
49
  };
50
50
 
51
51
  export { POST };
52
- //# sourceMappingURL=_server.ts-xZeGGokt.js.map
52
+ //# sourceMappingURL=_server.ts-CcgcUrz4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-xZeGGokt.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-CcgcUrz4.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
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { T as fetchProviderModels, aq as resolveStackDir } from './src-56XoMiXa.js';
2
+ import { U as fetchProviderModels, at as resolveStackDir } from './src-nTQnTO9V.js';
3
3
  import './utils-BSRjJDrZ.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
@@ -56,4 +56,4 @@ var POST = async ({ params, request }) => {
56
56
  };
57
57
 
58
58
  export { POST };
59
- //# sourceMappingURL=_server.ts-DZ3Z2xUm.js.map
59
+ //# sourceMappingURL=_server.ts-CdROlo3B.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DZ3Z2xUm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/models/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { It as resolveStackDir, P as fetchProviderModels } from \"../../../../../../chunks/src.js\";\n//#region src/routes/api/setup/models/[provider]/+server.ts\nvar POST = async ({ params, request }) => {\n\tconst provider = decodeURIComponent(params.provider);\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 apiKey = typeof body.apiKey === \"string\" ? body.apiKey : \"\";\n\tconst baseUrl = typeof body.baseUrl === \"string\" ? body.baseUrl : \"\";\n\ttry {\n\t\tconst result = await fetchProviderModels(provider, apiKey, baseUrl, resolveStackDir());\n\t\tif (result.status !== \"ok\") return json({\n\t\t\tok: false,\n\t\t\t...result\n\t\t}, { status: 502 });\n\t\treturn json({\n\t\t\tok: true,\n\t\t\t...result\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"model_fetch_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;AACrD,CAAC,IAAI,IAAI,GAAG,EAAE;AACd,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AAC7B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,cAAc;AACxB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD,CAAC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AAClE,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACxF,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,OAAO,IAAI,CAAC;AAC1C,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,GAAG;AACN,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,GAAG;AACN,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,oBAAoB;AAC9B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-CdROlo3B.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/models/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { F as fetchProviderModels, Rt as resolveStackDir } from \"../../../../../../chunks/src.js\";\n//#region src/routes/api/setup/models/[provider]/+server.ts\nvar POST = async ({ params, request }) => {\n\tconst provider = decodeURIComponent(params.provider);\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 apiKey = typeof body.apiKey === \"string\" ? body.apiKey : \"\";\n\tconst baseUrl = typeof body.baseUrl === \"string\" ? body.baseUrl : \"\";\n\ttry {\n\t\tconst result = await fetchProviderModels(provider, apiKey, baseUrl, resolveStackDir());\n\t\tif (result.status !== \"ok\") return json({\n\t\t\tok: false,\n\t\t\t...result\n\t\t}, { status: 502 });\n\t\treturn json({\n\t\t\tok: true,\n\t\t\t...result\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"model_fetch_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;AACrD,CAAC,IAAI,IAAI,GAAG,EAAE;AACd,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AAC7B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,cAAc;AACxB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD,CAAC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AAClE,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AACxF,EAAE,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,OAAO,IAAI,CAAC;AAC1C,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,GAAG;AACN,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,GAAG;AACN,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,oBAAoB;AAC9B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { a3 as isSetupComplete, aq as resolveStackDir } from './src-56XoMiXa.js';
2
+ import { a4 as isSetupComplete, at as resolveStackDir } from './src-nTQnTO9V.js';
3
3
  import './utils-BSRjJDrZ.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
@@ -30,4 +30,4 @@ var GET = () => {
30
30
  };
31
31
 
32
32
  export { GET };
33
- //# sourceMappingURL=_server.ts-Bi0VeyRr.js.map
33
+ //# sourceMappingURL=_server.ts-CewxkrA0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bi0VeyRr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { It as resolveStackDir, Z as isSetupComplete } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/status/+server.ts\nvar GET = () => {\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: isSetupComplete(resolveStackDir())\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,eAAe,CAAC,eAAe,EAAE;AAClD,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CewxkrA0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Q as isSetupComplete, Rt as resolveStackDir } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/status/+server.ts\nvar GET = () => {\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: isSetupComplete(resolveStackDir())\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,eAAe,CAAC,eAAe,EAAE;AAClD,EAAE,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { H as detectLocalProviders, y as createLogger } from './src-56XoMiXa.js';
2
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, k as jsonResponse, e as errorResponse, g as getOpenCodeClient } from './helpers-DHbBmb0V.js';
3
- import { b as setProviderOptions, p as patchConfig, a as setProviderEnabled, g as getCurrentConfig, r as registerProvider, s as setMainModel } from './config-D5SE6Awc.js';
1
+ import { I as detectLocalProviders, z as createLogger } from './src-nTQnTO9V.js';
2
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, k as jsonResponse, e as errorResponse, g as getOpenCodeClient } from './helpers-CDa-yBOY.js';
3
+ import { b as setProviderOptions, p as patchConfig, a as setProviderEnabled, g as getCurrentConfig, r as registerProvider, s as setMainModel } from './config-XF8xaL-e.js';
4
4
  import { a as asStringOrEmpty, p as parseHeaders, d as updateNumberOption, u as updateBooleanOption, c as parseModels, b as buildModelConfig } from './_helpers-B_lb4-jB.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -21,9 +21,9 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-zfo5Ad6e.js';
24
+ import './endpoints-5NhmFZ2p.js';
25
25
  import './coercion-TNFJisCC.js';
26
- import './http-B6HcMA7S.js';
26
+ import './http-DNTu_Z58.js';
27
27
 
28
28
  //#region src/routes/admin/providers/[id]/+server.ts
29
29
  var logger = createLogger("admin.providers.patch");
@@ -197,4 +197,4 @@ var PATCH = async (event) => {
197
197
  };
198
198
 
199
199
  export { PATCH };
200
- //# sourceMappingURL=_server.ts-D_RT5a88.js.map
200
+ //# sourceMappingURL=_server.ts-Cv_tDPcz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D_RT5a88.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/_id_/_server.ts.js"],"sourcesContent":["import { Rt as createLogger, l as detectLocalProviders } 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\";\nimport { a as setProviderEnabled, i as setMainModel, n as patchConfig, o as setProviderOptions, r as registerProvider, t as getCurrentConfig } from \"../../../../../chunks/config.js\";\nimport { a as parseModels, i as parseHeaders, n as buildModelConfig, o as updateBooleanOption, s as updateNumberOption, t as asStringOrEmpty } from \"../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/[id]/+server.ts\nvar logger = createLogger(\"admin.providers.patch\");\n/** Allowed format for a custom provider id */\nvar CUSTOM_PROVIDER_ID_PATTERN = /^[a-z0-9_-]+$/;\nvar LOCAL_PROVIDER_LABELS = {\n\tollama: \"Local Ollama\",\n\tlmstudio: \"Local LM Studio\",\n\t\"model-runner\": \"Docker Model Runner\"\n};\nvar PATCH = 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\tconst parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst body = parsed.data;\n\tconst kind = typeof body.kind === \"string\" ? body.kind : \"\";\n\tif (kind === \"options\") try {\n\t\tconst baseURL = asStringOrEmpty(body.baseURL);\n\t\tconst enterpriseUrl = asStringOrEmpty(body.enterpriseUrl);\n\t\tconst headers = parseHeaders(asStringOrEmpty(body.headers));\n\t\tconst nextOptions = {};\n\t\tupdateNumberOption(nextOptions, \"timeout\", asStringOrEmpty(body.timeout));\n\t\tupdateBooleanOption(nextOptions, \"setCacheKey\", body.setCacheKey === \"on\" || body.setCacheKey === true);\n\t\tawait setProviderOptions(providerId, {\n\t\t\tbaseURL: baseURL || void 0,\n\t\t\tenterpriseUrl: enterpriseUrl || void 0,\n\t\t\ttimeout: typeof nextOptions.timeout === \"number\" ? nextOptions.timeout : void 0,\n\t\t\tsetCacheKey: nextOptions.setCacheKey === true,\n\t\t\theaders: headers && Object.keys(headers).length > 0 ? headers : null\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"Provider settings saved.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"toggle\") try {\n\t\tconst nextState = asStringOrEmpty(body.enabled) === \"true\" || body.enabled === true;\n\t\tawait patchConfig(setProviderEnabled(await getCurrentConfig(), providerId, nextState));\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: nextState ? \"Provider enabled for model selection.\" : \"Provider disabled for this workspace.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"register-local\") try {\n\t\tif (!Object.prototype.hasOwnProperty.call(LOCAL_PROVIDER_LABELS, providerId)) return errorResponse(400, \"bad_request\", \"provider must be one of: ollama, lmstudio, model-runner\", {}, requestId);\n\t\tconst match = (await detectLocalProviders()).find((d) => d.provider === providerId);\n\t\tif (!match || !match.available) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: `No reachable ${LOCAL_PROVIDER_LABELS[providerId] ?? providerId} endpoint found.`,\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tconst existingEntry = ((await getCurrentConfig()).provider ?? {})[providerId];\n\t\tconst existingOptions = existingEntry?.options ?? {};\n\t\tawait registerProvider(providerId, {\n\t\t\tnpm: typeof existingEntry?.npm === \"string\" ? existingEntry.npm : \"@ai-sdk/openai-compatible\",\n\t\t\tname: typeof existingEntry?.name === \"string\" ? existingEntry.name : LOCAL_PROVIDER_LABELS[providerId] ?? providerId,\n\t\t\toptions: {\n\t\t\t\t...existingOptions,\n\t\t\t\tbaseURL: match.url\n\t\t\t}\n\t\t}, true);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: `Registered ${LOCAL_PROVIDER_LABELS[providerId] ?? providerId} at ${match.url}.`,\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (err) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: err instanceof Error ? err.message : String(err),\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t}\n\tif (kind === \"register-custom\") try {\n\t\tconst displayName = asStringOrEmpty(body.displayName);\n\t\tconst baseURL = asStringOrEmpty(body.baseURL);\n\t\tconst apiKey = asStringOrEmpty(body.apiKey);\n\t\tconst confirmOverwrite = asStringOrEmpty(body.confirmOverwrite) === \"true\";\n\t\tif (!CUSTOM_PROVIDER_ID_PATTERN.test(providerId)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Use a lowercase provider id with letters, numbers, hyphens, or underscores.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tif (!displayName || !baseURL) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Display name and base URL are required for a custom provider.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tconst models = parseModels(asStringOrEmpty(body.modelsJson));\n\t\tconst headers = parseHeaders(asStringOrEmpty(body.headersJson));\n\t\tconst entry = {\n\t\t\tnpm: \"@ai-sdk/openai-compatible\",\n\t\t\tname: displayName,\n\t\t\toptions: {\n\t\t\t\tbaseURL,\n\t\t\t\t...Object.keys(headers).length > 0 ? { headers } : {}\n\t\t\t}\n\t\t};\n\t\tif (models.length > 0) entry.models = Object.fromEntries(models.map((m) => [m.id, buildModelConfig(m)]));\n\t\tif ((await registerProvider(providerId, entry, confirmOverwrite)).alreadyExists) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"A provider with this ID already exists. Enable overwrite to replace it.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tif (apiKey) try {\n\t\t\tconst authResult = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\t\tif (!authResult.ok) logger.warn(\"custom provider apiKey save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\tcode: authResult.code,\n\t\t\t\tmessage: authResult.message,\n\t\t\t\trequestId\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tlogger.warn(\"custom provider apiKey threw\", {\n\t\t\t\tproviderId,\n\t\t\t\terror: String(err),\n\t\t\t\trequestId\n\t\t\t});\n\t\t}\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"Custom provider saved.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"set-model\") try {\n\t\tconst modelId = asStringOrEmpty(body.modelId);\n\t\tconst target = asStringOrEmpty(body.target);\n\t\tif (!modelId || target !== \"model\" && target !== \"small_model\") return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider model before saving it.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tawait setMainModel(providerId, modelId, target);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: target === \"model\" ? \"Main model updated for this project.\" : \"Small model updated for lightweight tasks.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", `Unknown kind \"${kind}\". Expected: options, toggle, register-local, register-custom, set-model`, {}, requestId);\n};\n//#endregion\nexport { PATCH };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Cv_tDPcz.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/_id_/_server.ts.js"],"sourcesContent":["import { Bt as createLogger, l as detectLocalProviders } 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\";\nimport { a as setProviderEnabled, i as setMainModel, n as patchConfig, o as setProviderOptions, r as registerProvider, t as getCurrentConfig } from \"../../../../../chunks/config.js\";\nimport { a as parseModels, i as parseHeaders, n as buildModelConfig, o as updateBooleanOption, s as updateNumberOption, t as asStringOrEmpty } from \"../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/[id]/+server.ts\nvar logger = createLogger(\"admin.providers.patch\");\n/** Allowed format for a custom provider id */\nvar CUSTOM_PROVIDER_ID_PATTERN = /^[a-z0-9_-]+$/;\nvar LOCAL_PROVIDER_LABELS = {\n\tollama: \"Local Ollama\",\n\tlmstudio: \"Local LM Studio\",\n\t\"model-runner\": \"Docker Model Runner\"\n};\nvar PATCH = 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\tconst parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst body = parsed.data;\n\tconst kind = typeof body.kind === \"string\" ? body.kind : \"\";\n\tif (kind === \"options\") try {\n\t\tconst baseURL = asStringOrEmpty(body.baseURL);\n\t\tconst enterpriseUrl = asStringOrEmpty(body.enterpriseUrl);\n\t\tconst headers = parseHeaders(asStringOrEmpty(body.headers));\n\t\tconst nextOptions = {};\n\t\tupdateNumberOption(nextOptions, \"timeout\", asStringOrEmpty(body.timeout));\n\t\tupdateBooleanOption(nextOptions, \"setCacheKey\", body.setCacheKey === \"on\" || body.setCacheKey === true);\n\t\tawait setProviderOptions(providerId, {\n\t\t\tbaseURL: baseURL || void 0,\n\t\t\tenterpriseUrl: enterpriseUrl || void 0,\n\t\t\ttimeout: typeof nextOptions.timeout === \"number\" ? nextOptions.timeout : void 0,\n\t\t\tsetCacheKey: nextOptions.setCacheKey === true,\n\t\t\theaders: headers && Object.keys(headers).length > 0 ? headers : null\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"Provider settings saved.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"toggle\") try {\n\t\tconst nextState = asStringOrEmpty(body.enabled) === \"true\" || body.enabled === true;\n\t\tawait patchConfig(setProviderEnabled(await getCurrentConfig(), providerId, nextState));\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: nextState ? \"Provider enabled for model selection.\" : \"Provider disabled for this workspace.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"register-local\") try {\n\t\tif (!Object.prototype.hasOwnProperty.call(LOCAL_PROVIDER_LABELS, providerId)) return errorResponse(400, \"bad_request\", \"provider must be one of: ollama, lmstudio, model-runner\", {}, requestId);\n\t\tconst match = (await detectLocalProviders()).find((d) => d.provider === providerId);\n\t\tif (!match || !match.available) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: `No reachable ${LOCAL_PROVIDER_LABELS[providerId] ?? providerId} endpoint found.`,\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tconst existingEntry = ((await getCurrentConfig()).provider ?? {})[providerId];\n\t\tconst existingOptions = existingEntry?.options ?? {};\n\t\tawait registerProvider(providerId, {\n\t\t\tnpm: typeof existingEntry?.npm === \"string\" ? existingEntry.npm : \"@ai-sdk/openai-compatible\",\n\t\t\tname: typeof existingEntry?.name === \"string\" ? existingEntry.name : LOCAL_PROVIDER_LABELS[providerId] ?? providerId,\n\t\t\toptions: {\n\t\t\t\t...existingOptions,\n\t\t\t\tbaseURL: match.url\n\t\t\t}\n\t\t}, true);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: `Registered ${LOCAL_PROVIDER_LABELS[providerId] ?? providerId} at ${match.url}.`,\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (err) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: err instanceof Error ? err.message : String(err),\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t}\n\tif (kind === \"register-custom\") try {\n\t\tconst displayName = asStringOrEmpty(body.displayName);\n\t\tconst baseURL = asStringOrEmpty(body.baseURL);\n\t\tconst apiKey = asStringOrEmpty(body.apiKey);\n\t\tconst confirmOverwrite = asStringOrEmpty(body.confirmOverwrite) === \"true\";\n\t\tif (!CUSTOM_PROVIDER_ID_PATTERN.test(providerId)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Use a lowercase provider id with letters, numbers, hyphens, or underscores.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tif (!displayName || !baseURL) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Display name and base URL are required for a custom provider.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tconst models = parseModels(asStringOrEmpty(body.modelsJson));\n\t\tconst headers = parseHeaders(asStringOrEmpty(body.headersJson));\n\t\tconst entry = {\n\t\t\tnpm: \"@ai-sdk/openai-compatible\",\n\t\t\tname: displayName,\n\t\t\toptions: {\n\t\t\t\tbaseURL,\n\t\t\t\t...Object.keys(headers).length > 0 ? { headers } : {}\n\t\t\t}\n\t\t};\n\t\tif (models.length > 0) entry.models = Object.fromEntries(models.map((m) => [m.id, buildModelConfig(m)]));\n\t\tif ((await registerProvider(providerId, entry, confirmOverwrite)).alreadyExists) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"A provider with this ID already exists. Enable overwrite to replace it.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tif (apiKey) try {\n\t\t\tconst authResult = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\t\tif (!authResult.ok) logger.warn(\"custom provider apiKey save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\tcode: authResult.code,\n\t\t\t\tmessage: authResult.message,\n\t\t\t\trequestId\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tlogger.warn(\"custom provider apiKey threw\", {\n\t\t\t\tproviderId,\n\t\t\t\terror: String(err),\n\t\t\t\trequestId\n\t\t\t});\n\t\t}\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"Custom provider saved.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\tif (kind === \"set-model\") try {\n\t\tconst modelId = asStringOrEmpty(body.modelId);\n\t\tconst target = asStringOrEmpty(body.target);\n\t\tif (!modelId || target !== \"model\" && target !== \"small_model\") return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider model before saving it.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tawait setMainModel(providerId, modelId, target);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: target === \"model\" ? \"Main model updated for this project.\" : \"Small model updated for lightweight tasks.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", `Unknown kind \"${kind}\". Expected: options, toggle, register-local, register-custom, set-model`, {}, requestId);\n};\n//#endregion\nexport { PATCH };\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { b as getState } from './endpoints-5NhmFZ2p.js';
2
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CDa-yBOY.js';
3
+ import { d as detectEmbeddingSettings } from './akm-BlxJtWqf.js';
4
+ import './src-nTQnTO9V.js';
5
+ import './chunk-CLZ62Ad-.js';
6
+ import 'node:module';
7
+ import 'node:fs';
8
+ import 'node:path';
9
+ import 'buffer';
10
+ import 'node:os';
11
+ import 'fs';
12
+ import 'path';
13
+ import 'node:child_process';
14
+ import 'node:url';
15
+ import 'node:crypto';
16
+ import 'events';
17
+ import 'node:events';
18
+ import 'node:stream';
19
+ import 'node:string_decoder';
20
+ import 'assert';
21
+ import 'zlib';
22
+ import 'node:assert';
23
+ import 'node:fs/promises';
24
+
25
+ //#region src/routes/admin/akm/embedding/detect/+server.ts
26
+ var POST = async (event) => {
27
+ const requestId = getRequestId(event);
28
+ const authError = requireAdmin(event, requestId);
29
+ if (authError) return authError;
30
+ const detected = await detectEmbeddingSettings(getState());
31
+ if (!detected.ok) return errorResponse(404, "embedding_not_detected", detected.message, {}, requestId);
32
+ return jsonResponse(200, detected, requestId);
33
+ };
34
+
35
+ export { POST };
36
+ //# sourceMappingURL=_server.ts-CvgjhFTr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-CvgjhFTr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/embedding/detect/_server.ts.js"],"sourcesContent":["import { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../../chunks/helpers.js\";\nimport { t as detectEmbeddingSettings } from \"../../../../../../chunks/akm.js\";\n//#region src/routes/admin/akm/embedding/detect/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst detected = await detectEmbeddingSettings(getState());\n\tif (!detected.ok) return errorResponse(404, \"embedding_not_detected\", detected.message, {}, requestId);\n\treturn jsonResponse(200, detected, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,CAAC;AAC3D,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AACvG,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC;AAC9C;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as deleteEndpoint, v as validateEndpointUrl, u as updateEndpoint } from './endpoints-zfo5Ad6e.js';
2
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, w as withAdminBody } from './helpers-DHbBmb0V.js';
3
- import './src-56XoMiXa.js';
1
+ import { d as deleteEndpoint, v as validateEndpointUrl, u as updateEndpoint } from './endpoints-5NhmFZ2p.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, w as withAdminBody } from './helpers-CDa-yBOY.js';
3
+ import './src-nTQnTO9V.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -67,4 +67,4 @@ var DELETE = async (event) => {
67
67
  };
68
68
 
69
69
  export { DELETE, PATCH };
70
- //# sourceMappingURL=_server.ts-zyxUGoYW.js.map
70
+ //# sourceMappingURL=_server.ts-CzaVvCkd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-zyxUGoYW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_id_/_server.ts.js"],"sourcesContent":["import { n as deleteEndpoint, o as updateEndpoint, s as validateEndpointUrl } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, p as withAdminBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/[id]/+server.ts\nvar PATCH = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst id = event.params.id;\n\tconst patch = {};\n\tif (typeof body.label === \"string\") patch.label = body.label;\n\tif (typeof body.url === \"string\") {\n\t\tconst urlCheck = validateEndpointUrl(body.url);\n\t\tif (!urlCheck.ok) {\n\t\t\tif (urlCheck.reason === \"http_not_allowed\") return errorResponse(400, \"http_not_allowed\", \"Plain HTTP is only allowed for loopback addresses. Use https:// for remote OpenPalm instances.\", {}, requestId);\n\t\t\treturn errorResponse(400, \"invalid_endpoint\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\t}\n\t\tpatch.url = urlCheck.url;\n\t}\n\tif (body.password === null) patch.password = null;\n\telse if (typeof body.password === \"string\") patch.password = body.password;\n\ttry {\n\t\tconst entry = updateEndpoint(id, patch);\n\t\treturn jsonResponse(200, { endpoint: {\n\t\t\tid: entry.id,\n\t\t\tlabel: entry.label,\n\t\t\turl: entry.url,\n\t\t\tisDefault: false,\n\t\t\thasPassword: Boolean(entry.password)\n\t\t} }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to update endpoint\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_endpoint\", msg, {}, requestId);\n\t}\n});\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst id = event.params.id;\n\ttry {\n\t\tdeleteEndpoint(id);\n\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to delete endpoint\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_endpoint\", msg, {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, PATCH };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CzaVvCkd.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_id_/_server.ts.js"],"sourcesContent":["import { n as deleteEndpoint, o as updateEndpoint, s as validateEndpointUrl } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, p as withAdminBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/[id]/+server.ts\nvar PATCH = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst id = event.params.id;\n\tconst patch = {};\n\tif (typeof body.label === \"string\") patch.label = body.label;\n\tif (typeof body.url === \"string\") {\n\t\tconst urlCheck = validateEndpointUrl(body.url);\n\t\tif (!urlCheck.ok) {\n\t\t\tif (urlCheck.reason === \"http_not_allowed\") return errorResponse(400, \"http_not_allowed\", \"Plain HTTP is only allowed for loopback addresses. Use https:// for remote OpenPalm instances.\", {}, requestId);\n\t\t\treturn errorResponse(400, \"invalid_endpoint\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\t}\n\t\tpatch.url = urlCheck.url;\n\t}\n\tif (body.password === null) patch.password = null;\n\telse if (typeof body.password === \"string\") patch.password = body.password;\n\ttry {\n\t\tconst entry = updateEndpoint(id, patch);\n\t\treturn jsonResponse(200, { endpoint: {\n\t\t\tid: entry.id,\n\t\t\tlabel: entry.label,\n\t\t\turl: entry.url,\n\t\t\tisDefault: false,\n\t\t\thasPassword: Boolean(entry.password)\n\t\t} }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to update endpoint\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_endpoint\", msg, {}, requestId);\n\t}\n});\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst id = event.params.id;\n\ttry {\n\t\tdeleteEndpoint(id);\n\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : \"failed to delete endpoint\";\n\t\tconst status = msg.startsWith(\"Endpoint not found\") ? 404 : 400;\n\t\treturn errorResponse(status, status === 404 ? \"not_found\" : \"invalid_endpoint\", msg, {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, PATCH };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { am as removeTaskFile, ai as readTaskFile, aA as writeTaskFile, h as assertSafeTaskFilename } from './src-56XoMiXa.js';
2
- import { b as getState } from './endpoints-zfo5Ad6e.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-DHbBmb0V.js';
1
+ import { ap as removeTaskFile, al as readTaskFile, aD as writeTaskFile, h as assertSafeTaskFilename } from './src-nTQnTO9V.js';
2
+ import { b as getState } from './endpoints-5NhmFZ2p.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CDa-yBOY.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -76,4 +76,4 @@ var DELETE = async (event) => {
76
76
  };
77
77
 
78
78
  export { DELETE, GET, PUT };
79
- //# sourceMappingURL=_server.ts-COKTksXS.js.map
79
+ //# sourceMappingURL=_server.ts-D1DMh7dc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-D1DMh7dc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/file/_server.ts.js"],"sourcesContent":["import { $ as assertSafeTaskFilename, et as readTaskFile, nt as writeTaskFile, tt as removeTaskFile } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/[name]/file/+server.ts\nfunction guard(name, requestId) {\n\ttry {\n\t\tassertSafeTaskFilename(name);\n\t\treturn null;\n\t} catch (err) {\n\t\treturn errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst content = readTaskFile(getState().stashDir, name);\n\tif (content === null) return errorResponse(404, \"not_found\", `Task file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tcontent\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst content = result.data.content;\n\tif (typeof content !== \"string\") return errorResponse(400, \"bad_request\", \"content must be a string\", {}, requestId);\n\twriteTaskFile(getState().stashDir, name, content);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tremoveTaskFile(getState().stashDir, name);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { g as getActiveEndpoint } from './endpoints-zfo5Ad6e.js';
2
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-DHbBmb0V.js';
3
- import './src-56XoMiXa.js';
1
+ import { g as getActiveEndpoint } from './endpoints-5NhmFZ2p.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-CDa-yBOY.js';
3
+ import './src-nTQnTO9V.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -52,4 +52,4 @@ var GET = async (event) => {
52
52
  };
53
53
 
54
54
  export { GET };
55
- //# sourceMappingURL=_server.ts-C-iybQg_.js.map
55
+ //# sourceMappingURL=_server.ts-D4f920nj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C-iybQg_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/health/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tlet opencode = false;\n\ttry {\n\t\tconst headers = {};\n\t\tif (endpoint.password) {\n\t\t\tconst user = endpoint.username || \"openpalm\";\n\t\t\theaders[\"authorization\"] = `Basic ${btoa(`${user}:${endpoint.password}`)}`;\n\t\t}\n\t\topencode = (await fetch(`${endpoint.url}/health`, {\n\t\t\theaders,\n\t\t\tsignal: AbortSignal.timeout(2e3)\n\t\t})).ok;\n\t} catch {}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\topencode,\n\t\tendpoint: {\n\t\t\tid: endpoint.id,\n\t\t\tlabel: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tisDefault: endpoint.isDefault\n\t\t}\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,iBAAiB,EAAE;AACrC,CAAC,IAAI,QAAQ,GAAG,KAAK;AACrB,CAAC,IAAI;AACL,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACzB,GAAG,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU;AAC/C,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,EAAE;AACF,EAAE,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACpD,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC,EAAE,EAAE;AACR,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ,EAAE;AACZ,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE;AAClB,GAAG,KAAK,EAAE,QAAQ,CAAC,KAAK;AACxB,GAAG,GAAG,EAAE,QAAQ,CAAC,GAAG;AACpB,GAAG,SAAS,EAAE,QAAQ,CAAC;AACvB;AACA,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-D4f920nj.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/health/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tlet opencode = false;\n\ttry {\n\t\tconst headers = {};\n\t\tif (endpoint.password) {\n\t\t\tconst user = endpoint.username || \"openpalm\";\n\t\t\theaders[\"authorization\"] = `Basic ${btoa(`${user}:${endpoint.password}`)}`;\n\t\t}\n\t\topencode = (await fetch(`${endpoint.url}/health`, {\n\t\t\theaders,\n\t\t\tsignal: AbortSignal.timeout(2e3)\n\t\t})).ok;\n\t} catch {}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\topencode,\n\t\tendpoint: {\n\t\t\tid: endpoint.id,\n\t\t\tlabel: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tisDefault: endpoint.isDefault\n\t\t}\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,iBAAiB,EAAE;AACrC,CAAC,IAAI,QAAQ,GAAG,KAAK;AACrB,CAAC,IAAI;AACL,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACzB,GAAG,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU;AAC/C,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,EAAE;AACF,EAAE,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACpD,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC,EAAE,EAAE;AACR,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ,EAAE;AACZ,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE;AAClB,GAAG,KAAK,EAAE,QAAQ,CAAC,KAAK;AACxB,GAAG,GAAG,EAAE,QAAQ,CAAC,GAAG;AACpB,GAAG,SAAS,EAAE,QAAQ,CAAC;AACvB;AACA,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { G as detectHostOpenCode, $ as hostAkmStashPath, a2 as isHostAkmAvailable, y as createLogger } from './src-56XoMiXa.js';
2
+ import { H as detectHostOpenCode, a0 as hostAkmStashPath, a3 as isHostAkmAvailable, z as createLogger } from './src-nTQnTO9V.js';
3
3
  import { homedir } from 'node:os';
4
4
  import './utils-BSRjJDrZ.js';
5
5
  import './chunk-CLZ62Ad-.js';
@@ -62,4 +62,4 @@ var GET = () => {
62
62
  };
63
63
 
64
64
  export { GET };
65
- //# sourceMappingURL=_server.ts-DjFhNlGz.js.map
65
+ //# sourceMappingURL=_server.ts-D6Pr_XI_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DjFhNlGz.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/host-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { M as isHostAkmAvailable, Rt as createLogger, j as hostAkmStashPath, t as detectHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { homedir } from \"node:os\";\n//#region src/routes/api/setup/host-status/+server.ts\nvar logger = createLogger(\"admin:host-status\");\nvar GET = () => {\n\ttry {\n\t\tconst status = detectHostOpenCode();\n\t\tconst home = homedir();\n\t\tconst akmStashPath = hostAkmStashPath();\n\t\tconst hostAkmAvailable = isHostAkmAvailable();\n\t\treturn json({\n\t\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\t\tproviderCount: status.providerCount,\n\t\t\tcredentialCount: status.credentialCount,\n\t\t\tmodelPreferences: status.modelPreferences,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable,\n\t\t\thostAkmPaths: {\n\t\t\t\tstash: akmStashPath,\n\t\t\t\tdata: `${home}/.local/share/akm`,\n\t\t\t\tstate: `${home}/.local/state/akm`,\n\t\t\t\tconfig: `${home}/.config/akm`\n\t\t\t}\n\t\t});\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tconst stack = err instanceof Error ? err.stack : void 0;\n\t\tlogger.warn(\"failed to detect host openpalm/openpalm state\", {\n\t\t\terror: message,\n\t\t\tstack\n\t\t});\n\t\treturn json({\n\t\t\tdetected: false,\n\t\t\tproviderCount: 0,\n\t\t\tcredentialCount: 0,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable: false,\n\t\t\twarning: `Could not detect host OpenCode state: ${message}`\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAC3C,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,kBAAkB,EAAE;AACrC,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,MAAM,YAAY,GAAG,gBAAgB,EAAE;AACzC,EAAE,MAAM,gBAAgB,GAAG,kBAAkB,EAAE;AAC/C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AACnE,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,eAAe,EAAE,MAAM,CAAC,eAAe;AAC1C,GAAG,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;AAC5C,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB;AACnB,GAAG,YAAY,EAAE;AACjB,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACpC,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY;AAChC;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM;AACzD,EAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;AAC/D,GAAG,KAAK,EAAE,OAAO;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,KAAK;AAClB,GAAG,aAAa,EAAE,CAAC;AACnB,GAAG,eAAe,EAAE,CAAC;AACrB,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB,EAAE,KAAK;AAC1B,GAAG,OAAO,EAAE,CAAC,sCAAsC,EAAE,OAAO,CAAC;AAC7D,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-D6Pr_XI_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/host-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Bt as createLogger, M as isHostAkmAvailable, j as hostAkmStashPath, t as detectHostOpenCode } from \"../../../../../chunks/src.js\";\nimport { homedir } from \"node:os\";\n//#region src/routes/api/setup/host-status/+server.ts\nvar logger = createLogger(\"admin:host-status\");\nvar GET = () => {\n\ttry {\n\t\tconst status = detectHostOpenCode();\n\t\tconst home = homedir();\n\t\tconst akmStashPath = hostAkmStashPath();\n\t\tconst hostAkmAvailable = isHostAkmAvailable();\n\t\treturn json({\n\t\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\t\tproviderCount: status.providerCount,\n\t\t\tcredentialCount: status.credentialCount,\n\t\t\tmodelPreferences: status.modelPreferences,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable,\n\t\t\thostAkmPaths: {\n\t\t\t\tstash: akmStashPath,\n\t\t\t\tdata: `${home}/.local/share/akm`,\n\t\t\t\tstate: `${home}/.local/state/akm`,\n\t\t\t\tconfig: `${home}/.config/akm`\n\t\t\t}\n\t\t});\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tconst stack = err instanceof Error ? err.stack : void 0;\n\t\tlogger.warn(\"failed to detect host openpalm/openpalm state\", {\n\t\t\terror: message,\n\t\t\tstack\n\t\t});\n\t\treturn json({\n\t\t\tdetected: false,\n\t\t\tproviderCount: 0,\n\t\t\tcredentialCount: 0,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable: false,\n\t\t\twarning: `Could not detect host OpenCode state: ${message}`\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAC3C,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,kBAAkB,EAAE;AACrC,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,MAAM,YAAY,GAAG,gBAAgB,EAAE;AACzC,EAAE,MAAM,gBAAgB,GAAG,kBAAkB,EAAE;AAC/C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AACnE,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,eAAe,EAAE,MAAM,CAAC,eAAe;AAC1C,GAAG,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;AAC5C,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB;AACnB,GAAG,YAAY,EAAE;AACjB,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACpC,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY;AAChC;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM;AACzD,EAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;AAC/D,GAAG,KAAK,EAAE,OAAO;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,KAAK;AAClB,GAAG,aAAa,EAAE,CAAC;AACnB,GAAG,eAAe,EAAE,CAAC;AACrB,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB,EAAE,KAAK;AAC1B,GAAG,OAAO,EAAE,CAAC,sCAAsC,EAAE,OAAO,CAAC;AAC7D,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-DHbBmb0V.js';
2
- import { s as sessionCookieHeader } from './session-cookie-Do-csnSL.js';
3
- import './src-56XoMiXa.js';
1
+ import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-CDa-yBOY.js';
2
+ import { s as sessionCookieHeader } from './session-cookie-kNDCcqJr.js';
3
+ import './src-nTQnTO9V.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -20,7 +20,7 @@ import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
- import './endpoints-zfo5Ad6e.js';
23
+ import './endpoints-5NhmFZ2p.js';
24
24
 
25
25
  //#region src/routes/admin/auth/login/+server.ts
26
26
  var POST = async (event) => {
@@ -51,4 +51,4 @@ var POST = async (event) => {
51
51
  };
52
52
 
53
53
  export { POST };
54
- //# sourceMappingURL=_server.ts-C1KzS6xc.js.map
54
+ //# sourceMappingURL=_server.ts-DMA3iJPX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C1KzS6xc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/login/_server.ts.js"],"sourcesContent":["import { f as safeTokenCompare, g as getUiLoginPassword, h as createSession, i as errorResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/login/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\trole: \"admin\"\n\t}), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE;AACR,EAAE,CAAC,EAAE;AACL,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-DMA3iJPX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/login/_server.ts.js"],"sourcesContent":["import { f as safeTokenCompare, g as getUiLoginPassword, h as createSession, i as errorResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/login/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\trole: \"admin\"\n\t}), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE;AACR,EAAE,CAAC,EAAE;AACL,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,9 +1,9 @@
1
- import { i as authJsonPath } from './src-56XoMiXa.js';
2
- import { b as getState } from './endpoints-zfo5Ad6e.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-DHbBmb0V.js';
1
+ import { i as authJsonPath } from './src-nTQnTO9V.js';
2
+ import { b as getState } from './endpoints-5NhmFZ2p.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-CDa-yBOY.js';
4
4
  import { b as asRecord, c as asString, a as asNumber, e as asStringRecord, d as asStringArray } from './coercion-TNFJisCC.js';
5
- import { o as opencodeFetch } from './http-B6HcMA7S.js';
6
- import { g as getCurrentConfig } from './config-D5SE6Awc.js';
5
+ import { o as opencodeFetch } from './http-DNTu_Z58.js';
6
+ import { g as getCurrentConfig } from './config-XF8xaL-e.js';
7
7
  import { existsSync, readFileSync } from 'node:fs';
8
8
  import './chunk-CLZ62Ad-.js';
9
9
  import 'node:module';
@@ -201,4 +201,4 @@ var GET = async (event) => {
201
201
  };
202
202
 
203
203
  export { GET };
204
- //# sourceMappingURL=_server.ts-BjKendRn.js.map
204
+ //# sourceMappingURL=_server.ts-DO6HhMyZ.js.map