@openpalm/ui 0.12.30 → 0.12.31

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 (310) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/chunks/BB8XY_of.js +3 -0
  3. package/build/client/_app/immutable/chunks/BB8XY_of.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/BB8XY_of.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{BO4NROwb.js → BDjdOSE_.js} +1 -1
  6. package/build/client/_app/immutable/chunks/BDjdOSE_.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BDjdOSE_.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/BUUK1x74.js +1 -0
  9. package/build/client/_app/immutable/chunks/BUUK1x74.js.br +2 -0
  10. package/build/client/_app/immutable/chunks/BUUK1x74.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{CLdO58WX.js → h4pLEiZL.js} +1 -1
  12. package/build/client/_app/immutable/chunks/h4pLEiZL.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/h4pLEiZL.js.gz +0 -0
  14. package/build/client/_app/immutable/entry/{app.B0VnlV1D.js → app.CLAYHG8o.js} +2 -2
  15. package/build/client/_app/immutable/entry/app.CLAYHG8o.js.br +0 -0
  16. package/build/client/_app/immutable/entry/app.CLAYHG8o.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/start.3TjYybUj.js +1 -0
  18. package/build/client/_app/immutable/entry/start.3TjYybUj.js.br +1 -0
  19. package/build/client/_app/immutable/entry/start.3TjYybUj.js.gz +0 -0
  20. package/build/client/_app/immutable/nodes/{1.BrAaLw95.js → 1.DhXGFVCH.js} +1 -1
  21. package/build/client/_app/immutable/nodes/{1.BrAaLw95.js.br → 1.DhXGFVCH.js.br} +0 -0
  22. package/build/client/_app/immutable/nodes/1.DhXGFVCH.js.gz +0 -0
  23. package/build/client/_app/immutable/nodes/{4.caleLvGw.js → 4.CazenlB_.js} +66 -66
  24. package/build/client/_app/immutable/nodes/4.CazenlB_.js.br +0 -0
  25. package/build/client/_app/immutable/nodes/4.CazenlB_.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{5.DMJXuosM.js → 5.DYXFa7dm.js} +1 -1
  27. package/build/client/_app/immutable/nodes/5.DYXFa7dm.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/5.DYXFa7dm.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{6.4uWEFIGs.js → 6.Dx8bSxHP.js} +1 -1
  30. package/build/client/_app/immutable/nodes/6.Dx8bSxHP.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/6.Dx8bSxHP.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{7.BBl7JXjt.js → 7.BcwjyKcV.js} +1 -1
  33. package/build/client/_app/immutable/nodes/7.BcwjyKcV.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/7.BcwjyKcV.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{8.CchFRn2k.js → 8.C3s9OPVB.js} +1 -1
  36. package/build/client/_app/immutable/nodes/8.C3s9OPVB.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/8.C3s9OPVB.js.gz +0 -0
  38. package/build/client/_app/version.json +1 -1
  39. package/build/client/_app/version.json.br +1 -1
  40. package/build/client/_app/version.json.gz +0 -0
  41. package/build/server/chunks/1-jHEdg3cb.js +9 -0
  42. package/build/server/chunks/{1-CBlVFGB9.js.map → 1-jHEdg3cb.js.map} +1 -1
  43. package/build/server/chunks/{10-Blsd813O.js → 10-CBqH51LT.js} +5 -5
  44. package/build/server/chunks/{10-Blsd813O.js.map → 10-CBqH51LT.js.map} +1 -1
  45. package/build/server/chunks/{4-Cs3sEVb7.js → 4-YDPVJ8ni.js} +3 -3
  46. package/build/server/chunks/{4-Cs3sEVb7.js.map → 4-YDPVJ8ni.js.map} +1 -1
  47. package/build/server/chunks/{5-LGGrqeZn.js → 5-BVbyR7N4.js} +3 -3
  48. package/build/server/chunks/{5-LGGrqeZn.js.map → 5-BVbyR7N4.js.map} +1 -1
  49. package/build/server/chunks/{6-Dx521VoJ.js → 6-B-7fWWbr.js} +3 -3
  50. package/build/server/chunks/{6-Dx521VoJ.js.map → 6-B-7fWWbr.js.map} +1 -1
  51. package/build/server/chunks/{7-tuYOO8Al.js → 7-DhK-R31H.js} +3 -3
  52. package/build/server/chunks/{7-tuYOO8Al.js.map → 7-DhK-R31H.js.map} +1 -1
  53. package/build/server/chunks/{8-QQP1bF8p.js → 8-in7_KaJ0.js} +3 -3
  54. package/build/server/chunks/{8-QQP1bF8p.js.map → 8-in7_KaJ0.js.map} +1 -1
  55. package/build/server/chunks/{Navbar-D3-dml2D.js → Navbar-Dezt2oJ0.js} +3 -3
  56. package/build/server/chunks/{Navbar-D3-dml2D.js.map → Navbar-Dezt2oJ0.js.map} +1 -1
  57. package/build/server/chunks/{_page.svelte-CeqrYx7P.js → _page.svelte-BrHqSkJc.js} +5 -5
  58. package/build/server/chunks/_page.svelte-BrHqSkJc.js.map +1 -0
  59. package/build/server/chunks/{_page.svelte-xWgvQYVV.js → _page.svelte-D4cg0Y17.js} +5 -5
  60. package/build/server/chunks/{_page.svelte-xWgvQYVV.js.map → _page.svelte-D4cg0Y17.js.map} +1 -1
  61. package/build/server/chunks/{_page.svelte-v26GfWAu.js → _page.svelte-DBvsPIBj.js} +3 -3
  62. package/build/server/chunks/{_page.svelte-v26GfWAu.js.map → _page.svelte-DBvsPIBj.js.map} +1 -1
  63. package/build/server/chunks/{_page.svelte-BncT5wqj.js → _page.svelte-bI9QtRyO.js} +5 -5
  64. package/build/server/chunks/{_page.svelte-BncT5wqj.js.map → _page.svelte-bI9QtRyO.js.map} +1 -1
  65. package/build/server/chunks/{_page.svelte-B6h3RiZ-.js → _page.svelte-sBMDEVxI.js} +3 -3
  66. package/build/server/chunks/{_page.svelte-B6h3RiZ-.js.map → _page.svelte-sBMDEVxI.js.map} +1 -1
  67. package/build/server/chunks/{_server.ts-CLHONwD4.js → _server.ts-7n1hTvLL.js} +6 -6
  68. package/build/server/chunks/{_server.ts-CLHONwD4.js.map → _server.ts-7n1hTvLL.js.map} +1 -1
  69. package/build/server/chunks/{_server.ts-DQNJFLR3.js → _server.ts-9ZPbgrUi.js} +5 -5
  70. package/build/server/chunks/{_server.ts-DQNJFLR3.js.map → _server.ts-9ZPbgrUi.js.map} +1 -1
  71. package/build/server/chunks/{_server.ts-DXpnsm_n.js → _server.ts-B-TEGCpE.js} +5 -5
  72. package/build/server/chunks/{_server.ts-DXpnsm_n.js.map → _server.ts-B-TEGCpE.js.map} +1 -1
  73. package/build/server/chunks/{_server.ts-DkiM0c0r.js → _server.ts-B1cGPRqX.js} +5 -5
  74. package/build/server/chunks/{_server.ts-DkiM0c0r.js.map → _server.ts-B1cGPRqX.js.map} +1 -1
  75. package/build/server/chunks/{_server.ts-CVzDfcQE.js → _server.ts-B2ll44dZ.js} +2 -2
  76. package/build/server/chunks/{_server.ts-CVzDfcQE.js.map → _server.ts-B2ll44dZ.js.map} +1 -1
  77. package/build/server/chunks/{_server.ts-CmJiqNLL.js → _server.ts-B6cv5wIX.js} +2 -2
  78. package/build/server/chunks/{_server.ts-CmJiqNLL.js.map → _server.ts-B6cv5wIX.js.map} +1 -1
  79. package/build/server/chunks/{_server.ts-FhkW1KTP.js → _server.ts-B84lAl05.js} +6 -6
  80. package/build/server/chunks/{_server.ts-FhkW1KTP.js.map → _server.ts-B84lAl05.js.map} +1 -1
  81. package/build/server/chunks/{_server.ts-Dm1ryw4F.js → _server.ts-BA9D7cfg.js} +2 -2
  82. package/build/server/chunks/{_server.ts-Dm1ryw4F.js.map → _server.ts-BA9D7cfg.js.map} +1 -1
  83. package/build/server/chunks/{_server.ts-D8ITCdL1.js → _server.ts-BBm9UBPx.js} +5 -5
  84. package/build/server/chunks/{_server.ts-D8ITCdL1.js.map → _server.ts-BBm9UBPx.js.map} +1 -1
  85. package/build/server/chunks/_server.ts-BDtX2Ihr.js +105 -0
  86. package/build/server/chunks/_server.ts-BDtX2Ihr.js.map +1 -0
  87. package/build/server/chunks/{_server.ts-CiVIZEWF.js → _server.ts-BLDQpSYU.js} +28 -41
  88. package/build/server/chunks/_server.ts-BLDQpSYU.js.map +1 -0
  89. package/build/server/chunks/{_server.ts-DPP8y7KI.js → _server.ts-BLOj5vDw.js} +5 -5
  90. package/build/server/chunks/{_server.ts-DPP8y7KI.js.map → _server.ts-BLOj5vDw.js.map} +1 -1
  91. package/build/server/chunks/{_server.ts-D2f5NEVb.js → _server.ts-BPEU5AkD.js} +6 -6
  92. package/build/server/chunks/{_server.ts-D2f5NEVb.js.map → _server.ts-BPEU5AkD.js.map} +1 -1
  93. package/build/server/chunks/{_server.ts-BpfJshbf.js → _server.ts-BPJFoLAR.js} +5 -5
  94. package/build/server/chunks/{_server.ts-BpfJshbf.js.map → _server.ts-BPJFoLAR.js.map} +1 -1
  95. package/build/server/chunks/{_server.ts-ChabbgDq.js → _server.ts-BT5Jw59U.js} +5 -5
  96. package/build/server/chunks/{_server.ts-ChabbgDq.js.map → _server.ts-BT5Jw59U.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-DrCzex0x.js → _server.ts-BTu2HOzm.js} +5 -5
  98. package/build/server/chunks/{_server.ts-DrCzex0x.js.map → _server.ts-BTu2HOzm.js.map} +1 -1
  99. package/build/server/chunks/{_server.ts-BsSd56zs.js → _server.ts-BVBBjZkq.js} +5 -5
  100. package/build/server/chunks/{_server.ts-BsSd56zs.js.map → _server.ts-BVBBjZkq.js.map} +1 -1
  101. package/build/server/chunks/{_server.ts-CG00do9J.js → _server.ts-BX4XWBjQ.js} +5 -5
  102. package/build/server/chunks/{_server.ts-CG00do9J.js.map → _server.ts-BX4XWBjQ.js.map} +1 -1
  103. package/build/server/chunks/{_server.ts-Do0nZ11M.js → _server.ts-BXGrX9AC.js} +5 -5
  104. package/build/server/chunks/{_server.ts-Do0nZ11M.js.map → _server.ts-BXGrX9AC.js.map} +1 -1
  105. package/build/server/chunks/{_server.ts-DHDV44kU.js → _server.ts-BZXR5tEt.js} +5 -5
  106. package/build/server/chunks/{_server.ts-DHDV44kU.js.map → _server.ts-BZXR5tEt.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-DHuV-IKw.js → _server.ts-BaKG0Hli.js} +5 -5
  108. package/build/server/chunks/{_server.ts-DHuV-IKw.js.map → _server.ts-BaKG0Hli.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-9PjUPfnm.js → _server.ts-BdiZEsSh.js} +6 -6
  110. package/build/server/chunks/_server.ts-BdiZEsSh.js.map +1 -0
  111. package/build/server/chunks/{_server.ts-CXC4jnmZ.js → _server.ts-Be-K2GZj.js} +7 -7
  112. package/build/server/chunks/{_server.ts-CXC4jnmZ.js.map → _server.ts-Be-K2GZj.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-BImbAjFT.js → _server.ts-BfJpdl0V.js} +5 -5
  114. package/build/server/chunks/{_server.ts-BImbAjFT.js.map → _server.ts-BfJpdl0V.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-o3d2ebrR.js → _server.ts-BkgeKtbO.js} +7 -7
  116. package/build/server/chunks/{_server.ts-o3d2ebrR.js.map → _server.ts-BkgeKtbO.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-ex0gqTvl.js → _server.ts-BsoATpw1.js} +4 -4
  118. package/build/server/chunks/{_server.ts-ex0gqTvl.js.map → _server.ts-BsoATpw1.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-k2Ka2S1I.js → _server.ts-BvRyWe6Q.js} +7 -7
  120. package/build/server/chunks/{_server.ts-k2Ka2S1I.js.map → _server.ts-BvRyWe6Q.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-D8oYZ2e-.js → _server.ts-C37joWix.js} +5 -5
  122. package/build/server/chunks/{_server.ts-D8oYZ2e-.js.map → _server.ts-C37joWix.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-Dy1iF6cg.js → _server.ts-C3sA0bSn.js} +5 -5
  124. package/build/server/chunks/{_server.ts-Dy1iF6cg.js.map → _server.ts-C3sA0bSn.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-CbxvGqPo.js → _server.ts-C5uVuwit.js} +5 -5
  126. package/build/server/chunks/{_server.ts-CbxvGqPo.js.map → _server.ts-C5uVuwit.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-hLsRXWLT.js → _server.ts-C88LNtxa.js} +5 -5
  128. package/build/server/chunks/{_server.ts-hLsRXWLT.js.map → _server.ts-C88LNtxa.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-Derp6D-A.js → _server.ts-C8j-b9sv.js} +5 -5
  130. package/build/server/chunks/{_server.ts-Derp6D-A.js.map → _server.ts-C8j-b9sv.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-S-JBodAK.js → _server.ts-CBkKlIxH.js} +5 -5
  132. package/build/server/chunks/{_server.ts-S-JBodAK.js.map → _server.ts-CBkKlIxH.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-ChvwdWmH.js → _server.ts-CC99ff7V.js} +5 -5
  134. package/build/server/chunks/{_server.ts-ChvwdWmH.js.map → _server.ts-CC99ff7V.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-CIffbWOr.js → _server.ts-CGtp6QZV.js} +7 -7
  136. package/build/server/chunks/{_server.ts-CIffbWOr.js.map → _server.ts-CGtp6QZV.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-Duc444YH.js → _server.ts-CHYNosXf.js} +6 -6
  138. package/build/server/chunks/{_server.ts-Duc444YH.js.map → _server.ts-CHYNosXf.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-BTHv1_3n.js → _server.ts-CPV0j3ND.js} +5 -5
  140. package/build/server/chunks/{_server.ts-BTHv1_3n.js.map → _server.ts-CPV0j3ND.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-DUqFWmvr.js → _server.ts-CR9B45ur.js} +5 -5
  142. package/build/server/chunks/{_server.ts-DUqFWmvr.js.map → _server.ts-CR9B45ur.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-Zx7-z7iR.js → _server.ts-CS9H4bEG.js} +5 -5
  144. package/build/server/chunks/{_server.ts-Zx7-z7iR.js.map → _server.ts-CS9H4bEG.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-waMYdhp6.js → _server.ts-CSKQ47H3.js} +5 -5
  146. package/build/server/chunks/{_server.ts-waMYdhp6.js.map → _server.ts-CSKQ47H3.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-DIyEp4rq.js → _server.ts-CSM_OzSz.js} +6 -6
  148. package/build/server/chunks/{_server.ts-DIyEp4rq.js.map → _server.ts-CSM_OzSz.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-Dipm3OBu.js → _server.ts-CTs434_S.js} +2 -2
  150. package/build/server/chunks/{_server.ts-Dipm3OBu.js.map → _server.ts-CTs434_S.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-BQLpCkXl.js → _server.ts-CVLYiJl0.js} +6 -6
  152. package/build/server/chunks/{_server.ts-BQLpCkXl.js.map → _server.ts-CVLYiJl0.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-B9nRs4On.js → _server.ts-CdB_QvU7.js} +6 -6
  154. package/build/server/chunks/{_server.ts-B9nRs4On.js.map → _server.ts-CdB_QvU7.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-TR6UyTLZ.js → _server.ts-CeEPKzsU.js} +5 -5
  156. package/build/server/chunks/{_server.ts-TR6UyTLZ.js.map → _server.ts-CeEPKzsU.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-xS7sMkxa.js → _server.ts-Cq8KxpH6.js} +5 -5
  158. package/build/server/chunks/{_server.ts-xS7sMkxa.js.map → _server.ts-Cq8KxpH6.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-shPLWmam.js → _server.ts-Ct2AuZ9O.js} +7 -7
  160. package/build/server/chunks/{_server.ts-shPLWmam.js.map → _server.ts-Ct2AuZ9O.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-H0-fK41i.js → _server.ts-D34MdYD3.js} +5 -5
  162. package/build/server/chunks/{_server.ts-H0-fK41i.js.map → _server.ts-D34MdYD3.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-DKDPiB3l.js → _server.ts-D4_jIIdX.js} +5 -5
  164. package/build/server/chunks/{_server.ts-DKDPiB3l.js.map → _server.ts-D4_jIIdX.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-DX9V8mJw.js → _server.ts-D6ZHFHbG.js} +5 -5
  166. package/build/server/chunks/{_server.ts-DX9V8mJw.js.map → _server.ts-D6ZHFHbG.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-yzpWSCXF.js → _server.ts-D6mOuTDr.js} +4 -4
  168. package/build/server/chunks/{_server.ts-yzpWSCXF.js.map → _server.ts-D6mOuTDr.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-CgR3I3g6.js → _server.ts-DAtmew-Q.js} +5 -5
  170. package/build/server/chunks/{_server.ts-CgR3I3g6.js.map → _server.ts-DAtmew-Q.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-Cqdb46dB.js → _server.ts-DBfylu5e.js} +5 -5
  172. package/build/server/chunks/{_server.ts-Cqdb46dB.js.map → _server.ts-DBfylu5e.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-Bf6qRIKL.js → _server.ts-DBnGEHR4.js} +5 -5
  174. package/build/server/chunks/{_server.ts-Bf6qRIKL.js.map → _server.ts-DBnGEHR4.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-Bu2vn3fo.js → _server.ts-DCeAEeU3.js} +5 -5
  176. package/build/server/chunks/{_server.ts-Bu2vn3fo.js.map → _server.ts-DCeAEeU3.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-i-rS2Jno.js → _server.ts-DJAKo2Cv.js} +5 -5
  178. package/build/server/chunks/{_server.ts-i-rS2Jno.js.map → _server.ts-DJAKo2Cv.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-BuZ522NL.js → _server.ts-DLTxKruJ.js} +5 -5
  180. package/build/server/chunks/{_server.ts-BuZ522NL.js.map → _server.ts-DLTxKruJ.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-BeZiSZPa.js → _server.ts-DNRzb1yI.js} +5 -5
  182. package/build/server/chunks/{_server.ts-BeZiSZPa.js.map → _server.ts-DNRzb1yI.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-NPiZCiUP.js → _server.ts-DNfKQWHl.js} +5 -5
  184. package/build/server/chunks/{_server.ts-NPiZCiUP.js.map → _server.ts-DNfKQWHl.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-DJDpQCOT.js → _server.ts-DQexieVk.js} +5 -5
  186. package/build/server/chunks/{_server.ts-DJDpQCOT.js.map → _server.ts-DQexieVk.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-BqHhalJ0.js → _server.ts-DVj-C8te.js} +5 -5
  188. package/build/server/chunks/{_server.ts-BqHhalJ0.js.map → _server.ts-DVj-C8te.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-BBNJJXcP.js → _server.ts-DXeoc6nA.js} +5 -5
  190. package/build/server/chunks/{_server.ts-BBNJJXcP.js.map → _server.ts-DXeoc6nA.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-CCXXZwEK.js → _server.ts-DXkzeTiv.js} +5 -5
  192. package/build/server/chunks/{_server.ts-CCXXZwEK.js.map → _server.ts-DXkzeTiv.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-C0kb1s0H.js → _server.ts-D_bHLh83.js} +6 -6
  194. package/build/server/chunks/{_server.ts-C0kb1s0H.js.map → _server.ts-D_bHLh83.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-Dh_IN_-K.js → _server.ts-DaTCpESK.js} +5 -5
  196. package/build/server/chunks/{_server.ts-Dh_IN_-K.js.map → _server.ts-DaTCpESK.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-BVixeHpL.js → _server.ts-DefnTP8Y.js} +5 -5
  198. package/build/server/chunks/{_server.ts-BVixeHpL.js.map → _server.ts-DefnTP8Y.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-DHlacLn5.js → _server.ts-DgjZ4-j_.js} +6 -6
  200. package/build/server/chunks/{_server.ts-DHlacLn5.js.map → _server.ts-DgjZ4-j_.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-DpAi1suL.js → _server.ts-DjelSaMT.js} +5 -5
  202. package/build/server/chunks/{_server.ts-DpAi1suL.js.map → _server.ts-DjelSaMT.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-BiY6rZ_w.js → _server.ts-Dl2M-jEg.js} +5 -5
  204. package/build/server/chunks/{_server.ts-BiY6rZ_w.js.map → _server.ts-Dl2M-jEg.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-HgZ5qwdH.js → _server.ts-DmOpIph6.js} +6 -6
  206. package/build/server/chunks/{_server.ts-HgZ5qwdH.js.map → _server.ts-DmOpIph6.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-CbuFYLHu.js → _server.ts-DmupLutg.js} +6 -6
  208. package/build/server/chunks/{_server.ts-CbuFYLHu.js.map → _server.ts-DmupLutg.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-LXNcX_gr.js → _server.ts-DpeC2vNS.js} +7 -7
  210. package/build/server/chunks/{_server.ts-LXNcX_gr.js.map → _server.ts-DpeC2vNS.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-DrlHr3Yp.js → _server.ts-Dqvc_mfX.js} +5 -5
  212. package/build/server/chunks/{_server.ts-DrlHr3Yp.js.map → _server.ts-Dqvc_mfX.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-D5o0d90E.js → _server.ts-DxFQvIpF.js} +5 -5
  214. package/build/server/chunks/{_server.ts-D5o0d90E.js.map → _server.ts-DxFQvIpF.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-DdO3KWOt.js → _server.ts-FKL5HS3x.js} +2 -2
  216. package/build/server/chunks/{_server.ts-DdO3KWOt.js.map → _server.ts-FKL5HS3x.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-CWIO3AB7.js → _server.ts-IbjYnxkW.js} +6 -6
  218. package/build/server/chunks/{_server.ts-CWIO3AB7.js.map → _server.ts-IbjYnxkW.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-CkeucrQP.js → _server.ts-Sql_T4sD.js} +5 -5
  220. package/build/server/chunks/{_server.ts-CkeucrQP.js.map → _server.ts-Sql_T4sD.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-ClFJ0eZj.js → _server.ts-XyFV7Ae_.js} +5 -5
  222. package/build/server/chunks/{_server.ts-ClFJ0eZj.js.map → _server.ts-XyFV7Ae_.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-CaXQiZsV.js → _server.ts-aakwO05Z.js} +5 -5
  224. package/build/server/chunks/{_server.ts-CaXQiZsV.js.map → _server.ts-aakwO05Z.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-CQUxuBXW.js → _server.ts-bJoeeqjT.js} +5 -5
  226. package/build/server/chunks/{_server.ts-CQUxuBXW.js.map → _server.ts-bJoeeqjT.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-C2xTEuJw.js → _server.ts-bUsCd2k2.js} +8 -8
  228. package/build/server/chunks/{_server.ts-C2xTEuJw.js.map → _server.ts-bUsCd2k2.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-BIQ_iRKu.js → _server.ts-eRcAq7hS.js} +5 -5
  230. package/build/server/chunks/{_server.ts-BIQ_iRKu.js.map → _server.ts-eRcAq7hS.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-CaxNFXXL.js → _server.ts-fW9wkm5N.js} +5 -5
  232. package/build/server/chunks/{_server.ts-CaxNFXXL.js.map → _server.ts-fW9wkm5N.js.map} +1 -1
  233. package/build/server/chunks/{_server.ts-PN2Woc-O.js → _server.ts-nLjql9Cn.js} +5 -5
  234. package/build/server/chunks/{_server.ts-PN2Woc-O.js.map → _server.ts-nLjql9Cn.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-C63clURM.js → _server.ts-uhT1izmu.js} +5 -5
  236. package/build/server/chunks/{_server.ts-C63clURM.js.map → _server.ts-uhT1izmu.js.map} +1 -1
  237. package/build/server/chunks/{addon-helpers-u14MZ4hn.js → addon-helpers-gVfzUXXd.js} +3 -3
  238. package/build/server/chunks/{addon-helpers-u14MZ4hn.js.map → addon-helpers-gVfzUXXd.js.map} +1 -1
  239. package/build/server/chunks/{akm-xwGlYpRz.js → akm-B6ns2KlF.js} +2 -2
  240. package/build/server/chunks/{akm-xwGlYpRz.js.map → akm-B6ns2KlF.js.map} +1 -1
  241. package/build/server/chunks/{catalog-BxiB0JdQ.js → catalog-DGo6J8kN.js} +5 -5
  242. package/build/server/chunks/{catalog-BxiB0JdQ.js.map → catalog-DGo6J8kN.js.map} +1 -1
  243. package/build/server/chunks/{client-BlHW-zbp.js → client-CMrKROuB.js} +2 -2
  244. package/build/server/chunks/{client-BlHW-zbp.js.map → client-CMrKROuB.js.map} +1 -1
  245. package/build/server/chunks/{config-CLcA63MG.js → config-D057bE5f.js} +2 -2
  246. package/build/server/chunks/{config-CLcA63MG.js.map → config-D057bE5f.js.map} +1 -1
  247. package/build/server/chunks/{docker-BfXg_KFV.js → docker-BQfdt0TT.js} +2 -2
  248. package/build/server/chunks/{docker-BfXg_KFV.js.map → docker-BQfdt0TT.js.map} +1 -1
  249. package/build/server/chunks/{endpoints-CrOJJcY7.js → endpoints-CNmMPrJe.js} +2 -2
  250. package/build/server/chunks/{endpoints-CrOJJcY7.js.map → endpoints-CNmMPrJe.js.map} +1 -1
  251. package/build/server/chunks/{error.svelte-CxWQRcta.js → error.svelte-plJv_cT6.js} +4 -4
  252. package/build/server/chunks/{error.svelte-CxWQRcta.js.map → error.svelte-plJv_cT6.js.map} +1 -1
  253. package/build/server/chunks/{helpers-51xKvH3p.js → helpers-CMYUGLUe.js} +3 -3
  254. package/build/server/chunks/{helpers-51xKvH3p.js.map → helpers-CMYUGLUe.js.map} +1 -1
  255. package/build/server/chunks/{hooks.server-Bm9YSf7u.js → hooks.server-0DAzw1fa.js} +7 -7
  256. package/build/server/chunks/{hooks.server-Bm9YSf7u.js.map → hooks.server-0DAzw1fa.js.map} +1 -1
  257. package/build/server/chunks/{http-PJIJy_DZ.js → http-DIGZIGJX.js} +2 -2
  258. package/build/server/chunks/{http-PJIJy_DZ.js.map → http-DIGZIGJX.js.map} +1 -1
  259. package/build/server/chunks/{internal-Gs373B6e.js → internal-DQBQD4mY.js} +3 -3
  260. package/build/server/chunks/{internal-Gs373B6e.js.map → internal-DQBQD4mY.js.map} +1 -1
  261. package/build/server/chunks/{migration-status-BtV8L86X.js → migration-status-BLosyNNr.js} +2 -2
  262. package/build/server/chunks/{migration-status-BtV8L86X.js.map → migration-status-BLosyNNr.js.map} +1 -1
  263. package/build/server/chunks/{session-cookie-C1h7vTjA.js → session-cookie-BkbI5w4V.js} +2 -2
  264. package/build/server/chunks/{session-cookie-C1h7vTjA.js.map → session-cookie-BkbI5w4V.js.map} +1 -1
  265. package/build/server/chunks/{setup-deploy-l4X5b5iM.js → setup-deploy-DGWwUwr1.js} +2 -2
  266. package/build/server/chunks/{setup-deploy-l4X5b5iM.js.map → setup-deploy-DGWwUwr1.js.map} +1 -1
  267. package/build/server/chunks/{src-D4Gm5mXv.js → src-Bqw87sul.js} +17 -48
  268. package/build/server/chunks/src-Bqw87sul.js.map +1 -0
  269. package/build/server/chunks/{state-CRRB2G4r.js → state-DIwd3OUy.js} +2 -2
  270. package/build/server/chunks/{state-CRRB2G4r.js.map → state-DIwd3OUy.js.map} +1 -1
  271. package/build/server/chunks/{state2-D0vyh78m.js → state2-DWJYlkBv.js} +2 -2
  272. package/build/server/chunks/{state2-D0vyh78m.js.map → state2-DWJYlkBv.js.map} +1 -1
  273. package/build/server/index.js +1 -1
  274. package/build/server/index.js.map +1 -1
  275. package/build/server/manifest.js +93 -93
  276. package/build/server/manifest.js.map +1 -1
  277. package/package.json +2 -2
  278. package/build/client/_app/immutable/chunks/BO4NROwb.js.br +0 -0
  279. package/build/client/_app/immutable/chunks/BO4NROwb.js.gz +0 -0
  280. package/build/client/_app/immutable/chunks/CLdO58WX.js.br +0 -0
  281. package/build/client/_app/immutable/chunks/CLdO58WX.js.gz +0 -0
  282. package/build/client/_app/immutable/chunks/Can7qHg2.js +0 -3
  283. package/build/client/_app/immutable/chunks/Can7qHg2.js.br +0 -0
  284. package/build/client/_app/immutable/chunks/Can7qHg2.js.gz +0 -0
  285. package/build/client/_app/immutable/chunks/Sq4Ybtei.js +0 -1
  286. package/build/client/_app/immutable/chunks/Sq4Ybtei.js.br +0 -2
  287. package/build/client/_app/immutable/chunks/Sq4Ybtei.js.gz +0 -0
  288. package/build/client/_app/immutable/entry/app.B0VnlV1D.js.br +0 -0
  289. package/build/client/_app/immutable/entry/app.B0VnlV1D.js.gz +0 -0
  290. package/build/client/_app/immutable/entry/start.BjMK74Tq.js +0 -1
  291. package/build/client/_app/immutable/entry/start.BjMK74Tq.js.br +0 -0
  292. package/build/client/_app/immutable/entry/start.BjMK74Tq.js.gz +0 -0
  293. package/build/client/_app/immutable/nodes/1.BrAaLw95.js.gz +0 -0
  294. package/build/client/_app/immutable/nodes/4.caleLvGw.js.br +0 -0
  295. package/build/client/_app/immutable/nodes/4.caleLvGw.js.gz +0 -0
  296. package/build/client/_app/immutable/nodes/5.DMJXuosM.js.br +0 -0
  297. package/build/client/_app/immutable/nodes/5.DMJXuosM.js.gz +0 -0
  298. package/build/client/_app/immutable/nodes/6.4uWEFIGs.js.br +0 -0
  299. package/build/client/_app/immutable/nodes/6.4uWEFIGs.js.gz +0 -0
  300. package/build/client/_app/immutable/nodes/7.BBl7JXjt.js.br +0 -0
  301. package/build/client/_app/immutable/nodes/7.BBl7JXjt.js.gz +0 -0
  302. package/build/client/_app/immutable/nodes/8.CchFRn2k.js.br +0 -0
  303. package/build/client/_app/immutable/nodes/8.CchFRn2k.js.gz +0 -0
  304. package/build/server/chunks/1-CBlVFGB9.js +0 -9
  305. package/build/server/chunks/_page.svelte-CeqrYx7P.js.map +0 -1
  306. package/build/server/chunks/_server.ts-9PjUPfnm.js.map +0 -1
  307. package/build/server/chunks/_server.ts-CiVIZEWF.js.map +0 -1
  308. package/build/server/chunks/_server.ts-CmRDeO3g.js +0 -656
  309. package/build/server/chunks/_server.ts-CmRDeO3g.js.map +0 -1
  310. package/build/server/chunks/src-D4Gm5mXv.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DXpnsm_n.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/backups/_server.ts.js"],"sourcesContent":["import { _n as pruneBackupDirs, bn as createLogger, gn as listBackupDirs, vn as summarizeBackups } 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/backups/+server.ts\nvar logger = createLogger(\"backups-admin\");\n/**\n* #499 — backup visibility. Returns count, total size, last-backup time and a\n* per-backup list (newest first) so the UI can surface the recovery net.\n* Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\t...summarizeBackups(state.homeDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_list_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #499 — drives the EXISTING confirm-gated prune. The UI must pass an explicit\n* `keep` count (the confirmation is the UI's modal); this NEVER auto-prunes and\n* keeps the newest `keep` snapshots, deleting only the older ones.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\tbody = {};\n\t}\n\tconst keep = Number(body.keep);\n\tif (!Number.isInteger(keep) || keep < 0) return errorResponse(400, \"invalid_keep\", \"`keep` must be a non-negative integer\", {}, requestId);\n\tconst state = getState();\n\ttry {\n\t\tif (listBackupDirs(state.homeDir).slice(keep).length === 0) return jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted: [],\n\t\t\tkept: keep\n\t\t}, requestId);\n\t\tconst deleted = pruneBackupDirs(state.homeDir, keep);\n\t\tlogger.info(\"pruned backups via admin\", {\n\t\t\trequestId,\n\t\t\tdeleted: deleted.length,\n\t\t\tkept: keep\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted,\n\t\t\tkept: keep\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_prune_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO;AACpC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;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,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,IAAI,GAAG,EAAE;AACX,CAAC;AACD,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,uCAAuC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3I,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACvF,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,EAAE;AACd,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACtD,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC1C,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE,OAAO,CAAC,MAAM;AAC1B,GAAG,IAAI,EAAE;AACT,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9G,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-B-TEGCpE.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/backups/_server.ts.js"],"sourcesContent":["import { _n as createLogger, hn as summarizeBackups, mn as pruneBackupDirs, pn as listBackupDirs } 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/backups/+server.ts\nvar logger = createLogger(\"backups-admin\");\n/**\n* #499 — backup visibility. Returns count, total size, last-backup time and a\n* per-backup list (newest first) so the UI can surface the recovery net.\n* Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\t...summarizeBackups(state.homeDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_list_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #499 — drives the EXISTING confirm-gated prune. The UI must pass an explicit\n* `keep` count (the confirmation is the UI's modal); this NEVER auto-prunes and\n* keeps the newest `keep` snapshots, deleting only the older ones.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\tbody = {};\n\t}\n\tconst keep = Number(body.keep);\n\tif (!Number.isInteger(keep) || keep < 0) return errorResponse(400, \"invalid_keep\", \"`keep` must be a non-negative integer\", {}, requestId);\n\tconst state = getState();\n\ttry {\n\t\tif (listBackupDirs(state.homeDir).slice(keep).length === 0) return jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted: [],\n\t\t\tkept: keep\n\t\t}, requestId);\n\t\tconst deleted = pruneBackupDirs(state.homeDir, keep);\n\t\tlogger.info(\"pruned backups via admin\", {\n\t\t\trequestId,\n\t\t\tdeleted: deleted.length,\n\t\t\tkept: keep\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted,\n\t\t\tkept: keep\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_prune_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO;AACpC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;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,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,IAAI,GAAG,EAAE;AACX,CAAC;AACD,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/B,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,uCAAuC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3I,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACvF,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,EAAE;AACd,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACtD,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC1C,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE,OAAO,CAAC,MAAM;AAC1B,GAAG,IAAI,EAAE;AACT,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,IAAI,EAAE;AACT,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9G,CAAC;AACD;;;;"}
@@ -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 { al as isSetupComplete, aT as resolveStackDir, R as detectGpu, U as detectLocalProviders, T as detectHostOpenCode, aM as recommendSetup, j as authJsonPath } from './src-D4Gm5mXv.js';
4
- import { g as getState } from './state-CRRB2G4r.js';
5
- import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-51xKvH3p.js';
3
+ import { ai as isSetupComplete, aQ as resolveStackDir, N as detectGpu, Q as detectLocalProviders, O as detectHostOpenCode, aJ as recommendSetup, h as authJsonPath } from './src-Bqw87sul.js';
4
+ import { g as getState } from './state-DIwd3OUy.js';
5
+ import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-CMYUGLUe.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-CrOJJcY7.js';
27
+ import './endpoints-CNmMPrJe.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-DkiM0c0r.js.map
100
+ //# sourceMappingURL=_server.ts-B1cGPRqX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DkiM0c0r.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 { Qt as authJsonPath, c as recommendSetup, i as detectHostOpenCode, l as detectGpu, lt as isSetupComplete, rn as resolveStackDir, u as detectLocalProviders } 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
+ {"version":3,"file":"_server.ts-B1cGPRqX.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, lt as isSetupComplete, u as detectLocalProviders } 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,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { al as isSetupComplete, aT as resolveStackDir } from './src-D4Gm5mXv.js';
2
+ import { ai as isSetupComplete, aQ as resolveStackDir } from './src-Bqw87sul.js';
3
3
  import './utils-BSRjJDrZ.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
@@ -32,4 +32,4 @@ var GET = () => {
32
32
  };
33
33
 
34
34
  export { GET };
35
- //# sourceMappingURL=_server.ts-CVzDfcQE.js.map
35
+ //# sourceMappingURL=_server.ts-B2ll44dZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CVzDfcQE.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { lt as isSetupComplete, rn as resolveStackDir } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/status/+server.ts\nvar GET = () => {\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: isSetupComplete(resolveStackDir())\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,eAAe,CAAC,eAAe,EAAE;AAClD,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-B2ll44dZ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { en as resolveStackDir, lt as isSetupComplete } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/status/+server.ts\nvar GET = () => {\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: isSetupComplete(resolveStackDir())\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,eAAe,CAAC,eAAe,EAAE;AAClD,EAAE,CAAC;AACH;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { U as detectLocalProviders } from './src-D4Gm5mXv.js';
2
+ import { Q as detectLocalProviders } from './src-Bqw87sul.js';
3
3
  import './utils-BSRjJDrZ.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
@@ -40,4 +40,4 @@ var GET = async () => {
40
40
  };
41
41
 
42
42
  export { GET };
43
- //# sourceMappingURL=_server.ts-CmJiqNLL.js.map
43
+ //# sourceMappingURL=_server.ts-B6cv5wIX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CmJiqNLL.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/detect-providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { u as detectLocalProviders } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/detect-providers/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tproviders: await detectLocalProviders()\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"detection_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,MAAM,oBAAoB;AACxC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,kBAAkB;AAC5B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-B6cv5wIX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/detect-providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { u as detectLocalProviders } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/detect-providers/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tproviders: await detectLocalProviders()\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"detection_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,MAAM,oBAAoB;AACxC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,kBAAkB;AAC5B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
@@ -1,7 +1,7 @@
1
- import { an as listAvailableAddonIds, ap as listEnabledAddonIds, ae as getRegistryAddonConfig, H as createLogger } from './src-D4Gm5mXv.js';
2
- import { g as getState } from './state-CRRB2G4r.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-51xKvH3p.js';
4
- import { p as performAddonToggle } from './addon-helpers-u14MZ4hn.js';
1
+ import { ak as listAvailableAddonIds, am as listEnabledAddonIds, ab as getRegistryAddonConfig, F as createLogger } from './src-Bqw87sul.js';
2
+ import { g as getState } from './state-DIwd3OUy.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CMYUGLUe.js';
4
+ import { p as performAddonToggle } from './addon-helpers-gVfzUXXd.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-CrOJJcY7.js';
26
+ import './endpoints-CNmMPrJe.js';
27
27
 
28
28
  //#region src/routes/admin/addons/[name]/+server.ts
29
29
  var logger = createLogger("addons.name");
@@ -73,4 +73,4 @@ var POST = async (event) => {
73
73
  };
74
74
 
75
75
  export { GET, POST };
76
- //# sourceMappingURL=_server.ts-FhkW1KTP.js.map
76
+ //# sourceMappingURL=_server.ts-B84lAl05.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-FhkW1KTP.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_name_/_server.ts.js"],"sourcesContent":["import { Ct as listAvailableAddonIds, St as getRegistryAddonConfig, bn as createLogger, wt as listEnabledAddonIds } 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/[name]/+server.ts\nvar logger = createLogger(\"addons.name\");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst enabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(name);\n\t} catch (error) {\n\t\tlogger.error(\"failed to read addon schema\", {\n\t\t\tname,\n\t\t\terror: String(error),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", `Addon \"${name}\" schema is unavailable`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tenabled,\n\t\tconfig\n\t}, 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 name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\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":"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"}
1
+ {"version":3,"file":"_server.ts-B84lAl05.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_name_/_server.ts.js"],"sourcesContent":["import { Ct as listAvailableAddonIds, St as getRegistryAddonConfig, _n as createLogger, wt as listEnabledAddonIds } 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/[name]/+server.ts\nvar logger = createLogger(\"addons.name\");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst enabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(name);\n\t} catch (error) {\n\t\tlogger.error(\"failed to read addon schema\", {\n\t\t\tname,\n\t\t\terror: String(error),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", `Addon \"${name}\" schema is unavailable`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tenabled,\n\t\tconfig\n\t}, 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 name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\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":"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"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { T as detectHostOpenCode, af as hostAkmStashPath, H as createLogger } from './src-D4Gm5mXv.js';
2
+ import { O as detectHostOpenCode, ac as hostAkmStashPath, F as createLogger } from './src-Bqw87sul.js';
3
3
  import { existsSync } from 'node:fs';
4
4
  import './utils-BSRjJDrZ.js';
5
5
  import './chunk-CLZ62Ad-.js';
@@ -56,4 +56,4 @@ var GET = () => {
56
56
  };
57
57
 
58
58
  export { GET };
59
- //# sourceMappingURL=_server.ts-Dm1ryw4F.js.map
59
+ //# sourceMappingURL=_server.ts-BA9D7cfg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Dm1ryw4F.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 { bn as createLogger, i as detectHostOpenCode, w as hostAkmStashPath } from \"../../../../../chunks/src.js\";\nimport { existsSync } from \"node:fs\";\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 hostAkmAvailable = existsSync(hostAkmStashPath());\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});\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 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,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;AACzD,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;AACH,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,sCAAsC,EAAE;AACtD,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-BA9D7cfg.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 { _n as createLogger, i as detectHostOpenCode, w as hostAkmStashPath } from \"../../../../../chunks/src.js\";\nimport { existsSync } from \"node:fs\";\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 hostAkmAvailable = existsSync(hostAkmStashPath());\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});\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 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,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC;AACzD,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;AACH,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,sCAAsC,EAAE;AACtD,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,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { r as requireAdmin, d as getRequestId } from './helpers-51xKvH3p.js';
2
+ import { r as requireAdmin, d as getRequestId } from './helpers-CMYUGLUe.js';
3
3
  import './utils-BSRjJDrZ.js';
4
- import './src-D4Gm5mXv.js';
4
+ import './src-Bqw87sul.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-CrOJJcY7.js';
27
- import './state-CRRB2G4r.js';
26
+ import './endpoints-CNmMPrJe.js';
27
+ import './state-DIwd3OUy.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-D8ITCdL1.js.map
120
+ //# sourceMappingURL=_server.ts-BBm9UBPx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D8ITCdL1.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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"}
1
+ {"version":3,"file":"_server.ts-BBm9UBPx.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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"}
@@ -0,0 +1,105 @@
1
+ import { aR as runAssistantAkmCommand } from './src-Bqw87sul.js';
2
+ import { g as getState } from './state-DIwd3OUy.js';
3
+ import { d as getRequestId, r as requireAdmin } from './helpers-CMYUGLUe.js';
4
+ import './chunk-CLZ62Ad-.js';
5
+ import 'node:module';
6
+ import './provider-constants-DPrj3yBX.js';
7
+ import './dist-DOFcG0Zp.js';
8
+ import 'node:fs';
9
+ import 'node:path';
10
+ import 'buffer';
11
+ import 'fs';
12
+ import 'path';
13
+ import 'node:child_process';
14
+ import 'node:url';
15
+ import 'node:crypto';
16
+ import 'events';
17
+ import 'node:events';
18
+ import 'node:stream';
19
+ import 'node:string_decoder';
20
+ import 'assert';
21
+ import 'zlib';
22
+ import 'node:assert';
23
+ import 'node:fs/promises';
24
+ import 'node:os';
25
+ import './endpoints-CNmMPrJe.js';
26
+
27
+ //#region src/lib/server/akm-health-report.ts
28
+ var AKM_HEALTH_REPORT_WINDOWS = [
29
+ "24h",
30
+ "72h",
31
+ "7d",
32
+ "14d",
33
+ "30d"
34
+ ];
35
+ function clampWindow(value) {
36
+ return AKM_HEALTH_REPORT_WINDOWS.includes(value ?? "") ? value : "72h";
37
+ }
38
+ function errorHtml(window, missing, detail) {
39
+ return `<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>AKM Health Report</title><style>body{margin:0;font-family:Inter,system-ui,sans-serif;background:#07111f;color:#e5eefc;padding:24px}main{max-width:860px;margin:0 auto;background:#101b2d;border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:24px}pre{white-space:pre-wrap;background:#15233a;padding:16px;border-radius:12px;overflow:auto}code{font-family:ui-monospace,SFMono-Regular,monospace}</style></head><body><main><h1>${missing ? "AKM is not available" : "AKM health report unavailable"}</h1><p>${missing ? "The <code>akm</code> CLI was not found in the running assistant container." : `The admin UI could not build the report from <code>akm health</code> for window <code>${window}</code>.`}</p>${detail ? `<pre>${detail.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;")}</pre>` : ""}</main></body></html>`;
40
+ }
41
+ async function buildAkmHealthReport(state, requestedWindow) {
42
+ const window = clampWindow(requestedWindow);
43
+ const result = await runAssistantAkmCommand(state, [
44
+ "health",
45
+ `--since=${window}`,
46
+ "--format",
47
+ "html"
48
+ ], 3e4);
49
+ if (result.missing) return {
50
+ window,
51
+ html: errorHtml(window, true, "")
52
+ };
53
+ if (!result.ok || !result.stdout.trim()) return {
54
+ window,
55
+ html: errorHtml(window, false, [result.stderr.trim(), result.stdout.trim()].filter(Boolean).join("\n\n"))
56
+ };
57
+ return {
58
+ html: result.stdout,
59
+ window
60
+ };
61
+ }
62
+ //#endregion
63
+ //#region src/routes/admin/akm/health-report/+server.ts
64
+ var REPORT_CSP = [
65
+ "default-src 'none'",
66
+ "script-src 'self' 'unsafe-inline'",
67
+ "style-src 'unsafe-inline'",
68
+ "img-src 'self' data:",
69
+ "font-src 'self' data:",
70
+ "connect-src 'none'",
71
+ "object-src 'none'",
72
+ "base-uri 'none'",
73
+ "form-action 'none'",
74
+ "frame-ancestors 'self'"
75
+ ].join("; ");
76
+ var GET = async (event) => {
77
+ const requestId = getRequestId(event);
78
+ const denied = requireAdmin(event, requestId);
79
+ if (denied) return denied;
80
+ try {
81
+ const { html } = await buildAkmHealthReport(getState(), event.url.searchParams.get("since"));
82
+ return new Response(html, {
83
+ status: 200,
84
+ headers: {
85
+ "content-type": "text/html; charset=utf-8",
86
+ "cache-control": "no-store",
87
+ "content-security-policy": REPORT_CSP,
88
+ "x-request-id": requestId
89
+ }
90
+ });
91
+ } catch (error) {
92
+ const message = error instanceof Error ? error.message : "Failed to build AKM health report.";
93
+ return new Response(message, {
94
+ status: 500,
95
+ headers: {
96
+ "content-type": "text/plain; charset=utf-8",
97
+ "cache-control": "no-store",
98
+ "x-request-id": requestId
99
+ }
100
+ });
101
+ }
102
+ };
103
+
104
+ export { GET };
105
+ //# sourceMappingURL=_server.ts-BDtX2Ihr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-BDtX2Ihr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/health-report/_server.ts.js"],"sourcesContent":["import { r as runAssistantAkmCommand } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/lib/server/akm-health-report.ts\nvar AKM_HEALTH_REPORT_WINDOWS = [\n\t\"24h\",\n\t\"72h\",\n\t\"7d\",\n\t\"14d\",\n\t\"30d\"\n];\nfunction clampWindow(value) {\n\treturn AKM_HEALTH_REPORT_WINDOWS.includes(value ?? \"\") ? value : \"72h\";\n}\nfunction errorHtml(window, missing, detail) {\n\treturn `<!doctype html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>AKM Health Report</title><style>body{margin:0;font-family:Inter,system-ui,sans-serif;background:#07111f;color:#e5eefc;padding:24px}main{max-width:860px;margin:0 auto;background:#101b2d;border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:24px}pre{white-space:pre-wrap;background:#15233a;padding:16px;border-radius:12px;overflow:auto}code{font-family:ui-monospace,SFMono-Regular,monospace}</style></head><body><main><h1>${missing ? \"AKM is not available\" : \"AKM health report unavailable\"}</h1><p>${missing ? \"The <code>akm</code> CLI was not found in the running assistant container.\" : `The admin UI could not build the report from <code>akm health</code> for window <code>${window}</code>.`}</p>${detail ? `<pre>${detail.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\")}</pre>` : \"\"}</main></body></html>`;\n}\nasync function buildAkmHealthReport(state, requestedWindow) {\n\tconst window = clampWindow(requestedWindow);\n\tconst result = await runAssistantAkmCommand(state, [\n\t\t\"health\",\n\t\t`--since=${window}`,\n\t\t\"--format\",\n\t\t\"html\"\n\t], 3e4);\n\tif (result.missing) return {\n\t\twindow,\n\t\thtml: errorHtml(window, true, \"\")\n\t};\n\tif (!result.ok || !result.stdout.trim()) return {\n\t\twindow,\n\t\thtml: errorHtml(window, false, [result.stderr.trim(), result.stdout.trim()].filter(Boolean).join(\"\\n\\n\"))\n\t};\n\treturn {\n\t\thtml: result.stdout,\n\t\twindow\n\t};\n}\n//#endregion\n//#region src/routes/admin/akm/health-report/+server.ts\nvar REPORT_CSP = [\n\t\"default-src 'none'\",\n\t\"script-src 'self' 'unsafe-inline'\",\n\t\"style-src 'unsafe-inline'\",\n\t\"img-src 'self' data:\",\n\t\"font-src 'self' data:\",\n\t\"connect-src 'none'\",\n\t\"object-src 'none'\",\n\t\"base-uri 'none'\",\n\t\"form-action 'none'\",\n\t\"frame-ancestors 'self'\"\n].join(\"; \");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\ttry {\n\t\tconst { html } = await buildAkmHealthReport(getState(), event.url.searchParams.get(\"since\"));\n\t\treturn new Response(html, {\n\t\t\tstatus: 200,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"text/html; charset=utf-8\",\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"content-security-policy\": REPORT_CSP,\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\tconst message = error instanceof Error ? error.message : \"Failed to build AKM health report.\";\n\t\treturn new Response(message, {\n\t\t\tstatus: 500,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"text/plain; charset=utf-8\",\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
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-D4Gm5mXv.js';
3
- import { r as requireAdmin, d as getRequestId } from './helpers-51xKvH3p.js';
2
+ import { S as SERVICE_VERSION_KEYS, D as DOCKER_IMAGE_NAMES } from './src-Bqw87sul.js';
3
+ import { r as requireAdmin, d as getRequestId } from './helpers-CMYUGLUe.js';
4
4
  import './utils-BSRjJDrZ.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -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-CrOJJcY7.js';
27
- import './state-CRRB2G4r.js';
26
+ import './endpoints-CNmMPrJe.js';
27
+ import './state-DIwd3OUy.js';
28
28
 
29
29
  //#region src/routes/admin/versions/latest/+server.ts
30
30
  var DOCKER_HUB_NAMESPACE = "openpalm";
@@ -36,6 +36,19 @@ function semverCompare(a, b) {
36
36
  for (let i = 0; i < 3; i++) if (pa[i] !== pb[i]) return pa[i] - pb[i];
37
37
  return 0;
38
38
  }
39
+ async function resolveNpmLatest(pkg) {
40
+ try {
41
+ const res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(pkg)}/latest`, {
42
+ headers: { Accept: "application/json" },
43
+ signal: AbortSignal.timeout(6e3)
44
+ });
45
+ if (!res.ok) return null;
46
+ const data = await res.json();
47
+ return typeof data.version === "string" ? data.version : null;
48
+ } catch {
49
+ return null;
50
+ }
51
+ }
39
52
  async function resolveDockerLatest(image) {
40
53
  try {
41
54
  const res = await fetch(`https://hub.docker.com/v2/repositories/${DOCKER_HUB_NAMESPACE}/${image}/tags?page_size=100&ordering=-name`, {
@@ -63,19 +76,6 @@ async function resolveDockerLatest(image) {
63
76
  return null;
64
77
  }
65
78
  }
66
- async function resolveNpmLatest(pkg) {
67
- try {
68
- const res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(pkg)}/latest`, {
69
- headers: { Accept: "application/json" },
70
- signal: AbortSignal.timeout(6e3)
71
- });
72
- if (!res.ok) return null;
73
- const data = await res.json();
74
- return typeof data.version === "string" ? data.version : null;
75
- } catch {
76
- return null;
77
- }
78
- }
79
79
  var CACHE_TTL_MS = 300 * 1e3;
80
80
  var cachedResult = null;
81
81
  var cacheExpiresAt = 0;
@@ -84,30 +84,17 @@ var GET = async (event) => {
84
84
  if (authError) return authError;
85
85
  if (cachedResult && Date.now() < cacheExpiresAt) return json(cachedResult);
86
86
  const errors = [];
87
- const [dockerResults, npmResults, uiResult] = await Promise.all([
88
- Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {
89
- const image = DOCKER_IMAGE_NAMES[key];
90
- const version = await resolveDockerLatest(image);
91
- if (!version) errors.push(`Docker Hub: could not resolve latest for ${DOCKER_HUB_NAMESPACE}/${image}`);
92
- return [key, version];
93
- })),
94
- Promise.all(NPM_VERSION_KEYS.map(async (key) => {
95
- const pkg = NPM_PACKAGE_NAMES[key];
96
- const version = await resolveNpmLatest(pkg);
97
- if (!version) errors.push(`npm: could not resolve latest for ${pkg}`);
98
- return [key, version];
99
- })),
100
- resolveNpmLatest("@openpalm/ui").then((v) => {
101
- if (!v) errors.push("npm: could not resolve latest for @openpalm/ui");
102
- return ["OP_UI_VERSION", v];
103
- })
104
- ]);
87
+ const [dockerResults, uiResult] = await Promise.all([Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {
88
+ const image = DOCKER_IMAGE_NAMES[key];
89
+ const version = await resolveDockerLatest(image);
90
+ if (!version) errors.push(`Docker Hub: could not resolve latest for ${DOCKER_HUB_NAMESPACE}/${image}`);
91
+ return [key, version];
92
+ })), resolveNpmLatest("@openpalm/ui").then((v) => {
93
+ if (!v) errors.push("npm: could not resolve latest for @openpalm/ui");
94
+ return ["OP_UI_VERSION", v];
95
+ })]);
105
96
  const versions = {};
106
- for (const [key, val] of [
107
- ...dockerResults,
108
- ...npmResults,
109
- uiResult
110
- ]) versions[key] = val;
97
+ for (const [key, val] of [...dockerResults, uiResult]) versions[key] = val;
111
98
  const result = {
112
99
  versions,
113
100
  errors,
@@ -119,4 +106,4 @@ var GET = async (event) => {
119
106
  };
120
107
 
121
108
  export { GET };
122
- //# sourceMappingURL=_server.ts-CiVIZEWF.js.map
109
+ //# sourceMappingURL=_server.ts-BLDQpSYU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-BLDQpSYU.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/latest/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Mt as DOCKER_IMAGE_NAMES, Nt as SERVICE_VERSION_KEYS } 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+$/;\nfunction semverCompare(a, b) {\n\tconst pa = a.replace(/^v/, \"\").split(\".\").map(Number);\n\tconst pb = b.replace(/^v/, \"\").split(\".\").map(Number);\n\tfor (let i = 0; i < 3; i++) if (pa[i] !== pb[i]) return pa[i] - pb[i];\n\treturn 0;\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}\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=100&ordering=-name`, {\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\tconst isVoice = image === \"voice\";\n\t\tconst candidates = [];\n\t\tfor (const tag of data.results ?? []) {\n\t\t\tconst plain = tag.name.match(STABLE_SEMVER);\n\t\t\tif (plain) {\n\t\t\t\tcandidates.push(plain[1]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (isVoice) {\n\t\t\t\tconst voice = tag.name.match(VOICE_STABLE);\n\t\t\t\tif (voice) candidates.push(voice[1]);\n\t\t\t}\n\t\t}\n\t\tif (candidates.length === 0) return null;\n\t\treturn candidates.sort(semverCompare).at(-1) ?? 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, uiResult] = await Promise.all([Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {\n\t\tconst image = DOCKER_IMAGE_NAMES[key];\n\t\tconst version = await resolveDockerLatest(image);\n\t\tif (!version) errors.push(`Docker Hub: could not resolve latest for ${DOCKER_HUB_NAMESPACE}/${image}`);\n\t\treturn [key, version];\n\t})), resolveNpmLatest(\"@openpalm/ui\").then((v) => {\n\t\tif (!v) errors.push(\"npm: could not resolve latest for @openpalm/ui\");\n\t\treturn [\"OP_UI_VERSION\", v];\n\t})]);\n\tconst versions = {};\n\tfor (const [key, val] of [...dockerResults, uiResult]) 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,6 +1,6 @@
1
- import { aO as removeTaskFile, aJ as readTaskFile, b6 as writeTaskFile, i as assertSafeTaskFilename } from './src-D4Gm5mXv.js';
2
- import { g as getState } from './state-CRRB2G4r.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-51xKvH3p.js';
1
+ import { aL as removeTaskFile, aG as readTaskFile, b3 as writeTaskFile, g as assertSafeTaskFilename } from './src-Bqw87sul.js';
2
+ import { g as getState } from './state-DIwd3OUy.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CMYUGLUe.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-CrOJJcY7.js';
25
+ import './endpoints-CNmMPrJe.js';
26
26
 
27
27
  //#region src/routes/admin/automations/[name]/file/+server.ts
28
28
  function guard(name, requestId) {
@@ -79,4 +79,4 @@ var DELETE = async (event) => {
79
79
  };
80
80
 
81
81
  export { DELETE, GET, PUT };
82
- //# sourceMappingURL=_server.ts-DPP8y7KI.js.map
82
+ //# sourceMappingURL=_server.ts-BLOj5vDw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DPP8y7KI.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/file/_server.ts.js"],"sourcesContent":["import { dt as readTaskFile, ft as removeTaskFile, pt as writeTaskFile, ut as assertSafeTaskFilename } 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\";\n//#region src/routes/admin/automations/[name]/file/+server.ts\nfunction guard(name, requestId) {\n\ttry {\n\t\tassertSafeTaskFilename(name);\n\t\treturn null;\n\t} catch (err) {\n\t\treturn errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst content = readTaskFile(getState().stashDir, name);\n\tif (content === null) return errorResponse(404, \"not_found\", `Task file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tcontent\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst content = result.data.content;\n\tif (typeof content !== \"string\") return errorResponse(400, \"bad_request\", \"content must be a string\", {}, requestId);\n\twriteTaskFile(getState().stashDir, name, content);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tremoveTaskFile(getState().stashDir, name);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-BLOj5vDw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/file/_server.ts.js"],"sourcesContent":["import { dt as readTaskFile, ft as removeTaskFile, pt as writeTaskFile, ut as assertSafeTaskFilename } 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\";\n//#region src/routes/admin/automations/[name]/file/+server.ts\nfunction guard(name, requestId) {\n\ttry {\n\t\tassertSafeTaskFilename(name);\n\t\treturn null;\n\t} catch (err) {\n\t\treturn errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst content = readTaskFile(getState().stashDir, name);\n\tif (content === null) return errorResponse(404, \"not_found\", `Task file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tcontent\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst content = result.data.content;\n\tif (typeof content !== \"string\") return errorResponse(400, \"bad_request\", \"content must be a string\", {}, requestId);\n\twriteTaskFile(getState().stashDir, name, content);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tremoveTaskFile(getState().stashDir, name);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-51xKvH3p.js';
2
- import { o as opencodeFetch } from './http-PJIJy_DZ.js';
3
- import './src-D4Gm5mXv.js';
1
+ import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-CMYUGLUe.js';
2
+ import { o as opencodeFetch } from './http-DIGZIGJX.js';
3
+ import './src-Bqw87sul.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-CrOJJcY7.js';
26
- import './state-CRRB2G4r.js';
25
+ import './endpoints-CNmMPrJe.js';
26
+ import './state-DIwd3OUy.js';
27
27
 
28
28
  //#region src/routes/admin/providers/oauth/[providerId]/callback/+server.ts
29
29
  var POST = async (event) => {
@@ -52,4 +52,4 @@ var POST = async (event) => {
52
52
  };
53
53
 
54
54
  export { POST };
55
- //# sourceMappingURL=_server.ts-D2f5NEVb.js.map
55
+ //# sourceMappingURL=_server.ts-BPEU5AkD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D2f5NEVb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/_providerId_/callback/_server.ts.js"],"sourcesContent":["import { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../../chunks/http.js\";\n//#region src/routes/admin/providers/oauth/[providerId]/callback/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst { providerId } = event.params;\n\tif (!providerId) return errorResponse(400, \"missing_provider\", \"Provider ID is required.\", {}, requestId);\n\ttry {\n\t\tconst body = await event.request.text();\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody\n\t\t});\n\t\treturn new Response(JSON.stringify({ ok: true }), {\n\t\t\tstatus: 200,\n\t\t\theaders: {\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t...requestId ? { \"x-request-id\": requestId } : {}\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\treturn errorResponse(502, \"oauth_callback_failed\", error instanceof Error ? error.message : \"OAuth callback failed\", {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,MAAM;AACpC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1G,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACzC,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACpD,GAAG,MAAM,EAAE,GAAG;AACd,GAAG,OAAO,EAAE;AACZ,IAAI,eAAe,EAAE,UAAU;AAC/B,IAAI,cAAc,EAAE,kBAAkB;AACtC,IAAI,GAAG,SAAS,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG;AACnD;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,uBAAuB,EAAE,EAAE,EAAE,SAAS,CAAC;AACrI,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-BPEU5AkD.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/_providerId_/callback/_server.ts.js"],"sourcesContent":["import { d as requireAdmin, i as errorResponse, o as getRequestId } from \"../../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../../chunks/http.js\";\n//#region src/routes/admin/providers/oauth/[providerId]/callback/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst { providerId } = event.params;\n\tif (!providerId) return errorResponse(400, \"missing_provider\", \"Provider ID is required.\", {}, requestId);\n\ttry {\n\t\tconst body = await event.request.text();\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody\n\t\t});\n\t\treturn new Response(JSON.stringify({ ok: true }), {\n\t\t\tstatus: 200,\n\t\t\theaders: {\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t...requestId ? { \"x-request-id\": requestId } : {}\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\treturn errorResponse(502, \"oauth_callback_failed\", error instanceof Error ? error.message : \"OAuth callback failed\", {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,MAAM;AACpC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1G,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACzC,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACpD,GAAG,MAAM,EAAE,GAAG;AACd,GAAG,OAAO,EAAE;AACZ,IAAI,eAAe,EAAE,UAAU;AAC/B,IAAI,cAAc,EAAE,kBAAkB;AACtC,IAAI,GAAG,SAAS,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG;AACnD;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,uBAAuB,EAAE,EAAE,EAAE,SAAS,CAAC;AACrI,CAAC;AACD;;;;"}