@openpalm/ui 0.11.5-rc.8 → 0.12.0-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 (446) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/0.iY5Na-jC.css +1 -0
  3. package/build/client/_app/immutable/assets/0.iY5Na-jC.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.iY5Na-jC.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/10.C6prJXUw.css +1 -0
  6. package/build/client/_app/immutable/assets/10.C6prJXUw.css.br +0 -0
  7. package/build/client/_app/immutable/assets/10.C6prJXUw.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/4.D-9LGiQD.css +1 -0
  9. package/build/client/_app/immutable/assets/4.D-9LGiQD.css.br +0 -0
  10. package/build/client/_app/immutable/assets/4.D-9LGiQD.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/9.CkiNtsHc.css +1 -0
  12. package/build/client/_app/immutable/assets/9.CkiNtsHc.css.br +0 -0
  13. package/build/client/_app/immutable/assets/9.CkiNtsHc.css.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{BWN4X0zs.js → BihYGk9Y.js} +1 -1
  15. package/build/client/_app/immutable/chunks/BihYGk9Y.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/BihYGk9Y.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/Buy0D9D-.js +1 -0
  18. package/build/client/_app/immutable/chunks/Buy0D9D-.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/Buy0D9D-.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{2ZMOX13V.js → C5EI77dn.js} +1 -1
  21. package/build/client/_app/immutable/chunks/C5EI77dn.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/C5EI77dn.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{BplpI4py.js → CMRs-cy6.js} +1 -1
  24. package/build/client/_app/immutable/chunks/CMRs-cy6.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/CMRs-cy6.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/D6NbA5vY.js +3 -0
  27. package/build/client/_app/immutable/chunks/D6NbA5vY.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/D6NbA5vY.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/lIgyewlB.js +1 -0
  30. package/build/client/_app/immutable/chunks/lIgyewlB.js.br +2 -0
  31. package/build/client/_app/immutable/chunks/lIgyewlB.js.gz +0 -0
  32. package/build/client/_app/immutable/entry/{app.CvJhqOWB.js → app.D4HjSNXN.js} +2 -2
  33. package/build/client/_app/immutable/entry/app.D4HjSNXN.js.br +0 -0
  34. package/build/client/_app/immutable/entry/app.D4HjSNXN.js.gz +0 -0
  35. package/build/client/_app/immutable/entry/start.BBmWGrcI.js +1 -0
  36. package/build/client/_app/immutable/entry/start.BBmWGrcI.js.br +0 -0
  37. package/build/client/_app/immutable/entry/start.BBmWGrcI.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{1.CkZ-UG6X.js → 1.Cv1FI9RA.js} +1 -1
  39. package/build/client/_app/immutable/nodes/1.Cv1FI9RA.js.br +2 -0
  40. package/build/client/_app/immutable/nodes/1.Cv1FI9RA.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/10.CqffShhl.js +3 -0
  42. package/build/client/_app/immutable/nodes/10.CqffShhl.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/10.CqffShhl.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{3.BtPTs7lf.js → 3.BkI3j43n.js} +1 -1
  45. package/build/client/_app/immutable/nodes/3.BkI3j43n.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/3.BkI3j43n.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/4.0ZfV2HFJ.js +120 -0
  48. package/build/client/_app/immutable/nodes/4.0ZfV2HFJ.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/4.0ZfV2HFJ.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{5.CQID4Lcc.js → 5.B_jsAXs5.js} +1 -1
  51. package/build/client/_app/immutable/nodes/5.B_jsAXs5.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/5.B_jsAXs5.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/{6.BkC_Qb-V.js → 6.CD18u_qC.js} +1 -1
  54. package/build/client/_app/immutable/nodes/6.CD18u_qC.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/6.CD18u_qC.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/{7.C_moEri9.js → 7.BXyjSbT8.js} +1 -1
  57. package/build/client/_app/immutable/nodes/7.BXyjSbT8.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/7.BXyjSbT8.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/{8.CPQQ7-ZY.js → 8.CDTwcjzi.js} +1 -1
  60. package/build/client/_app/immutable/nodes/8.CDTwcjzi.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/8.CDTwcjzi.js.gz +0 -0
  62. package/build/client/_app/immutable/nodes/9.CBG9N3Ki.js +6 -0
  63. package/build/client/_app/immutable/nodes/9.CBG9N3Ki.js.br +0 -0
  64. package/build/client/_app/immutable/nodes/9.CBG9N3Ki.js.gz +0 -0
  65. package/build/client/_app/version.json +1 -1
  66. package/build/client/_app/version.json.br +1 -1
  67. package/build/client/_app/version.json.gz +0 -0
  68. package/build/server/chunks/{0-WMKdOxQY.js → 0-u2E6UMPO.js} +3 -3
  69. package/build/server/chunks/{0-WMKdOxQY.js.map → 0-u2E6UMPO.js.map} +1 -1
  70. package/build/server/chunks/1-CVcQJtBc.js +9 -0
  71. package/build/server/chunks/{1-DUa0GF3v.js.map → 1-CVcQJtBc.js.map} +1 -1
  72. package/build/server/chunks/10-W-ONZquv.js +69 -0
  73. package/build/server/chunks/10-W-ONZquv.js.map +1 -0
  74. package/build/server/chunks/{3-D50EGd7q.js → 3-DfK6WkJn.js} +3 -3
  75. package/build/server/chunks/3-DfK6WkJn.js.map +1 -0
  76. package/build/server/chunks/4-CTyDAO7N.js +9 -0
  77. package/build/server/chunks/4-CTyDAO7N.js.map +1 -0
  78. package/build/server/chunks/{5-C1m-Jk_l.js → 5-BXILJ_BC.js} +3 -3
  79. package/build/server/chunks/{5-C1m-Jk_l.js.map → 5-BXILJ_BC.js.map} +1 -1
  80. package/build/server/chunks/{6-BxTOxlzm.js → 6-HdFbhR1m.js} +3 -3
  81. package/build/server/chunks/{6-BxTOxlzm.js.map → 6-HdFbhR1m.js.map} +1 -1
  82. package/build/server/chunks/7-k9H-eD_d.js +9 -0
  83. package/build/server/chunks/{7-CiVEK5n0.js.map → 7-k9H-eD_d.js.map} +1 -1
  84. package/build/server/chunks/{8-Bpnku7ab.js → 8-CQmCVu_8.js} +3 -3
  85. package/build/server/chunks/{8-Bpnku7ab.js.map → 8-CQmCVu_8.js.map} +1 -1
  86. package/build/server/chunks/9-CfObyXK7.js +9 -0
  87. package/build/server/chunks/9-CfObyXK7.js.map +1 -0
  88. package/build/server/chunks/{ChatMessage-BHIBUzrd.js → ChatMessage-DfLmvrJq.js} +2 -2
  89. package/build/server/chunks/{ChatMessage-BHIBUzrd.js.map → ChatMessage-DfLmvrJq.js.map} +1 -1
  90. package/build/server/chunks/{Navbar-CHNgBXIf.js → Navbar-Dnxvfk10.js} +3 -3
  91. package/build/server/chunks/Navbar-Dnxvfk10.js.map +1 -0
  92. package/build/server/chunks/{_page.svelte-CLA0ELRQ.js → _page.svelte-BsDNnBfz.js} +379 -26
  93. package/build/server/chunks/_page.svelte-BsDNnBfz.js.map +1 -0
  94. package/build/server/chunks/{_page.svelte-Bo_k7Yp9.js → _page.svelte-CigItPjU.js} +9 -45
  95. package/build/server/chunks/_page.svelte-CigItPjU.js.map +1 -0
  96. package/build/server/chunks/{_page.svelte-D1_skK9H.js → _page.svelte-CqkvpyUV.js} +3 -3
  97. package/build/server/chunks/{_page.svelte-D1_skK9H.js.map → _page.svelte-CqkvpyUV.js.map} +1 -1
  98. package/build/server/chunks/_page.svelte-CrROmg04.js +35 -0
  99. package/build/server/chunks/_page.svelte-CrROmg04.js.map +1 -0
  100. package/build/server/chunks/{_page.svelte-BEfqZueO.js → _page.svelte-DMBLB7p4.js} +5 -5
  101. package/build/server/chunks/_page.svelte-DMBLB7p4.js.map +1 -0
  102. package/build/server/chunks/{_page.svelte-DqPyVIwk.js → _page.svelte-Dea_LGsw.js} +5 -5
  103. package/build/server/chunks/{_page.svelte-DqPyVIwk.js.map → _page.svelte-Dea_LGsw.js.map} +1 -1
  104. package/build/server/chunks/{_page.svelte-DAOv8x_O.js → _page.svelte-DnHQefg6.js} +6 -6
  105. package/build/server/chunks/_page.svelte-DnHQefg6.js.map +1 -0
  106. package/build/server/chunks/{_server.ts-DKCYV7cA.js → _server.ts--ZXHd_7G.js} +8 -6
  107. package/build/server/chunks/{_server.ts-DKCYV7cA.js.map → _server.ts--ZXHd_7G.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-oR5F0ndN.js → _server.ts-0B6ETUr-.js} +7 -5
  109. package/build/server/chunks/_server.ts-0B6ETUr-.js.map +1 -0
  110. package/build/server/chunks/{_server.ts-D__yhafj.js → _server.ts-ALC_q9Pv.js} +10 -8
  111. package/build/server/chunks/_server.ts-ALC_q9Pv.js.map +1 -0
  112. package/build/server/chunks/{_server.ts-atTSaGh1.js → _server.ts-B1yfYKPg.js} +7 -5
  113. package/build/server/chunks/_server.ts-B1yfYKPg.js.map +1 -0
  114. package/build/server/chunks/{_server.ts-BRMeIbO9.js → _server.ts-B2osMaU8.js} +7 -5
  115. package/build/server/chunks/_server.ts-B2osMaU8.js.map +1 -0
  116. package/build/server/chunks/{_server.ts-CIf-kHdw.js → _server.ts-B409KD6U.js} +7 -5
  117. package/build/server/chunks/_server.ts-B409KD6U.js.map +1 -0
  118. package/build/server/chunks/{_server.ts-Lvr38bTh.js → _server.ts-B5hR6mRJ.js} +4 -3
  119. package/build/server/chunks/{_server.ts-Lvr38bTh.js.map → _server.ts-B5hR6mRJ.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-7sbbhwIJ.js → _server.ts-BCfPFzEV.js} +22 -17
  121. package/build/server/chunks/_server.ts-BCfPFzEV.js.map +1 -0
  122. package/build/server/chunks/{_server.ts-DkPNdshV.js → _server.ts-BEdChB0B.js} +7 -5
  123. package/build/server/chunks/_server.ts-BEdChB0B.js.map +1 -0
  124. package/build/server/chunks/{_server.ts-BYVcXj0z.js → _server.ts-BL9qmwrJ.js} +50 -5
  125. package/build/server/chunks/_server.ts-BL9qmwrJ.js.map +1 -0
  126. package/build/server/chunks/{_server.ts-DCSE5HH9.js → _server.ts-BOYEjBGJ.js} +9 -7
  127. package/build/server/chunks/_server.ts-BOYEjBGJ.js.map +1 -0
  128. package/build/server/chunks/{_server.ts-C25ID2Ds.js → _server.ts-BP1-cpdO.js} +8 -6
  129. package/build/server/chunks/{_server.ts-C25ID2Ds.js.map → _server.ts-BP1-cpdO.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-CNgRWhGz.js → _server.ts-BVQjwsMp.js} +7 -5
  131. package/build/server/chunks/{_server.ts-CNgRWhGz.js.map → _server.ts-BVQjwsMp.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-DNehZ4Dq.js → _server.ts-BX19lZQE.js} +7 -5
  133. package/build/server/chunks/{_server.ts-DNehZ4Dq.js.map → _server.ts-BX19lZQE.js.map} +1 -1
  134. package/build/server/chunks/_server.ts-BaCAfVqq.js +41 -0
  135. package/build/server/chunks/_server.ts-BaCAfVqq.js.map +1 -0
  136. package/build/server/chunks/{_server.ts-Ro0pdSG-.js → _server.ts-BfRDa9Ak.js} +7 -5
  137. package/build/server/chunks/_server.ts-BfRDa9Ak.js.map +1 -0
  138. package/build/server/chunks/{_server.ts-BljWPM83.js → _server.ts-BfpKWyaE.js} +7 -5
  139. package/build/server/chunks/_server.ts-BfpKWyaE.js.map +1 -0
  140. package/build/server/chunks/_server.ts-BmQi3d-p.js +50 -0
  141. package/build/server/chunks/_server.ts-BmQi3d-p.js.map +1 -0
  142. package/build/server/chunks/{_server.ts-D_CnUPkK.js → _server.ts-Bs3oAE6C.js} +7 -5
  143. package/build/server/chunks/_server.ts-Bs3oAE6C.js.map +1 -0
  144. package/build/server/chunks/{_server.ts-Czpq8s6u.js → _server.ts-BsgERSUa.js} +16 -14
  145. package/build/server/chunks/_server.ts-BsgERSUa.js.map +1 -0
  146. package/build/server/chunks/{_server.ts-ve3vu4qb.js → _server.ts-Bu5_FYA-.js} +7 -5
  147. package/build/server/chunks/_server.ts-Bu5_FYA-.js.map +1 -0
  148. package/build/server/chunks/{_server.ts-BMVMgjjP.js → _server.ts-BzEFvvlp.js} +9 -7
  149. package/build/server/chunks/{_server.ts-BMVMgjjP.js.map → _server.ts-BzEFvvlp.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-Yr37THbf.js → _server.ts-C2oIwHOm.js} +7 -5
  151. package/build/server/chunks/{_server.ts-Yr37THbf.js.map → _server.ts-C2oIwHOm.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-CosA5eNc.js → _server.ts-C40BmZoV.js} +7 -5
  153. package/build/server/chunks/_server.ts-C40BmZoV.js.map +1 -0
  154. package/build/server/chunks/{_server.ts-jJDzcwxi.js → _server.ts-CB1MjjTN.js} +9 -7
  155. package/build/server/chunks/_server.ts-CB1MjjTN.js.map +1 -0
  156. package/build/server/chunks/{_server.ts-CrxFegEr.js → _server.ts-CERCOBc3.js} +7 -5
  157. package/build/server/chunks/_server.ts-CERCOBc3.js.map +1 -0
  158. package/build/server/chunks/{_server.ts-CTTmVvXF.js → _server.ts-CGlVN30h.js} +7 -5
  159. package/build/server/chunks/_server.ts-CGlVN30h.js.map +1 -0
  160. package/build/server/chunks/{_server.ts-BRx0eMUC.js → _server.ts-CHC5iyoo.js} +7 -5
  161. package/build/server/chunks/_server.ts-CHC5iyoo.js.map +1 -0
  162. package/build/server/chunks/{_server.ts-CqgWbZJS.js → _server.ts-CI29Cyri.js} +8 -6
  163. package/build/server/chunks/_server.ts-CI29Cyri.js.map +1 -0
  164. package/build/server/chunks/{_server.ts-Cf18QJ0U.js → _server.ts-CPzXJpes.js} +8 -6
  165. package/build/server/chunks/_server.ts-CPzXJpes.js.map +1 -0
  166. package/build/server/chunks/{_server.ts-DCDfTBwU.js → _server.ts-CSZz4p8L.js} +7 -5
  167. package/build/server/chunks/_server.ts-CSZz4p8L.js.map +1 -0
  168. package/build/server/chunks/{_server.ts-CxEzeqf_.js → _server.ts-CW_MqxCL.js} +9 -7
  169. package/build/server/chunks/_server.ts-CW_MqxCL.js.map +1 -0
  170. package/build/server/chunks/{_server.ts-BjHba4db.js → _server.ts-CcKpUv9a.js} +7 -5
  171. package/build/server/chunks/_server.ts-CcKpUv9a.js.map +1 -0
  172. package/build/server/chunks/{_server.ts-DYzS6l9L.js → _server.ts-CfZXoUH1.js} +7 -5
  173. package/build/server/chunks/_server.ts-CfZXoUH1.js.map +1 -0
  174. package/build/server/chunks/{_server.ts-DRtfz2MH.js → _server.ts-Cg_nVcGe.js} +8 -6
  175. package/build/server/chunks/_server.ts-Cg_nVcGe.js.map +1 -0
  176. package/build/server/chunks/{_server.ts-Dnl_--6H.js → _server.ts-Ckf8jQdl.js} +8 -6
  177. package/build/server/chunks/{_server.ts-Dnl_--6H.js.map → _server.ts-Ckf8jQdl.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-Brd-UhLJ.js → _server.ts-Cl0rLFUw.js} +8 -6
  179. package/build/server/chunks/{_server.ts-Brd-UhLJ.js.map → _server.ts-Cl0rLFUw.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-CydJkxqH.js → _server.ts-ComhXvuD.js} +7 -5
  181. package/build/server/chunks/_server.ts-ComhXvuD.js.map +1 -0
  182. package/build/server/chunks/_server.ts-Cya45Eco.js +36 -0
  183. package/build/server/chunks/_server.ts-Cya45Eco.js.map +1 -0
  184. package/build/server/chunks/{_server.ts-CzsTFGFb.js → _server.ts-D1dT173b.js} +7 -5
  185. package/build/server/chunks/_server.ts-D1dT173b.js.map +1 -0
  186. package/build/server/chunks/{_server.ts-DuMubVfl.js → _server.ts-D1v6AXVY.js} +4 -3
  187. package/build/server/chunks/_server.ts-D1v6AXVY.js.map +1 -0
  188. package/build/server/chunks/{_server.ts-DxHIA_Rr.js → _server.ts-D2YDAvSW.js} +7 -5
  189. package/build/server/chunks/_server.ts-D2YDAvSW.js.map +1 -0
  190. package/build/server/chunks/{_server.ts-Adn-DdpI.js → _server.ts-D30T84pQ.js} +7 -5
  191. package/build/server/chunks/_server.ts-D30T84pQ.js.map +1 -0
  192. package/build/server/chunks/{_server.ts-BKTLNDmT.js → _server.ts-D47IinIP.js} +13 -25
  193. package/build/server/chunks/_server.ts-D47IinIP.js.map +1 -0
  194. package/build/server/chunks/{_server.ts-CfeJ2lFS.js → _server.ts-D4lQjUia.js} +9 -7
  195. package/build/server/chunks/{_server.ts-CfeJ2lFS.js.map → _server.ts-D4lQjUia.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-ChMZ5tdq.js → _server.ts-D53Q4y2U.js} +7 -5
  197. package/build/server/chunks/_server.ts-D53Q4y2U.js.map +1 -0
  198. package/build/server/chunks/{_server.ts-D3sEN-0K.js → _server.ts-DESj9ag6.js} +23 -14
  199. package/build/server/chunks/_server.ts-DESj9ag6.js.map +1 -0
  200. package/build/server/chunks/{_server.ts-6x0IrmfD.js → _server.ts-DErSZ0aB.js} +4 -3
  201. package/build/server/chunks/_server.ts-DErSZ0aB.js.map +1 -0
  202. package/build/server/chunks/{_server.ts-GR8XZaCp.js → _server.ts-DFfzCkBR.js} +7 -5
  203. package/build/server/chunks/_server.ts-DFfzCkBR.js.map +1 -0
  204. package/build/server/chunks/{_server.ts-C6hPARrn.js → _server.ts-DGkBTOLd.js} +7 -5
  205. package/build/server/chunks/_server.ts-DGkBTOLd.js.map +1 -0
  206. package/build/server/chunks/_server.ts-DJ8dviE4.js +40 -0
  207. package/build/server/chunks/_server.ts-DJ8dviE4.js.map +1 -0
  208. package/build/server/chunks/{_server.ts-B8D9bzxZ.js → _server.ts-DMNpdAr1.js} +7 -5
  209. package/build/server/chunks/_server.ts-DMNpdAr1.js.map +1 -0
  210. package/build/server/chunks/{_server.ts-DFlWDerb.js → _server.ts-DSn8PZs3.js} +11 -9
  211. package/build/server/chunks/_server.ts-DSn8PZs3.js.map +1 -0
  212. package/build/server/chunks/{_server.ts-B0Mco4CF.js → _server.ts-DUJObAJG.js} +8 -6
  213. package/build/server/chunks/_server.ts-DUJObAJG.js.map +1 -0
  214. package/build/server/chunks/_server.ts-DYU3yoaF.js +62 -0
  215. package/build/server/chunks/_server.ts-DYU3yoaF.js.map +1 -0
  216. package/build/server/chunks/{_server.ts-CLnVD1ol.js → _server.ts-Dbczo4Pv.js} +3 -2
  217. package/build/server/chunks/_server.ts-Dbczo4Pv.js.map +1 -0
  218. package/build/server/chunks/{_server.ts-NxCB35yu.js → _server.ts-Dbnh0OAK.js} +7 -5
  219. package/build/server/chunks/{_server.ts-NxCB35yu.js.map → _server.ts-Dbnh0OAK.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-DRP9GnjO.js → _server.ts-Df_d0aal.js} +7 -5
  221. package/build/server/chunks/_server.ts-Df_d0aal.js.map +1 -0
  222. package/build/server/chunks/{_server.ts-BW8WG_zO.js → _server.ts-DhF_U44B.js} +7 -5
  223. package/build/server/chunks/{_server.ts-BW8WG_zO.js.map → _server.ts-DhF_U44B.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-YXu1Ll0m.js → _server.ts-DjPUN7lf.js} +7 -5
  225. package/build/server/chunks/_server.ts-DjPUN7lf.js.map +1 -0
  226. package/build/server/chunks/{_server.ts-DdmosErD.js → _server.ts-Dr56nQwT.js} +7 -5
  227. package/build/server/chunks/_server.ts-Dr56nQwT.js.map +1 -0
  228. package/build/server/chunks/{_server.ts-kT0aEfNc.js → _server.ts-DsXYP4wI.js} +7 -5
  229. package/build/server/chunks/_server.ts-DsXYP4wI.js.map +1 -0
  230. package/build/server/chunks/{_server.ts-9X9GboOx.js → _server.ts-Dsl30Kqm.js} +7 -5
  231. package/build/server/chunks/{_server.ts-9X9GboOx.js.map → _server.ts-Dsl30Kqm.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-DnveUL19.js → _server.ts-DtJPTK6T.js} +7 -5
  233. package/build/server/chunks/{_server.ts-DnveUL19.js.map → _server.ts-DtJPTK6T.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-BE_vE72K.js → _server.ts-Dwhv7KnR.js} +8 -6
  235. package/build/server/chunks/{_server.ts-BE_vE72K.js.map → _server.ts-Dwhv7KnR.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-DlF8VdRG.js → _server.ts-DzFK8bVm.js} +7 -5
  237. package/build/server/chunks/_server.ts-DzFK8bVm.js.map +1 -0
  238. package/build/server/chunks/{_server.ts-B4XJRWmg.js → _server.ts-JWoayilI.js} +7 -5
  239. package/build/server/chunks/{_server.ts-B4XJRWmg.js.map → _server.ts-JWoayilI.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-ClPu8Rkm.js → _server.ts-LS-MWWTz.js} +8 -6
  241. package/build/server/chunks/{_server.ts-ClPu8Rkm.js.map → _server.ts-LS-MWWTz.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-Pe6f27yp.js → _server.ts-MPKhnT_9.js} +7 -5
  243. package/build/server/chunks/{_server.ts-Pe6f27yp.js.map → _server.ts-MPKhnT_9.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-Db3C73DS.js → _server.ts-Ou4LHoL0.js} +7 -5
  245. package/build/server/chunks/{_server.ts-Db3C73DS.js.map → _server.ts-Ou4LHoL0.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-DKG4AeRF.js → _server.ts-WQLovWTW.js} +8 -6
  247. package/build/server/chunks/_server.ts-WQLovWTW.js.map +1 -0
  248. package/build/server/chunks/{_server.ts-U5GFn5_3.js → _server.ts-YGPIKWu1.js} +7 -5
  249. package/build/server/chunks/{_server.ts-U5GFn5_3.js.map → _server.ts-YGPIKWu1.js.map} +1 -1
  250. package/build/server/chunks/{_server.ts-D_YIlUj0.js → _server.ts-Z6Jl5czR.js} +7 -5
  251. package/build/server/chunks/_server.ts-Z6Jl5czR.js.map +1 -0
  252. package/build/server/chunks/{_server.ts-Az776yqU.js → _server.ts-anQxgBbg.js} +7 -5
  253. package/build/server/chunks/{_server.ts-Az776yqU.js.map → _server.ts-anQxgBbg.js.map} +1 -1
  254. package/build/server/chunks/{_server.ts-DVSzfbvS.js → _server.ts-b0eG_upf.js} +7 -5
  255. package/build/server/chunks/{_server.ts-DVSzfbvS.js.map → _server.ts-b0eG_upf.js.map} +1 -1
  256. package/build/server/chunks/{_server.ts-2L3QS1hC.js → _server.ts-gBd2rolQ.js} +7 -5
  257. package/build/server/chunks/_server.ts-gBd2rolQ.js.map +1 -0
  258. package/build/server/chunks/{_server.ts-CMpjAvc7.js → _server.ts-keJe--oH.js} +44 -24
  259. package/build/server/chunks/_server.ts-keJe--oH.js.map +1 -0
  260. package/build/server/chunks/{_server.ts-Bj-aBJk7.js → _server.ts-tSnumHIh.js} +7 -5
  261. package/build/server/chunks/_server.ts-tSnumHIh.js.map +1 -0
  262. package/build/server/chunks/{_server.ts-CrqxuI7F.js → _server.ts-tVOMHVfT.js} +8 -6
  263. package/build/server/chunks/{_server.ts-CrqxuI7F.js.map → _server.ts-tVOMHVfT.js.map} +1 -1
  264. package/build/server/chunks/{_server.ts-DaEP8BBJ.js → _server.ts-vz7XppYp.js} +7 -5
  265. package/build/server/chunks/_server.ts-vz7XppYp.js.map +1 -0
  266. package/build/server/chunks/{_server.ts-X5JJ8ArH.js → _server.ts-xxCrP77n.js} +7 -5
  267. package/build/server/chunks/_server.ts-xxCrP77n.js.map +1 -0
  268. package/build/server/chunks/{addon-helpers-BvyuEly-.js → addon-helpers-CNp09lT6.js} +3 -3
  269. package/build/server/chunks/addon-helpers-CNp09lT6.js.map +1 -0
  270. package/build/server/chunks/{akm-DoHUKzR0.js → akm-Du5uQGJQ.js} +3 -2
  271. package/build/server/chunks/akm-Du5uQGJQ.js.map +1 -0
  272. package/build/server/chunks/{_server.ts-C8z34WB4.js → catalog-VJdRC16s.js} +46 -34
  273. package/build/server/chunks/catalog-VJdRC16s.js.map +1 -0
  274. package/build/server/chunks/{client-Cjb8uvpz.js → client-BQEOyapc.js} +2 -2
  275. package/build/server/chunks/{client-Cjb8uvpz.js.map → client-BQEOyapc.js.map} +1 -1
  276. package/build/server/chunks/{config-Bonsx0Rw.js → config-VQx1c1o2.js} +2 -2
  277. package/build/server/chunks/{config-Bonsx0Rw.js.map → config-VQx1c1o2.js.map} +1 -1
  278. package/build/server/chunks/{docker-DUcl5Nd3.js → docker-DeSRsk_C.js} +2 -2
  279. package/build/server/chunks/docker-DeSRsk_C.js.map +1 -0
  280. package/build/server/chunks/{endpoints-Crjg6AFu.js → endpoints-CVaZyXGR.js} +56 -23
  281. package/build/server/chunks/endpoints-CVaZyXGR.js.map +1 -0
  282. package/build/server/chunks/{environment-OK7MYhly.js → environment-BTWh1E9j.js} +2 -2
  283. package/build/server/chunks/{environment-OK7MYhly.js.map → environment-BTWh1E9j.js.map} +1 -1
  284. package/build/server/chunks/{error.svelte-CZS56Lew.js → error.svelte-Cz7XJbXh.js} +4 -4
  285. package/build/server/chunks/error.svelte-Cz7XJbXh.js.map +1 -0
  286. package/build/server/chunks/{helpers-BQ_IzT4l.js → helpers-DEWuEDi5.js} +3 -3
  287. package/build/server/chunks/helpers-DEWuEDi5.js.map +1 -0
  288. package/build/server/chunks/{hooks.server-DauSX3Qa.js → hooks.server-D_p0VTSA.js} +59 -8
  289. package/build/server/chunks/hooks.server-D_p0VTSA.js.map +1 -0
  290. package/build/server/chunks/{http-CW8qaRto.js → http-Bz9VDTR1.js} +2 -2
  291. package/build/server/chunks/{http-CW8qaRto.js.map → http-Bz9VDTR1.js.map} +1 -1
  292. package/build/server/chunks/{internal-CU62uCyK.js → internal-CXonuT4k.js} +3 -3
  293. package/build/server/chunks/{internal-CU62uCyK.js.map → internal-CXonuT4k.js.map} +1 -1
  294. package/build/server/chunks/provider-constants-DPrj3yBX.js +63 -0
  295. package/build/server/chunks/provider-constants-DPrj3yBX.js.map +1 -0
  296. package/build/server/chunks/{session-cookie-C4Vsx_M2.js → session-cookie-CQw8e0tc.js} +2 -2
  297. package/build/server/chunks/{session-cookie-C4Vsx_M2.js.map → session-cookie-CQw8e0tc.js.map} +1 -1
  298. package/build/server/chunks/setup-deploy-BBl1pM-Q.js +75 -0
  299. package/build/server/chunks/setup-deploy-BBl1pM-Q.js.map +1 -0
  300. package/build/server/chunks/{src-D4RUgmPp.js → src-CHZNd5cO.js} +2545 -1612
  301. package/build/server/chunks/src-CHZNd5cO.js.map +1 -0
  302. package/build/server/chunks/state-BcQ5v_Ye.js +27 -0
  303. package/build/server/chunks/state-BcQ5v_Ye.js.map +1 -0
  304. package/build/server/chunks/{state-Di9Aippp.js → state2-CGTr4dHs.js} +2 -2
  305. package/build/server/chunks/state2-CGTr4dHs.js.map +1 -0
  306. package/build/server/index.js +2 -2
  307. package/build/server/manifest.js +119 -90
  308. package/build/server/manifest.js.map +1 -1
  309. package/package.json +2 -2
  310. package/build/client/_app/immutable/assets/0.Cg_kDPOD.css +0 -1
  311. package/build/client/_app/immutable/assets/0.Cg_kDPOD.css.br +0 -0
  312. package/build/client/_app/immutable/assets/0.Cg_kDPOD.css.gz +0 -0
  313. package/build/client/_app/immutable/assets/4.DuxrEHWs.css +0 -1
  314. package/build/client/_app/immutable/assets/4.DuxrEHWs.css.br +0 -0
  315. package/build/client/_app/immutable/assets/4.DuxrEHWs.css.gz +0 -0
  316. package/build/client/_app/immutable/assets/9.BqmkXh6u.css +0 -1
  317. package/build/client/_app/immutable/assets/9.BqmkXh6u.css.br +0 -0
  318. package/build/client/_app/immutable/assets/9.BqmkXh6u.css.gz +0 -0
  319. package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css +0 -1
  320. package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css.br +0 -0
  321. package/build/client/_app/immutable/assets/VoiceProfileSelector.rd8K9qqK.css.gz +0 -0
  322. package/build/client/_app/immutable/chunks/2ZMOX13V.js.br +0 -0
  323. package/build/client/_app/immutable/chunks/2ZMOX13V.js.gz +0 -0
  324. package/build/client/_app/immutable/chunks/BE96pGoc.js +0 -3
  325. package/build/client/_app/immutable/chunks/BE96pGoc.js.br +0 -0
  326. package/build/client/_app/immutable/chunks/BE96pGoc.js.gz +0 -0
  327. package/build/client/_app/immutable/chunks/BWN4X0zs.js.br +0 -0
  328. package/build/client/_app/immutable/chunks/BWN4X0zs.js.gz +0 -0
  329. package/build/client/_app/immutable/chunks/BplpI4py.js.br +0 -0
  330. package/build/client/_app/immutable/chunks/BplpI4py.js.gz +0 -0
  331. package/build/client/_app/immutable/chunks/CVdeYz6v.js +0 -1
  332. package/build/client/_app/immutable/chunks/CVdeYz6v.js.br +0 -0
  333. package/build/client/_app/immutable/chunks/CVdeYz6v.js.gz +0 -0
  334. package/build/client/_app/immutable/chunks/p0W0xTr8.js +0 -1
  335. package/build/client/_app/immutable/chunks/p0W0xTr8.js.br +0 -2
  336. package/build/client/_app/immutable/chunks/p0W0xTr8.js.gz +0 -0
  337. package/build/client/_app/immutable/entry/app.CvJhqOWB.js.br +0 -0
  338. package/build/client/_app/immutable/entry/app.CvJhqOWB.js.gz +0 -0
  339. package/build/client/_app/immutable/entry/start.Buubqkoa.js +0 -1
  340. package/build/client/_app/immutable/entry/start.Buubqkoa.js.br +0 -1
  341. package/build/client/_app/immutable/entry/start.Buubqkoa.js.gz +0 -0
  342. package/build/client/_app/immutable/nodes/1.CkZ-UG6X.js.br +0 -4
  343. package/build/client/_app/immutable/nodes/1.CkZ-UG6X.js.gz +0 -0
  344. package/build/client/_app/immutable/nodes/3.BtPTs7lf.js.br +0 -0
  345. package/build/client/_app/immutable/nodes/3.BtPTs7lf.js.gz +0 -0
  346. package/build/client/_app/immutable/nodes/4.DZOzJf5N.js +0 -120
  347. package/build/client/_app/immutable/nodes/4.DZOzJf5N.js.br +0 -0
  348. package/build/client/_app/immutable/nodes/4.DZOzJf5N.js.gz +0 -0
  349. package/build/client/_app/immutable/nodes/5.CQID4Lcc.js.br +0 -0
  350. package/build/client/_app/immutable/nodes/5.CQID4Lcc.js.gz +0 -0
  351. package/build/client/_app/immutable/nodes/6.BkC_Qb-V.js.br +0 -0
  352. package/build/client/_app/immutable/nodes/6.BkC_Qb-V.js.gz +0 -0
  353. package/build/client/_app/immutable/nodes/7.C_moEri9.js.br +0 -0
  354. package/build/client/_app/immutable/nodes/7.C_moEri9.js.gz +0 -0
  355. package/build/client/_app/immutable/nodes/8.CPQQ7-ZY.js.br +0 -0
  356. package/build/client/_app/immutable/nodes/8.CPQQ7-ZY.js.gz +0 -0
  357. package/build/client/_app/immutable/nodes/9.BhpjEFrE.js +0 -5
  358. package/build/client/_app/immutable/nodes/9.BhpjEFrE.js.br +0 -0
  359. package/build/client/_app/immutable/nodes/9.BhpjEFrE.js.gz +0 -0
  360. package/build/client/setup/wizard.css +0 -1509
  361. package/build/client/setup/wizard.css.br +0 -0
  362. package/build/client/setup/wizard.css.gz +0 -0
  363. package/build/server/chunks/1-DUa0GF3v.js +0 -9
  364. package/build/server/chunks/3-D50EGd7q.js.map +0 -1
  365. package/build/server/chunks/4-CRAGzUQh.js +0 -9
  366. package/build/server/chunks/4-CRAGzUQh.js.map +0 -1
  367. package/build/server/chunks/7-CiVEK5n0.js +0 -9
  368. package/build/server/chunks/9-BjxPEGaS.js +0 -9
  369. package/build/server/chunks/9-BjxPEGaS.js.map +0 -1
  370. package/build/server/chunks/Navbar-CHNgBXIf.js.map +0 -1
  371. package/build/server/chunks/VoiceProfileSelector-Dm9LnnyW.js +0 -306
  372. package/build/server/chunks/VoiceProfileSelector-Dm9LnnyW.js.map +0 -1
  373. package/build/server/chunks/_page.svelte-BEfqZueO.js.map +0 -1
  374. package/build/server/chunks/_page.svelte-Bo_k7Yp9.js.map +0 -1
  375. package/build/server/chunks/_page.svelte-CLA0ELRQ.js.map +0 -1
  376. package/build/server/chunks/_page.svelte-DAOv8x_O.js.map +0 -1
  377. package/build/server/chunks/_server.ts-2L3QS1hC.js.map +0 -1
  378. package/build/server/chunks/_server.ts-6x0IrmfD.js.map +0 -1
  379. package/build/server/chunks/_server.ts-7sbbhwIJ.js.map +0 -1
  380. package/build/server/chunks/_server.ts-Adn-DdpI.js.map +0 -1
  381. package/build/server/chunks/_server.ts-B0Mco4CF.js.map +0 -1
  382. package/build/server/chunks/_server.ts-B8D9bzxZ.js.map +0 -1
  383. package/build/server/chunks/_server.ts-BKTLNDmT.js.map +0 -1
  384. package/build/server/chunks/_server.ts-BRMeIbO9.js.map +0 -1
  385. package/build/server/chunks/_server.ts-BRx0eMUC.js.map +0 -1
  386. package/build/server/chunks/_server.ts-BYVcXj0z.js.map +0 -1
  387. package/build/server/chunks/_server.ts-Bj-aBJk7.js.map +0 -1
  388. package/build/server/chunks/_server.ts-BjHba4db.js.map +0 -1
  389. package/build/server/chunks/_server.ts-BljWPM83.js.map +0 -1
  390. package/build/server/chunks/_server.ts-C6hPARrn.js.map +0 -1
  391. package/build/server/chunks/_server.ts-C8z34WB4.js.map +0 -1
  392. package/build/server/chunks/_server.ts-CHeQUV5e.js +0 -80
  393. package/build/server/chunks/_server.ts-CHeQUV5e.js.map +0 -1
  394. package/build/server/chunks/_server.ts-CIf-kHdw.js.map +0 -1
  395. package/build/server/chunks/_server.ts-CLnVD1ol.js.map +0 -1
  396. package/build/server/chunks/_server.ts-CMpjAvc7.js.map +0 -1
  397. package/build/server/chunks/_server.ts-CTTmVvXF.js.map +0 -1
  398. package/build/server/chunks/_server.ts-Cf18QJ0U.js.map +0 -1
  399. package/build/server/chunks/_server.ts-ChMZ5tdq.js.map +0 -1
  400. package/build/server/chunks/_server.ts-CosA5eNc.js.map +0 -1
  401. package/build/server/chunks/_server.ts-CqgWbZJS.js.map +0 -1
  402. package/build/server/chunks/_server.ts-CrxFegEr.js.map +0 -1
  403. package/build/server/chunks/_server.ts-CxEzeqf_.js.map +0 -1
  404. package/build/server/chunks/_server.ts-CydJkxqH.js.map +0 -1
  405. package/build/server/chunks/_server.ts-Czpq8s6u.js.map +0 -1
  406. package/build/server/chunks/_server.ts-CzsTFGFb.js.map +0 -1
  407. package/build/server/chunks/_server.ts-D3sEN-0K.js.map +0 -1
  408. package/build/server/chunks/_server.ts-DCDfTBwU.js.map +0 -1
  409. package/build/server/chunks/_server.ts-DCSE5HH9.js.map +0 -1
  410. package/build/server/chunks/_server.ts-DFlWDerb.js.map +0 -1
  411. package/build/server/chunks/_server.ts-DKG4AeRF.js.map +0 -1
  412. package/build/server/chunks/_server.ts-DRP9GnjO.js.map +0 -1
  413. package/build/server/chunks/_server.ts-DRtfz2MH.js.map +0 -1
  414. package/build/server/chunks/_server.ts-DYzS6l9L.js.map +0 -1
  415. package/build/server/chunks/_server.ts-D_CnUPkK.js.map +0 -1
  416. package/build/server/chunks/_server.ts-D_YIlUj0.js.map +0 -1
  417. package/build/server/chunks/_server.ts-D__yhafj.js.map +0 -1
  418. package/build/server/chunks/_server.ts-DaEP8BBJ.js.map +0 -1
  419. package/build/server/chunks/_server.ts-DdmosErD.js.map +0 -1
  420. package/build/server/chunks/_server.ts-DkPNdshV.js.map +0 -1
  421. package/build/server/chunks/_server.ts-DlF8VdRG.js.map +0 -1
  422. package/build/server/chunks/_server.ts-DuMubVfl.js.map +0 -1
  423. package/build/server/chunks/_server.ts-DxHIA_Rr.js.map +0 -1
  424. package/build/server/chunks/_server.ts-GR8XZaCp.js.map +0 -1
  425. package/build/server/chunks/_server.ts-Ro0pdSG-.js.map +0 -1
  426. package/build/server/chunks/_server.ts-X5JJ8ArH.js.map +0 -1
  427. package/build/server/chunks/_server.ts-YXu1Ll0m.js.map +0 -1
  428. package/build/server/chunks/_server.ts-atTSaGh1.js.map +0 -1
  429. package/build/server/chunks/_server.ts-jJDzcwxi.js.map +0 -1
  430. package/build/server/chunks/_server.ts-kT0aEfNc.js.map +0 -1
  431. package/build/server/chunks/_server.ts-oR5F0ndN.js.map +0 -1
  432. package/build/server/chunks/_server.ts-ve3vu4qb.js.map +0 -1
  433. package/build/server/chunks/addon-helpers-BvyuEly-.js.map +0 -1
  434. package/build/server/chunks/akm-DoHUKzR0.js.map +0 -1
  435. package/build/server/chunks/docker-DUcl5Nd3.js.map +0 -1
  436. package/build/server/chunks/endpoints-Crjg6AFu.js.map +0 -1
  437. package/build/server/chunks/error.svelte-CZS56Lew.js.map +0 -1
  438. package/build/server/chunks/helpers-BQ_IzT4l.js.map +0 -1
  439. package/build/server/chunks/hooks.server-DauSX3Qa.js.map +0 -1
  440. package/build/server/chunks/setup-deploy-DvvlcGX4.js +0 -525
  441. package/build/server/chunks/setup-deploy-DvvlcGX4.js.map +0 -1
  442. package/build/server/chunks/src-D4RUgmPp.js.map +0 -1
  443. package/build/server/chunks/state-Di9Aippp.js.map +0 -1
  444. /package/build/client/_app/immutable/nodes/{0.BeACmjY0.js → 0.DEcud9DA.js} +0 -0
  445. /package/build/client/_app/immutable/nodes/{0.BeACmjY0.js.br → 0.DEcud9DA.js.br} +0 -0
  446. /package/build/client/_app/immutable/nodes/{0.BeACmjY0.js.gz → 0.DEcud9DA.js.gz} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-WQLovWTW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/health-report/_server.ts.js"],"sourcesContent":["import { t as getState } from \"../../../../../chunks/state.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 @media (prefers-color-scheme: light) {\n :root {\n color-scheme: light;\n --bg: #f9fafb;\n --panel: #ffffff;\n --panel-soft: #f3f4f6;\n --border: rgba(0, 0, 0, 0.1);\n --text: #111827;\n --muted: #6b7280;\n --ok: #16a34a;\n --warn: #d97706;\n --fail: #dc2626;\n --accent: #2563eb;\n }\n body {\n background: radial-gradient(circle at top, #e9f0ff 0%, var(--bg) 55%);\n color: var(--text);\n }\n .hero, .panel {\n background: rgba(255, 255, 255, 0.95);\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);\n }\n .status.ok { color: #15803d; background: rgba(22, 163, 74, 0.1); border-color: rgba(22, 163, 74, 0.3); }\n .status.warn { color: #b45309; background: rgba(217, 119, 6, 0.1); border-color: rgba(217, 119, 6, 0.3); }\n .status.fail { color: #b91c1c; background: rgba(220, 38, 38, 0.1); border-color: rgba(220, 38, 38, 0.3); }\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 REPORT_CSP = [\n\t\"default-src 'none'\",\n\t\"script-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net\",\n\t\"style-src 'unsafe-inline'\",\n\t\"img-src 'self' data:\",\n\t\"font-src 'self' data:\",\n\t\"connect-src 'none'\",\n\t\"object-src 'none'\",\n\t\"base-uri 'none'\",\n\t\"form-action 'none'\",\n\t\"frame-ancestors 'self'\"\n].join(\"; \");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\ttry {\n\t\tconst { html } = await buildAkmHealthReport(getState(), event.url.searchParams.get(\"since\"));\n\t\treturn new Response(html, {\n\t\t\tstatus: 200,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"text/html; charset=utf-8\",\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"content-security-policy\": REPORT_CSP,\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\tconst message = error instanceof Error ? error.message : \"Failed to build AKM health report.\";\n\t\treturn new Response(message, {\n\t\t\tstatus: 500,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"text/plain; charset=utf-8\",\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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A;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;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,E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"}
@@ -1,14 +1,14 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { g as getOpenCodeClient } from './helpers-BQ_IzT4l.js';
2
+ import { g as getOpenCodeClient } from './helpers-DEWuEDi5.js';
3
3
  import './utils-BSRjJDrZ.js';
4
- import './src-D4RUgmPp.js';
4
+ import './src-CHZNd5cO.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
+ import './provider-constants-DPrj3yBX.js';
7
8
  import './dist-DOFcG0Zp.js';
8
9
  import 'node:fs';
9
10
  import 'node:path';
10
11
  import 'buffer';
11
- import 'node:os';
12
12
  import 'fs';
13
13
  import 'path';
14
14
  import 'node:child_process';
@@ -22,7 +22,9 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './endpoints-Crjg6AFu.js';
25
+ import 'node:os';
26
+ import './endpoints-CVaZyXGR.js';
27
+ import './state-BcQ5v_Ye.js';
26
28
 
27
29
  //#region src/routes/api/setup/opencode/provider/[provider]/oauth/callback/+server.ts
28
30
  var PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;
@@ -53,4 +55,4 @@ var POST = async ({ params, request }) => {
53
55
  };
54
56
 
55
57
  export { POST };
56
- //# sourceMappingURL=_server.ts-U5GFn5_3.js.map
58
+ //# sourceMappingURL=_server.ts-YGPIKWu1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-U5GFn5_3.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/provider/_provider_/oauth/callback/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../../../../chunks/exports.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/provider/[provider]/oauth/callback/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar POST = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst body = await request.json();\n\t\tconst method = Number.isInteger(body.method) ? body.method : 0;\n\t\tconst code = typeof body.code === \"string\" ? body.code.slice(0, 1024) : void 0;\n\t\tconst result = await getOpenCodeClient().completeProviderOAuth(params.provider, method, code);\n\t\tif (!result.ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 400 });\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tcomplete: result.data\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;AAChF,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;AAC/F,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC9B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,QAAQ,EAAE,MAAM,CAAC;AACpB,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-YGPIKWu1.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/provider/_provider_/oauth/callback/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../../../../chunks/exports.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/provider/[provider]/oauth/callback/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar POST = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst body = await request.json();\n\t\tconst method = Number.isInteger(body.method) ? body.method : 0;\n\t\tconst code = typeof body.code === \"string\" ? body.code.slice(0, 1024) : void 0;\n\t\tconst result = await getOpenCodeClient().completeProviderOAuth(params.provider, method, code);\n\t\tif (!result.ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 400 });\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tcomplete: result.data\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;AAChF,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;AAC/F,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC9B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,QAAQ,EAAE,MAAM,CAAC;AACpB,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
@@ -1,7 +1,8 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { a5 as isSetupComplete, au as resolveStackDir, G as detectGpu, I as detectLocalProviders, H as detectHostOpenCode, ao as recommendSetup, i as authJsonPath, P as PROVIDER_KEY_MAP } from './src-D4RUgmPp.js';
3
- import { b as getState } from './endpoints-Crjg6AFu.js';
4
- import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-BQ_IzT4l.js';
2
+ import { a as PROVIDER_KEY_MAP } from './provider-constants-DPrj3yBX.js';
3
+ import { aa as isSetupComplete, aD as resolveStackDir, K as detectGpu, N as detectLocalProviders, L as detectHostOpenCode, aw as recommendSetup, i as authJsonPath } from './src-CHZNd5cO.js';
4
+ import { g as getState } from './state-BcQ5v_Ye.js';
5
+ import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-DEWuEDi5.js';
5
6
  import { existsSync, readFileSync } from 'node:fs';
6
7
  import './utils-BSRjJDrZ.js';
7
8
  import './chunk-CLZ62Ad-.js';
@@ -9,7 +10,6 @@ import 'node:module';
9
10
  import './dist-DOFcG0Zp.js';
10
11
  import 'node:path';
11
12
  import 'buffer';
12
- import 'node:os';
13
13
  import 'fs';
14
14
  import 'path';
15
15
  import 'node:child_process';
@@ -23,6 +23,8 @@ import 'assert';
23
23
  import 'zlib';
24
24
  import 'node:assert';
25
25
  import 'node:fs/promises';
26
+ import 'node:os';
27
+ import './endpoints-CVaZyXGR.js';
26
28
 
27
29
  //#region src/routes/api/setup/recommend/+server.ts
28
30
  /** Local providers are detected separately as host providers — exclude from "cloud". */
@@ -95,4 +97,4 @@ var GET = async (event) => {
95
97
  };
96
98
 
97
99
  export { GET };
98
- //# sourceMappingURL=_server.ts-D_YIlUj0.js.map
100
+ //# sourceMappingURL=_server.ts-Z6Jl5czR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-Z6Jl5czR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/recommend/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { i as PROVIDER_KEY_MAP } from \"../../../../../chunks/provider-constants.js\";\nimport { Wt as authJsonPath, Yt as resolveStackDir, c as detectGpu, l as detectLocalProviders, r as detectHostOpenCode, s as recommendSetup, ut as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getOpenCodeClient, d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/recommend/+server.ts\n/** Local providers are detected separately as host providers — exclude from \"cloud\". */\nvar LOCAL_PROVIDER_IDS = new Set([\n\t\"ollama\",\n\t\"lmstudio\",\n\t\"model-runner\",\n\t\"openai-compatible\"\n]);\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\n/** Fallback: providers whose API-key env var is present in the process env. */\nfunction envKeyConnected() {\n\tconst out = [];\n\tfor (const [provider, envVar] of Object.entries(PROVIDER_KEY_MAP)) if (process.env[envVar]) out.push(provider);\n\treturn out;\n}\n/** Cloud providers = OpenCode connected[] ∪ auth.json credentials, minus locals.\n* Falls back to env-key detection when OpenCode is unavailable. */\nasync function detectCloudProviders() {\n\tlet connected = [];\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (await client.isAvailable()) {\n\t\t\tconst catalog = await client.proxy(\"/provider\");\n\t\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\t\tconnected = Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()]));\n\t\t} else connected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t} catch {\n\t\tconnected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t}\n\treturn connected.filter((id) => !LOCAL_PROVIDER_IDS.has(id));\n}\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst [cloudProviders, gpu, localDetections, hostOpenCode] = await Promise.all([\n\t\tdetectCloudProviders(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tPromise.resolve(detectHostOpenCode())\n\t]);\n\tconst hostProviders = localDetections.filter((p) => p.available).map((p) => ({\n\t\tprovider: p.provider,\n\t\turl: p.url\n\t}));\n\treturn json({\n\t\tok: true,\n\t\trecommendation: recommendSetup({\n\t\t\tcloudProviders,\n\t\t\thostProviders,\n\t\t\tgpu,\n\t\t\thostCredentialCount: hostOpenCode.credentialCount\n\t\t}),\n\t\tgpu,\n\t\tcloudProviders,\n\t\thostProviders\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
- import { s as setActiveId } from './endpoints-Crjg6AFu.js';
2
- import { w as withAdminBody, e as errorResponse, k as jsonResponse } from './helpers-BQ_IzT4l.js';
3
- import './src-D4RUgmPp.js';
1
+ import { s as setActiveId } from './endpoints-CVaZyXGR.js';
2
+ import { w as withAdminBody, e as errorResponse, k as jsonResponse } from './helpers-DEWuEDi5.js';
3
+ import './state-BcQ5v_Ye.js';
4
+ import './src-CHZNd5cO.js';
4
5
  import './chunk-CLZ62Ad-.js';
5
6
  import 'node:module';
7
+ import './provider-constants-DPrj3yBX.js';
6
8
  import './dist-DOFcG0Zp.js';
7
9
  import 'node:fs';
8
10
  import 'node:path';
9
11
  import 'buffer';
10
- import 'node:os';
11
12
  import 'fs';
12
13
  import 'path';
13
14
  import 'node:child_process';
@@ -21,6 +22,7 @@ import 'assert';
21
22
  import 'zlib';
22
23
  import 'node:assert';
23
24
  import 'node:fs/promises';
25
+ import 'node:os';
24
26
 
25
27
  //#region src/routes/admin/endpoints/active/+server.ts
26
28
  var POST = async (event) => withAdminBody(event, async ({ requestId, body }) => {
@@ -44,4 +46,4 @@ var POST = async (event) => withAdminBody(event, async ({ requestId, body }) =>
44
46
  });
45
47
 
46
48
  export { POST };
47
- //# sourceMappingURL=_server.ts-Az776yqU.js.map
49
+ //# sourceMappingURL=_server.ts-anQxgBbg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Az776yqU.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/active/_server.ts.js"],"sourcesContent":["import { a as setActiveId } from \"../../../../../chunks/endpoints.js\";\nimport { i as errorResponse, l as jsonResponse, p as withAdminBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/active/+server.ts\nvar POST = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst id = typeof body.id === \"string\" ? body.id : \"\";\n\tif (!id) return errorResponse(400, \"invalid_request\", \"id is required\", {}, requestId);\n\ttry {\n\t\tconst active = setActiveId(id);\n\t\treturn jsonResponse(200, {\n\t\t\tactiveId: active.id,\n\t\t\tendpoint: {\n\t\t\t\tid: active.id,\n\t\t\t\tlabel: active.label,\n\t\t\t\turl: active.url,\n\t\t\t\tisDefault: active.isDefault,\n\t\t\t\thasPassword: Boolean(active.password)\n\t\t\t}\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(404, \"not_found\", e instanceof Error ? e.message : \"failed to set active endpoint\", {}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAChF,CAAC,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE;AACtD,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;AAChC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,QAAQ,EAAE,MAAM,CAAC,EAAE;AACtB,GAAG,QAAQ,EAAE;AACb,IAAI,EAAE,EAAE,MAAM,CAAC,EAAE;AACjB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK;AACvB,IAAI,GAAG,EAAE,MAAM,CAAC,GAAG;AACnB,IAAI,SAAS,EAAE,MAAM,CAAC,SAAS;AAC/B,IAAI,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;AACxC;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,+BAA+B,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC;AACD,CAAC;;;;"}
1
+ {"version":3,"file":"_server.ts-anQxgBbg.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/active/_server.ts.js"],"sourcesContent":["import { o as setActiveId } from \"../../../../../chunks/endpoints.js\";\nimport { i as errorResponse, l as jsonResponse, p as withAdminBody } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/active/+server.ts\nvar POST = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst id = typeof body.id === \"string\" ? body.id : \"\";\n\tif (!id) return errorResponse(400, \"invalid_request\", \"id is required\", {}, requestId);\n\ttry {\n\t\tconst active = setActiveId(id);\n\t\treturn jsonResponse(200, {\n\t\t\tactiveId: active.id,\n\t\t\tendpoint: {\n\t\t\t\tid: active.id,\n\t\t\t\tlabel: active.label,\n\t\t\t\turl: active.url,\n\t\t\t\tisDefault: active.isDefault,\n\t\t\t\thasPassword: Boolean(active.password)\n\t\t\t}\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(404, \"not_found\", e instanceof Error ? e.message : \"failed to set active endpoint\", {}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAChF,CAAC,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE;AACtD,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;AAChC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,QAAQ,EAAE,MAAM,CAAC,EAAE;AACtB,GAAG,QAAQ,EAAE;AACb,IAAI,EAAE,EAAE,MAAM,CAAC,EAAE;AACjB,IAAI,KAAK,EAAE,MAAM,CAAC,KAAK;AACvB,IAAI,GAAG,EAAE,MAAM,CAAC,GAAG;AACnB,IAAI,SAAS,EAAE,MAAM,CAAC,SAAS;AAC/B,IAAI,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;AACxC;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,+BAA+B,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC;AACD,CAAC;;;;"}
@@ -1,12 +1,12 @@
1
- import { k as jsonResponse, d as getRequestId } from './helpers-BQ_IzT4l.js';
2
- import './src-D4RUgmPp.js';
1
+ import { k as jsonResponse, d as getRequestId } from './helpers-DEWuEDi5.js';
2
+ import './src-CHZNd5cO.js';
3
3
  import './chunk-CLZ62Ad-.js';
4
4
  import 'node:module';
5
+ import './provider-constants-DPrj3yBX.js';
5
6
  import './dist-DOFcG0Zp.js';
6
7
  import 'node:fs';
7
8
  import 'node:path';
8
9
  import 'buffer';
9
- import 'node:os';
10
10
  import 'fs';
11
11
  import 'path';
12
12
  import 'node:child_process';
@@ -20,7 +20,9 @@ import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
- import './endpoints-Crjg6AFu.js';
23
+ import 'node:os';
24
+ import './endpoints-CVaZyXGR.js';
25
+ import './state-BcQ5v_Ye.js';
24
26
 
25
27
  //#region src/routes/health/+server.ts
26
28
  var GET = async (event) => {
@@ -31,4 +33,4 @@ var GET = async (event) => {
31
33
  };
32
34
 
33
35
  export { GET };
34
- //# sourceMappingURL=_server.ts-DVSzfbvS.js.map
36
+ //# sourceMappingURL=_server.ts-b0eG_upf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DVSzfbvS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/health/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, o as getRequestId } from \"../../../chunks/helpers.js\";\n//#region src/routes/health/+server.ts\nvar GET = async (event) => {\n\treturn jsonResponse(200, {\n\t\tstatus: \"ok\",\n\t\tservice: \"admin\"\n\t}, getRequestId(event));\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACxB;;;;"}
1
+ {"version":3,"file":"_server.ts-b0eG_upf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/health/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, o as getRequestId } from \"../../../chunks/helpers.js\";\n//#region src/routes/health/+server.ts\nvar GET = async (event) => {\n\treturn jsonResponse(200, {\n\t\tstatus: \"ok\",\n\t\tservice: \"admin\"\n\t}, getRequestId(event));\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACxB;;;;"}
@@ -1,13 +1,14 @@
1
- import { g as getActiveEndpoint, l as listEndpoints, v as validateEndpointUrl, a as addEndpoint } from './endpoints-Crjg6AFu.js';
2
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-BQ_IzT4l.js';
3
- import './src-D4RUgmPp.js';
1
+ import { g as getActiveEndpoint, l as listEndpoints, v as validateEndpointUrl, a as addEndpoint } from './endpoints-CVaZyXGR.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-DEWuEDi5.js';
3
+ import './state-BcQ5v_Ye.js';
4
+ import './src-CHZNd5cO.js';
4
5
  import './chunk-CLZ62Ad-.js';
5
6
  import 'node:module';
7
+ import './provider-constants-DPrj3yBX.js';
6
8
  import './dist-DOFcG0Zp.js';
7
9
  import 'node:fs';
8
10
  import 'node:path';
9
11
  import 'buffer';
10
- import 'node:os';
11
12
  import 'fs';
12
13
  import 'path';
13
14
  import 'node:child_process';
@@ -21,6 +22,7 @@ import 'assert';
21
22
  import 'zlib';
22
23
  import 'node:assert';
23
24
  import 'node:fs/promises';
25
+ import 'node:os';
24
26
 
25
27
  //#region src/routes/admin/endpoints/+server.ts
26
28
  function publish(e) {
@@ -65,4 +67,4 @@ var POST = async (event) => withAdminBody(event, async ({ requestId, body }) =>
65
67
  });
66
68
 
67
69
  export { GET, POST };
68
- //# sourceMappingURL=_server.ts-2L3QS1hC.js.map
70
+ //# sourceMappingURL=_server.ts-gBd2rolQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-gBd2rolQ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_server.ts.js"],"sourcesContent":["import { c as validateEndpointUrl, i as listEndpoints, r as getActiveEndpoint, t as addEndpoint } 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/+server.ts\nfunction publish(e) {\n\treturn {\n\t\tid: e.id,\n\t\tlabel: e.label,\n\t\turl: e.url,\n\t\tisDefault: e.isDefault,\n\t\thasPassword: Boolean(e.password)\n\t};\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, {\n\t\tendpoints: listEndpoints().map(publish),\n\t\tactiveId: publish(getActiveEndpoint()).id\n\t}, requestId);\n};\nvar POST = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst label = typeof body.label === \"string\" ? body.label : \"\";\n\tconst url = typeof body.url === \"string\" ? body.url : \"\";\n\tconst password = typeof body.password === \"string\" && body.password.length > 0 ? body.password : void 0;\n\tconst urlCheck = validateEndpointUrl(url);\n\tif (!urlCheck.ok) {\n\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\treturn errorResponse(400, \"invalid_endpoint\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t}\n\ttry {\n\t\treturn jsonResponse(201, { endpoint: publish({\n\t\t\t...addEndpoint({\n\t\t\t\tlabel,\n\t\t\t\turl: urlCheck.url,\n\t\t\t\tpassword\n\t\t\t}),\n\t\t\tisDefault: false\n\t\t}) }, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(400, \"invalid_endpoint\", e instanceof Error ? e.message : \"failed to create endpoint\", {}, requestId);\n\t}\n});\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,SAAS,OAAO,CAAC,CAAC,EAAE;AACpB,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE;AACV,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;AAChB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG;AACZ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;AACxB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ;AACjC,EAAE;AACF;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;AACzC,EAAE,QAAQ,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACzC,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAChF,CAAC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AAC/D,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;AACzD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM;AACxG,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC;AAC1C,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnB,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,kBAAkB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,gGAAgG,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5M,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,CAAC;AACD,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC/C,GAAG,GAAG,WAAW,CAAC;AAClB,IAAI,KAAK;AACT,IAAI,GAAG,EAAE,QAAQ,CAAC,GAAG;AACrB,IAAI;AACJ,IAAI,CAAC;AACL,GAAG,SAAS,EAAE;AACd,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC;AAClB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,2BAA2B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC;AACD,CAAC;;;;"}
@@ -1,15 +1,15 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { n as checkDocker, o as checkDockerCompose, G as detectGpu, I as detectLocalProviders } from './src-D4RUgmPp.js';
2
+ import { o as checkDocker, p as checkDockerCompose, K as detectGpu, N as detectLocalProviders, O as detectRuntime } from './src-CHZNd5cO.js';
3
3
  import { execFile } from 'node:child_process';
4
4
  import { createServer } from 'node:net';
5
5
  import './utils-BSRjJDrZ.js';
6
6
  import './chunk-CLZ62Ad-.js';
7
7
  import 'node:module';
8
+ import './provider-constants-DPrj3yBX.js';
8
9
  import './dist-DOFcG0Zp.js';
9
10
  import 'node:fs';
10
11
  import 'node:path';
11
12
  import 'buffer';
12
- import 'node:os';
13
13
  import 'fs';
14
14
  import 'path';
15
15
  import 'node:url';
@@ -22,31 +22,38 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
+ import 'node:os';
25
26
 
26
27
  //#region src/routes/api/setup/system-check/+server.ts
27
28
  /**
28
29
  * Returns true when the named port is published by an openpalm-managed
29
30
  * docker container — i.e. it's "in use" but the wizard's install will
30
31
  * either recreate or no-op on the same container, so flagging it as a
31
- * conflict is a false positive. Best-effort: returns false on any
32
- * docker error.
32
+ * conflict is a false positive. Returns `unreachable` when Docker itself
33
+ * cannot be queried, so the caller can degrade this from blocking to warning.
33
34
  */
34
35
  async function portHeldByOurContainer(port) {
35
36
  return new Promise((resolve) => {
36
- execFile("docker", [
37
- "ps",
38
- "--format",
39
- "{{.Names}} {{.Ports}}"
40
- ], { timeout: 5e3 }, (err, stdout) => {
41
- if (err) return resolve(false);
42
- const lines = stdout.toString().split("\n").map((l) => l.trim()).filter(Boolean);
43
- for (const line of lines) {
44
- const [name, ports] = line.split(" ");
45
- if (!name || !name.startsWith("openpalm-")) continue;
46
- if (ports && ports.includes(`:${port}->`)) return resolve(true);
47
- }
48
- resolve(false);
49
- });
37
+ const run = (attempt) => {
38
+ execFile("docker", [
39
+ "ps",
40
+ "--format",
41
+ "{{.Names}} {{.Ports}}"
42
+ ], { timeout: 5e3 }, (err, stdout) => {
43
+ if (err) {
44
+ if (attempt === 0) return run(1);
45
+ return resolve("unreachable");
46
+ }
47
+ const lines = stdout.toString().split("\n").map((l) => l.trim()).filter(Boolean);
48
+ for (const line of lines) {
49
+ const [name, ports] = line.split(" ");
50
+ if (!name || !name.startsWith("openpalm-")) continue;
51
+ if (ports && ports.includes(`:${port}->`)) return resolve("held");
52
+ }
53
+ resolve("free");
54
+ });
55
+ };
56
+ run(0);
50
57
  });
51
58
  }
52
59
  async function checkPortAvailable(port, timeoutMs = 1e3) {
@@ -93,13 +100,15 @@ function resolvePortsToCheck() {
93
100
  }
94
101
  var SERVER_PORT = Number(process.env.PORT ?? process.env.OP_HOST_UI_PORT ?? 3880);
95
102
  var GET = async () => {
96
- const [docker, compose, gpu, localProviders] = await Promise.all([
103
+ const [docker, compose, gpu, localProviders, runtime] = await Promise.all([
97
104
  checkDocker(),
98
105
  checkDockerCompose(),
99
106
  detectGpu(),
100
- detectLocalProviders()
107
+ detectLocalProviders(),
108
+ detectRuntime()
101
109
  ]);
102
110
  const targets = resolvePortsToCheck();
111
+ let portCheckReliable = docker.ok;
103
112
  const ports = await Promise.all(targets.map(async (t) => {
104
113
  if (t.port === SERVER_PORT) return {
105
114
  ...t,
@@ -109,13 +118,23 @@ var GET = async () => {
109
118
  ...t,
110
119
  available: true
111
120
  };
112
- if (await portHeldByOurContainer(t.port)) return {
121
+ const held = await portHeldByOurContainer(t.port);
122
+ if (held === "held") return {
113
123
  ...t,
114
124
  available: true
115
125
  };
126
+ if (held === "unreachable") {
127
+ portCheckReliable = false;
128
+ return {
129
+ ...t,
130
+ available: false,
131
+ blocking: false
132
+ };
133
+ }
116
134
  return {
117
135
  ...t,
118
- available: false
136
+ available: false,
137
+ blocking: portCheckReliable ? t.blocking : false
119
138
  };
120
139
  }));
121
140
  return json({
@@ -130,9 +149,10 @@ var GET = async () => {
130
149
  version: compose.stdout?.trim().split("\n")[0] || void 0,
131
150
  error: !compose.ok ? compose.stderr?.trim() || "Docker Compose v2 not found" : void 0
132
151
  },
133
- portCheckReliable: docker.ok,
152
+ portCheckReliable,
134
153
  ports,
135
154
  platform: process.platform,
155
+ runtime,
136
156
  gpu: gpu?.name ?? void 0,
137
157
  gpuInfo: gpu ?? void 0,
138
158
  hostProviders: localProviders.filter((p) => p.available).map(({ provider, url }) => ({
@@ -144,4 +164,4 @@ var GET = async () => {
144
164
  var POST = GET;
145
165
 
146
166
  export { GET, POST };
147
- //# sourceMappingURL=_server.ts-CMpjAvc7.js.map
167
+ //# sourceMappingURL=_server.ts-keJe--oH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-keJe--oH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/system-check/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { X as checkDocker, Y as detectRuntime, Z as checkDockerCompose, c as detectGpu, l as detectLocalProviders } from \"../../../../../chunks/src.js\";\nimport { execFile } from \"node:child_process\";\nimport { createServer } from \"node:net\";\n//#region src/routes/api/setup/system-check/+server.ts\n/**\n* Returns true when the named port is published by an openpalm-managed\n* docker container — i.e. it's \"in use\" but the wizard's install will\n* either recreate or no-op on the same container, so flagging it as a\n* conflict is a false positive. Returns `unreachable` when Docker itself\n* cannot be queried, so the caller can degrade this from blocking to warning.\n*/\nasync function portHeldByOurContainer(port) {\n\treturn new Promise((resolve) => {\n\t\tconst run = (attempt) => {\n\t\t\texecFile(\"docker\", [\n\t\t\t\t\"ps\",\n\t\t\t\t\"--format\",\n\t\t\t\t\"{{.Names}}\t{{.Ports}}\"\n\t\t\t], { timeout: 5e3 }, (err, stdout) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tif (attempt === 0) return run(1);\n\t\t\t\t\treturn resolve(\"unreachable\");\n\t\t\t\t}\n\t\t\t\tconst lines = stdout.toString().split(\"\\n\").map((l) => l.trim()).filter(Boolean);\n\t\t\t\tfor (const line of lines) {\n\t\t\t\t\tconst [name, ports] = line.split(\"\t\");\n\t\t\t\t\tif (!name || !name.startsWith(\"openpalm-\")) continue;\n\t\t\t\t\tif (ports && ports.includes(`:${port}->`)) return resolve(\"held\");\n\t\t\t\t}\n\t\t\t\tresolve(\"free\");\n\t\t\t});\n\t\t};\n\t\trun(0);\n\t});\n}\nasync function checkPortAvailable(port, timeoutMs = 1e3) {\n\treturn new Promise((resolve) => {\n\t\tconst srv = createServer();\n\t\tlet settled = false;\n\t\tconst finish = (ok) => {\n\t\t\tif (settled) return;\n\t\t\tsettled = true;\n\t\t\tsrv.close();\n\t\t\tresolve(ok);\n\t\t};\n\t\tconst timer = setTimeout(() => finish(false), timeoutMs);\n\t\tsrv.once(\"error\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tfinish(false);\n\t\t});\n\t\tsrv.once(\"listening\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tfinish(true);\n\t\t});\n\t\tsrv.listen(port, \"127.0.0.1\");\n\t});\n}\nfunction pickPort(...envNames) {\n\tfor (const name of envNames) {\n\t\tconst raw = process.env[name];\n\t\tif (!raw) continue;\n\t\tconst n = Number(raw);\n\t\tif (Number.isFinite(n) && n > 0) return n;\n\t}\n\treturn null;\n}\nfunction resolvePortsToCheck() {\n\treturn [{\n\t\tport: pickPort(\"OP_HOST_UI_PORT\") ?? 3880,\n\t\tservice: \"admin\",\n\t\tblocking: true\n\t}, {\n\t\tport: pickPort(\"OP_HOST_ASSISTANT_PORT\", \"OP_ASSISTANT_PORT\") ?? 3800,\n\t\tservice: \"assistant\",\n\t\tblocking: true\n\t}];\n}\nvar SERVER_PORT = Number(process.env.PORT ?? process.env.OP_HOST_UI_PORT ?? 3880);\nvar GET = async () => {\n\tconst [docker, compose, gpu, localProviders, runtime] = await Promise.all([\n\t\tcheckDocker(),\n\t\tcheckDockerCompose(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tdetectRuntime()\n\t]);\n\tconst targets = resolvePortsToCheck();\n\tlet portCheckReliable = docker.ok;\n\tconst ports = await Promise.all(targets.map(async (t) => {\n\t\tif (t.port === SERVER_PORT) return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tif (await checkPortAvailable(t.port)) return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tconst held = await portHeldByOurContainer(t.port);\n\t\tif (held === \"held\") return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tif (held === \"unreachable\") {\n\t\t\tportCheckReliable = false;\n\t\t\treturn {\n\t\t\t\t...t,\n\t\t\t\tavailable: false,\n\t\t\t\tblocking: false\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\t...t,\n\t\t\tavailable: false,\n\t\t\tblocking: portCheckReliable ? t.blocking : false\n\t\t};\n\t}));\n\treturn json({\n\t\tok: true,\n\t\tdocker: {\n\t\t\tok: docker.ok,\n\t\t\tversion: docker.stdout?.trim() || void 0,\n\t\t\terror: !docker.ok ? docker.stderr?.trim() || \"Docker is not available\" : void 0\n\t\t},\n\t\tcompose: {\n\t\t\tok: compose.ok,\n\t\t\tversion: compose.stdout?.trim().split(\"\\n\")[0] || void 0,\n\t\t\terror: !compose.ok ? compose.stderr?.trim() || \"Docker Compose v2 not found\" : void 0\n\t\t},\n\t\tportCheckReliable,\n\t\tports,\n\t\tplatform: process.platform,\n\t\truntime,\n\t\tgpu: gpu?.name ?? void 0,\n\t\tgpuInfo: gpu ?? void 0,\n\t\thostProviders: localProviders.filter((p) => p.available).map(({ provider, url }) => ({\n\t\t\tprovider,\n\t\t\turl\n\t\t}))\n\t});\n};\nvar POST = GET;\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { aj as readStackEnv } from './src-D4RUgmPp.js';
2
- import { b as getState } from './endpoints-Crjg6AFu.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-BQ_IzT4l.js';
1
+ import { ar as readStackEnv } from './src-CHZNd5cO.js';
2
+ import { g as getState } from './state-BcQ5v_Ye.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DEWuEDi5.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
+ import './provider-constants-DPrj3yBX.js';
6
7
  import './dist-DOFcG0Zp.js';
7
8
  import 'node:fs';
8
9
  import 'node:path';
9
10
  import 'buffer';
10
- import 'node:os';
11
11
  import 'fs';
12
12
  import 'path';
13
13
  import 'node:child_process';
@@ -21,6 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
+ import 'node:os';
25
+ import './endpoints-CVaZyXGR.js';
24
26
 
25
27
  //#region src/routes/api/transcribe/+server.ts
26
28
  var DEFAULT_MODEL = "whisper-1";
@@ -87,4 +89,4 @@ var POST = async (event) => {
87
89
  };
88
90
 
89
91
  export { POST };
90
- //# sourceMappingURL=_server.ts-Bj-aBJk7.js.map
92
+ //# sourceMappingURL=_server.ts-tSnumHIh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-tSnumHIh.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { Pt as readStackEnv } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/api/transcribe/+server.ts\nvar DEFAULT_MODEL = \"whisper-1\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(hf_[A-Za-z0-9_-]{4,})/gi, \"hf_***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst sttBaseURL = (stackEnv.OP_STT_BASE_URL || process.env.OP_STT_BASE_URL || \"\").trim();\n\tconst sttModel = (stackEnv.OP_STT_MODEL || process.env.OP_STT_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst sttLanguageEnv = (stackEnv.OP_STT_LANGUAGE || process.env.OP_STT_LANGUAGE || \"\").trim();\n\tconst sttApiKey = (process.env.OP_STT_API_KEY ?? \"\").trim();\n\tif (!sttBaseURL) return errorResponse(503, \"stt_not_configured\", \"Configure an STT engine in Admin → Voice settings.\", {}, requestId);\n\tlet inboundForm;\n\ttry {\n\t\tinboundForm = await event.request.formData();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Body must be multipart/form-data\", {}, requestId);\n\t}\n\tconst audio = inboundForm.get(\"audio\");\n\tif (!(audio instanceof Blob)) return errorResponse(400, \"bad_request\", \"Missing \\\"audio\\\" field (Blob)\", {}, requestId);\n\tconst languageReq = inboundForm.get(\"language\");\n\tconst promptReq = inboundForm.get(\"prompt\");\n\tconst language = typeof languageReq === \"string\" && languageReq.trim() ? languageReq.trim() : sttLanguageEnv;\n\tconst outForm = new FormData();\n\tconst filename = audio.name || \"recording.webm\";\n\toutForm.append(\"file\", audio, filename);\n\toutForm.append(\"model\", sttModel);\n\toutForm.append(\"response_format\", \"json\");\n\tif (language) outForm.append(\"language\", language);\n\tif (typeof promptReq === \"string\" && promptReq.trim()) outForm.append(\"prompt\", promptReq.trim());\n\tconst upstreamUrl = sttBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/transcriptions\";\n\tconst headers = {};\n\tif (sttApiKey) headers[\"authorization\"] = `Bearer ${sttApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: outForm,\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach STT endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst snippet = redactKey(await upstream.text().catch(() => \"\")).slice(0, 500);\n\t\treturn errorResponse(502, \"upstream_error\", `STT endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: snippet\n\t\t}, requestId);\n\t}\n\tlet payload;\n\ttry {\n\t\tpayload = await upstream.json();\n\t} catch {\n\t\treturn errorResponse(502, \"upstream_error\", \"STT endpoint returned a non-JSON response\", { upstreamStatus: upstream.status }, requestId);\n\t}\n\treturn jsonResponse(200, { text: typeof payload?.text === \"string\" ? payload.text : \"\" }, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-BQ_IzT4l.js';
2
- import { s as sessionCookieHeader } from './session-cookie-C4Vsx_M2.js';
3
- import './src-D4RUgmPp.js';
1
+ import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-DEWuEDi5.js';
2
+ import { s as sessionCookieHeader } from './session-cookie-CQw8e0tc.js';
3
+ import './src-CHZNd5cO.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
+ import './provider-constants-DPrj3yBX.js';
6
7
  import './dist-DOFcG0Zp.js';
7
8
  import 'node:fs';
8
9
  import 'node:path';
9
10
  import 'buffer';
10
- import 'node:os';
11
11
  import 'fs';
12
12
  import 'path';
13
13
  import 'node:child_process';
@@ -21,7 +21,9 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-Crjg6AFu.js';
24
+ import 'node:os';
25
+ import './endpoints-CVaZyXGR.js';
26
+ import './state-BcQ5v_Ye.js';
25
27
 
26
28
  //#region src/routes/admin/auth/session/+server.ts
27
29
  /**
@@ -59,4 +61,4 @@ var POST = async (event) => {
59
61
  };
60
62
 
61
63
  export { POST };
62
- //# sourceMappingURL=_server.ts-CrqxuI7F.js.map
64
+ //# sourceMappingURL=_server.ts-tVOMHVfT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CrqxuI7F.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/session/_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/session/+server.ts\n/**\n* POST /admin/auth/session\n*\n* Issues an `op_session` cookie after verifying the operator-supplied password\n* against `process.env.OP_UI_LOGIN_PASSWORD`.\n*\n* The cookie value is a random UUID session token — NOT the plaintext password.\n* Kept alongside `/admin/auth/login` as an alias; both verify the same\n* `password` body field and issue the `op_session` cookie.\n*/\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({ ok: true }), {\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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,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-tVOMHVfT.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/session/_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/session/+server.ts\n/**\n* POST /admin/auth/session\n*\n* Issues an `op_session` cookie after verifying the operator-supplied password\n* against `process.env.OP_UI_LOGIN_PASSWORD`.\n*\n* The cookie value is a random UUID session token — NOT the plaintext password.\n* Kept alongside `/admin/auth/login` as an alias; both verify the same\n* `password` body field and issue the `op_session` cookie.\n*/\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({ ok: true }), {\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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,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;;;;"}