@openpalm/ui 0.12.23 → 0.12.25

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 (338) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/4.B7FLcEdq.css +1 -0
  3. package/build/client/_app/immutable/assets/4.B7FLcEdq.css.br +0 -0
  4. package/build/client/_app/immutable/assets/4.B7FLcEdq.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{CP1N4Jy5.js → 9_k2j7-4.js} +1 -1
  6. package/build/client/_app/immutable/chunks/9_k2j7-4.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/9_k2j7-4.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{CAAiIhwC.js → BoF37DC3.js} +2 -2
  9. package/build/client/_app/immutable/chunks/BoF37DC3.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/BoF37DC3.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/Co66yWuc.js +1 -0
  12. package/build/client/_app/immutable/chunks/Co66yWuc.js.br +2 -0
  13. package/build/client/_app/immutable/chunks/Co66yWuc.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{CgDyA2Qw.js → DS6z9A2Z.js} +2 -2
  15. package/build/client/_app/immutable/chunks/DS6z9A2Z.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/DS6z9A2Z.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{DpHEXvQk.js → Dq1oAZ8H.js} +1 -1
  18. package/build/client/_app/immutable/chunks/Dq1oAZ8H.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/Dq1oAZ8H.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/Dw0lB87T.js +1 -0
  21. package/build/client/_app/immutable/chunks/Dw0lB87T.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/Dw0lB87T.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{BjCyXDZy.js → fcb5ioJF.js} +1 -1
  24. package/build/client/_app/immutable/chunks/fcb5ioJF.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/fcb5ioJF.js.gz +0 -0
  26. package/build/client/_app/immutable/entry/{app.BcL08IcT.js → app.DJ-y676r.js} +2 -2
  27. package/build/client/_app/immutable/entry/app.DJ-y676r.js.br +0 -0
  28. package/build/client/_app/immutable/entry/app.DJ-y676r.js.gz +0 -0
  29. package/build/client/_app/immutable/entry/start.DBPUKEkY.js +1 -0
  30. package/build/client/_app/immutable/entry/start.DBPUKEkY.js.br +0 -0
  31. package/build/client/_app/immutable/entry/start.DBPUKEkY.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{0.AZnG4POF.js → 0.DMbZYw6u.js} +1 -1
  33. package/build/client/_app/immutable/nodes/0.DMbZYw6u.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/0.DMbZYw6u.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{1.uNWROKRa.js → 1._j-ss0I1.js} +1 -1
  36. package/build/client/_app/immutable/nodes/{1.uNWROKRa.js.br → 1._j-ss0I1.js.br} +0 -0
  37. package/build/client/_app/immutable/nodes/1._j-ss0I1.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/4.DlzSttV5.js +128 -0
  39. package/build/client/_app/immutable/nodes/4.DlzSttV5.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/4.DlzSttV5.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{5.rZSa9V3W.js → 5.CcF74Ij4.js} +1 -1
  42. package/build/client/_app/immutable/nodes/5.CcF74Ij4.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/5.CcF74Ij4.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{6.DUAMcwSm.js → 6.DTx0SKrM.js} +1 -1
  45. package/build/client/_app/immutable/nodes/6.DTx0SKrM.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/6.DTx0SKrM.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{7.B1u5a8yO.js → 7.Cwux-okY.js} +1 -1
  48. package/build/client/_app/immutable/nodes/7.Cwux-okY.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/7.Cwux-okY.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{8.DW8zKXS4.js → 8.Dq17jnDA.js} +1 -1
  51. package/build/client/_app/immutable/nodes/8.Dq17jnDA.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/8.Dq17jnDA.js.gz +0 -0
  53. package/build/client/_app/version.json +1 -1
  54. package/build/client/_app/version.json.br +1 -1
  55. package/build/client/_app/version.json.gz +0 -0
  56. package/build/server/chunks/{0-DL6Jfu7F.js → 0-5S3uaxID.js} +2 -2
  57. package/build/server/chunks/{0-DL6Jfu7F.js.map → 0-5S3uaxID.js.map} +1 -1
  58. package/build/server/chunks/1-Dt88kma5.js +9 -0
  59. package/build/server/chunks/{1-B2LhxwPN.js.map → 1-Dt88kma5.js.map} +1 -1
  60. package/build/server/chunks/{10-DQCiYDxy.js → 10-CaMQHHj2.js} +5 -5
  61. package/build/server/chunks/{10-DQCiYDxy.js.map → 10-CaMQHHj2.js.map} +1 -1
  62. package/build/server/chunks/4-CAh1HcO_.js +9 -0
  63. package/build/server/chunks/{4-2GARyIXu.js.map → 4-CAh1HcO_.js.map} +1 -1
  64. package/build/server/chunks/{5-BPq_SUbr.js → 5-BHvS6Q0D.js} +3 -3
  65. package/build/server/chunks/{5-BPq_SUbr.js.map → 5-BHvS6Q0D.js.map} +1 -1
  66. package/build/server/chunks/6-DfmwYsUF.js +9 -0
  67. package/build/server/chunks/{6-Bnw_JRXO.js.map → 6-DfmwYsUF.js.map} +1 -1
  68. package/build/server/chunks/{7-ZktGMDHm.js → 7-D3ygaYFp.js} +3 -3
  69. package/build/server/chunks/{7-ZktGMDHm.js.map → 7-D3ygaYFp.js.map} +1 -1
  70. package/build/server/chunks/{8-V3DHLq7L.js → 8-DaXgXYSo.js} +3 -3
  71. package/build/server/chunks/{8-V3DHLq7L.js.map → 8-DaXgXYSo.js.map} +1 -1
  72. package/build/server/chunks/{Navbar-CRs8Q1Ed.js → Navbar-DBfWbneI.js} +3 -3
  73. package/build/server/chunks/{Navbar-CRs8Q1Ed.js.map → Navbar-DBfWbneI.js.map} +1 -1
  74. package/build/server/chunks/{_page.svelte-BtDkjht-.js → _page.svelte--hv2bHZk.js} +5 -5
  75. package/build/server/chunks/{_page.svelte-BtDkjht-.js.map → _page.svelte--hv2bHZk.js.map} +1 -1
  76. package/build/server/chunks/{_page.svelte-m5t0OVcz.js → _page.svelte-CUopAg0E.js} +5 -5
  77. package/build/server/chunks/{_page.svelte-m5t0OVcz.js.map → _page.svelte-CUopAg0E.js.map} +1 -1
  78. package/build/server/chunks/{_page.svelte-CXr3izpr.js → _page.svelte-DwlyCvLT.js} +3 -3
  79. package/build/server/chunks/{_page.svelte-CXr3izpr.js.map → _page.svelte-DwlyCvLT.js.map} +1 -1
  80. package/build/server/chunks/{_page.svelte-Lhm6ya_b.js → _page.svelte-VqduYnOG.js} +3 -3
  81. package/build/server/chunks/{_page.svelte-Lhm6ya_b.js.map → _page.svelte-VqduYnOG.js.map} +1 -1
  82. package/build/server/chunks/{_page.svelte-D6dWiRVl.js → _page.svelte-vAMTIMDp.js} +13 -14
  83. package/build/server/chunks/_page.svelte-vAMTIMDp.js.map +1 -0
  84. package/build/server/chunks/{_server.ts-DH2KwFMm.js → _server.ts-0nUC8FNI.js} +5 -5
  85. package/build/server/chunks/{_server.ts-DH2KwFMm.js.map → _server.ts-0nUC8FNI.js.map} +1 -1
  86. package/build/server/chunks/{_server.ts-iKClbuyO.js → _server.ts-8CLS-2XL.js} +5 -5
  87. package/build/server/chunks/{_server.ts-iKClbuyO.js.map → _server.ts-8CLS-2XL.js.map} +1 -1
  88. package/build/server/chunks/{_server.ts-B-io71lH.js → _server.ts-B-2oy7ir.js} +5 -5
  89. package/build/server/chunks/{_server.ts-B-io71lH.js.map → _server.ts-B-2oy7ir.js.map} +1 -1
  90. package/build/server/chunks/{_server.ts-Dc-DuHRl.js → _server.ts-B5I1yWm5.js} +5 -5
  91. package/build/server/chunks/{_server.ts-Dc-DuHRl.js.map → _server.ts-B5I1yWm5.js.map} +1 -1
  92. package/build/server/chunks/{_server.ts-BFQCNuCf.js → _server.ts-B6htdRYZ.js} +5 -5
  93. package/build/server/chunks/{_server.ts-BFQCNuCf.js.map → _server.ts-B6htdRYZ.js.map} +1 -1
  94. package/build/server/chunks/{_server.ts-C3asto5q.js → _server.ts-BCQ7tR-A.js} +5 -5
  95. package/build/server/chunks/{_server.ts-C3asto5q.js.map → _server.ts-BCQ7tR-A.js.map} +1 -1
  96. package/build/server/chunks/{_server.ts-CaZ1wy9x.js → _server.ts-BDIdjyg_.js} +7 -7
  97. package/build/server/chunks/{_server.ts-CaZ1wy9x.js.map → _server.ts-BDIdjyg_.js.map} +1 -1
  98. package/build/server/chunks/{_server.ts-Byn8EbtL.js → _server.ts-BEkj06PB.js} +7 -7
  99. package/build/server/chunks/{_server.ts-Byn8EbtL.js.map → _server.ts-BEkj06PB.js.map} +1 -1
  100. package/build/server/chunks/{_server.ts-Bi33i7c7.js → _server.ts-BOYLrT-8.js} +2 -2
  101. package/build/server/chunks/{_server.ts-Bi33i7c7.js.map → _server.ts-BOYLrT-8.js.map} +1 -1
  102. package/build/server/chunks/{_server.ts-Bw_r9OtK.js → _server.ts-BOfoXxwa.js} +5 -5
  103. package/build/server/chunks/{_server.ts-Bw_r9OtK.js.map → _server.ts-BOfoXxwa.js.map} +1 -1
  104. package/build/server/chunks/{_server.ts-Cdq3e7xA.js → _server.ts-BQjhtIvI.js} +5 -5
  105. package/build/server/chunks/{_server.ts-Cdq3e7xA.js.map → _server.ts-BQjhtIvI.js.map} +1 -1
  106. package/build/server/chunks/{_server.ts-D9jCVXyy.js → _server.ts-BaGpEaMG.js} +5 -5
  107. package/build/server/chunks/{_server.ts-D9jCVXyy.js.map → _server.ts-BaGpEaMG.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-KuD8Wpms.js → _server.ts-BaXXEtN1.js} +5 -5
  109. package/build/server/chunks/{_server.ts-KuD8Wpms.js.map → _server.ts-BaXXEtN1.js.map} +1 -1
  110. package/build/server/chunks/{_server.ts-BIJomr8k.js → _server.ts-Bdb0Q0oO.js} +5 -5
  111. package/build/server/chunks/{_server.ts-BIJomr8k.js.map → _server.ts-Bdb0Q0oO.js.map} +1 -1
  112. package/build/server/chunks/{_server.ts-DBRLxv1J.js → _server.ts-BllhDZ6p.js} +6 -6
  113. package/build/server/chunks/{_server.ts-DBRLxv1J.js.map → _server.ts-BllhDZ6p.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-vpAn0Uxn.js → _server.ts-BsNFZFfs.js} +6 -6
  115. package/build/server/chunks/{_server.ts-vpAn0Uxn.js.map → _server.ts-BsNFZFfs.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-C0b2kLwv.js → _server.ts-C0SdjWoG.js} +5 -5
  117. package/build/server/chunks/{_server.ts-C0b2kLwv.js.map → _server.ts-C0SdjWoG.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-Eq4SzuV_.js → _server.ts-C4Gi3HQG.js} +5 -5
  119. package/build/server/chunks/{_server.ts-Eq4SzuV_.js.map → _server.ts-C4Gi3HQG.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-Zui06dcA.js → _server.ts-C4o9Y71W.js} +5 -5
  121. package/build/server/chunks/{_server.ts-Zui06dcA.js.map → _server.ts-C4o9Y71W.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-DeDvsRmd.js → _server.ts-C8Lkjsr9.js} +5 -5
  123. package/build/server/chunks/{_server.ts-DeDvsRmd.js.map → _server.ts-C8Lkjsr9.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-m1RQkdUW.js → _server.ts-C9jQJZ2Q.js} +5 -5
  125. package/build/server/chunks/{_server.ts-m1RQkdUW.js.map → _server.ts-C9jQJZ2Q.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-ChI4fTd4.js → _server.ts-CCj0GMCn.js} +5 -5
  127. package/build/server/chunks/{_server.ts-ChI4fTd4.js.map → _server.ts-CCj0GMCn.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-CWNf8Ve1.js → _server.ts-CDnjwBJd.js} +5 -5
  129. package/build/server/chunks/{_server.ts-CWNf8Ve1.js.map → _server.ts-CDnjwBJd.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-RfzeE7tM.js → _server.ts-COR2upSF.js} +2 -2
  131. package/build/server/chunks/{_server.ts-RfzeE7tM.js.map → _server.ts-COR2upSF.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-XhNvTVYt.js → _server.ts-CTKiM4Qx.js} +5 -5
  133. package/build/server/chunks/{_server.ts-XhNvTVYt.js.map → _server.ts-CTKiM4Qx.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-cHc1drrp.js → _server.ts-CVaProI0.js} +2 -2
  135. package/build/server/chunks/{_server.ts-cHc1drrp.js.map → _server.ts-CVaProI0.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-DQCc-bcg.js → _server.ts-C_VtxifH.js} +5 -5
  137. package/build/server/chunks/{_server.ts-DQCc-bcg.js.map → _server.ts-C_VtxifH.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-CGzgULKV.js → _server.ts-Ca5cQP5w.js} +5 -5
  139. package/build/server/chunks/{_server.ts-CGzgULKV.js.map → _server.ts-Ca5cQP5w.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-Rigt7lcd.js → _server.ts-CamccnkE.js} +7 -7
  141. package/build/server/chunks/{_server.ts-Rigt7lcd.js.map → _server.ts-CamccnkE.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-BMTnompE.js → _server.ts-CcAWMnBR.js} +5 -5
  143. package/build/server/chunks/{_server.ts-BMTnompE.js.map → _server.ts-CcAWMnBR.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-Do8_4nUh.js → _server.ts-Cdbb44Rz.js} +5 -5
  145. package/build/server/chunks/{_server.ts-Do8_4nUh.js.map → _server.ts-Cdbb44Rz.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-DxYoYjKM.js → _server.ts-CeqafsgB.js} +5 -5
  147. package/build/server/chunks/{_server.ts-DxYoYjKM.js.map → _server.ts-CeqafsgB.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-BTeSTLAx.js → _server.ts-ChC7O5M2.js} +25 -32
  149. package/build/server/chunks/_server.ts-ChC7O5M2.js.map +1 -0
  150. package/build/server/chunks/{_server.ts-BghreOti.js → _server.ts-ChwSeCkk.js} +5 -5
  151. package/build/server/chunks/{_server.ts-BghreOti.js.map → _server.ts-ChwSeCkk.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-CRY9d7-F.js → _server.ts-CmdBrE5e.js} +5 -5
  153. package/build/server/chunks/{_server.ts-CRY9d7-F.js.map → _server.ts-CmdBrE5e.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-C2dpWx7K.js → _server.ts-CuRMD1Zj.js} +4 -4
  155. package/build/server/chunks/{_server.ts-C2dpWx7K.js.map → _server.ts-CuRMD1Zj.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-CLt4mqCt.js → _server.ts-Cv7IEMrc.js} +7 -7
  157. package/build/server/chunks/{_server.ts-CLt4mqCt.js.map → _server.ts-Cv7IEMrc.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-D0RXp78c.js → _server.ts-CxTdS24I.js} +5 -5
  159. package/build/server/chunks/{_server.ts-D0RXp78c.js.map → _server.ts-CxTdS24I.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-BEsxh5-r.js → _server.ts-CzZi2gv7.js} +7 -7
  161. package/build/server/chunks/{_server.ts-BEsxh5-r.js.map → _server.ts-CzZi2gv7.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-DgU1uBsl.js → _server.ts-D1NLrpln.js} +5 -5
  163. package/build/server/chunks/{_server.ts-DgU1uBsl.js.map → _server.ts-D1NLrpln.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-CQH5FEPp.js → _server.ts-D2vGVvzV.js} +6 -6
  165. package/build/server/chunks/{_server.ts-CQH5FEPp.js.map → _server.ts-D2vGVvzV.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-C4WOD37G.js → _server.ts-D4MuscHE.js} +5 -5
  167. package/build/server/chunks/{_server.ts-C4WOD37G.js.map → _server.ts-D4MuscHE.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-k5rG5cUI.js → _server.ts-D53iXiGZ.js} +7 -7
  169. package/build/server/chunks/{_server.ts-k5rG5cUI.js.map → _server.ts-D53iXiGZ.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-DlONqa0N.js → _server.ts-D7YJF2AC.js} +6 -6
  171. package/build/server/chunks/{_server.ts-DlONqa0N.js.map → _server.ts-D7YJF2AC.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-BwQSiREZ.js → _server.ts-DEBMGsM5.js} +5 -5
  173. package/build/server/chunks/{_server.ts-BwQSiREZ.js.map → _server.ts-DEBMGsM5.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-BaqsSmFS.js → _server.ts-DFLpWU9e.js} +5 -5
  175. package/build/server/chunks/{_server.ts-BaqsSmFS.js.map → _server.ts-DFLpWU9e.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-CAlt9gW0.js → _server.ts-DFwN8OOc.js} +5 -5
  177. package/build/server/chunks/{_server.ts-CAlt9gW0.js.map → _server.ts-DFwN8OOc.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-DXMBj9CH.js → _server.ts-DHt1PpoX.js} +8 -8
  179. package/build/server/chunks/{_server.ts-DXMBj9CH.js.map → _server.ts-DHt1PpoX.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-BokcuCWE.js → _server.ts-DIALuGBY.js} +6 -6
  181. package/build/server/chunks/{_server.ts-BokcuCWE.js.map → _server.ts-DIALuGBY.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-BcIPGO7x.js → _server.ts-DJIDEiRm.js} +5 -5
  183. package/build/server/chunks/{_server.ts-BcIPGO7x.js.map → _server.ts-DJIDEiRm.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-j1haXquD.js → _server.ts-DLaOQXQ2.js} +5 -5
  185. package/build/server/chunks/{_server.ts-j1haXquD.js.map → _server.ts-DLaOQXQ2.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-BeXMVrJG.js → _server.ts-DM7TO_L5.js} +5 -5
  187. package/build/server/chunks/{_server.ts-BeXMVrJG.js.map → _server.ts-DM7TO_L5.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-C_qyw2yL.js → _server.ts-DOibKCX1.js} +5 -5
  189. package/build/server/chunks/{_server.ts-C_qyw2yL.js.map → _server.ts-DOibKCX1.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-DNQDl4In.js → _server.ts-DQ3_XI3g.js} +5 -5
  191. package/build/server/chunks/{_server.ts-DNQDl4In.js.map → _server.ts-DQ3_XI3g.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-ll-0r5dM.js → _server.ts-DRIUY_p-.js} +5 -5
  193. package/build/server/chunks/{_server.ts-ll-0r5dM.js.map → _server.ts-DRIUY_p-.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-a1r-EHX0.js → _server.ts-DR_LPsVP.js} +6 -6
  195. package/build/server/chunks/{_server.ts-a1r-EHX0.js.map → _server.ts-DR_LPsVP.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-CtVWuskm.js → _server.ts-DReqLl2s.js} +2 -2
  197. package/build/server/chunks/{_server.ts-CtVWuskm.js.map → _server.ts-DReqLl2s.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-CiWKQbiz.js → _server.ts-DRiJohel.js} +5 -5
  199. package/build/server/chunks/{_server.ts-CiWKQbiz.js.map → _server.ts-DRiJohel.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-Q60q44Je.js → _server.ts-DTD1zrVz.js} +5 -5
  201. package/build/server/chunks/{_server.ts-Q60q44Je.js.map → _server.ts-DTD1zrVz.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-DBFkIfX3.js → _server.ts-DUm3tXIm.js} +5 -5
  203. package/build/server/chunks/{_server.ts-DBFkIfX3.js.map → _server.ts-DUm3tXIm.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-DueQnU1L.js → _server.ts-DWrrwZCv.js} +6 -6
  205. package/build/server/chunks/{_server.ts-DueQnU1L.js.map → _server.ts-DWrrwZCv.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-DN9DIE7V.js → _server.ts-DdMvm3VP.js} +6 -6
  207. package/build/server/chunks/{_server.ts-DN9DIE7V.js.map → _server.ts-DdMvm3VP.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-C8LFsdDG.js → _server.ts-DgZBohcX.js} +5 -5
  209. package/build/server/chunks/{_server.ts-C8LFsdDG.js.map → _server.ts-DgZBohcX.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-CBEVK-Yt.js → _server.ts-DigsUCYF.js} +2 -2
  211. package/build/server/chunks/{_server.ts-CBEVK-Yt.js.map → _server.ts-DigsUCYF.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-DVJYo8_h.js → _server.ts-DmoAtZuh.js} +6 -6
  213. package/build/server/chunks/{_server.ts-DVJYo8_h.js.map → _server.ts-DmoAtZuh.js.map} +1 -1
  214. package/build/server/chunks/_server.ts-DoNF72CU.js +108 -0
  215. package/build/server/chunks/_server.ts-DoNF72CU.js.map +1 -0
  216. package/build/server/chunks/{_server.ts-vZTWdH4v.js → _server.ts-Dtd7DLPY.js} +5 -5
  217. package/build/server/chunks/{_server.ts-vZTWdH4v.js.map → _server.ts-Dtd7DLPY.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-eYpUsioT.js → _server.ts-DusiWfej.js} +6 -6
  219. package/build/server/chunks/{_server.ts-eYpUsioT.js.map → _server.ts-DusiWfej.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-BjSX-JsT.js → _server.ts-DytUY54d.js} +6 -6
  221. package/build/server/chunks/{_server.ts-BjSX-JsT.js.map → _server.ts-DytUY54d.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-DtVcRD5A.js → _server.ts-EsysF2bR.js} +5 -5
  223. package/build/server/chunks/{_server.ts-DtVcRD5A.js.map → _server.ts-EsysF2bR.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-k9P3ZBDK.js → _server.ts-EyFvkzT6.js} +5 -5
  225. package/build/server/chunks/{_server.ts-k9P3ZBDK.js.map → _server.ts-EyFvkzT6.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-DiUBKtYa.js → _server.ts-GDbIxw2v.js} +5 -5
  227. package/build/server/chunks/{_server.ts-DiUBKtYa.js.map → _server.ts-GDbIxw2v.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-DvsmHJew.js → _server.ts-NoYmncn8.js} +5 -5
  229. package/build/server/chunks/{_server.ts-DvsmHJew.js.map → _server.ts-NoYmncn8.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-D-pLD7Xu.js → _server.ts-X1UN8D2P.js} +5 -5
  231. package/build/server/chunks/{_server.ts-D-pLD7Xu.js.map → _server.ts-X1UN8D2P.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-7h410aJe.js → _server.ts-ZziQ4jkZ.js} +5 -5
  233. package/build/server/chunks/{_server.ts-7h410aJe.js.map → _server.ts-ZziQ4jkZ.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-BdPGrcpF.js → _server.ts-cTclKH5C.js} +5 -5
  235. package/build/server/chunks/{_server.ts-BdPGrcpF.js.map → _server.ts-cTclKH5C.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-C8xyXBY5.js → _server.ts-fDBfpAWK.js} +6 -6
  237. package/build/server/chunks/{_server.ts-C8xyXBY5.js.map → _server.ts-fDBfpAWK.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-nVEAwKYe.js → _server.ts-gMdAhVe8.js} +5 -5
  239. package/build/server/chunks/{_server.ts-nVEAwKYe.js.map → _server.ts-gMdAhVe8.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-B7oFBy_Y.js → _server.ts-gn2kA75x.js} +6 -6
  241. package/build/server/chunks/{_server.ts-B7oFBy_Y.js.map → _server.ts-gn2kA75x.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-CwPqNJOY.js → _server.ts-j2RyO4Rs.js} +5 -5
  243. package/build/server/chunks/{_server.ts-CwPqNJOY.js.map → _server.ts-j2RyO4Rs.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-DY8vqCzu.js → _server.ts-kKkrn7rs.js} +5 -5
  245. package/build/server/chunks/{_server.ts-DY8vqCzu.js.map → _server.ts-kKkrn7rs.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-BJd_BeRX.js → _server.ts-nUVIzc8b.js} +5 -5
  247. package/build/server/chunks/{_server.ts-BJd_BeRX.js.map → _server.ts-nUVIzc8b.js.map} +1 -1
  248. package/build/server/chunks/{_server.ts-CJWPhww2.js → _server.ts-rBdsHwww.js} +5 -5
  249. package/build/server/chunks/{_server.ts-CJWPhww2.js.map → _server.ts-rBdsHwww.js.map} +1 -1
  250. package/build/server/chunks/{_server.ts-D_iVYIT5.js → _server.ts-sZL1PlG9.js} +5 -5
  251. package/build/server/chunks/{_server.ts-D_iVYIT5.js.map → _server.ts-sZL1PlG9.js.map} +1 -1
  252. package/build/server/chunks/{_server.ts-BLnGiLfS.js → _server.ts-z3Z9fpuO.js} +4 -4
  253. package/build/server/chunks/{_server.ts-BLnGiLfS.js.map → _server.ts-z3Z9fpuO.js.map} +1 -1
  254. package/build/server/chunks/{addon-helpers-kNrSUlMe.js → addon-helpers-CnbolsO1.js} +3 -3
  255. package/build/server/chunks/{addon-helpers-kNrSUlMe.js.map → addon-helpers-CnbolsO1.js.map} +1 -1
  256. package/build/server/chunks/{akm-IP8X7RlR.js → akm-DZG2hPN2.js} +2 -2
  257. package/build/server/chunks/{akm-IP8X7RlR.js.map → akm-DZG2hPN2.js.map} +1 -1
  258. package/build/server/chunks/{catalog-DcLI63rn.js → catalog-CBfjMTmA.js} +5 -5
  259. package/build/server/chunks/{catalog-DcLI63rn.js.map → catalog-CBfjMTmA.js.map} +1 -1
  260. package/build/server/chunks/{client-CIUwkogU.js → client-ekpsuDco.js} +2 -2
  261. package/build/server/chunks/{client-CIUwkogU.js.map → client-ekpsuDco.js.map} +1 -1
  262. package/build/server/chunks/{config-EKy5PAZU.js → config-sQzWqBfm.js} +2 -2
  263. package/build/server/chunks/{config-EKy5PAZU.js.map → config-sQzWqBfm.js.map} +1 -1
  264. package/build/server/chunks/{docker-BhJS_Y28.js → docker-Bku8Gabj.js} +2 -2
  265. package/build/server/chunks/{docker-BhJS_Y28.js.map → docker-Bku8Gabj.js.map} +1 -1
  266. package/build/server/chunks/{endpoints-Dq-IqF1t.js → endpoints-CTSUfQtx.js} +2 -2
  267. package/build/server/chunks/{endpoints-Dq-IqF1t.js.map → endpoints-CTSUfQtx.js.map} +1 -1
  268. package/build/server/chunks/{error.svelte-Dbj-WAaz.js → error.svelte-BcBcgmRE.js} +4 -4
  269. package/build/server/chunks/{error.svelte-Dbj-WAaz.js.map → error.svelte-BcBcgmRE.js.map} +1 -1
  270. package/build/server/chunks/{helpers-s8d3gE38.js → helpers-D1YvzZua.js} +3 -3
  271. package/build/server/chunks/{helpers-s8d3gE38.js.map → helpers-D1YvzZua.js.map} +1 -1
  272. package/build/server/chunks/{hooks.server-Cy1D3efR.js → hooks.server-DSomUtk8.js} +7 -7
  273. package/build/server/chunks/{hooks.server-Cy1D3efR.js.map → hooks.server-DSomUtk8.js.map} +1 -1
  274. package/build/server/chunks/{http-BCF8LO-V.js → http-DIpQJBzk.js} +2 -2
  275. package/build/server/chunks/{http-BCF8LO-V.js.map → http-DIpQJBzk.js.map} +1 -1
  276. package/build/server/chunks/{internal-CcLms467.js → internal-C-RSfj5D.js} +3 -3
  277. package/build/server/chunks/{internal-CcLms467.js.map → internal-C-RSfj5D.js.map} +1 -1
  278. package/build/server/chunks/{migration-status-BgiG_Rm6.js → migration-status-Cjs478wN.js} +2 -2
  279. package/build/server/chunks/{migration-status-BgiG_Rm6.js.map → migration-status-Cjs478wN.js.map} +1 -1
  280. package/build/server/chunks/{session-cookie-F6DkHp5H.js → session-cookie-FUeRU5Vz.js} +2 -2
  281. package/build/server/chunks/{session-cookie-F6DkHp5H.js.map → session-cookie-FUeRU5Vz.js.map} +1 -1
  282. package/build/server/chunks/{setup-deploy-BtgW_nbb.js → setup-deploy-CLEI7E1Q.js} +2 -2
  283. package/build/server/chunks/{setup-deploy-BtgW_nbb.js.map → setup-deploy-CLEI7E1Q.js.map} +1 -1
  284. package/build/server/chunks/{src-BN-m14sE.js → src-6_43PqOl.js} +32 -3
  285. package/build/server/chunks/src-6_43PqOl.js.map +1 -0
  286. package/build/server/chunks/{state-BjAIjYtQ.js → state-BSB5Y59J.js} +2 -2
  287. package/build/server/chunks/{state-BjAIjYtQ.js.map → state-BSB5Y59J.js.map} +1 -1
  288. package/build/server/chunks/{state2-CeseXnTO.js → state2-Cw5f783B.js} +2 -2
  289. package/build/server/chunks/{state2-CeseXnTO.js.map → state2-Cw5f783B.js.map} +1 -1
  290. package/build/server/index.js +1 -1
  291. package/build/server/index.js.map +1 -1
  292. package/build/server/manifest.js +100 -93
  293. package/build/server/manifest.js.map +1 -1
  294. package/package.json +2 -2
  295. package/build/client/_app/immutable/assets/4.DQdAwaDZ.css +0 -1
  296. package/build/client/_app/immutable/assets/4.DQdAwaDZ.css.br +0 -0
  297. package/build/client/_app/immutable/assets/4.DQdAwaDZ.css.gz +0 -0
  298. package/build/client/_app/immutable/chunks/B88bDQ93.js +0 -1
  299. package/build/client/_app/immutable/chunks/B88bDQ93.js.br +0 -2
  300. package/build/client/_app/immutable/chunks/B88bDQ93.js.gz +0 -0
  301. package/build/client/_app/immutable/chunks/BjCyXDZy.js.br +0 -0
  302. package/build/client/_app/immutable/chunks/BjCyXDZy.js.gz +0 -0
  303. package/build/client/_app/immutable/chunks/CAAiIhwC.js.br +0 -0
  304. package/build/client/_app/immutable/chunks/CAAiIhwC.js.gz +0 -0
  305. package/build/client/_app/immutable/chunks/CP1N4Jy5.js.br +0 -0
  306. package/build/client/_app/immutable/chunks/CP1N4Jy5.js.gz +0 -0
  307. package/build/client/_app/immutable/chunks/CgDyA2Qw.js.br +0 -0
  308. package/build/client/_app/immutable/chunks/CgDyA2Qw.js.gz +0 -0
  309. package/build/client/_app/immutable/chunks/DpHEXvQk.js.br +0 -0
  310. package/build/client/_app/immutable/chunks/DpHEXvQk.js.gz +0 -0
  311. package/build/client/_app/immutable/chunks/Dr8nRIOR.js +0 -1
  312. package/build/client/_app/immutable/chunks/Dr8nRIOR.js.br +0 -0
  313. package/build/client/_app/immutable/chunks/Dr8nRIOR.js.gz +0 -0
  314. package/build/client/_app/immutable/entry/app.BcL08IcT.js.br +0 -0
  315. package/build/client/_app/immutable/entry/app.BcL08IcT.js.gz +0 -0
  316. package/build/client/_app/immutable/entry/start.CAuRWqZB.js +0 -1
  317. package/build/client/_app/immutable/entry/start.CAuRWqZB.js.br +0 -0
  318. package/build/client/_app/immutable/entry/start.CAuRWqZB.js.gz +0 -0
  319. package/build/client/_app/immutable/nodes/0.AZnG4POF.js.br +0 -0
  320. package/build/client/_app/immutable/nodes/0.AZnG4POF.js.gz +0 -0
  321. package/build/client/_app/immutable/nodes/1.uNWROKRa.js.gz +0 -0
  322. package/build/client/_app/immutable/nodes/4.CNN_a8JB.js +0 -126
  323. package/build/client/_app/immutable/nodes/4.CNN_a8JB.js.br +0 -0
  324. package/build/client/_app/immutable/nodes/4.CNN_a8JB.js.gz +0 -0
  325. package/build/client/_app/immutable/nodes/5.rZSa9V3W.js.br +0 -0
  326. package/build/client/_app/immutable/nodes/5.rZSa9V3W.js.gz +0 -0
  327. package/build/client/_app/immutable/nodes/6.DUAMcwSm.js.br +0 -0
  328. package/build/client/_app/immutable/nodes/6.DUAMcwSm.js.gz +0 -0
  329. package/build/client/_app/immutable/nodes/7.B1u5a8yO.js.br +0 -0
  330. package/build/client/_app/immutable/nodes/7.B1u5a8yO.js.gz +0 -0
  331. package/build/client/_app/immutable/nodes/8.DW8zKXS4.js.br +0 -0
  332. package/build/client/_app/immutable/nodes/8.DW8zKXS4.js.gz +0 -0
  333. package/build/server/chunks/1-B2LhxwPN.js +0 -9
  334. package/build/server/chunks/4-2GARyIXu.js +0 -9
  335. package/build/server/chunks/6-Bnw_JRXO.js +0 -9
  336. package/build/server/chunks/_page.svelte-D6dWiRVl.js.map +0 -1
  337. package/build/server/chunks/_server.ts-BTeSTLAx.js.map +0 -1
  338. package/build/server/chunks/src-BN-m14sE.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DBFkIfX3.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/health/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tlet opencode = false;\n\ttry {\n\t\tconst headers = {};\n\t\tif (endpoint.password) {\n\t\t\tconst user = endpoint.username || \"openpalm\";\n\t\t\theaders[\"authorization\"] = `Basic ${btoa(`${user}:${endpoint.password}`)}`;\n\t\t}\n\t\topencode = (await fetch(`${endpoint.url}/health`, {\n\t\t\theaders,\n\t\t\tsignal: AbortSignal.timeout(2e3)\n\t\t})).ok;\n\t} catch {}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\topencode,\n\t\tendpoint: {\n\t\t\tid: endpoint.id,\n\t\t\tlabel: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tisDefault: endpoint.isDefault\n\t\t}\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,iBAAiB,EAAE;AACrC,CAAC,IAAI,QAAQ,GAAG,KAAK;AACrB,CAAC,IAAI;AACL,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACzB,GAAG,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU;AAC/C,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,EAAE;AACF,EAAE,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACpD,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC,EAAE,EAAE;AACR,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ,EAAE;AACZ,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE;AAClB,GAAG,KAAK,EAAE,QAAQ,CAAC,KAAK;AACxB,GAAG,GAAG,EAAE,QAAQ,CAAC,GAAG;AACpB,GAAG,SAAS,EAAE,QAAQ,CAAC;AACvB;AACA,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-DUm3tXIm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/health/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tlet opencode = false;\n\ttry {\n\t\tconst headers = {};\n\t\tif (endpoint.password) {\n\t\t\tconst user = endpoint.username || \"openpalm\";\n\t\t\theaders[\"authorization\"] = `Basic ${btoa(`${user}:${endpoint.password}`)}`;\n\t\t}\n\t\topencode = (await fetch(`${endpoint.url}/health`, {\n\t\t\theaders,\n\t\t\tsignal: AbortSignal.timeout(2e3)\n\t\t})).ok;\n\t} catch {}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\topencode,\n\t\tendpoint: {\n\t\t\tid: endpoint.id,\n\t\t\tlabel: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tisDefault: endpoint.isDefault\n\t\t}\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,iBAAiB,EAAE;AACrC,CAAC,IAAI,QAAQ,GAAG,KAAK;AACrB,CAAC,IAAI;AACL,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACzB,GAAG,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU;AAC/C,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,EAAE;AACF,EAAE,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACpD,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC,EAAE,EAAE;AACR,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ,EAAE;AACZ,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE;AAClB,GAAG,KAAK,EAAE,QAAQ,CAAC,KAAK;AACxB,GAAG,GAAG,EAAE,QAAQ,CAAC,GAAG;AACpB,GAAG,SAAS,EAAE,QAAQ,CAAC;AACvB;AACA,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,7 +1,7 @@
1
- import { am as listEnabledAddonIds, ak as listAvailableAddonIds } from './src-BN-m14sE.js';
2
- import { g as getState } from './state-BjAIjYtQ.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-s8d3gE38.js';
4
- import { p as performAddonToggle } from './addon-helpers-kNrSUlMe.js';
1
+ import { aq as listEnabledAddonIds, ao as listAvailableAddonIds } from './src-6_43PqOl.js';
2
+ import { g as getState } from './state-BSB5Y59J.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-D1YvzZua.js';
4
+ import { p as performAddonToggle } from './addon-helpers-CnbolsO1.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -23,7 +23,7 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-Dq-IqF1t.js';
26
+ import './endpoints-CTSUfQtx.js';
27
27
 
28
28
  //#region src/routes/admin/addons/+server.ts
29
29
  function buildAddonList(availableIds, enabledIds) {
@@ -63,4 +63,4 @@ var POST = async (event) => {
63
63
  };
64
64
 
65
65
  export { GET, POST };
66
- //# sourceMappingURL=_server.ts-DueQnU1L.js.map
66
+ //# sourceMappingURL=_server.ts-DWrrwZCv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DueQnU1L.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_server.ts.js"],"sourcesContent":["import { Tt as listEnabledAddonIds, wt as listAvailableAddonIds } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../chunks/helpers.js\";\nimport { t as performAddonToggle } from \"../../../../chunks/addon-helpers.js\";\n//#region src/routes/admin/addons/+server.ts\nfunction buildAddonList(availableIds, enabledIds) {\n\tconst enabledSet = new Set(enabledIds);\n\treturn availableIds.map((name) => ({\n\t\tname,\n\t\tenabled: enabledSet.has(name),\n\t\tavailable: true\n\t}));\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\treturn jsonResponse(200, { addons: buildAddonList(listAvailableAddonIds(), listEnabledAddonIds(state.homeDir)) }, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst name = typeof body.name === \"string\" ? body.name.trim() : \"\";\n\tif (!name) return errorResponse(400, \"bad_request\", \"name is required\", {}, requestId);\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst toggle = await performAddonToggle(state, name, typeof body.enabled === \"boolean\" ? body.enabled : void 0, requestId);\n\tif (!toggle.ok) return errorResponse(500, \"internal_error\", toggle.error, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\taddon: name,\n\t\tenabled: toggle.enabled,\n\t\tchanged: toggle.changed\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,SAAS,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE;AAClD,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC;AACvC,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACpC,EAAE,IAAI;AACN,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/B,EAAE,SAAS,EAAE;AACb,EAAE,CAAC,CAAC;AACJ;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,qBAAqB,EAAE,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAC7H;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;AACnE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AAC7I,CAAC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,CAAC;AAC3H,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC;AACzF,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,KAAK,EAAE,IAAI;AACb,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;AACzB,EAAE,OAAO,EAAE,MAAM,CAAC;AAClB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-DWrrwZCv.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_server.ts.js"],"sourcesContent":["import { Tt as listEnabledAddonIds, wt as listAvailableAddonIds } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../chunks/helpers.js\";\nimport { t as performAddonToggle } from \"../../../../chunks/addon-helpers.js\";\n//#region src/routes/admin/addons/+server.ts\nfunction buildAddonList(availableIds, enabledIds) {\n\tconst enabledSet = new Set(enabledIds);\n\treturn availableIds.map((name) => ({\n\t\tname,\n\t\tenabled: enabledSet.has(name),\n\t\tavailable: true\n\t}));\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\treturn jsonResponse(200, { addons: buildAddonList(listAvailableAddonIds(), listEnabledAddonIds(state.homeDir)) }, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst name = typeof body.name === \"string\" ? body.name.trim() : \"\";\n\tif (!name) return errorResponse(400, \"bad_request\", \"name is required\", {}, requestId);\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst toggle = await performAddonToggle(state, name, typeof body.enabled === \"boolean\" ? body.enabled : void 0, requestId);\n\tif (!toggle.ok) return errorResponse(500, \"internal_error\", toggle.error, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\taddon: name,\n\t\tenabled: toggle.enabled,\n\t\tchanged: toggle.changed\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,SAAS,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE;AAClD,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC;AACvC,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACpC,EAAE,IAAI;AACN,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/B,EAAE,SAAS,EAAE;AACb,EAAE,CAAC,CAAC;AACJ;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,qBAAqB,EAAE,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAC7H;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;AACnE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AAC7I,CAAC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,CAAC;AAC3H,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC;AACzF,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,KAAK,EAAE,IAAI;AACb,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;AACzB,EAAE,OAAO,EAAE,MAAM,CAAC;AAClB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,7 +1,7 @@
1
- import { w as withAdminBody, k as jsonResponse } from './helpers-s8d3gE38.js';
2
- import { o as opencodeFetch } from './http-BCF8LO-V.js';
1
+ import { w as withAdminBody, k as jsonResponse } from './helpers-D1YvzZua.js';
2
+ import { o as opencodeFetch } from './http-DIpQJBzk.js';
3
3
  import { a as asStringOrEmpty } from './_helpers-B_lb4-jB.js';
4
- import './src-BN-m14sE.js';
4
+ import './src-6_43PqOl.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -23,8 +23,8 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-Dq-IqF1t.js';
27
- import './state-BjAIjYtQ.js';
26
+ import './endpoints-CTSUfQtx.js';
27
+ import './state-BSB5Y59J.js';
28
28
  import './coercion-TNFJisCC.js';
29
29
 
30
30
  //#region src/routes/admin/providers/oauth/finish/+server.ts
@@ -65,4 +65,4 @@ var POST = (event) => withAdminBody(event, async ({ requestId, body }) => {
65
65
  });
66
66
 
67
67
  export { POST };
68
- //# sourceMappingURL=_server.ts-DN9DIE7V.js.map
68
+ //# sourceMappingURL=_server.ts-DdMvm3VP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DN9DIE7V.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, p as withAdminBody } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/finish/+server.ts\n/**\n* POST /admin/providers/oauth/finish — Complete an OAuth code-mode\n* sign-in by exchanging the operator-pasted authorization code with the\n* assistant OpenCode instance.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tconst code = asStringOrEmpty(body.code);\n\t\tif (!providerId || Number.isNaN(methodIndex) || !code) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Paste the authorization code before finishing sign-in.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\tcode\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth connection completed.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AACzC,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAClF,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,wDAAwD;AACpE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI;AACJ,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,6BAA6B;AACzC,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
1
+ {"version":3,"file":"_server.ts-DdMvm3VP.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, p as withAdminBody } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/finish/+server.ts\n/**\n* POST /admin/providers/oauth/finish — Complete an OAuth code-mode\n* sign-in by exchanging the operator-pasted authorization code with the\n* assistant OpenCode instance.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tconst code = asStringOrEmpty(body.code);\n\t\tif (!providerId || Number.isNaN(methodIndex) || !code) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Paste the authorization code before finishing sign-in.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\tcode\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth connection completed.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AACzC,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAClF,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,wDAAwD;AACpE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI;AACJ,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,6BAA6B;AACzC,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
- import { an as listSecretFiles } from './src-BN-m14sE.js';
2
- import { g as getState } from './state-BjAIjYtQ.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-s8d3gE38.js';
1
+ import { ar as listSecretFiles } from './src-6_43PqOl.js';
2
+ import { g as getState } from './state-BSB5Y59J.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-D1YvzZua.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
25
+ import './endpoints-CTSUfQtx.js';
26
26
 
27
27
  //#region src/routes/admin/secrets/+server.ts
28
28
  var GET = async (event) => {
@@ -33,4 +33,4 @@ var GET = async (event) => {
33
33
  };
34
34
 
35
35
  export { GET };
36
- //# sourceMappingURL=_server.ts-C8LFsdDG.js.map
36
+ //# sourceMappingURL=_server.ts-DgZBohcX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C8LFsdDG.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/secrets/_server.ts.js"],"sourcesContent":["import { Wt as listSecretFiles } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/secrets/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, { files: listSecretFiles(getState().stackDir) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;AACrF;;;;"}
1
+ {"version":3,"file":"_server.ts-DgZBohcX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/secrets/_server.ts.js"],"sourcesContent":["import { Jt as listSecretFiles } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/secrets/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, { files: listSecretFiles(getState().stackDir) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;AACrF;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { O as detectHostOpenCode, ab as hostAkmStashPath, ag as isHostAkmAvailable, F as createLogger } from './src-BN-m14sE.js';
2
+ import { T as detectHostOpenCode, af as hostAkmStashPath, ak as isHostAkmAvailable, H as createLogger } from './src-6_43PqOl.js';
3
3
  import { homedir } from 'node:os';
4
4
  import './utils-BSRjJDrZ.js';
5
5
  import './chunk-CLZ62Ad-.js';
@@ -64,4 +64,4 @@ var GET = () => {
64
64
  };
65
65
 
66
66
  export { GET };
67
- //# sourceMappingURL=_server.ts-CBEVK-Yt.js.map
67
+ //# sourceMappingURL=_server.ts-DigsUCYF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CBEVK-Yt.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/host-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { T as isHostAkmAvailable, hn as createLogger, i as detectHostOpenCode, w as hostAkmStashPath } from \"../../../../../chunks/src.js\";\nimport { homedir } from \"node:os\";\n//#region src/routes/api/setup/host-status/+server.ts\nvar logger = createLogger(\"admin:host-status\");\nvar GET = () => {\n\ttry {\n\t\tconst status = detectHostOpenCode();\n\t\tconst home = homedir();\n\t\tconst akmStashPath = hostAkmStashPath();\n\t\tconst hostAkmAvailable = isHostAkmAvailable();\n\t\treturn json({\n\t\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\t\tproviderCount: status.providerCount,\n\t\t\tcredentialCount: status.credentialCount,\n\t\t\tmodelPreferences: status.modelPreferences,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable,\n\t\t\thostAkmPaths: {\n\t\t\t\tstash: akmStashPath,\n\t\t\t\tdata: `${home}/.local/share/akm`,\n\t\t\t\tstate: `${home}/.local/state/akm`,\n\t\t\t\tconfig: `${home}/.config/akm`\n\t\t\t}\n\t\t});\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tconst stack = err instanceof Error ? err.stack : void 0;\n\t\tlogger.warn(\"failed to detect host openpalm/openpalm state\", {\n\t\t\terror: message,\n\t\t\tstack\n\t\t});\n\t\treturn json({\n\t\t\tdetected: false,\n\t\t\tproviderCount: 0,\n\t\t\tcredentialCount: 0,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable: false,\n\t\t\twarning: `Could not detect host OpenCode state: ${message}`\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAC3C,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,kBAAkB,EAAE;AACrC,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,MAAM,YAAY,GAAG,gBAAgB,EAAE;AACzC,EAAE,MAAM,gBAAgB,GAAG,kBAAkB,EAAE;AAC/C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AACnE,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,eAAe,EAAE,MAAM,CAAC,eAAe;AAC1C,GAAG,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;AAC5C,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB;AACnB,GAAG,YAAY,EAAE;AACjB,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACpC,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY;AAChC;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM;AACzD,EAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;AAC/D,GAAG,KAAK,EAAE,OAAO;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,KAAK;AAClB,GAAG,aAAa,EAAE,CAAC;AACnB,GAAG,eAAe,EAAE,CAAC;AACrB,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB,EAAE,KAAK;AAC1B,GAAG,OAAO,EAAE,CAAC,sCAAsC,EAAE,OAAO,CAAC;AAC7D,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-DigsUCYF.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/host-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { T as isHostAkmAvailable, i as detectHostOpenCode, w as hostAkmStashPath, xn as createLogger } from \"../../../../../chunks/src.js\";\nimport { homedir } from \"node:os\";\n//#region src/routes/api/setup/host-status/+server.ts\nvar logger = createLogger(\"admin:host-status\");\nvar GET = () => {\n\ttry {\n\t\tconst status = detectHostOpenCode();\n\t\tconst home = homedir();\n\t\tconst akmStashPath = hostAkmStashPath();\n\t\tconst hostAkmAvailable = isHostAkmAvailable();\n\t\treturn json({\n\t\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\t\tproviderCount: status.providerCount,\n\t\t\tcredentialCount: status.credentialCount,\n\t\t\tmodelPreferences: status.modelPreferences,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable,\n\t\t\thostAkmPaths: {\n\t\t\t\tstash: akmStashPath,\n\t\t\t\tdata: `${home}/.local/share/akm`,\n\t\t\t\tstate: `${home}/.local/state/akm`,\n\t\t\t\tconfig: `${home}/.config/akm`\n\t\t\t}\n\t\t});\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tconst stack = err instanceof Error ? err.stack : void 0;\n\t\tlogger.warn(\"failed to detect host openpalm/openpalm state\", {\n\t\t\terror: message,\n\t\t\tstack\n\t\t});\n\t\treturn json({\n\t\t\tdetected: false,\n\t\t\tproviderCount: 0,\n\t\t\tcredentialCount: 0,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable: false,\n\t\t\twarning: `Could not detect host OpenCode state: ${message}`\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAC3C,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,kBAAkB,EAAE;AACrC,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,MAAM,YAAY,GAAG,gBAAgB,EAAE;AACzC,EAAE,MAAM,gBAAgB,GAAG,kBAAkB,EAAE;AAC/C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AACnE,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,eAAe,EAAE,MAAM,CAAC,eAAe;AAC1C,GAAG,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;AAC5C,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB;AACnB,GAAG,YAAY,EAAE;AACjB,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACpC,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY;AAChC;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM;AACzD,EAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;AAC/D,GAAG,KAAK,EAAE,OAAO;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,KAAK;AAClB,GAAG,aAAa,EAAE,CAAC;AACnB,GAAG,eAAe,EAAE,CAAC;AACrB,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB,EAAE,KAAK;AAC1B,GAAG,OAAO,EAAE,CAAC,sCAAsC,EAAE,OAAO,CAAC;AAC7D,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-s8d3gE38.js';
2
- import { t as testEmbeddingSettings } from './akm-IP8X7RlR.js';
3
- import './src-BN-m14sE.js';
1
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-D1YvzZua.js';
2
+ import { t as testEmbeddingSettings } from './akm-DZG2hPN2.js';
3
+ import './src-6_43PqOl.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,8 +22,8 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
26
- import './state-BjAIjYtQ.js';
25
+ import './endpoints-CTSUfQtx.js';
26
+ import './state-BSB5Y59J.js';
27
27
 
28
28
  //#region src/routes/admin/akm/embedding/test/+server.ts
29
29
  var POST = async (event) => {
@@ -51,4 +51,4 @@ var POST = async (event) => {
51
51
  };
52
52
 
53
53
  export { POST };
54
- //# sourceMappingURL=_server.ts-DVJYo8_h.js.map
54
+ //# sourceMappingURL=_server.ts-DmoAtZuh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DVJYo8_h.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/embedding/test/_server.ts.js"],"sourcesContent":["import { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../chunks/helpers.js\";\nimport { r as testEmbeddingSettings } from \"../../../../../../chunks/akm.js\";\n//#region src/routes/admin/akm/embedding/test/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst body = parsed.data;\n\tconst endpoint = typeof body.endpoint === \"string\" ? body.endpoint : \"\";\n\tconst model = typeof body.model === \"string\" ? body.model : \"\";\n\tconst provider = typeof body.provider === \"string\" ? body.provider : \"\";\n\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey : \"\";\n\tconst dimension = typeof body.dimension === \"number\" ? body.dimension : void 0;\n\tif (!endpoint.trim() || !model.trim()) return errorResponse(400, \"bad_request\", \"Endpoint and model are required.\", {}, requestId);\n\tconst result = await testEmbeddingSettings({\n\t\tendpoint,\n\t\tmodel,\n\t\tprovider,\n\t\tapiKey,\n\t\tdimension\n\t});\n\tif (!result.ok) return errorResponse(502, \"embedding_test_failed\", result.message, {}, requestId);\n\treturn jsonResponse(200, result, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AAC/D,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AAClE,CAAC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM;AAC/E,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kCAAkC,EAAE,EAAE,EAAE,SAAS,CAAC;AACnI,CAAC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;AAC5C,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AAClG,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;AAC5C;;;;"}
1
+ {"version":3,"file":"_server.ts-DmoAtZuh.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/embedding/test/_server.ts.js"],"sourcesContent":["import { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../chunks/helpers.js\";\nimport { r as testEmbeddingSettings } from \"../../../../../../chunks/akm.js\";\n//#region src/routes/admin/akm/embedding/test/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst body = parsed.data;\n\tconst endpoint = typeof body.endpoint === \"string\" ? body.endpoint : \"\";\n\tconst model = typeof body.model === \"string\" ? body.model : \"\";\n\tconst provider = typeof body.provider === \"string\" ? body.provider : \"\";\n\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey : \"\";\n\tconst dimension = typeof body.dimension === \"number\" ? body.dimension : void 0;\n\tif (!endpoint.trim() || !model.trim()) return errorResponse(400, \"bad_request\", \"Endpoint and model are required.\", {}, requestId);\n\tconst result = await testEmbeddingSettings({\n\t\tendpoint,\n\t\tmodel,\n\t\tprovider,\n\t\tapiKey,\n\t\tdimension\n\t});\n\tif (!result.ok) return errorResponse(502, \"embedding_test_failed\", result.message, {}, requestId);\n\treturn jsonResponse(200, result, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AAC/D,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AAClE,CAAC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM;AAC/E,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kCAAkC,EAAE,EAAE,EAAE,SAAS,CAAC;AACnI,CAAC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;AAC5C,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AAClG,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;AAC5C;;;;"}
@@ -0,0 +1,108 @@
1
+ import { j as json } from './exports-D1quPX8S.js';
2
+ import { S as SERVICE_VERSION_KEYS, b as NPM_VERSION_KEYS, D as DOCKER_IMAGE_NAMES, N as NPM_PACKAGE_NAMES } from './src-6_43PqOl.js';
3
+ import { r as requireAdmin, d as getRequestId } from './helpers-D1YvzZua.js';
4
+ import './utils-BSRjJDrZ.js';
5
+ import './chunk-CLZ62Ad-.js';
6
+ import 'node:module';
7
+ import './provider-constants-DPrj3yBX.js';
8
+ import './dist-DOFcG0Zp.js';
9
+ import 'node:fs';
10
+ import 'node:path';
11
+ import 'buffer';
12
+ import 'fs';
13
+ import 'path';
14
+ import 'node:child_process';
15
+ import 'node:url';
16
+ import 'node:crypto';
17
+ import 'events';
18
+ import 'node:events';
19
+ import 'node:stream';
20
+ import 'node:string_decoder';
21
+ import 'assert';
22
+ import 'zlib';
23
+ import 'node:assert';
24
+ import 'node:fs/promises';
25
+ import 'node:os';
26
+ import './endpoints-CTSUfQtx.js';
27
+ import './state-BSB5Y59J.js';
28
+
29
+ //#region src/routes/admin/versions/latest/+server.ts
30
+ var DOCKER_HUB_NAMESPACE = "openpalm";
31
+ var STABLE_SEMVER = /^v?(\d+\.\d+\.\d+)$/;
32
+ var VOICE_STABLE = /^v?(\d+\.\d+\.\d+)-\w+$/;
33
+ async function resolveDockerLatest(image) {
34
+ try {
35
+ const res = await fetch(`https://hub.docker.com/v2/repositories/${DOCKER_HUB_NAMESPACE}/${image}/tags?page_size=25&ordering=-last_updated`, {
36
+ headers: { Accept: "application/json" },
37
+ signal: AbortSignal.timeout(8e3)
38
+ });
39
+ if (!res.ok) return null;
40
+ const data = await res.json();
41
+ for (const tag of data.results ?? []) {
42
+ const plain = tag.name.match(STABLE_SEMVER);
43
+ if (plain) return plain[1];
44
+ const voice = tag.name.match(VOICE_STABLE);
45
+ if (voice) return voice[1];
46
+ }
47
+ return null;
48
+ } catch {
49
+ return null;
50
+ }
51
+ }
52
+ async function resolveNpmLatest(pkg) {
53
+ try {
54
+ const res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(pkg)}/latest`, {
55
+ headers: { Accept: "application/json" },
56
+ signal: AbortSignal.timeout(6e3)
57
+ });
58
+ if (!res.ok) return null;
59
+ const data = await res.json();
60
+ return typeof data.version === "string" ? data.version : null;
61
+ } catch {
62
+ return null;
63
+ }
64
+ }
65
+ var CACHE_TTL_MS = 300 * 1e3;
66
+ var cachedResult = null;
67
+ var cacheExpiresAt = 0;
68
+ var GET = async (event) => {
69
+ const authError = requireAdmin(event, getRequestId(event));
70
+ if (authError) return authError;
71
+ if (cachedResult && Date.now() < cacheExpiresAt) return json(cachedResult);
72
+ const errors = [];
73
+ const [dockerResults, npmResults, uiResult] = await Promise.all([
74
+ Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {
75
+ const image = DOCKER_IMAGE_NAMES[key];
76
+ const version = await resolveDockerLatest(image);
77
+ if (!version) errors.push(`Docker Hub: could not resolve latest for ${DOCKER_HUB_NAMESPACE}/${image}`);
78
+ return [key, version];
79
+ })),
80
+ Promise.all(NPM_VERSION_KEYS.map(async (key) => {
81
+ const pkg = NPM_PACKAGE_NAMES[key];
82
+ const version = await resolveNpmLatest(pkg);
83
+ if (!version) errors.push(`npm: could not resolve latest for ${pkg}`);
84
+ return [key, version];
85
+ })),
86
+ resolveNpmLatest("@openpalm/ui").then((v) => {
87
+ if (!v) errors.push("npm: could not resolve latest for @openpalm/ui");
88
+ return ["OP_UI_VERSION", v];
89
+ })
90
+ ]);
91
+ const versions = {};
92
+ for (const [key, val] of [
93
+ ...dockerResults,
94
+ ...npmResults,
95
+ uiResult
96
+ ]) versions[key] = val;
97
+ const result = {
98
+ versions,
99
+ errors,
100
+ fetchedAt: (/* @__PURE__ */ new Date()).toISOString()
101
+ };
102
+ cachedResult = result;
103
+ cacheExpiresAt = Date.now() + CACHE_TTL_MS;
104
+ return json(result);
105
+ };
106
+
107
+ export { GET };
108
+ //# sourceMappingURL=_server.ts-DoNF72CU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-DoNF72CU.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/latest/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Ft as NPM_PACKAGE_NAMES, It as NPM_VERSION_KEYS, Lt as SERVICE_VERSION_KEYS, Pt as DOCKER_IMAGE_NAMES } from \"../../../../../chunks/src.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/versions/latest/+server.ts\nvar DOCKER_HUB_NAMESPACE = \"openpalm\";\nvar STABLE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+)$/;\nvar VOICE_STABLE = /^v?(\\d+\\.\\d+\\.\\d+)-\\w+$/;\nasync function resolveDockerLatest(image) {\n\ttry {\n\t\tconst res = await fetch(`https://hub.docker.com/v2/repositories/${DOCKER_HUB_NAMESPACE}/${image}/tags?page_size=25&ordering=-last_updated`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\tfor (const tag of data.results ?? []) {\n\t\t\tconst plain = tag.name.match(STABLE_SEMVER);\n\t\t\tif (plain) return plain[1];\n\t\t\tconst voice = tag.name.match(VOICE_STABLE);\n\t\t\tif (voice) return voice[1];\n\t\t}\n\t\treturn null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nasync function resolveNpmLatest(pkg) {\n\ttry {\n\t\tconst res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(pkg)}/latest`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(6e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\treturn typeof data.version === \"string\" ? data.version : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nvar CACHE_TTL_MS = 300 * 1e3;\nvar cachedResult = null;\nvar cacheExpiresAt = 0;\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\tif (cachedResult && Date.now() < cacheExpiresAt) return json(cachedResult);\n\tconst errors = [];\n\tconst [dockerResults, npmResults, uiResult] = await Promise.all([\n\t\tPromise.all(SERVICE_VERSION_KEYS.map(async (key) => {\n\t\t\tconst image = DOCKER_IMAGE_NAMES[key];\n\t\t\tconst version = await resolveDockerLatest(image);\n\t\t\tif (!version) errors.push(`Docker Hub: could not resolve latest for ${DOCKER_HUB_NAMESPACE}/${image}`);\n\t\t\treturn [key, version];\n\t\t})),\n\t\tPromise.all(NPM_VERSION_KEYS.map(async (key) => {\n\t\t\tconst pkg = NPM_PACKAGE_NAMES[key];\n\t\t\tconst version = await resolveNpmLatest(pkg);\n\t\t\tif (!version) errors.push(`npm: could not resolve latest for ${pkg}`);\n\t\t\treturn [key, version];\n\t\t})),\n\t\tresolveNpmLatest(\"@openpalm/ui\").then((v) => {\n\t\t\tif (!v) errors.push(\"npm: could not resolve latest for @openpalm/ui\");\n\t\t\treturn [\"OP_UI_VERSION\", v];\n\t\t})\n\t]);\n\tconst versions = {};\n\tfor (const [key, val] of [\n\t\t...dockerResults,\n\t\t...npmResults,\n\t\tuiResult\n\t]) versions[key] = val;\n\tconst result = {\n\t\tversions,\n\t\terrors,\n\t\tfetchedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t};\n\tcachedResult = result;\n\tcacheExpiresAt = Date.now() + CACHE_TTL_MS;\n\treturn json(result);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
2
  import { a as PROVIDER_KEY_MAP } from './provider-constants-DPrj3yBX.js';
3
- import { ai as isSetupComplete, aO as resolveStackDir, N as detectGpu, Q as detectLocalProviders, O as detectHostOpenCode, aH as recommendSetup, i as authJsonPath } from './src-BN-m14sE.js';
4
- import { g as getState } from './state-BjAIjYtQ.js';
5
- import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-s8d3gE38.js';
3
+ import { am as isSetupComplete, aU as resolveStackDir, R as detectGpu, U as detectLocalProviders, T as detectHostOpenCode, aN as recommendSetup, j as authJsonPath } from './src-6_43PqOl.js';
4
+ import { g as getState } from './state-BSB5Y59J.js';
5
+ import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-D1YvzZua.js';
6
6
  import { existsSync, readFileSync } from 'node:fs';
7
7
  import './utils-BSRjJDrZ.js';
8
8
  import './chunk-CLZ62Ad-.js';
@@ -24,7 +24,7 @@ import 'zlib';
24
24
  import 'node:assert';
25
25
  import 'node:fs/promises';
26
26
  import 'node:os';
27
- import './endpoints-Dq-IqF1t.js';
27
+ import './endpoints-CTSUfQtx.js';
28
28
 
29
29
  //#region src/routes/api/setup/recommend/+server.ts
30
30
  /** Local providers are detected separately as host providers — exclude from "cloud". */
@@ -97,4 +97,4 @@ var GET = async (event) => {
97
97
  };
98
98
 
99
99
  export { GET };
100
- //# sourceMappingURL=_server.ts-vZTWdH4v.js.map
100
+ //# sourceMappingURL=_server.ts-Dtd7DLPY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-vZTWdH4v.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 { Yt as authJsonPath, c as recommendSetup, en as resolveStackDir, i as detectHostOpenCode, l as detectGpu, u as detectLocalProviders, 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
+ {"version":3,"file":"_server.ts-Dtd7DLPY.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 { $t as authJsonPath, c as recommendSetup, i as detectHostOpenCode, in as resolveStackDir, l as detectGpu, u as detectLocalProviders, 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA;AACA,IAAI,kBAAkB,GAAG,IAAI,GAAG,CAAC;AACjC,CAAC,QAAQ;AACT,CAAC,UAAU;AACX,CAAC,cAAc;AACf,CAAC;AACD,CAAC,CAAC;AACF;AACA,SAAS,iBAAiB,GAAG;AAC7B,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AACvC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;AACA;AACA,SAAS,eAAe,GAAG;AAC3B,CAAC,MAAM,GAAG,GAAG,EAAE;AACf,CAAC,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC/G,CAAC,OAAO,GAAG;AACX;AACA;AACA;AACA,eAAe,oBAAoB,GAAG;AACtC,CAAC,IAAI,SAAS,GAAG,EAAE;AACnB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,iBAAiB,EAAE;AACpC,EAAE,IAAI,MAAM,MAAM,CAAC,WAAW,EAAE,EAAE;AAClC,GAAG,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;AAClD,GAAG,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,EAAE;AAC7C,GAAG,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC;AACpF,EAAE,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,iBAAiB,EAAE,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,iBAAiB,EAAE,EAAE,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC;AACjF,CAAC;AACD,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7D;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE;AACzC,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5D,EAAE,IAAI,SAAS,EAAE,OAAO,SAAS;AACjC,CAAC;AACD,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,eAAe,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAChF,EAAE,oBAAoB,EAAE;AACxB,EAAE,SAAS,EAAE;AACb,EAAE,oBAAoB,EAAE;AACxB,EAAE,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE;AACtC,EAAE,CAAC;AACH,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC9E,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,GAAG,EAAE,CAAC,CAAC;AACT,EAAE,CAAC,CAAC;AACJ,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,cAAc,EAAE,cAAc,CAAC;AACjC,GAAG,cAAc;AACjB,GAAG,aAAa;AAChB,GAAG,GAAG;AACN,GAAG,mBAAmB,EAAE,YAAY,CAAC;AACrC,GAAG,CAAC;AACJ,EAAE,GAAG;AACL,EAAE,cAAc;AAChB,EAAE;AACF,EAAE,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-s8d3gE38.js';
2
- import { s as sessionCookieHeader } from './session-cookie-F6DkHp5H.js';
3
- import './src-BN-m14sE.js';
1
+ import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-D1YvzZua.js';
2
+ import { s as sessionCookieHeader } from './session-cookie-FUeRU5Vz.js';
3
+ import './src-6_43PqOl.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,8 +22,8 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
26
- import './state-BjAIjYtQ.js';
25
+ import './endpoints-CTSUfQtx.js';
26
+ import './state-BSB5Y59J.js';
27
27
 
28
28
  //#region src/routes/admin/auth/login/+server.ts
29
29
  var POST = async (event) => {
@@ -54,4 +54,4 @@ var POST = async (event) => {
54
54
  };
55
55
 
56
56
  export { POST };
57
- //# sourceMappingURL=_server.ts-eYpUsioT.js.map
57
+ //# sourceMappingURL=_server.ts-DusiWfej.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-eYpUsioT.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/login/_server.ts.js"],"sourcesContent":["import { f as safeTokenCompare, g as getUiLoginPassword, h as createSession, i as errorResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/login/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\trole: \"admin\"\n\t}), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE;AACR,EAAE,CAAC,EAAE;AACL,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-DusiWfej.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/login/_server.ts.js"],"sourcesContent":["import { f as safeTokenCompare, g as getUiLoginPassword, h as createSession, i as errorResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/login/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\trole: \"admin\"\n\t}), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE;AACR,EAAE,CAAC,EAAE;AACL,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, h as invalidateSession } from './helpers-s8d3gE38.js';
2
- import { S as SESSION_COOKIE_NAME, c as clearSessionCookieHeader } from './session-cookie-F6DkHp5H.js';
3
- import './src-BN-m14sE.js';
1
+ import { d as getRequestId, h as invalidateSession } from './helpers-D1YvzZua.js';
2
+ import { S as SESSION_COOKIE_NAME, c as clearSessionCookieHeader } from './session-cookie-FUeRU5Vz.js';
3
+ import './src-6_43PqOl.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,8 +22,8 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
26
- import './state-BjAIjYtQ.js';
25
+ import './endpoints-CTSUfQtx.js';
26
+ import './state-BSB5Y59J.js';
27
27
 
28
28
  //#region src/routes/admin/auth/logout/+server.ts
29
29
  var POST = async (event) => {
@@ -41,4 +41,4 @@ var POST = async (event) => {
41
41
  };
42
42
 
43
43
  export { POST };
44
- //# sourceMappingURL=_server.ts-BjSX-JsT.js.map
44
+ //# sourceMappingURL=_server.ts-DytUY54d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BjSX-JsT.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/logout/_server.ts.js"],"sourcesContent":["import { _ as invalidateSession, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as clearSessionCookieHeader, t as SESSION_COOKIE_NAME } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/logout/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst match = (event.request.headers.get(\"cookie\") ?? \"\").match(new RegExp(`(?:^|;\\\\s*)${SESSION_COOKIE_NAME}=([^;]+)`));\n\tif (match) invalidateSession(match[1]);\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\": clearSessionCookieHeader(event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzH,CAAC,IAAI,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvC,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,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;AACxD,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-DytUY54d.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/logout/_server.ts.js"],"sourcesContent":["import { _ as invalidateSession, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as clearSessionCookieHeader, t as SESSION_COOKIE_NAME } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/logout/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst match = (event.request.headers.get(\"cookie\") ?? \"\").match(new RegExp(`(?:^|;\\\\s*)${SESSION_COOKIE_NAME}=([^;]+)`));\n\tif (match) invalidateSession(match[1]);\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\": clearSessionCookieHeader(event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzH,CAAC,IAAI,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvC,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,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;AACxD,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { a7 as getAkmStats } from './src-BN-m14sE.js';
2
- import { g as getState } from './state-BjAIjYtQ.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-s8d3gE38.js';
1
+ import { ab as getAkmStats } from './src-6_43PqOl.js';
2
+ import { g as getState } from './state-BSB5Y59J.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-D1YvzZua.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
25
+ import './endpoints-CTSUfQtx.js';
26
26
 
27
27
  //#region src/routes/admin/akm/stats/+server.ts
28
28
  var CACHE_TTL_MS = 15e3;
@@ -53,4 +53,4 @@ var GET = async (event) => {
53
53
  };
54
54
 
55
55
  export { GET, _resetStatsCacheForTests };
56
- //# sourceMappingURL=_server.ts-DtVcRD5A.js.map
56
+ //# sourceMappingURL=_server.ts-EsysF2bR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DtVcRD5A.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/stats/_server.ts.js"],"sourcesContent":["import { n as getAkmStats } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/akm/stats/+server.ts\nvar CACHE_TTL_MS = 15e3;\nvar cachedStats = null;\nvar cachedAt = 0;\nvar inFlight = null;\nfunction _resetStatsCacheForTests() {\n\tcachedStats = null;\n\tcachedAt = 0;\n\tinFlight = null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tif (cachedStats && Date.now() - cachedAt < CACHE_TTL_MS) return jsonResponse(200, cachedStats, requestId);\n\ttry {\n\t\tif (!inFlight) inFlight = getAkmStats(getState()).finally(() => {\n\t\t\tinFlight = null;\n\t\t});\n\t\tconst stats = await inFlight;\n\t\tcachedStats = stats;\n\t\tcachedAt = Date.now();\n\t\treturn jsonResponse(200, stats, requestId);\n\t} catch (error) {\n\t\treturn errorResponse(500, \"akm_stats_failed\", error instanceof Error ? error.message : \"Failed to load AKM stats.\", {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, _resetStatsCacheForTests };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,IAAI;AACvB,IAAI,WAAW,GAAG,IAAI;AACtB,IAAI,QAAQ,GAAG,CAAC;AAChB,IAAI,QAAQ,GAAG,IAAI;AACnB,SAAS,wBAAwB,GAAG;AACpC,CAAC,WAAW,GAAG,IAAI;AACnB,CAAC,QAAQ,GAAG,CAAC;AACb,CAAC,QAAQ,GAAG,IAAI;AAChB;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9C,CAAC,IAAI,MAAM,EAAE,OAAO,MAAM;AAC1B,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,YAAY,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC;AAC1G,CAAC,IAAI;AACL,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;AAClE,GAAG,QAAQ,GAAG,IAAI;AAClB,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM,QAAQ;AAC9B,EAAE,WAAW,GAAG,KAAK;AACrB,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;AACvB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC;AAC5C,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,2BAA2B,EAAE,EAAE,EAAE,SAAS,CAAC;AACpI,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-EsysF2bR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/stats/_server.ts.js"],"sourcesContent":["import { n as getAkmStats } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/akm/stats/+server.ts\nvar CACHE_TTL_MS = 15e3;\nvar cachedStats = null;\nvar cachedAt = 0;\nvar inFlight = null;\nfunction _resetStatsCacheForTests() {\n\tcachedStats = null;\n\tcachedAt = 0;\n\tinFlight = null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tif (cachedStats && Date.now() - cachedAt < CACHE_TTL_MS) return jsonResponse(200, cachedStats, requestId);\n\ttry {\n\t\tif (!inFlight) inFlight = getAkmStats(getState()).finally(() => {\n\t\t\tinFlight = null;\n\t\t});\n\t\tconst stats = await inFlight;\n\t\tcachedStats = stats;\n\t\tcachedAt = Date.now();\n\t\treturn jsonResponse(200, stats, requestId);\n\t} catch (error) {\n\t\treturn errorResponse(500, \"akm_stats_failed\", error instanceof Error ? error.message : \"Failed to load AKM stats.\", {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, _resetStatsCacheForTests };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,IAAI;AACvB,IAAI,WAAW,GAAG,IAAI;AACtB,IAAI,QAAQ,GAAG,CAAC;AAChB,IAAI,QAAQ,GAAG,IAAI;AACnB,SAAS,wBAAwB,GAAG;AACpC,CAAC,WAAW,GAAG,IAAI;AACnB,CAAC,QAAQ,GAAG,CAAC;AACb,CAAC,QAAQ,GAAG,IAAI;AAChB;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9C,CAAC,IAAI,MAAM,EAAE,OAAO,MAAM;AAC1B,CAAC,IAAI,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,YAAY,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC;AAC1G,CAAC,IAAI;AACL,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;AAClE,GAAG,QAAQ,GAAG,IAAI;AAClB,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM,QAAQ;AAC9B,EAAE,WAAW,GAAG,KAAK;AACrB,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;AACvB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC;AAC5C,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,2BAA2B,EAAE,EAAE,EAAE,SAAS,CAAC;AACpI,CAAC;AACD;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { r as requireAdmin, d as getRequestId } from './helpers-s8d3gE38.js';
2
+ import { r as requireAdmin, d as getRequestId } from './helpers-D1YvzZua.js';
3
3
  import './utils-BSRjJDrZ.js';
4
- import './src-BN-m14sE.js';
4
+ import './src-6_43PqOl.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -23,8 +23,8 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-Dq-IqF1t.js';
27
- import './state-BjAIjYtQ.js';
26
+ import './endpoints-CTSUfQtx.js';
27
+ import './state-BSB5Y59J.js';
28
28
 
29
29
  //#region src/lib/server/release-units.ts
30
30
  var ELECTRON_ASSET_PATTERN = /^OpenPalm-.*\.(dmg|AppImage|zip|deb|rpm|pkg)$/i;
@@ -117,4 +117,4 @@ var GET = async (event) => {
117
117
  };
118
118
 
119
119
  export { GET };
120
- //# sourceMappingURL=_server.ts-k9P3ZBDK.js.map
120
+ //# sourceMappingURL=_server.ts-EyFvkzT6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-k9P3ZBDK.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/releases/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/lib/server/release-units.ts\nvar ELECTRON_ASSET_PATTERN = /^OpenPalm-.*\\.(dmg|AppImage|zip|deb|rpm|pkg)$/i;\nvar PLATFORM_TAG_PATTERN = /^platform-(\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]*)?)$/;\nvar LEGACY_V_TAG_PATTERN = /^v(\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]*)?)$/;\n/**\n* Select only platform releases that carry installable app assets (Electron\n* installer or skeleton/deploy bundle), skipping per-unit container-image\n* releases.\n*\n* Per-unit version pickers now read from Docker Hub tags (not GitHub releases),\n* so the releases endpoint only needs app-level releases — the ones with\n* downloadable installer/bundle assets. This dramatically reduces the data the\n* UI holds and keeps the GitHub API call to its existing single request (the\n* filtering is client-side of the fetch, not a second fetch).\n*\n* Deduplicates by semver so `{#each r.tag}` keys stay unique when a platform\n* release created both a `platform-X.Y.Z` and a legacy `vX.Y.Z` tag. Preserves\n* GitHub's `created_at` desc ordering.\n*/\nfunction selectInstallableReleases(raw) {\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst releases = [];\n\tfor (const r of raw) {\n\t\tconst hasElectronBuild = r.assets.some((a) => ELECTRON_ASSET_PATTERN.test(a.name));\n\t\tif (!hasElectronBuild) continue;\n\t\tconst platformMatch = r.tag_name.match(PLATFORM_TAG_PATTERN);\n\t\tif (platformMatch) {\n\t\t\tconst tag = platformMatch[1];\n\t\t\tif (!seen.has(tag)) {\n\t\t\t\tseen.add(tag);\n\t\t\t\treleases.push({\n\t\t\t\t\ttag,\n\t\t\t\t\tprerelease: r.prerelease,\n\t\t\t\t\tpublishedAt: r.published_at,\n\t\t\t\t\thasElectronBuild\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tconst legacyMatch = r.tag_name.match(LEGACY_V_TAG_PATTERN);\n\t\tif (legacyMatch) {\n\t\t\tconst tag = legacyMatch[1];\n\t\t\tif (!seen.has(tag)) {\n\t\t\t\tseen.add(tag);\n\t\t\t\treleases.push({\n\t\t\t\t\ttag,\n\t\t\t\t\tprerelease: r.prerelease,\n\t\t\t\t\tpublishedAt: r.published_at,\n\t\t\t\t\thasElectronBuild\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t}\n\treturn releases;\n}\n//#endregion\n//#region src/routes/admin/versions/releases/+server.ts\n/**\n* GET /admin/versions/releases — list installable platform releases from GitHub.\n*\n* Powers the desktop App-update badge: only platform releases that carry an\n* Electron installer asset. Best-effort — a GitHub outage yields an empty list\n* with an error signal rather than failing the page. (No server-side cache: the\n* admin UI no longer polls this, so a direct fetch per visit is fine.)\n*/\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\ttry {\n\t\tconst res = await fetch(\"https://api.github.com/repos/itlackey/openpalm/releases?per_page=20\", {\n\t\t\theaders: {\n\t\t\t\t\"User-Agent\": \"openpalm-admin/1.0\",\n\t\t\t\tAccept: \"application/vnd.github+json\"\n\t\t\t},\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return json({\n\t\t\treleases: [],\n\t\t\terror: \"GitHub releases unavailable\"\n\t\t});\n\t\treturn json({ releases: selectInstallableReleases(await res.json()) });\n\t} catch {\n\t\treturn json({\n\t\t\treleases: [],\n\t\t\terror: \"GitHub releases unavailable\"\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,sBAAsB,GAAG,gDAAgD;AAC7E,IAAI,oBAAoB,GAAG,mDAAmD;AAC9E,IAAI,oBAAoB,GAAG,2CAA2C;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yBAAyB,CAAC,GAAG,EAAE;AACxC,CAAC,MAAM,IAAI,mBAAmB,IAAI,GAAG,EAAE;AACvC,CAAC,MAAM,QAAQ,GAAG,EAAE;AACpB,CAAC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;AACtB,EAAE,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACpF,EAAE,IAAI,CAAC,gBAAgB,EAAE;AACzB,EAAE,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC;AAC9D,EAAE,IAAI,aAAa,EAAE;AACrB,GAAG,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC;AAC/B,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACjB,IAAI,QAAQ,CAAC,IAAI,CAAC;AAClB,KAAK,GAAG;AACR,KAAK,UAAU,EAAE,CAAC,CAAC,UAAU;AAC7B,KAAK,WAAW,EAAE,CAAC,CAAC,YAAY;AAChC,KAAK;AACL,KAAK,CAAC;AACN,GAAG;AACH,GAAG;AACH,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC;AAC5D,EAAE,IAAI,WAAW,EAAE;AACnB,GAAG,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC;AAC7B,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACjB,IAAI,QAAQ,CAAC,IAAI,CAAC;AAClB,KAAK,GAAG;AACR,KAAK,UAAU,EAAE,CAAC,CAAC,UAAU;AAC7B,KAAK,WAAW,EAAE,CAAC,CAAC,YAAY;AAChC,KAAK;AACL,KAAK,CAAC;AACN,GAAG;AACH,GAAG;AACH,EAAE;AACF,CAAC;AACD,CAAC,OAAO,QAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,qEAAqE,EAAE;AACjG,GAAG,OAAO,EAAE;AACZ,IAAI,YAAY,EAAE,oBAAoB;AACtC,IAAI,MAAM,EAAE;AACZ,IAAI;AACJ,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC3B,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE,yBAAyB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;AACxE,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-EyFvkzT6.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/releases/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/lib/server/release-units.ts\nvar ELECTRON_ASSET_PATTERN = /^OpenPalm-.*\\.(dmg|AppImage|zip|deb|rpm|pkg)$/i;\nvar PLATFORM_TAG_PATTERN = /^platform-(\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]*)?)$/;\nvar LEGACY_V_TAG_PATTERN = /^v(\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]*)?)$/;\n/**\n* Select only platform releases that carry installable app assets (Electron\n* installer or skeleton/deploy bundle), skipping per-unit container-image\n* releases.\n*\n* Per-unit version pickers now read from Docker Hub tags (not GitHub releases),\n* so the releases endpoint only needs app-level releases — the ones with\n* downloadable installer/bundle assets. This dramatically reduces the data the\n* UI holds and keeps the GitHub API call to its existing single request (the\n* filtering is client-side of the fetch, not a second fetch).\n*\n* Deduplicates by semver so `{#each r.tag}` keys stay unique when a platform\n* release created both a `platform-X.Y.Z` and a legacy `vX.Y.Z` tag. Preserves\n* GitHub's `created_at` desc ordering.\n*/\nfunction selectInstallableReleases(raw) {\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst releases = [];\n\tfor (const r of raw) {\n\t\tconst hasElectronBuild = r.assets.some((a) => ELECTRON_ASSET_PATTERN.test(a.name));\n\t\tif (!hasElectronBuild) continue;\n\t\tconst platformMatch = r.tag_name.match(PLATFORM_TAG_PATTERN);\n\t\tif (platformMatch) {\n\t\t\tconst tag = platformMatch[1];\n\t\t\tif (!seen.has(tag)) {\n\t\t\t\tseen.add(tag);\n\t\t\t\treleases.push({\n\t\t\t\t\ttag,\n\t\t\t\t\tprerelease: r.prerelease,\n\t\t\t\t\tpublishedAt: r.published_at,\n\t\t\t\t\thasElectronBuild\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tconst legacyMatch = r.tag_name.match(LEGACY_V_TAG_PATTERN);\n\t\tif (legacyMatch) {\n\t\t\tconst tag = legacyMatch[1];\n\t\t\tif (!seen.has(tag)) {\n\t\t\t\tseen.add(tag);\n\t\t\t\treleases.push({\n\t\t\t\t\ttag,\n\t\t\t\t\tprerelease: r.prerelease,\n\t\t\t\t\tpublishedAt: r.published_at,\n\t\t\t\t\thasElectronBuild\n\t\t\t\t});\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t}\n\treturn releases;\n}\n//#endregion\n//#region src/routes/admin/versions/releases/+server.ts\n/**\n* GET /admin/versions/releases — list installable platform releases from GitHub.\n*\n* Powers the desktop App-update badge: only platform releases that carry an\n* Electron installer asset. Best-effort — a GitHub outage yields an empty list\n* with an error signal rather than failing the page. (No server-side cache: the\n* admin UI no longer polls this, so a direct fetch per visit is fine.)\n*/\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\ttry {\n\t\tconst res = await fetch(\"https://api.github.com/repos/itlackey/openpalm/releases?per_page=20\", {\n\t\t\theaders: {\n\t\t\t\t\"User-Agent\": \"openpalm-admin/1.0\",\n\t\t\t\tAccept: \"application/vnd.github+json\"\n\t\t\t},\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return json({\n\t\t\treleases: [],\n\t\t\terror: \"GitHub releases unavailable\"\n\t\t});\n\t\treturn json({ releases: selectInstallableReleases(await res.json()) });\n\t} catch {\n\t\treturn json({\n\t\t\treleases: [],\n\t\t\terror: \"GitHub releases unavailable\"\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}