@openpalm/ui 0.12.6 → 0.12.7

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 (318) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/chunks/{CRSbY4Kh.js → BWVZ2TVD.js} +1 -1
  3. package/build/client/_app/immutable/chunks/BWVZ2TVD.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/BWVZ2TVD.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{B-mBBr5-.js → BzyHWA5G.js} +1 -1
  6. package/build/client/_app/immutable/chunks/BzyHWA5G.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BzyHWA5G.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{DQDnMiRB.js → Dx77FoFU.js} +2 -2
  9. package/build/client/_app/immutable/chunks/Dx77FoFU.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/Dx77FoFU.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{QZhQ9jgL.js → bH8yojp3.js} +1 -1
  12. package/build/client/_app/immutable/chunks/bH8yojp3.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/bH8yojp3.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/qinjWOf_.js +1 -0
  15. package/build/client/_app/immutable/chunks/qinjWOf_.js.br +2 -0
  16. package/build/client/_app/immutable/chunks/qinjWOf_.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/{app.CjeyRTKT.js → app.B_UESbBc.js} +2 -2
  18. package/build/client/_app/immutable/entry/app.B_UESbBc.js.br +0 -0
  19. package/build/client/_app/immutable/entry/app.B_UESbBc.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/start.BBf7r6Ed.js +1 -0
  21. package/build/client/_app/immutable/entry/start.BBf7r6Ed.js.br +1 -0
  22. package/build/client/_app/immutable/entry/start.BBf7r6Ed.js.gz +0 -0
  23. package/build/client/_app/immutable/nodes/{1.CsV7DNn1.js → 1.BPI9WMCM.js} +1 -1
  24. package/build/client/_app/immutable/nodes/1.BPI9WMCM.js.br +0 -0
  25. package/build/client/_app/immutable/nodes/1.BPI9WMCM.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{4.KMrAUs2s.js → 4.kga7H-qM.js} +7 -7
  27. package/build/client/_app/immutable/nodes/4.kga7H-qM.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/4.kga7H-qM.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{5.BtCa1kCv.js → 5.a01_QK-Y.js} +1 -1
  30. package/build/client/_app/immutable/nodes/5.a01_QK-Y.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/5.a01_QK-Y.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{6.BVzjd6cM.js → 6.DiCmpX_E.js} +1 -1
  33. package/build/client/_app/immutable/nodes/6.DiCmpX_E.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/6.DiCmpX_E.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{7.vH7ptLBA.js → 7.BLmmfliC.js} +1 -1
  36. package/build/client/_app/immutable/nodes/7.BLmmfliC.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/7.BLmmfliC.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{8.DbovpYj-.js → 8.Ok0ArxPA.js} +1 -1
  39. package/build/client/_app/immutable/nodes/8.Ok0ArxPA.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/8.Ok0ArxPA.js.gz +0 -0
  41. package/build/client/_app/version.json +1 -1
  42. package/build/client/_app/version.json.br +1 -1
  43. package/build/client/_app/version.json.gz +0 -0
  44. package/build/server/chunks/1-BKKGpDL-.js +9 -0
  45. package/build/server/chunks/{1-tqcyjyYn.js.map → 1-BKKGpDL-.js.map} +1 -1
  46. package/build/server/chunks/{10-ClWWC_db.js → 10-D03X_7-l.js} +5 -5
  47. package/build/server/chunks/{10-ClWWC_db.js.map → 10-D03X_7-l.js.map} +1 -1
  48. package/build/server/chunks/4-DK624eV1.js +9 -0
  49. package/build/server/chunks/{4-D45BCCjA.js.map → 4-DK624eV1.js.map} +1 -1
  50. package/build/server/chunks/{5-DKkkz5Zu.js → 5-Dguhb8w9.js} +3 -3
  51. package/build/server/chunks/{5-DKkkz5Zu.js.map → 5-Dguhb8w9.js.map} +1 -1
  52. package/build/server/chunks/{6-BmCqItlR.js → 6-B2r3PAaV.js} +3 -3
  53. package/build/server/chunks/{6-BmCqItlR.js.map → 6-B2r3PAaV.js.map} +1 -1
  54. package/build/server/chunks/7-BFJqpOL0.js +9 -0
  55. package/build/server/chunks/{7-BCjeTrAw.js.map → 7-BFJqpOL0.js.map} +1 -1
  56. package/build/server/chunks/{8-BQYJohzV.js → 8-C5xuqVfE.js} +3 -3
  57. package/build/server/chunks/{8-BQYJohzV.js.map → 8-C5xuqVfE.js.map} +1 -1
  58. package/build/server/chunks/{ChatMessage-sBxcrkH1.js → ChatMessage-BW8LVLk6.js} +2 -2
  59. package/build/server/chunks/{ChatMessage-sBxcrkH1.js.map → ChatMessage-BW8LVLk6.js.map} +1 -1
  60. package/build/server/chunks/{Navbar-DocCJCkJ.js → Navbar-DfPUzeK0.js} +3 -3
  61. package/build/server/chunks/{Navbar-DocCJCkJ.js.map → Navbar-DfPUzeK0.js.map} +1 -1
  62. package/build/server/chunks/{_page.svelte-MZeeV3UU.js → _page.svelte-BZL7tih7.js} +6 -6
  63. package/build/server/chunks/{_page.svelte-MZeeV3UU.js.map → _page.svelte-BZL7tih7.js.map} +1 -1
  64. package/build/server/chunks/{_page.svelte-BwkM4u_N.js → _page.svelte-ClbKAMyo.js} +5 -5
  65. package/build/server/chunks/{_page.svelte-BwkM4u_N.js.map → _page.svelte-ClbKAMyo.js.map} +1 -1
  66. package/build/server/chunks/{_page.svelte-BjO6HPPf.js → _page.svelte-DFzgmYgw.js} +3 -3
  67. package/build/server/chunks/{_page.svelte-BjO6HPPf.js.map → _page.svelte-DFzgmYgw.js.map} +1 -1
  68. package/build/server/chunks/{_page.svelte-BY9Xi4AF.js → _page.svelte-DNEC3f8D.js} +16 -13
  69. package/build/server/chunks/_page.svelte-DNEC3f8D.js.map +1 -0
  70. package/build/server/chunks/{_page.svelte-BW1I5ypa.js → _page.svelte-iT7HjGI6.js} +5 -5
  71. package/build/server/chunks/{_page.svelte-BW1I5ypa.js.map → _page.svelte-iT7HjGI6.js.map} +1 -1
  72. package/build/server/chunks/{_server.ts-B5mSiQLP.js → _server.ts--3dXbe7F.js} +6 -6
  73. package/build/server/chunks/{_server.ts-B5mSiQLP.js.map → _server.ts--3dXbe7F.js.map} +1 -1
  74. package/build/server/chunks/{_server.ts-z3FqDVpm.js → _server.ts--x_Ox5Lx.js} +5 -5
  75. package/build/server/chunks/{_server.ts-z3FqDVpm.js.map → _server.ts--x_Ox5Lx.js.map} +1 -1
  76. package/build/server/chunks/{_server.ts-BRMEdAL7.js → _server.ts-7sbxcOHi.js} +5 -5
  77. package/build/server/chunks/{_server.ts-BRMEdAL7.js.map → _server.ts-7sbxcOHi.js.map} +1 -1
  78. package/build/server/chunks/{_server.ts-C3bsXngt.js → _server.ts-B2a_UVfF.js} +5 -5
  79. package/build/server/chunks/{_server.ts-C3bsXngt.js.map → _server.ts-B2a_UVfF.js.map} +1 -1
  80. package/build/server/chunks/{_server.ts-Bi-lppMP.js → _server.ts-B4tsze4e.js} +5 -5
  81. package/build/server/chunks/{_server.ts-Bi-lppMP.js.map → _server.ts-B4tsze4e.js.map} +1 -1
  82. package/build/server/chunks/{_server.ts-BT_5f2pb.js → _server.ts-BBPPO8LA.js} +5 -5
  83. package/build/server/chunks/{_server.ts-BT_5f2pb.js.map → _server.ts-BBPPO8LA.js.map} +1 -1
  84. package/build/server/chunks/{_server.ts-DC_Vh8E6.js → _server.ts-BHQdT49p.js} +5 -5
  85. package/build/server/chunks/{_server.ts-DC_Vh8E6.js.map → _server.ts-BHQdT49p.js.map} +1 -1
  86. package/build/server/chunks/{_server.ts-B0USMUoE.js → _server.ts-BIqRqV5K.js} +5 -5
  87. package/build/server/chunks/{_server.ts-B0USMUoE.js.map → _server.ts-BIqRqV5K.js.map} +1 -1
  88. package/build/server/chunks/{_server.ts-DPEInT5Z.js → _server.ts-BL1a7w8x.js} +5 -5
  89. package/build/server/chunks/{_server.ts-DPEInT5Z.js.map → _server.ts-BL1a7w8x.js.map} +1 -1
  90. package/build/server/chunks/{_server.ts-Bk8_1LiE.js → _server.ts-BLUGSTbb.js} +5 -5
  91. package/build/server/chunks/{_server.ts-Bk8_1LiE.js.map → _server.ts-BLUGSTbb.js.map} +1 -1
  92. package/build/server/chunks/{_server.ts-SOuORDIo.js → _server.ts-BLeQoL81.js} +5 -5
  93. package/build/server/chunks/{_server.ts-SOuORDIo.js.map → _server.ts-BLeQoL81.js.map} +1 -1
  94. package/build/server/chunks/{_server.ts-D69kt8gW.js → _server.ts-BMl200pm.js} +6 -6
  95. package/build/server/chunks/{_server.ts-D69kt8gW.js.map → _server.ts-BMl200pm.js.map} +1 -1
  96. package/build/server/chunks/{_server.ts-DL0R4W6K.js → _server.ts-BRbd1WB6.js} +5 -5
  97. package/build/server/chunks/{_server.ts-DL0R4W6K.js.map → _server.ts-BRbd1WB6.js.map} +1 -1
  98. package/build/server/chunks/{_server.ts-DsJ0wRlK.js → _server.ts-BSkichZm.js} +8 -8
  99. package/build/server/chunks/{_server.ts-DsJ0wRlK.js.map → _server.ts-BSkichZm.js.map} +1 -1
  100. package/build/server/chunks/{_server.ts-fM6Gkpfd.js → _server.ts-BUewbX_m.js} +6 -6
  101. package/build/server/chunks/{_server.ts-fM6Gkpfd.js.map → _server.ts-BUewbX_m.js.map} +1 -1
  102. package/build/server/chunks/{_server.ts-Bd3yJr4m.js → _server.ts-BVZsP2Zn.js} +5 -5
  103. package/build/server/chunks/{_server.ts-Bd3yJr4m.js.map → _server.ts-BVZsP2Zn.js.map} +1 -1
  104. package/build/server/chunks/{_server.ts-CP-vg4Mu.js → _server.ts-BXLfuAUx.js} +5 -5
  105. package/build/server/chunks/{_server.ts-CP-vg4Mu.js.map → _server.ts-BXLfuAUx.js.map} +1 -1
  106. package/build/server/chunks/{_server.ts-CVuztMSL.js → _server.ts-BYKn_W3C.js} +5 -5
  107. package/build/server/chunks/{_server.ts-CVuztMSL.js.map → _server.ts-BYKn_W3C.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-DfNcqz8C.js → _server.ts-BYg436Zy.js} +5 -5
  109. package/build/server/chunks/{_server.ts-DfNcqz8C.js.map → _server.ts-BYg436Zy.js.map} +1 -1
  110. package/build/server/chunks/{_server.ts-CaJXmvRh.js → _server.ts-BZuh7f0g.js} +6 -6
  111. package/build/server/chunks/{_server.ts-CaJXmvRh.js.map → _server.ts-BZuh7f0g.js.map} +1 -1
  112. package/build/server/chunks/{_server.ts-BS4JFPG5.js → _server.ts-Bb6tIhp8.js} +2 -2
  113. package/build/server/chunks/{_server.ts-BS4JFPG5.js.map → _server.ts-Bb6tIhp8.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-DGWQtatZ.js → _server.ts-Bl-5dDM7.js} +5 -5
  115. package/build/server/chunks/{_server.ts-DGWQtatZ.js.map → _server.ts-Bl-5dDM7.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-BYY93Gcc.js → _server.ts-BmUQoU9j.js} +5 -5
  117. package/build/server/chunks/{_server.ts-BYY93Gcc.js.map → _server.ts-BmUQoU9j.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-BbArt_tL.js → _server.ts-BmkKZuFw.js} +5 -5
  119. package/build/server/chunks/{_server.ts-BbArt_tL.js.map → _server.ts-BmkKZuFw.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-Nx5G7kN_.js → _server.ts-BoqzrIwT.js} +5 -5
  121. package/build/server/chunks/{_server.ts-Nx5G7kN_.js.map → _server.ts-BoqzrIwT.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-CX3Pbgq3.js → _server.ts-BovpxaxI.js} +5 -5
  123. package/build/server/chunks/{_server.ts-CX3Pbgq3.js.map → _server.ts-BovpxaxI.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-DM3isq5U.js → _server.ts-BsoQb22J.js} +6 -6
  125. package/build/server/chunks/{_server.ts-DM3isq5U.js.map → _server.ts-BsoQb22J.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-CBPnXtls.js → _server.ts-Bxo6Ziog.js} +5 -5
  127. package/build/server/chunks/{_server.ts-CBPnXtls.js.map → _server.ts-Bxo6Ziog.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-Bo6s1ApS.js → _server.ts-BzCJGVxd.js} +2 -2
  129. package/build/server/chunks/{_server.ts-Bo6s1ApS.js.map → _server.ts-BzCJGVxd.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-CVxVsVXt.js → _server.ts-C-gAyI12.js} +29 -28
  131. package/build/server/chunks/_server.ts-C-gAyI12.js.map +1 -0
  132. package/build/server/chunks/{_server.ts-SF6pSx63.js → _server.ts-C1iKmorm.js} +5 -5
  133. package/build/server/chunks/{_server.ts-SF6pSx63.js.map → _server.ts-C1iKmorm.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-DccTW04Z.js → _server.ts-C5U2sP0v.js} +5 -5
  135. package/build/server/chunks/{_server.ts-DccTW04Z.js.map → _server.ts-C5U2sP0v.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-B8O9kJIV.js → _server.ts-C7Lid3rY.js} +5 -5
  137. package/build/server/chunks/{_server.ts-B8O9kJIV.js.map → _server.ts-C7Lid3rY.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-CTGWKDqf.js → _server.ts-CBDQh3oB.js} +5 -5
  139. package/build/server/chunks/{_server.ts-CTGWKDqf.js.map → _server.ts-CBDQh3oB.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-CLZTQAem.js → _server.ts-CDJb8u6T.js} +4 -4
  141. package/build/server/chunks/{_server.ts-CLZTQAem.js.map → _server.ts-CDJb8u6T.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-ByQUGvJ2.js → _server.ts-CK_sC0WR.js} +7 -7
  143. package/build/server/chunks/{_server.ts-ByQUGvJ2.js.map → _server.ts-CK_sC0WR.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-KVlAwfa7.js → _server.ts-CQHUyJ88.js} +6 -6
  145. package/build/server/chunks/{_server.ts-KVlAwfa7.js.map → _server.ts-CQHUyJ88.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-DJX0LiE-.js → _server.ts-CS_QhbpE.js} +7 -7
  147. package/build/server/chunks/{_server.ts-DJX0LiE-.js.map → _server.ts-CS_QhbpE.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-B2ePIe7k.js → _server.ts-CUg7JTi8.js} +5 -5
  149. package/build/server/chunks/{_server.ts-B2ePIe7k.js.map → _server.ts-CUg7JTi8.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-ib6n7JpR.js → _server.ts-CZRNe4sB.js} +5 -5
  151. package/build/server/chunks/{_server.ts-ib6n7JpR.js.map → _server.ts-CZRNe4sB.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-00h626-G.js → _server.ts-CcAgwk38.js} +7 -7
  153. package/build/server/chunks/{_server.ts-00h626-G.js.map → _server.ts-CcAgwk38.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-OaY_Oi6x.js → _server.ts-Cd7MsOvn.js} +5 -5
  155. package/build/server/chunks/{_server.ts-OaY_Oi6x.js.map → _server.ts-Cd7MsOvn.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-CV72vnaf.js → _server.ts-Chpwcj2F.js} +6 -6
  157. package/build/server/chunks/{_server.ts-CV72vnaf.js.map → _server.ts-Chpwcj2F.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-DLtfdvdM.js → _server.ts-ClNRi7Fk.js} +5 -5
  159. package/build/server/chunks/{_server.ts-DLtfdvdM.js.map → _server.ts-ClNRi7Fk.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-CQ9c5VQq.js → _server.ts-ClZQ8p0s.js} +7 -7
  161. package/build/server/chunks/{_server.ts-CQ9c5VQq.js.map → _server.ts-ClZQ8p0s.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-f8-Db9lI.js → _server.ts-Ct6UMvxY.js} +5 -5
  163. package/build/server/chunks/{_server.ts-f8-Db9lI.js.map → _server.ts-Ct6UMvxY.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-BNXbXpJ7.js → _server.ts-CtRb0YG7.js} +5 -5
  165. package/build/server/chunks/{_server.ts-BNXbXpJ7.js.map → _server.ts-CtRb0YG7.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-BygTeTVH.js → _server.ts-Cv9SGZ8H.js} +5 -5
  167. package/build/server/chunks/{_server.ts-BygTeTVH.js.map → _server.ts-Cv9SGZ8H.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-2U69xsqn.js → _server.ts-DBNf4ax8.js} +6 -6
  169. package/build/server/chunks/{_server.ts-2U69xsqn.js.map → _server.ts-DBNf4ax8.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-CPhe1fct.js → _server.ts-DEBzl6wJ.js} +7 -7
  171. package/build/server/chunks/{_server.ts-CPhe1fct.js.map → _server.ts-DEBzl6wJ.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-DLgRTupQ.js → _server.ts-DI4a5jXI.js} +5 -5
  173. package/build/server/chunks/{_server.ts-DLgRTupQ.js.map → _server.ts-DI4a5jXI.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-D6gXnT0S.js → _server.ts-DKBQpj1z.js} +6 -6
  175. package/build/server/chunks/{_server.ts-D6gXnT0S.js.map → _server.ts-DKBQpj1z.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-B0Zn6ksk.js → _server.ts-DKaB5vC3.js} +2 -2
  177. package/build/server/chunks/{_server.ts-B0Zn6ksk.js.map → _server.ts-DKaB5vC3.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-CuYxH3uM.js → _server.ts-DLik5y6z.js} +5 -5
  179. package/build/server/chunks/{_server.ts-CuYxH3uM.js.map → _server.ts-DLik5y6z.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-DoZLeC7k.js → _server.ts-DO3iItjK.js} +5 -5
  181. package/build/server/chunks/{_server.ts-DoZLeC7k.js.map → _server.ts-DO3iItjK.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-DkPleuhw.js → _server.ts-DT13Lylg.js} +7 -7
  183. package/build/server/chunks/{_server.ts-DkPleuhw.js.map → _server.ts-DT13Lylg.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-CCP8qBay.js → _server.ts-DTAA1c4A.js} +5 -5
  185. package/build/server/chunks/{_server.ts-CCP8qBay.js.map → _server.ts-DTAA1c4A.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-BYntUWuo.js → _server.ts-DTvJT_A4.js} +6 -6
  187. package/build/server/chunks/{_server.ts-BYntUWuo.js.map → _server.ts-DTvJT_A4.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-8dbeS-B9.js → _server.ts-DVf1Ga8y.js} +5 -5
  189. package/build/server/chunks/{_server.ts-8dbeS-B9.js.map → _server.ts-DVf1Ga8y.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-DurWW9F4.js → _server.ts-DVnLgY88.js} +5 -5
  191. package/build/server/chunks/{_server.ts-DurWW9F4.js.map → _server.ts-DVnLgY88.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-t98jwIra.js → _server.ts-DYn_V6uH.js} +4 -4
  193. package/build/server/chunks/{_server.ts-t98jwIra.js.map → _server.ts-DYn_V6uH.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-CpyY-cWr.js → _server.ts-Da_a2QPS.js} +5 -5
  195. package/build/server/chunks/{_server.ts-CpyY-cWr.js.map → _server.ts-Da_a2QPS.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-B6kClDcC.js → _server.ts-DefdeZ-L.js} +5 -5
  197. package/build/server/chunks/{_server.ts-B6kClDcC.js.map → _server.ts-DefdeZ-L.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-dfDPdIru.js → _server.ts-DnMCLWoD.js} +5 -5
  199. package/build/server/chunks/{_server.ts-dfDPdIru.js.map → _server.ts-DnMCLWoD.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-DTM2mODf.js → _server.ts-Do3Mzbgh.js} +5 -5
  201. package/build/server/chunks/{_server.ts-DTM2mODf.js.map → _server.ts-Do3Mzbgh.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-DDpDu1Zf.js → _server.ts-DprQaM9h.js} +5 -5
  203. package/build/server/chunks/{_server.ts-DDpDu1Zf.js.map → _server.ts-DprQaM9h.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-ZnjMekBF.js → _server.ts-Dqtay2vV.js} +5 -5
  205. package/build/server/chunks/{_server.ts-ZnjMekBF.js.map → _server.ts-Dqtay2vV.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-ChWPLbia.js → _server.ts-DsAtWxIB.js} +5 -5
  207. package/build/server/chunks/{_server.ts-ChWPLbia.js.map → _server.ts-DsAtWxIB.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-BbHE4obG.js → _server.ts-DtksQCAE.js} +5 -5
  209. package/build/server/chunks/{_server.ts-BbHE4obG.js.map → _server.ts-DtksQCAE.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-B6fdoTeE.js → _server.ts-DxXISWsG.js} +7 -7
  211. package/build/server/chunks/_server.ts-DxXISWsG.js.map +1 -0
  212. package/build/server/chunks/{_server.ts-DHBcE-xZ.js → _server.ts-DxhcX_Kn.js} +6 -6
  213. package/build/server/chunks/{_server.ts-DHBcE-xZ.js.map → _server.ts-DxhcX_Kn.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-DoltyIQF.js → _server.ts-Dy8ob-Yi.js} +5 -5
  215. package/build/server/chunks/{_server.ts-DoltyIQF.js.map → _server.ts-Dy8ob-Yi.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-sBc-WN6M.js → _server.ts-LYCSOMBR.js} +2 -2
  217. package/build/server/chunks/{_server.ts-sBc-WN6M.js.map → _server.ts-LYCSOMBR.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-DEwkX3ls.js → _server.ts-LpU_EEPq.js} +6 -6
  219. package/build/server/chunks/{_server.ts-DEwkX3ls.js.map → _server.ts-LpU_EEPq.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-CMC-D6G8.js → _server.ts-PHq2fuFm.js} +5 -5
  221. package/build/server/chunks/{_server.ts-CMC-D6G8.js.map → _server.ts-PHq2fuFm.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-BTkI0MYh.js → _server.ts-VqtImWWs.js} +5 -5
  223. package/build/server/chunks/{_server.ts-BTkI0MYh.js.map → _server.ts-VqtImWWs.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-DGS3HL5L.js → _server.ts-Z0qgxs3B.js} +5 -5
  225. package/build/server/chunks/{_server.ts-DGS3HL5L.js.map → _server.ts-Z0qgxs3B.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-Ddq07WNJ.js → _server.ts-Zgs9trH1.js} +5 -5
  227. package/build/server/chunks/{_server.ts-Ddq07WNJ.js.map → _server.ts-Zgs9trH1.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-B0-1jdCf.js → _server.ts-_zcta9sI.js} +5 -5
  229. package/build/server/chunks/{_server.ts-B0-1jdCf.js.map → _server.ts-_zcta9sI.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-Cc5hNlzC.js → _server.ts-bHy1WRna.js} +2 -2
  231. package/build/server/chunks/{_server.ts-Cc5hNlzC.js.map → _server.ts-bHy1WRna.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-DMHPUxEu.js → _server.ts-cTKQhGdU.js} +5 -5
  233. package/build/server/chunks/{_server.ts-DMHPUxEu.js.map → _server.ts-cTKQhGdU.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-w0HFBqit.js → _server.ts-caqg6Qpw.js} +6 -6
  235. package/build/server/chunks/{_server.ts-w0HFBqit.js.map → _server.ts-caqg6Qpw.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-DStYEikA.js → _server.ts-jOZIah2P.js} +5 -5
  237. package/build/server/chunks/{_server.ts-DStYEikA.js.map → _server.ts-jOZIah2P.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-DjMVgo8F.js → _server.ts-k-TQPRld.js} +5 -5
  239. package/build/server/chunks/{_server.ts-DjMVgo8F.js.map → _server.ts-k-TQPRld.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-CsVvCVw7.js → _server.ts-kHCwWhe3.js} +5 -5
  241. package/build/server/chunks/{_server.ts-CsVvCVw7.js.map → _server.ts-kHCwWhe3.js.map} +1 -1
  242. package/build/server/chunks/{addon-helpers-Bo4hdZTj.js → addon-helpers-B7HFQ3RL.js} +3 -3
  243. package/build/server/chunks/{addon-helpers-Bo4hdZTj.js.map → addon-helpers-B7HFQ3RL.js.map} +1 -1
  244. package/build/server/chunks/{akm-DbPcENjV.js → akm-CPP2Trqo.js} +2 -2
  245. package/build/server/chunks/{akm-DbPcENjV.js.map → akm-CPP2Trqo.js.map} +1 -1
  246. package/build/server/chunks/{catalog--Wa5WAM4.js → catalog-CD15uSXA.js} +5 -5
  247. package/build/server/chunks/{catalog--Wa5WAM4.js.map → catalog-CD15uSXA.js.map} +1 -1
  248. package/build/server/chunks/{client-BILypdph.js → client-Dg5O4lJC.js} +2 -2
  249. package/build/server/chunks/{client-BILypdph.js.map → client-Dg5O4lJC.js.map} +1 -1
  250. package/build/server/chunks/{config-CfZrAmt4.js → config-BsGMOYU-.js} +2 -2
  251. package/build/server/chunks/{config-CfZrAmt4.js.map → config-BsGMOYU-.js.map} +1 -1
  252. package/build/server/chunks/{docker-C_kgiGOO.js → docker-CnfQsoh1.js} +2 -2
  253. package/build/server/chunks/{docker-C_kgiGOO.js.map → docker-CnfQsoh1.js.map} +1 -1
  254. package/build/server/chunks/{endpoints-DNux-fut.js → endpoints-TKIfBd1B.js} +2 -2
  255. package/build/server/chunks/{endpoints-DNux-fut.js.map → endpoints-TKIfBd1B.js.map} +1 -1
  256. package/build/server/chunks/{environment-Doz0aMGk.js → environment-CiTFe9kz.js} +2 -2
  257. package/build/server/chunks/{environment-Doz0aMGk.js.map → environment-CiTFe9kz.js.map} +1 -1
  258. package/build/server/chunks/{error.svelte-ESC3aLu5.js → error.svelte-v0KZsl-y.js} +4 -4
  259. package/build/server/chunks/{error.svelte-ESC3aLu5.js.map → error.svelte-v0KZsl-y.js.map} +1 -1
  260. package/build/server/chunks/{helpers-CIHSEiCi.js → helpers-C5ooRtVL.js} +3 -3
  261. package/build/server/chunks/{helpers-CIHSEiCi.js.map → helpers-C5ooRtVL.js.map} +1 -1
  262. package/build/server/chunks/{hooks.server-SolNV84_.js → hooks.server-B3Votrxb.js} +7 -7
  263. package/build/server/chunks/{hooks.server-SolNV84_.js.map → hooks.server-B3Votrxb.js.map} +1 -1
  264. package/build/server/chunks/{http-29NeXi8J.js → http-BKevFr5r.js} +2 -2
  265. package/build/server/chunks/{http-29NeXi8J.js.map → http-BKevFr5r.js.map} +1 -1
  266. package/build/server/chunks/{internal-AjT2L6Re.js → internal-_63MR9tl.js} +3 -3
  267. package/build/server/chunks/{internal-AjT2L6Re.js.map → internal-_63MR9tl.js.map} +1 -1
  268. package/build/server/chunks/{migration-status-eArABSVL.js → migration-status-DB5P8Vs9.js} +2 -2
  269. package/build/server/chunks/{migration-status-eArABSVL.js.map → migration-status-DB5P8Vs9.js.map} +1 -1
  270. package/build/server/chunks/{session-cookie-5PNazqrm.js → session-cookie-Bc9kWbaM.js} +2 -2
  271. package/build/server/chunks/{session-cookie-5PNazqrm.js.map → session-cookie-Bc9kWbaM.js.map} +1 -1
  272. package/build/server/chunks/{setup-deploy-pyw7oUsn.js → setup-deploy-CghSd9qZ.js} +2 -2
  273. package/build/server/chunks/{setup-deploy-pyw7oUsn.js.map → setup-deploy-CghSd9qZ.js.map} +1 -1
  274. package/build/server/chunks/{src-C5kkVuFB.js → src-DKq8HP_s.js} +7 -8
  275. package/build/server/chunks/src-DKq8HP_s.js.map +1 -0
  276. package/build/server/chunks/{state-BAMdGxdT.js → state-B1kC-_xl.js} +2 -2
  277. package/build/server/chunks/{state-BAMdGxdT.js.map → state-B1kC-_xl.js.map} +1 -1
  278. package/build/server/chunks/{state2-BVeJ-USX.js → state2-DRC_p4SM.js} +2 -2
  279. package/build/server/chunks/{state2-BVeJ-USX.js.map → state2-DRC_p4SM.js.map} +1 -1
  280. package/build/server/index.js +2 -2
  281. package/build/server/manifest.js +93 -93
  282. package/build/server/manifest.js.map +1 -1
  283. package/package.json +2 -2
  284. package/build/client/_app/immutable/chunks/B-mBBr5-.js.br +0 -0
  285. package/build/client/_app/immutable/chunks/B-mBBr5-.js.gz +0 -0
  286. package/build/client/_app/immutable/chunks/CRSbY4Kh.js.br +0 -0
  287. package/build/client/_app/immutable/chunks/CRSbY4Kh.js.gz +0 -0
  288. package/build/client/_app/immutable/chunks/CwsyZWHi.js +0 -1
  289. package/build/client/_app/immutable/chunks/CwsyZWHi.js.br +0 -2
  290. package/build/client/_app/immutable/chunks/CwsyZWHi.js.gz +0 -0
  291. package/build/client/_app/immutable/chunks/DQDnMiRB.js.br +0 -0
  292. package/build/client/_app/immutable/chunks/DQDnMiRB.js.gz +0 -0
  293. package/build/client/_app/immutable/chunks/QZhQ9jgL.js.br +0 -0
  294. package/build/client/_app/immutable/chunks/QZhQ9jgL.js.gz +0 -0
  295. package/build/client/_app/immutable/entry/app.CjeyRTKT.js.br +0 -0
  296. package/build/client/_app/immutable/entry/app.CjeyRTKT.js.gz +0 -0
  297. package/build/client/_app/immutable/entry/start.B0-iB266.js +0 -1
  298. package/build/client/_app/immutable/entry/start.B0-iB266.js.br +0 -0
  299. package/build/client/_app/immutable/entry/start.B0-iB266.js.gz +0 -0
  300. package/build/client/_app/immutable/nodes/1.CsV7DNn1.js.br +0 -2
  301. package/build/client/_app/immutable/nodes/1.CsV7DNn1.js.gz +0 -0
  302. package/build/client/_app/immutable/nodes/4.KMrAUs2s.js.br +0 -0
  303. package/build/client/_app/immutable/nodes/4.KMrAUs2s.js.gz +0 -0
  304. package/build/client/_app/immutable/nodes/5.BtCa1kCv.js.br +0 -0
  305. package/build/client/_app/immutable/nodes/5.BtCa1kCv.js.gz +0 -0
  306. package/build/client/_app/immutable/nodes/6.BVzjd6cM.js.br +0 -0
  307. package/build/client/_app/immutable/nodes/6.BVzjd6cM.js.gz +0 -0
  308. package/build/client/_app/immutable/nodes/7.vH7ptLBA.js.br +0 -0
  309. package/build/client/_app/immutable/nodes/7.vH7ptLBA.js.gz +0 -0
  310. package/build/client/_app/immutable/nodes/8.DbovpYj-.js.br +0 -0
  311. package/build/client/_app/immutable/nodes/8.DbovpYj-.js.gz +0 -0
  312. package/build/server/chunks/1-tqcyjyYn.js +0 -9
  313. package/build/server/chunks/4-D45BCCjA.js +0 -9
  314. package/build/server/chunks/7-BCjeTrAw.js +0 -9
  315. package/build/server/chunks/_page.svelte-BY9Xi4AF.js.map +0 -1
  316. package/build/server/chunks/_server.ts-B6fdoTeE.js.map +0 -1
  317. package/build/server/chunks/_server.ts-CVxVsVXt.js.map +0 -1
  318. package/build/server/chunks/src-C5kkVuFB.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Ddq07WNJ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_name_/credentials/_server.ts.js"],"sourcesContent":["import { Bt as patchSecretsEnvFile, Ot as getRegistryAddonConfig, Ut as readStackSecretEnv, Vt as readStackEnv, Wt as writeStackSecretEnv, bn as createLogger, kt as listAvailableAddonIds } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/addons/[name]/credentials/+server.ts\nvar logger = createLogger(\"addons.name.credentials\");\n/**\n* Parse a `.env.schema` file into structured fields.\n*\n* Schema conventions:\n* - Lines starting with `#` are comments; consecutive comment lines\n* accumulate as the *description* of the next KEY=VALUE line.\n* - `# @sensitive` marks the next field as sensitive (renders as a\n* password input and is masked on GET).\n* - `# ---` resets the accumulator (used as a section separator).\n* - `KEY=DEFAULT` declares the field; default may be empty.\n*/\nfunction parseEnvSchema(text) {\n\tconst fields = [];\n\tlet commentBuffer = [];\n\tlet sensitive = false;\n\tfor (const rawLine of text.split(/\\r?\\n/)) {\n\t\tconst line = rawLine.trim();\n\t\tif (!line) continue;\n\t\tif (line.startsWith(\"#\")) {\n\t\t\tconst body = line.slice(1).trim();\n\t\t\tif (body === \"---\") {\n\t\t\t\tcommentBuffer = [];\n\t\t\t\tsensitive = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (body.startsWith(\"@\")) {\n\t\t\t\tif (/\\B@sensitive\\b/.test(body)) sensitive = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcommentBuffer.push(body);\n\t\t\tcontinue;\n\t\t}\n\t\tconst eq = line.indexOf(\"=\");\n\t\tif (eq <= 0) continue;\n\t\tconst key = line.slice(0, eq).trim();\n\t\tif (!key) continue;\n\t\tconst def = line.slice(eq + 1).trim();\n\t\tfields.push({\n\t\t\tkey,\n\t\t\tsensitive,\n\t\t\tdescription: commentBuffer.join(\" \").trim(),\n\t\t\tdefault: def\n\t\t});\n\t\tcommentBuffer = [];\n\t\tsensitive = false;\n\t}\n\treturn fields;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(name);\n\t} catch (error) {\n\t\tlogger.error(\"schema read failed\", {\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\tconst schemaFields = parseEnvSchema(config.envSchema);\n\tconst secretEnv = readStackSecretEnv(state.stackDir);\n\tconst stackEnv = readStackEnv(state.stackDir);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tfields: schemaFields.map((f) => {\n\t\t\tconst set = ((f.sensitive ? secretEnv[f.key] : stackEnv[f.key]) ?? \"\").length > 0;\n\t\t\treturn {\n\t\t\t\tkey: f.key,\n\t\t\t\tsensitive: f.sensitive,\n\t\t\t\tdescription: f.description,\n\t\t\t\tdefault: f.default,\n\t\t\t\tset,\n\t\t\t\tsecret: {\n\t\t\t\t\tenvKey: f.key,\n\t\t\t\t\tpresent: set\n\t\t\t\t},\n\t\t\t\tvalue: \"\"\n\t\t\t};\n\t\t})\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 parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst valuesRaw = parsed.data.values ?? {};\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(name);\n\t} catch (error) {\n\t\tlogger.error(\"schema read failed (post)\", {\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\tconst schemaFields = parseEnvSchema(config.envSchema);\n\tconst sensitiveKeys = new Set(schemaFields.filter((f) => f.sensitive).map((f) => f.key));\n\tconst allowedKeys = new Set(schemaFields.map((f) => f.key));\n\tconst sensitiveUpdates = {};\n\tconst configUpdates = {};\n\tfor (const [k, v] of Object.entries(valuesRaw)) {\n\t\tif (!allowedKeys.has(k)) continue;\n\t\tconst val = typeof v === \"string\" ? v : \"\";\n\t\tif (sensitiveKeys.has(k)) sensitiveUpdates[k] = val;\n\t\telse configUpdates[k] = val;\n\t}\n\tif (Object.keys(sensitiveUpdates).length === 0 && Object.keys(configUpdates).length === 0) return errorResponse(400, \"bad_request\", \"no schema-declared keys supplied\", {}, requestId);\n\ttry {\n\t\tif (Object.keys(sensitiveUpdates).length > 0) writeStackSecretEnv(state, sensitiveUpdates);\n\t\tif (Object.keys(configUpdates).length > 0) patchSecretsEnvFile(state.stackDir, configUpdates);\n\t} catch (err) {\n\t\tlogger.error(\"write failed\", {\n\t\t\tname,\n\t\t\terror: String(err),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", err instanceof Error ? err.message : \"write failed\", {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname,\n\t\tupdated: [...Object.keys(sensitiveUpdates), ...Object.keys(configUpdates)].sort()\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Zgs9trH1.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_name_/credentials/_server.ts.js"],"sourcesContent":["import { Bt as patchSecretsEnvFile, Ot as getRegistryAddonConfig, Ut as readStackSecretEnv, Vt as readStackEnv, Wt as writeStackSecretEnv, bn as createLogger, kt as listAvailableAddonIds } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/addons/[name]/credentials/+server.ts\nvar logger = createLogger(\"addons.name.credentials\");\n/**\n* Parse a `.env.schema` file into structured fields.\n*\n* Schema conventions:\n* - Lines starting with `#` are comments; consecutive comment lines\n* accumulate as the *description* of the next KEY=VALUE line.\n* - `# @sensitive` marks the next field as sensitive (renders as a\n* password input and is masked on GET).\n* - `# ---` resets the accumulator (used as a section separator).\n* - `KEY=DEFAULT` declares the field; default may be empty.\n*/\nfunction parseEnvSchema(text) {\n\tconst fields = [];\n\tlet commentBuffer = [];\n\tlet sensitive = false;\n\tfor (const rawLine of text.split(/\\r?\\n/)) {\n\t\tconst line = rawLine.trim();\n\t\tif (!line) continue;\n\t\tif (line.startsWith(\"#\")) {\n\t\t\tconst body = line.slice(1).trim();\n\t\t\tif (body === \"---\") {\n\t\t\t\tcommentBuffer = [];\n\t\t\t\tsensitive = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (body.startsWith(\"@\")) {\n\t\t\t\tif (/\\B@sensitive\\b/.test(body)) sensitive = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcommentBuffer.push(body);\n\t\t\tcontinue;\n\t\t}\n\t\tconst eq = line.indexOf(\"=\");\n\t\tif (eq <= 0) continue;\n\t\tconst key = line.slice(0, eq).trim();\n\t\tif (!key) continue;\n\t\tconst def = line.slice(eq + 1).trim();\n\t\tfields.push({\n\t\t\tkey,\n\t\t\tsensitive,\n\t\t\tdescription: commentBuffer.join(\" \").trim(),\n\t\t\tdefault: def\n\t\t});\n\t\tcommentBuffer = [];\n\t\tsensitive = false;\n\t}\n\treturn fields;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(name);\n\t} catch (error) {\n\t\tlogger.error(\"schema read failed\", {\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\tconst schemaFields = parseEnvSchema(config.envSchema);\n\tconst secretEnv = readStackSecretEnv(state.stackDir);\n\tconst stackEnv = readStackEnv(state.stackDir);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tfields: schemaFields.map((f) => {\n\t\t\tconst set = ((f.sensitive ? secretEnv[f.key] : stackEnv[f.key]) ?? \"\").length > 0;\n\t\t\treturn {\n\t\t\t\tkey: f.key,\n\t\t\t\tsensitive: f.sensitive,\n\t\t\t\tdescription: f.description,\n\t\t\t\tdefault: f.default,\n\t\t\t\tset,\n\t\t\t\tsecret: {\n\t\t\t\t\tenvKey: f.key,\n\t\t\t\t\tpresent: set\n\t\t\t\t},\n\t\t\t\tvalue: \"\"\n\t\t\t};\n\t\t})\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 parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst valuesRaw = parsed.data.values ?? {};\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(name);\n\t} catch (error) {\n\t\tlogger.error(\"schema read failed (post)\", {\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\tconst schemaFields = parseEnvSchema(config.envSchema);\n\tconst sensitiveKeys = new Set(schemaFields.filter((f) => f.sensitive).map((f) => f.key));\n\tconst allowedKeys = new Set(schemaFields.map((f) => f.key));\n\tconst sensitiveUpdates = {};\n\tconst configUpdates = {};\n\tfor (const [k, v] of Object.entries(valuesRaw)) {\n\t\tif (!allowedKeys.has(k)) continue;\n\t\tconst val = typeof v === \"string\" ? v : \"\";\n\t\tif (sensitiveKeys.has(k)) sensitiveUpdates[k] = val;\n\t\telse configUpdates[k] = val;\n\t}\n\tif (Object.keys(sensitiveUpdates).length === 0 && Object.keys(configUpdates).length === 0) return errorResponse(400, \"bad_request\", \"no schema-declared keys supplied\", {}, requestId);\n\ttry {\n\t\tif (Object.keys(sensitiveUpdates).length > 0) writeStackSecretEnv(state, sensitiveUpdates);\n\t\tif (Object.keys(configUpdates).length > 0) patchSecretsEnvFile(state.stackDir, configUpdates);\n\t} catch (err) {\n\t\tlogger.error(\"write failed\", {\n\t\t\tname,\n\t\t\terror: String(err),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", err instanceof Error ? err.message : \"write failed\", {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname,\n\t\tupdated: [...Object.keys(sensitiveUpdates), ...Object.keys(configUpdates)].sort()\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { o as checkDocker, z as composeStats, m as buildComposeOptions } from './src-C5kkVuFB.js';
2
- import { g as getState } from './state-BAMdGxdT.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CIHSEiCi.js';
1
+ import { o as checkDocker, z as composeStats, m as buildComposeOptions } from './src-DKq8HP_s.js';
2
+ import { g as getState } from './state-B1kC-_xl.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-C5ooRtVL.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-DNux-fut.js';
25
+ import './endpoints-TKIfBd1B.js';
26
26
 
27
27
  //#region src/routes/admin/containers/stats/+server.ts
28
28
  var GET = async (event) => {
@@ -44,4 +44,4 @@ var GET = async (event) => {
44
44
  };
45
45
 
46
46
  export { GET };
47
- //# sourceMappingURL=_server.ts-B0-1jdCf.js.map
47
+ //# sourceMappingURL=_server.ts-_zcta9sI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B0-1jdCf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/stats/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, tt as checkDocker, ut as composeStats } 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/containers/stats/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeStats(buildComposeOptions(state));\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get container stats: ${result.stderr}`, {}, requestId);\n\tlet stats = [];\n\tif (result.stdout.trim()) try {\n\t\tstats = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.stats] Failed to parse Docker stats output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker stats output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { stats }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,+BAA+B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC,IAAI,KAAK,GAAG,EAAE;AACf,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,CAAC,CAAC;AAC3E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AAChG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;AAC/C;;;;"}
1
+ {"version":3,"file":"_server.ts-_zcta9sI.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/stats/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, tt as checkDocker, ut as composeStats } 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/containers/stats/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeStats(buildComposeOptions(state));\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get container stats: ${result.stderr}`, {}, requestId);\n\tlet stats = [];\n\tif (result.stdout.trim()) try {\n\t\tstats = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.stats] Failed to parse Docker stats output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker stats output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { stats }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,+BAA+B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC,IAAI,KAAK,GAAG,EAAE;AACf,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,CAAC,CAAC;AAC3E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AAChG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;AAC/C;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { Q as detectHostOpenCode, ac as hostAkmStashPath, ai as isHostAkmAvailable, G as createLogger } from './src-C5kkVuFB.js';
2
+ import { Q as detectHostOpenCode, ac as hostAkmStashPath, ai as isHostAkmAvailable, G as createLogger } from './src-DKq8HP_s.js';
3
3
  import { homedir } from 'node:os';
4
4
  import './utils-BSRjJDrZ.js';
5
5
  import './chunk-CLZ62Ad-.js';
@@ -64,4 +64,4 @@ var GET = () => {
64
64
  };
65
65
 
66
66
  export { GET };
67
- //# sourceMappingURL=_server.ts-Cc5hNlzC.js.map
67
+ //# sourceMappingURL=_server.ts-bHy1WRna.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Cc5hNlzC.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/host-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { T as isHostAkmAvailable, bn as createLogger, i as detectHostOpenCode, w as hostAkmStashPath } from \"../../../../../chunks/src.js\";\nimport { homedir } from \"node:os\";\n//#region src/routes/api/setup/host-status/+server.ts\nvar logger = createLogger(\"admin:host-status\");\nvar GET = () => {\n\ttry {\n\t\tconst status = detectHostOpenCode();\n\t\tconst home = homedir();\n\t\tconst akmStashPath = hostAkmStashPath();\n\t\tconst hostAkmAvailable = isHostAkmAvailable();\n\t\treturn json({\n\t\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\t\tproviderCount: status.providerCount,\n\t\t\tcredentialCount: status.credentialCount,\n\t\t\tmodelPreferences: status.modelPreferences,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable,\n\t\t\thostAkmPaths: {\n\t\t\t\tstash: akmStashPath,\n\t\t\t\tdata: `${home}/.local/share/akm`,\n\t\t\t\tstate: `${home}/.local/state/akm`,\n\t\t\t\tconfig: `${home}/.config/akm`\n\t\t\t}\n\t\t});\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tconst stack = err instanceof Error ? err.stack : void 0;\n\t\tlogger.warn(\"failed to detect host openpalm/openpalm state\", {\n\t\t\terror: message,\n\t\t\tstack\n\t\t});\n\t\treturn json({\n\t\t\tdetected: false,\n\t\t\tproviderCount: 0,\n\t\t\tcredentialCount: 0,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable: false,\n\t\t\twarning: `Could not detect host OpenCode state: ${message}`\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAC3C,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,kBAAkB,EAAE;AACrC,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,MAAM,YAAY,GAAG,gBAAgB,EAAE;AACzC,EAAE,MAAM,gBAAgB,GAAG,kBAAkB,EAAE;AAC/C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AACnE,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,eAAe,EAAE,MAAM,CAAC,eAAe;AAC1C,GAAG,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;AAC5C,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB;AACnB,GAAG,YAAY,EAAE;AACjB,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACpC,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY;AAChC;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM;AACzD,EAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;AAC/D,GAAG,KAAK,EAAE,OAAO;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,KAAK;AAClB,GAAG,aAAa,EAAE,CAAC;AACnB,GAAG,eAAe,EAAE,CAAC;AACrB,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB,EAAE,KAAK;AAC1B,GAAG,OAAO,EAAE,CAAC,sCAAsC,EAAE,OAAO,CAAC;AAC7D,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-bHy1WRna.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/host-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { T as isHostAkmAvailable, bn as createLogger, i as detectHostOpenCode, w as hostAkmStashPath } from \"../../../../../chunks/src.js\";\nimport { homedir } from \"node:os\";\n//#region src/routes/api/setup/host-status/+server.ts\nvar logger = createLogger(\"admin:host-status\");\nvar GET = () => {\n\ttry {\n\t\tconst status = detectHostOpenCode();\n\t\tconst home = homedir();\n\t\tconst akmStashPath = hostAkmStashPath();\n\t\tconst hostAkmAvailable = isHostAkmAvailable();\n\t\treturn json({\n\t\t\tdetected: status.providerCount > 0 || status.credentialCount > 0,\n\t\t\tproviderCount: status.providerCount,\n\t\t\tcredentialCount: status.credentialCount,\n\t\t\tmodelPreferences: status.modelPreferences,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable,\n\t\t\thostAkmPaths: {\n\t\t\t\tstash: akmStashPath,\n\t\t\t\tdata: `${home}/.local/share/akm`,\n\t\t\t\tstate: `${home}/.local/state/akm`,\n\t\t\t\tconfig: `${home}/.config/akm`\n\t\t\t}\n\t\t});\n\t} catch (err) {\n\t\tconst message = err instanceof Error ? err.message : String(err);\n\t\tconst stack = err instanceof Error ? err.stack : void 0;\n\t\tlogger.warn(\"failed to detect host openpalm/openpalm state\", {\n\t\t\terror: message,\n\t\t\tstack\n\t\t});\n\t\treturn json({\n\t\t\tdetected: false,\n\t\t\tproviderCount: 0,\n\t\t\tcredentialCount: 0,\n\t\t\timageTag: \"latest\",\n\t\t\thostAkmAvailable: false,\n\t\t\twarning: `Could not detect host OpenCode state: ${message}`\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAC3C,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,kBAAkB,EAAE;AACrC,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,MAAM,YAAY,GAAG,gBAAgB,EAAE;AACzC,EAAE,MAAM,gBAAgB,GAAG,kBAAkB,EAAE;AAC/C,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC;AACnE,GAAG,aAAa,EAAE,MAAM,CAAC,aAAa;AACtC,GAAG,eAAe,EAAE,MAAM,CAAC,eAAe;AAC1C,GAAG,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;AAC5C,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB;AACnB,GAAG,YAAY,EAAE;AACjB,IAAI,KAAK,EAAE,YAAY;AACvB,IAAI,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACpC,IAAI,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY;AAChC;AACA,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAClE,EAAE,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM;AACzD,EAAE,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;AAC/D,GAAG,KAAK,EAAE,OAAO;AACjB,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,KAAK;AAClB,GAAG,aAAa,EAAE,CAAC;AACnB,GAAG,eAAe,EAAE,CAAC;AACrB,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,gBAAgB,EAAE,KAAK;AAC1B,GAAG,OAAO,EAAE,CAAC,sCAAsC,EAAE,OAAO,CAAC;AAC7D,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { aV as runAssistantAkmCommand } from './src-C5kkVuFB.js';
2
- import { g as getState } from './state-BAMdGxdT.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CIHSEiCi.js';
1
+ import { aV as runAssistantAkmCommand } from './src-DKq8HP_s.js';
2
+ import { g as getState } from './state-B1kC-_xl.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-C5ooRtVL.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-DNux-fut.js';
25
+ import './endpoints-TKIfBd1B.js';
26
26
 
27
27
  //#region src/routes/admin/akm/reindex/+server.ts
28
28
  var POST = async (event) => {
@@ -39,4 +39,4 @@ var POST = async (event) => {
39
39
  };
40
40
 
41
41
  export { POST };
42
- //# sourceMappingURL=_server.ts-DMHPUxEu.js.map
42
+ //# sourceMappingURL=_server.ts-cTKQhGdU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DMHPUxEu.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/reindex/_server.ts.js"],"sourcesContent":["import { r as runAssistantAkmCommand } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/akm/reindex/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await runAssistantAkmCommand(getState(), [\"index\", \"--full\"], 15 * 6e4);\n\tif (!result.ok) return errorResponse(502, \"akm_reindex_failed\", result.stderr.trim() || result.stdout.trim() || \"AKM re-index failed.\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tmessage: \"AKM index rebuilt successfully.\",\n\t\toutput: result.stdout.trim()\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC;AACvF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvJ,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,iCAAiC;AAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;AAC5B,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-cTKQhGdU.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/reindex/_server.ts.js"],"sourcesContent":["import { r as runAssistantAkmCommand } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/akm/reindex/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await runAssistantAkmCommand(getState(), [\"index\", \"--full\"], 15 * 6e4);\n\tif (!result.ok) return errorResponse(502, \"akm_reindex_failed\", result.stderr.trim() || result.stdout.trim() || \"AKM re-index failed.\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tmessage: \"AKM index rebuilt successfully.\",\n\t\toutput: result.stdout.trim()\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC;AACvF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvJ,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,iCAAiC;AAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;AAC5B,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,7 +1,7 @@
1
- import { aV as runAssistantAkmCommand } from './src-C5kkVuFB.js';
2
- import { g as getState } from './state-BAMdGxdT.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-CIHSEiCi.js';
4
- import { s as safeParseJsonObject } from './akm-DbPcENjV.js';
1
+ import { aV as runAssistantAkmCommand } from './src-DKq8HP_s.js';
2
+ import { g as getState } from './state-B1kC-_xl.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-C5ooRtVL.js';
4
+ import { s as safeParseJsonObject } from './akm-CPP2Trqo.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-DNux-fut.js';
26
+ import './endpoints-TKIfBd1B.js';
27
27
 
28
28
  //#region src/routes/admin/akm/health/+server.ts
29
29
  var GET = async (event) => {
@@ -66,4 +66,4 @@ var GET = async (event) => {
66
66
  };
67
67
 
68
68
  export { GET };
69
- //# sourceMappingURL=_server.ts-w0HFBqit.js.map
69
+ //# sourceMappingURL=_server.ts-caqg6Qpw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-w0HFBqit.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/health/_server.ts.js"],"sourcesContent":["import { r as runAssistantAkmCommand } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as safeParseJsonObject } from \"../../../../../chunks/akm.js\";\n//#region src/routes/admin/akm/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tconst state = getState();\n\tconst [health, info] = await Promise.all([runAssistantAkmCommand(state, [\n\t\t\"health\",\n\t\t\"--json\",\n\t\t\"--quiet\"\n\t], 8e3), runAssistantAkmCommand(state, [\n\t\t\"info\",\n\t\t\"--json\",\n\t\t\"--quiet\"\n\t], 8e3)]);\n\tconst parsedHealth = safeParseJsonObject(health.stdout);\n\tconst parsedInfo = safeParseJsonObject(info.stdout);\n\tif (!parsedHealth && !parsedInfo) return jsonResponse(200, {\n\t\tavailable: false,\n\t\treason: \"assistant AKM unavailable\"\n\t}, requestId);\n\tconst checks = Array.isArray(parsedHealth?.hardChecks) ? parsedHealth.hardChecks : [];\n\tconst checkCounts = {\n\t\tpass: 0,\n\t\twarn: 0,\n\t\tfail: 0\n\t};\n\tfor (const c of checks) if (c.status === \"pass\") checkCounts.pass++;\n\telse if (c.status === \"warn\") checkCounts.warn++;\n\telse checkCounts.fail++;\n\treturn jsonResponse(200, {\n\t\tavailable: true,\n\t\tstatus: parsedHealth?.status ?? \"unknown\",\n\t\tok: typeof parsedHealth?.ok === \"boolean\" ? parsedHealth.ok : null,\n\t\tchecks: checkCounts,\n\t\tmetrics: parsedHealth?.metrics ?? null,\n\t\tindex: parsedInfo?.indexStats ?? null\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9C,CAAC,IAAI,MAAM,EAAE,OAAO,MAAM;AAC1B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,KAAK,EAAE;AACzE,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE;AACF,EAAE,EAAE,GAAG,CAAC,EAAE,sBAAsB,CAAC,KAAK,EAAE;AACxC,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE;AACF,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;AACV,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;AACxD,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;AACpD,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5D,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,MAAM,EAAE;AACV,EAAE,EAAE,SAAS,CAAC;AACd,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,UAAU,GAAG,EAAE;AACtF,CAAC,MAAM,WAAW,GAAG;AACrB,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,IAAI,EAAE;AACR,EAAE;AACF,CAAC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE;AACpE,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE;AACjD,MAAM,WAAW,CAAC,IAAI,EAAE;AACxB,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,SAAS;AAC3C,EAAE,EAAE,EAAE,OAAO,YAAY,EAAE,EAAE,KAAK,SAAS,GAAG,YAAY,CAAC,EAAE,GAAG,IAAI;AACpE,EAAE,MAAM,EAAE,WAAW;AACrB,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,IAAI,IAAI;AACxC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,IAAI;AACnC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-caqg6Qpw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/health/_server.ts.js"],"sourcesContent":["import { r as runAssistantAkmCommand } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { n as safeParseJsonObject } from \"../../../../../chunks/akm.js\";\n//#region src/routes/admin/akm/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\tconst state = getState();\n\tconst [health, info] = await Promise.all([runAssistantAkmCommand(state, [\n\t\t\"health\",\n\t\t\"--json\",\n\t\t\"--quiet\"\n\t], 8e3), runAssistantAkmCommand(state, [\n\t\t\"info\",\n\t\t\"--json\",\n\t\t\"--quiet\"\n\t], 8e3)]);\n\tconst parsedHealth = safeParseJsonObject(health.stdout);\n\tconst parsedInfo = safeParseJsonObject(info.stdout);\n\tif (!parsedHealth && !parsedInfo) return jsonResponse(200, {\n\t\tavailable: false,\n\t\treason: \"assistant AKM unavailable\"\n\t}, requestId);\n\tconst checks = Array.isArray(parsedHealth?.hardChecks) ? parsedHealth.hardChecks : [];\n\tconst checkCounts = {\n\t\tpass: 0,\n\t\twarn: 0,\n\t\tfail: 0\n\t};\n\tfor (const c of checks) if (c.status === \"pass\") checkCounts.pass++;\n\telse if (c.status === \"warn\") checkCounts.warn++;\n\telse checkCounts.fail++;\n\treturn jsonResponse(200, {\n\t\tavailable: true,\n\t\tstatus: parsedHealth?.status ?? \"unknown\",\n\t\tok: typeof parsedHealth?.ok === \"boolean\" ? parsedHealth.ok : null,\n\t\tchecks: checkCounts,\n\t\tmetrics: parsedHealth?.metrics ?? null,\n\t\tindex: parsedInfo?.indexStats ?? null\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9C,CAAC,IAAI,MAAM,EAAE,OAAO,MAAM;AAC1B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC,KAAK,EAAE;AACzE,EAAE,QAAQ;AACV,EAAE,QAAQ;AACV,EAAE;AACF,EAAE,EAAE,GAAG,CAAC,EAAE,sBAAsB,CAAC,KAAK,EAAE;AACxC,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE;AACF,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;AACV,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC;AACxD,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;AACpD,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5D,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,MAAM,EAAE;AACV,EAAE,EAAE,SAAS,CAAC;AACd,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,YAAY,CAAC,UAAU,GAAG,EAAE;AACtF,CAAC,MAAM,WAAW,GAAG;AACrB,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,IAAI,EAAE;AACR,EAAE;AACF,CAAC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE;AACpE,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE;AACjD,MAAM,WAAW,CAAC,IAAI,EAAE;AACxB,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,SAAS;AAC3C,EAAE,EAAE,EAAE,OAAO,YAAY,EAAE,EAAE,KAAK,SAAS,GAAG,YAAY,CAAC,EAAE,GAAG,IAAI;AACpE,EAAE,MAAM,EAAE,WAAW;AACrB,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,IAAI,IAAI;AACxC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,IAAI;AACnC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,7 +1,7 @@
1
- import { g as getActiveEndpoint, l as listEndpoints, v as validateEndpointUrl, a as addEndpoint } from './endpoints-DNux-fut.js';
2
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-CIHSEiCi.js';
3
- import './state-BAMdGxdT.js';
4
- import './src-C5kkVuFB.js';
1
+ import { g as getActiveEndpoint, l as listEndpoints, v as validateEndpointUrl, a as addEndpoint } from './endpoints-TKIfBd1B.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, w as withAdminBody, e as errorResponse } from './helpers-C5ooRtVL.js';
3
+ import './state-B1kC-_xl.js';
4
+ import './src-DKq8HP_s.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -67,4 +67,4 @@ var POST = async (event) => withAdminBody(event, async ({ requestId, body }) =>
67
67
  });
68
68
 
69
69
  export { GET, POST };
70
- //# sourceMappingURL=_server.ts-DStYEikA.js.map
70
+ //# sourceMappingURL=_server.ts-jOZIah2P.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DStYEikA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_server.ts.js"],"sourcesContent":["import { c as validateEndpointUrl, i as listEndpoints, r as getActiveEndpoint, t as addEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, p as withAdminBody } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/+server.ts\nfunction publish(e) {\n\treturn {\n\t\tid: e.id,\n\t\tlabel: e.label,\n\t\turl: e.url,\n\t\tisDefault: e.isDefault,\n\t\thasPassword: Boolean(e.password)\n\t};\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, {\n\t\tendpoints: listEndpoints().map(publish),\n\t\tactiveId: publish(getActiveEndpoint()).id\n\t}, requestId);\n};\nvar POST = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst label = typeof body.label === \"string\" ? body.label : \"\";\n\tconst url = typeof body.url === \"string\" ? body.url : \"\";\n\tconst password = typeof body.password === \"string\" && body.password.length > 0 ? body.password : void 0;\n\tconst urlCheck = validateEndpointUrl(url);\n\tif (!urlCheck.ok) {\n\t\tif (urlCheck.reason === \"http_not_allowed\") return errorResponse(400, \"http_not_allowed\", \"Plain HTTP is only allowed for loopback addresses. Use https:// for remote OpenPalm instances.\", {}, requestId);\n\t\treturn errorResponse(400, \"invalid_endpoint\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t}\n\ttry {\n\t\treturn jsonResponse(201, { endpoint: publish({\n\t\t\t...addEndpoint({\n\t\t\t\tlabel,\n\t\t\t\turl: urlCheck.url,\n\t\t\t\tpassword\n\t\t\t}),\n\t\t\tisDefault: false\n\t\t}) }, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(400, \"invalid_endpoint\", e instanceof Error ? e.message : \"failed to create endpoint\", {}, requestId);\n\t}\n});\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,SAAS,OAAO,CAAC,CAAC,EAAE;AACpB,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE;AACV,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;AAChB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG;AACZ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;AACxB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ;AACjC,EAAE;AACF;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;AACzC,EAAE,QAAQ,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACzC,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAChF,CAAC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AAC/D,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;AACzD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM;AACxG,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC;AAC1C,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnB,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,kBAAkB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,gGAAgG,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5M,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,CAAC;AACD,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC/C,GAAG,GAAG,WAAW,CAAC;AAClB,IAAI,KAAK;AACT,IAAI,GAAG,EAAE,QAAQ,CAAC,GAAG;AACrB,IAAI;AACJ,IAAI,CAAC;AACL,GAAG,SAAS,EAAE;AACd,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC;AAClB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,2BAA2B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC;AACD,CAAC;;;;"}
1
+ {"version":3,"file":"_server.ts-jOZIah2P.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/endpoints/_server.ts.js"],"sourcesContent":["import { c as validateEndpointUrl, i as listEndpoints, r as getActiveEndpoint, t as addEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, p as withAdminBody } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/endpoints/+server.ts\nfunction publish(e) {\n\treturn {\n\t\tid: e.id,\n\t\tlabel: e.label,\n\t\turl: e.url,\n\t\tisDefault: e.isDefault,\n\t\thasPassword: Boolean(e.password)\n\t};\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, {\n\t\tendpoints: listEndpoints().map(publish),\n\t\tactiveId: publish(getActiveEndpoint()).id\n\t}, requestId);\n};\nvar POST = async (event) => withAdminBody(event, async ({ requestId, body }) => {\n\tconst label = typeof body.label === \"string\" ? body.label : \"\";\n\tconst url = typeof body.url === \"string\" ? body.url : \"\";\n\tconst password = typeof body.password === \"string\" && body.password.length > 0 ? body.password : void 0;\n\tconst urlCheck = validateEndpointUrl(url);\n\tif (!urlCheck.ok) {\n\t\tif (urlCheck.reason === \"http_not_allowed\") return errorResponse(400, \"http_not_allowed\", \"Plain HTTP is only allowed for loopback addresses. Use https:// for remote OpenPalm instances.\", {}, requestId);\n\t\treturn errorResponse(400, \"invalid_endpoint\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t}\n\ttry {\n\t\treturn jsonResponse(201, { endpoint: publish({\n\t\t\t...addEndpoint({\n\t\t\t\tlabel,\n\t\t\t\turl: urlCheck.url,\n\t\t\t\tpassword\n\t\t\t}),\n\t\t\tisDefault: false\n\t\t}) }, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(400, \"invalid_endpoint\", e instanceof Error ? e.message : \"failed to create endpoint\", {}, requestId);\n\t}\n});\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,SAAS,OAAO,CAAC,CAAC,EAAE;AACpB,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE;AACV,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;AAChB,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG;AACZ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;AACxB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ;AACjC,EAAE;AACF;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;AACzC,EAAE,QAAQ,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACzC,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAChF,CAAC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AAC/D,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;AACzD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM;AACxG,CAAC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC;AAC1C,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnB,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,kBAAkB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,gGAAgG,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5M,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,CAAC;AACD,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC/C,GAAG,GAAG,WAAW,CAAC;AAClB,IAAI,KAAK;AACT,IAAI,GAAG,EAAE,QAAQ,CAAC,GAAG;AACrB,IAAI;AACJ,IAAI,CAAC;AACL,GAAG,SAAS,EAAE;AACd,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC;AAClB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,2BAA2B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC;AACD,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
- import { ao as listEnabledAddonIds } from './src-C5kkVuFB.js';
2
- import { g as getState } from './state-BAMdGxdT.js';
3
- import { d as getRequestId, k as jsonResponse } from './helpers-CIHSEiCi.js';
1
+ import { ao as listEnabledAddonIds } from './src-DKq8HP_s.js';
2
+ import { g as getState } from './state-B1kC-_xl.js';
3
+ import { d as getRequestId, k as jsonResponse } from './helpers-C5ooRtVL.js';
4
4
  import { execFile } from 'node:child_process';
5
5
  import { promisify } from 'node:util';
6
6
  import './chunk-CLZ62Ad-.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-DNux-fut.js';
26
+ import './endpoints-TKIfBd1B.js';
27
27
 
28
28
  //#region src/routes/guardian/health/+server.ts
29
29
  var execFileAsync = promisify(execFile);
@@ -82,4 +82,4 @@ var GET = async (event) => {
82
82
  };
83
83
 
84
84
  export { GET };
85
- //# sourceMappingURL=_server.ts-DjMVgo8F.js.map
85
+ //# sourceMappingURL=_server.ts-k-TQPRld.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DjMVgo8F.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/guardian/health/_server.ts.js"],"sourcesContent":["import { At as listEnabledAddonIds } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { execFile } from \"node:child_process\";\nimport { promisify } from \"node:util\";\n//#region src/routes/guardian/health/+server.ts\nvar execFileAsync = promisify(execFile);\nvar PORTAL_ADDON_IDS = [\n\t\"api\",\n\t\"chat\",\n\t\"discord\",\n\t\"slack\"\n];\n/**\n* Guardian health — queries the running container directly.\n*\n* Guardian has no host port mapping in the 0.11.0+ layout (it's reachable\n* only on the internal portal_net/assistant_net networks). The previous\n* implementation read the UI's in-memory ControlPlaneState, which is stale\n* whenever the stack was started by something other than the UI itself\n* (CLI, docker compose directly, AppImage on a pre-existing stack).\n*\n* `docker container inspect ... --format '{{.State.Health.Status}}'` is the\n* authoritative source: it reads the compose-defined healthcheck the\n* guardian container already runs internally. Same approach as the\n* admin-tools-plugin host-side health-check tool.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\ttry {\n\t\tif (!listEnabledAddonIds(getState().homeDir).some((a) => PORTAL_ADDON_IDS.includes(a))) return jsonResponse(200, {\n\t\t\tstatus: \"not_deployed\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t} catch {}\n\ttry {\n\t\tconst { stdout } = await execFileAsync(\"docker\", [\n\t\t\t\"container\",\n\t\t\t\"inspect\",\n\t\t\t\"openpalm-guardian-1\",\n\t\t\t\"--format\",\n\t\t\t\"{{.State.Health.Status}}\"\n\t\t], { timeout: 5e3 });\n\t\tconst status = stdout.trim();\n\t\tif (status === \"healthy\") return jsonResponse(200, {\n\t\t\tstatus: \"ok\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t\treturn jsonResponse(503, {\n\t\t\tstatus: status || \"unknown\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t} catch (err) {\n\t\treturn jsonResponse(503, {\n\t\t\tstatus: \"unreachable\",\n\t\t\tservice: \"guardian\",\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t}, requestId);\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,IAAI,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC;AACvC,IAAI,gBAAgB,GAAG;AACvB,CAAC,KAAK;AACN,CAAC,MAAM;AACP,CAAC,SAAS;AACV,CAAC;AACD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI;AACL,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACnH,GAAG,MAAM,EAAE,cAAc;AACzB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE;AACnD,GAAG,WAAW;AACd,GAAG,SAAS;AACZ,GAAG,qBAAqB;AACxB,GAAG,UAAU;AACb,GAAG;AACH,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACtB,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE;AAC9B,EAAE,IAAI,MAAM,KAAK,SAAS,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACrD,GAAG,MAAM,EAAE,IAAI;AACf,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,MAAM,IAAI,SAAS;AAC9B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,aAAa;AACxB,GAAG,OAAO,EAAE,UAAU;AACtB,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-k-TQPRld.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/guardian/health/_server.ts.js"],"sourcesContent":["import { At as listEnabledAddonIds } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\nimport { execFile } from \"node:child_process\";\nimport { promisify } from \"node:util\";\n//#region src/routes/guardian/health/+server.ts\nvar execFileAsync = promisify(execFile);\nvar PORTAL_ADDON_IDS = [\n\t\"api\",\n\t\"chat\",\n\t\"discord\",\n\t\"slack\"\n];\n/**\n* Guardian health — queries the running container directly.\n*\n* Guardian has no host port mapping in the 0.11.0+ layout (it's reachable\n* only on the internal portal_net/assistant_net networks). The previous\n* implementation read the UI's in-memory ControlPlaneState, which is stale\n* whenever the stack was started by something other than the UI itself\n* (CLI, docker compose directly, AppImage on a pre-existing stack).\n*\n* `docker container inspect ... --format '{{.State.Health.Status}}'` is the\n* authoritative source: it reads the compose-defined healthcheck the\n* guardian container already runs internally. Same approach as the\n* admin-tools-plugin host-side health-check tool.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\ttry {\n\t\tif (!listEnabledAddonIds(getState().homeDir).some((a) => PORTAL_ADDON_IDS.includes(a))) return jsonResponse(200, {\n\t\t\tstatus: \"not_deployed\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t} catch {}\n\ttry {\n\t\tconst { stdout } = await execFileAsync(\"docker\", [\n\t\t\t\"container\",\n\t\t\t\"inspect\",\n\t\t\t\"openpalm-guardian-1\",\n\t\t\t\"--format\",\n\t\t\t\"{{.State.Health.Status}}\"\n\t\t], { timeout: 5e3 });\n\t\tconst status = stdout.trim();\n\t\tif (status === \"healthy\") return jsonResponse(200, {\n\t\t\tstatus: \"ok\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t\treturn jsonResponse(503, {\n\t\t\tstatus: status || \"unknown\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t} catch (err) {\n\t\treturn jsonResponse(503, {\n\t\t\tstatus: \"unreachable\",\n\t\t\tservice: \"guardian\",\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t}, requestId);\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,IAAI,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC;AACvC,IAAI,gBAAgB,GAAG;AACvB,CAAC,KAAK;AACN,CAAC,MAAM;AACP,CAAC,SAAS;AACV,CAAC;AACD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI;AACL,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACnH,GAAG,MAAM,EAAE,cAAc;AACzB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE;AACnD,GAAG,WAAW;AACd,GAAG,SAAS;AACZ,GAAG,qBAAqB;AACxB,GAAG,UAAU;AACb,GAAG;AACH,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACtB,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE;AAC9B,EAAE,IAAI,MAAM,KAAK,SAAS,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACrD,GAAG,MAAM,EAAE,IAAI;AACf,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,MAAM,IAAI,SAAS;AAC9B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,aAAa;AACxB,GAAG,OAAO,EAAE,UAAU;AACtB,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { ag as isAllowedService, o as checkDocker, y as composeStart, m as buildComposeOptions, G as createLogger } from './src-C5kkVuFB.js';
2
- import { g as getState } from './state-BAMdGxdT.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-CIHSEiCi.js';
1
+ import { ag as isAllowedService, o as checkDocker, y as composeStart, m as buildComposeOptions, G as createLogger } from './src-DKq8HP_s.js';
2
+ import { g as getState } from './state-B1kC-_xl.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-C5ooRtVL.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-DNux-fut.js';
25
+ import './endpoints-TKIfBd1B.js';
26
26
 
27
27
  //#region src/routes/admin/containers/up/+server.ts
28
28
  var logger = createLogger("containers-up");
@@ -54,4 +54,4 @@ var POST = async (event) => {
54
54
  };
55
55
 
56
56
  export { POST };
57
- //# sourceMappingURL=_server.ts-CsVvCVw7.js.map
57
+ //# sourceMappingURL=_server.ts-kHCwWhe3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CsVvCVw7.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/up/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, O as isAllowedService, bn as createLogger, lt as composeStart, tt as checkDocker } 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/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container start request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\tlogger.info(\"starting service\", {\n\t\trequestId,\n\t\tservice\n\t});\n\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\tif ((await checkDocker()).ok) {\n\t\tconst result = await composeStart([service], buildComposeOptions(state));\n\t\tif (result.ok) state.services[service] = \"running\";\n\t\telse return errorResponse(500, \"docker_error\", `Failed to start service: ${result.stderr}`, { service }, requestId);\n\t} else state.services[service] = \"running\";\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tservice,\n\t\tstatus: state.services[service]\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACjC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrJ,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACpD,OAAO,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC3C,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AAChC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-kHCwWhe3.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/up/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, O as isAllowedService, bn as createLogger, lt as composeStart, tt as checkDocker } 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/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container start request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\tlogger.info(\"starting service\", {\n\t\trequestId,\n\t\tservice\n\t});\n\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\tif ((await checkDocker()).ok) {\n\t\tconst result = await composeStart([service], buildComposeOptions(state));\n\t\tif (result.ok) state.services[service] = \"running\";\n\t\telse return errorResponse(500, \"docker_error\", `Failed to start service: ${result.stderr}`, { service }, requestId);\n\t} else state.services[service] = \"running\";\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tservice,\n\t\tstatus: state.services[service]\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACjC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrJ,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACpD,OAAO,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC3C,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AAChC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,5 +1,5 @@
1
- import { ao as listEnabledAddonIds, a7 as getAddonServiceNames, o as checkDocker, E as composeStop, m as buildComposeOptions, aY as setAddonEnabled, G as createLogger } from './src-C5kkVuFB.js';
2
- import { r as resetState } from './state-BAMdGxdT.js';
1
+ import { ao as listEnabledAddonIds, a7 as getAddonServiceNames, o as checkDocker, E as composeStop, m as buildComposeOptions, aY as setAddonEnabled, G as createLogger } from './src-DKq8HP_s.js';
2
+ import { r as resetState } from './state-B1kC-_xl.js';
3
3
 
4
4
  //#region src/lib/server/addon-helpers.ts
5
5
  /**
@@ -48,4 +48,4 @@ async function performAddonToggle(state, name, requestedEnabled, requestId) {
48
48
  }
49
49
 
50
50
  export { performAddonToggle as p };
51
- //# sourceMappingURL=addon-helpers-Bo4hdZTj.js.map
51
+ //# sourceMappingURL=addon-helpers-B7HFQ3RL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addon-helpers-Bo4hdZTj.js","sources":["../../../.svelte-kit/adapter-node/chunks/addon-helpers.js"],"sourcesContent":["import { At as listEnabledAddonIds, Dt as getAddonServiceNames, L as buildComposeOptions, bn as createLogger, dt as composeStop, jt as setAddonEnabled, tt as checkDocker } from \"./src.js\";\nimport { n as resetState } from \"./state.js\";\n//#region src/lib/server/addon-helpers.ts\n/**\n* Shared addon enable/disable logic for admin route handlers.\n*\n* Both /admin/addons and /admin/addons/:name share the same POST flow:\n* validate → stop running services if disabling → mutate state → audit.\n* This module houses the shared mutation step so neither route duplicates it.\n*/\nvar logger = createLogger(\"addon-helpers\");\n/**\n* Stop running services if disabling, then call setAddonEnabled.\n* Returns the mutation result with the final enabled state.\n*/\nasync function performAddonToggle(state, name, requestedEnabled, requestId) {\n\tconst wasEnabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tconst nextEnabled = requestedEnabled !== void 0 ? requestedEnabled : wasEnabled;\n\tif (!nextEnabled && wasEnabled) {\n\t\tconst serviceNames = getAddonServiceNames(state.homeDir, name);\n\t\tif (serviceNames.length > 0) {\n\t\t\tif ((await checkDocker()).ok) try {\n\t\t\t\tawait composeStop(serviceNames, buildComposeOptions(state));\n\t\t\t\tlogger.info(\"stopped addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tlogger.warn(\"failed to stop addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\terror: String(err),\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tconst mutation = setAddonEnabled(state.homeDir, state.stackDir, name, nextEnabled, state);\n\tif (!mutation.ok) return mutation;\n\tif (mutation.changed) resetState();\n\treturn {\n\t\tok: true,\n\t\tenabled: listEnabledAddonIds(state.homeDir).includes(name),\n\t\tchanged: mutation.changed\n\t};\n}\n//#endregion\nexport { performAddonToggle as t };\n"],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA,eAAe,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE;AAC5E,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AACrE,CAAC,MAAM,WAAW,GAAG,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,GAAG,UAAU;AAChF,CAAC,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE;AACjC,EAAE,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AAChE,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,GAAG,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI;AACrC,IAAI,MAAM,WAAW,CAAC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;AACzD,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK;AACL,KAAK,CAAC;AACN,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE;AACjB,IAAI,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;AAChE,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;AACvB,KAAK;AACL,KAAK,CAAC;AACN,GAAG;AACH,EAAE;AACF,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC;AAC1F,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,QAAQ;AAClC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE;AACnC,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5D,EAAE,OAAO,EAAE,QAAQ,CAAC;AACpB,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"addon-helpers-B7HFQ3RL.js","sources":["../../../.svelte-kit/adapter-node/chunks/addon-helpers.js"],"sourcesContent":["import { At as listEnabledAddonIds, Dt as getAddonServiceNames, L as buildComposeOptions, bn as createLogger, dt as composeStop, jt as setAddonEnabled, tt as checkDocker } from \"./src.js\";\nimport { n as resetState } from \"./state.js\";\n//#region src/lib/server/addon-helpers.ts\n/**\n* Shared addon enable/disable logic for admin route handlers.\n*\n* Both /admin/addons and /admin/addons/:name share the same POST flow:\n* validate → stop running services if disabling → mutate state → audit.\n* This module houses the shared mutation step so neither route duplicates it.\n*/\nvar logger = createLogger(\"addon-helpers\");\n/**\n* Stop running services if disabling, then call setAddonEnabled.\n* Returns the mutation result with the final enabled state.\n*/\nasync function performAddonToggle(state, name, requestedEnabled, requestId) {\n\tconst wasEnabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tconst nextEnabled = requestedEnabled !== void 0 ? requestedEnabled : wasEnabled;\n\tif (!nextEnabled && wasEnabled) {\n\t\tconst serviceNames = getAddonServiceNames(state.homeDir, name);\n\t\tif (serviceNames.length > 0) {\n\t\t\tif ((await checkDocker()).ok) try {\n\t\t\t\tawait composeStop(serviceNames, buildComposeOptions(state));\n\t\t\t\tlogger.info(\"stopped addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tlogger.warn(\"failed to stop addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\terror: String(err),\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tconst mutation = setAddonEnabled(state.homeDir, state.stackDir, name, nextEnabled, state);\n\tif (!mutation.ok) return mutation;\n\tif (mutation.changed) resetState();\n\treturn {\n\t\tok: true,\n\t\tenabled: listEnabledAddonIds(state.homeDir).includes(name),\n\t\tchanged: mutation.changed\n\t};\n}\n//#endregion\nexport { performAddonToggle as t };\n"],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA,eAAe,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE;AAC5E,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AACrE,CAAC,MAAM,WAAW,GAAG,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,GAAG,UAAU;AAChF,CAAC,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE;AACjC,EAAE,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AAChE,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,GAAG,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI;AACrC,IAAI,MAAM,WAAW,CAAC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;AACzD,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK;AACL,KAAK,CAAC;AACN,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE;AACjB,IAAI,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;AAChE,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;AACvB,KAAK;AACL,KAAK,CAAC;AACN,GAAG;AACH,EAAE;AACF,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC;AAC1F,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,QAAQ;AAClC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE;AACnC,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5D,EAAE,OAAO,EAAE,QAAQ,CAAC;AACpB,EAAE;AACF;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { l as lookupEmbeddingDims } from './provider-constants-DPrj3yBX.js';
2
- import { R as detectLocalProviders, a2 as fetchProviderModels, k as buildAkmEndpoint } from './src-C5kkVuFB.js';
2
+ import { R as detectLocalProviders, a2 as fetchProviderModels, k as buildAkmEndpoint } from './src-DKq8HP_s.js';
3
3
 
4
4
  //#region src/lib/server/akm.ts
5
5
  var EMBEDDING_MODEL_HINT_RE = /(?:^|[-/_.])(embed|embedding|bge|gte|e5|nomic|mxbai|arctic-embed|minilm)/i;
@@ -148,4 +148,4 @@ async function detectEmbeddingSettings(state) {
148
148
  }
149
149
 
150
150
  export { detectEmbeddingSettings as d, safeParseJsonObject as s, testEmbeddingSettings as t };
151
- //# sourceMappingURL=akm-DbPcENjV.js.map
151
+ //# sourceMappingURL=akm-CPP2Trqo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"akm-DbPcENjV.js","sources":["../../../.svelte-kit/adapter-node/chunks/akm.js"],"sourcesContent":["import { o as lookupEmbeddingDims } from \"./provider-constants.js\";\nimport { D as fetchProviderModels, E as buildAkmEndpoint, u as detectLocalProviders } from \"./src.js\";\n//#region src/lib/server/akm.ts\nvar EMBEDDING_MODEL_HINT_RE = /(?:^|[-/_.])(embed|embedding|bge|gte|e5|nomic|mxbai|arctic-embed|minilm)/i;\nvar PREFERRED_EMBEDDING_MODELS = {\n\tollama: [\n\t\t\"mxbai-embed-large:latest\",\n\t\t\"mxbai-embed-large\",\n\t\t\"mxbai-embed-large-v1\",\n\t\t\"nomic-embed-text:latest\",\n\t\t\"nomic-embed-text\",\n\t\t\"snowflake-arctic-embed\",\n\t\t\"all-minilm\"\n\t],\n\t\"model-runner\": [\"ai/mxbai-embed-large-v1\"],\n\tlmstudio: [\n\t\t\"mxbai-embed-large-v1\",\n\t\t\"mxbai-embed-large\",\n\t\t\"nomic-embed-text\"\n\t]\n};\nfunction safeParseJsonObject(s) {\n\ttry {\n\t\tconst v = JSON.parse(s);\n\t\treturn v && typeof v === \"object\" ? v : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction isEmbeddingModel(provider, model) {\n\treturn lookupEmbeddingDims(provider, model) > 0 || EMBEDDING_MODEL_HINT_RE.test(model);\n}\nfunction compareModelPreference(provider, left, right) {\n\tconst preferred = PREFERRED_EMBEDDING_MODELS[provider] ?? [];\n\tconst leftIdx = preferred.findIndex((entry) => entry === left);\n\tconst rightIdx = preferred.findIndex((entry) => entry === right);\n\tif (leftIdx >= 0 || rightIdx >= 0) {\n\t\tif (leftIdx < 0) return 1;\n\t\tif (rightIdx < 0) return -1;\n\t\treturn leftIdx - rightIdx;\n\t}\n\tconst dimDelta = lookupEmbeddingDims(provider, right) - lookupEmbeddingDims(provider, left);\n\tif (dimDelta !== 0) return dimDelta;\n\treturn left.localeCompare(right);\n}\nfunction bestEmbeddingModel(provider, models) {\n\tconst candidates = models.filter((model) => isEmbeddingModel(provider, model));\n\tif (candidates.length === 0) return null;\n\treturn [...candidates].sort((left, right) => compareModelPreference(provider, left, right))[0] ?? null;\n}\nfunction detectionPriority(left, right) {\n\tconst order = [\n\t\t\"ollama\",\n\t\t\"model-runner\",\n\t\t\"lmstudio\"\n\t];\n\treturn order.indexOf(left.provider) - order.indexOf(right.provider);\n}\nfunction describeUpstreamError(status, raw) {\n\ttry {\n\t\tconst parsed = JSON.parse(raw);\n\t\tconst error = parsed.error;\n\t\tif (typeof error === \"string\" && error) return `Embedding request failed (${status}): ${error}`;\n\t\tif (error && typeof error === \"object\" && typeof error.message === \"string\") return `Embedding request failed (${status}): ${error.message}`;\n\t\tif (typeof parsed.message === \"string\" && parsed.message) return `Embedding request failed (${status}): ${parsed.message}`;\n\t} catch {}\n\treturn `Embedding request failed (${status}).`;\n}\nasync function testEmbeddingSettings(input) {\n\tconst endpoint = input.endpoint.trim();\n\tconst model = input.model.trim();\n\tif (!endpoint) return {\n\t\tok: false,\n\t\tmessage: \"Endpoint is required.\"\n\t};\n\tif (!model) return {\n\t\tok: false,\n\t\tmessage: \"Model is required.\"\n\t};\n\tconst headers = { \"content-type\": \"application/json\" };\n\tconst apiKey = input.apiKey?.trim() ?? \"\";\n\tif (apiKey) headers.authorization = `Bearer ${apiKey}`;\n\ttry {\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel,\n\t\t\t\tinput: [\"OpenPalm embedding settings test\"]\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(1e4)\n\t\t});\n\t\tconst raw = await response.text();\n\t\tif (!response.ok) return {\n\t\t\tok: false,\n\t\t\tmessage: describeUpstreamError(response.status, raw)\n\t\t};\n\t\tconst parsed = safeParseJsonObject(raw);\n\t\tconst first = (Array.isArray(parsed?.data) ? parsed.data : [])[0];\n\t\tconst embedding = first && typeof first === \"object\" ? first.embedding : void 0;\n\t\tif (!Array.isArray(embedding) || embedding.length === 0 || !embedding.every((value) => typeof value === \"number\")) return {\n\t\t\tok: false,\n\t\t\tmessage: \"Endpoint responded, but not with an OpenAI-compatible embeddings payload.\"\n\t\t};\n\t\tconst dimension = embedding.length;\n\t\tconst configuredDimension = typeof input.dimension === \"number\" && input.dimension > 0 ? input.dimension : null;\n\t\treturn {\n\t\t\tok: true,\n\t\t\tdimension,\n\t\t\tmessage: configuredDimension && configuredDimension !== dimension ? `Embedding endpoint is working. Returned ${dimension} dimensions; the form has been updated to match.` : `Embedding endpoint is working. Returned ${dimension} dimensions.`,\n\t\t\tprovider: input.provider\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error && error.name === \"TimeoutError\" ? \"Embedding request timed out after 10 seconds.\" : error instanceof Error ? `Embedding request failed: ${error.message}` : \"Embedding request failed.\"\n\t\t};\n\t}\n}\nasync function detectEmbeddingSettings(state) {\n\tconst detected = (await detectLocalProviders()).filter((provider) => provider.available && provider.url).sort(detectionPriority);\n\tfor (const provider of detected) {\n\t\tconst modelsResult = await fetchProviderModels(provider.provider, \"\", provider.url, state.stackDir);\n\t\tif (modelsResult.status !== \"ok\") continue;\n\t\tconst model = bestEmbeddingModel(provider.provider, modelsResult.models);\n\t\tif (!model) continue;\n\t\tconst endpoint = buildAkmEndpoint(provider.provider, provider.url, \"/embeddings\");\n\t\tconst probe = await testEmbeddingSettings({\n\t\t\tendpoint,\n\t\t\tmodel,\n\t\t\tprovider: provider.provider\n\t\t});\n\t\tif (!probe.ok) continue;\n\t\treturn {\n\t\t\tok: true,\n\t\t\tendpoint,\n\t\t\tmodel,\n\t\t\tprovider: provider.provider,\n\t\t\tdimension: probe.dimension,\n\t\t\tmessage: `Detected ${provider.provider} embedding model ${model}.`\n\t\t};\n\t}\n\treturn {\n\t\tok: false,\n\t\tmessage: \"No working local embedding endpoint was detected. Tried common runtimes such as Ollama, Docker Model Runner, and LM Studio.\"\n\t};\n}\n//#endregion\nexport { safeParseJsonObject as n, testEmbeddingSettings as r, detectEmbeddingSettings as t };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"akm-CPP2Trqo.js","sources":["../../../.svelte-kit/adapter-node/chunks/akm.js"],"sourcesContent":["import { o as lookupEmbeddingDims } from \"./provider-constants.js\";\nimport { D as fetchProviderModels, E as buildAkmEndpoint, u as detectLocalProviders } from \"./src.js\";\n//#region src/lib/server/akm.ts\nvar EMBEDDING_MODEL_HINT_RE = /(?:^|[-/_.])(embed|embedding|bge|gte|e5|nomic|mxbai|arctic-embed|minilm)/i;\nvar PREFERRED_EMBEDDING_MODELS = {\n\tollama: [\n\t\t\"mxbai-embed-large:latest\",\n\t\t\"mxbai-embed-large\",\n\t\t\"mxbai-embed-large-v1\",\n\t\t\"nomic-embed-text:latest\",\n\t\t\"nomic-embed-text\",\n\t\t\"snowflake-arctic-embed\",\n\t\t\"all-minilm\"\n\t],\n\t\"model-runner\": [\"ai/mxbai-embed-large-v1\"],\n\tlmstudio: [\n\t\t\"mxbai-embed-large-v1\",\n\t\t\"mxbai-embed-large\",\n\t\t\"nomic-embed-text\"\n\t]\n};\nfunction safeParseJsonObject(s) {\n\ttry {\n\t\tconst v = JSON.parse(s);\n\t\treturn v && typeof v === \"object\" ? v : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction isEmbeddingModel(provider, model) {\n\treturn lookupEmbeddingDims(provider, model) > 0 || EMBEDDING_MODEL_HINT_RE.test(model);\n}\nfunction compareModelPreference(provider, left, right) {\n\tconst preferred = PREFERRED_EMBEDDING_MODELS[provider] ?? [];\n\tconst leftIdx = preferred.findIndex((entry) => entry === left);\n\tconst rightIdx = preferred.findIndex((entry) => entry === right);\n\tif (leftIdx >= 0 || rightIdx >= 0) {\n\t\tif (leftIdx < 0) return 1;\n\t\tif (rightIdx < 0) return -1;\n\t\treturn leftIdx - rightIdx;\n\t}\n\tconst dimDelta = lookupEmbeddingDims(provider, right) - lookupEmbeddingDims(provider, left);\n\tif (dimDelta !== 0) return dimDelta;\n\treturn left.localeCompare(right);\n}\nfunction bestEmbeddingModel(provider, models) {\n\tconst candidates = models.filter((model) => isEmbeddingModel(provider, model));\n\tif (candidates.length === 0) return null;\n\treturn [...candidates].sort((left, right) => compareModelPreference(provider, left, right))[0] ?? null;\n}\nfunction detectionPriority(left, right) {\n\tconst order = [\n\t\t\"ollama\",\n\t\t\"model-runner\",\n\t\t\"lmstudio\"\n\t];\n\treturn order.indexOf(left.provider) - order.indexOf(right.provider);\n}\nfunction describeUpstreamError(status, raw) {\n\ttry {\n\t\tconst parsed = JSON.parse(raw);\n\t\tconst error = parsed.error;\n\t\tif (typeof error === \"string\" && error) return `Embedding request failed (${status}): ${error}`;\n\t\tif (error && typeof error === \"object\" && typeof error.message === \"string\") return `Embedding request failed (${status}): ${error.message}`;\n\t\tif (typeof parsed.message === \"string\" && parsed.message) return `Embedding request failed (${status}): ${parsed.message}`;\n\t} catch {}\n\treturn `Embedding request failed (${status}).`;\n}\nasync function testEmbeddingSettings(input) {\n\tconst endpoint = input.endpoint.trim();\n\tconst model = input.model.trim();\n\tif (!endpoint) return {\n\t\tok: false,\n\t\tmessage: \"Endpoint is required.\"\n\t};\n\tif (!model) return {\n\t\tok: false,\n\t\tmessage: \"Model is required.\"\n\t};\n\tconst headers = { \"content-type\": \"application/json\" };\n\tconst apiKey = input.apiKey?.trim() ?? \"\";\n\tif (apiKey) headers.authorization = `Bearer ${apiKey}`;\n\ttry {\n\t\tconst response = await fetch(endpoint, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel,\n\t\t\t\tinput: [\"OpenPalm embedding settings test\"]\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(1e4)\n\t\t});\n\t\tconst raw = await response.text();\n\t\tif (!response.ok) return {\n\t\t\tok: false,\n\t\t\tmessage: describeUpstreamError(response.status, raw)\n\t\t};\n\t\tconst parsed = safeParseJsonObject(raw);\n\t\tconst first = (Array.isArray(parsed?.data) ? parsed.data : [])[0];\n\t\tconst embedding = first && typeof first === \"object\" ? first.embedding : void 0;\n\t\tif (!Array.isArray(embedding) || embedding.length === 0 || !embedding.every((value) => typeof value === \"number\")) return {\n\t\t\tok: false,\n\t\t\tmessage: \"Endpoint responded, but not with an OpenAI-compatible embeddings payload.\"\n\t\t};\n\t\tconst dimension = embedding.length;\n\t\tconst configuredDimension = typeof input.dimension === \"number\" && input.dimension > 0 ? input.dimension : null;\n\t\treturn {\n\t\t\tok: true,\n\t\t\tdimension,\n\t\t\tmessage: configuredDimension && configuredDimension !== dimension ? `Embedding endpoint is working. Returned ${dimension} dimensions; the form has been updated to match.` : `Embedding endpoint is working. Returned ${dimension} dimensions.`,\n\t\t\tprovider: input.provider\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error && error.name === \"TimeoutError\" ? \"Embedding request timed out after 10 seconds.\" : error instanceof Error ? `Embedding request failed: ${error.message}` : \"Embedding request failed.\"\n\t\t};\n\t}\n}\nasync function detectEmbeddingSettings(state) {\n\tconst detected = (await detectLocalProviders()).filter((provider) => provider.available && provider.url).sort(detectionPriority);\n\tfor (const provider of detected) {\n\t\tconst modelsResult = await fetchProviderModels(provider.provider, \"\", provider.url, state.stackDir);\n\t\tif (modelsResult.status !== \"ok\") continue;\n\t\tconst model = bestEmbeddingModel(provider.provider, modelsResult.models);\n\t\tif (!model) continue;\n\t\tconst endpoint = buildAkmEndpoint(provider.provider, provider.url, \"/embeddings\");\n\t\tconst probe = await testEmbeddingSettings({\n\t\t\tendpoint,\n\t\t\tmodel,\n\t\t\tprovider: provider.provider\n\t\t});\n\t\tif (!probe.ok) continue;\n\t\treturn {\n\t\t\tok: true,\n\t\t\tendpoint,\n\t\t\tmodel,\n\t\t\tprovider: provider.provider,\n\t\t\tdimension: probe.dimension,\n\t\t\tmessage: `Detected ${provider.provider} embedding model ${model}.`\n\t\t};\n\t}\n\treturn {\n\t\tok: false,\n\t\tmessage: \"No working local embedding endpoint was detected. Tried common runtimes such as Ollama, Docker Model Runner, and LM Studio.\"\n\t};\n}\n//#endregion\nexport { safeParseJsonObject as n, testEmbeddingSettings as r, detectEmbeddingSettings as t };\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { i as authJsonPath } from './src-C5kkVuFB.js';
2
- import { g as getState } from './state-BAMdGxdT.js';
1
+ import { i as authJsonPath } from './src-DKq8HP_s.js';
2
+ import { g as getState } from './state-B1kC-_xl.js';
3
3
  import { b as asRecord, c as asString, a as asNumber, e as asStringRecord, d as asStringArray } from './coercion-TNFJisCC.js';
4
- import { o as opencodeFetch } from './http-29NeXi8J.js';
5
- import { g as getCurrentConfig } from './config-CfZrAmt4.js';
4
+ import { o as opencodeFetch } from './http-BKevFr5r.js';
5
+ import { g as getCurrentConfig } from './config-BsGMOYU-.js';
6
6
  import { existsSync, readFileSync } from 'node:fs';
7
7
 
8
8
  //#region src/lib/server/opencode/catalog.ts
@@ -214,4 +214,4 @@ function asModelRecord(value) {
214
214
  }
215
215
 
216
216
  export { loadSetupProviderPage as a, loadProviderPage as l };
217
- //# sourceMappingURL=catalog--Wa5WAM4.js.map
217
+ //# sourceMappingURL=catalog-CD15uSXA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog--Wa5WAM4.js","sources":["../../../.svelte-kit/adapter-node/chunks/catalog.js"],"sourcesContent":["import { Zt as authJsonPath } from \"./src.js\";\nimport { t as getState } from \"./state.js\";\nimport { a as asStringRecord, i as asStringArray, n as asRecord, r as asString, t as asNumber } from \"./coercion.js\";\nimport { t as opencodeFetch } from \"./http.js\";\nimport { t as getCurrentConfig } from \"./config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/lib/server/opencode/catalog.ts\n/**\n* Provider catalog assembly.\n*\n* Pulls catalog/auth/config/configured-provider data from the OpenCode server\n* (and the on-disk config), merges them, and emits ProviderView records the\n* UI renders directly.\n*/\n/**\n* Map of provider ID → credential type, as found in OpenCode's auth.json.\n* OpenCode's /provider response only reports env-var-detected providers in\n* `connected`; auth.json-stored credentials (API keys + OAuth tokens) are\n* loaded on-demand and don't appear there. We surface them here so the UI\n* can treat them as connected and show the right badge.\n*/\nfunction readAuthedProviders() {\n\tconst out = /* @__PURE__ */ new Map();\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return out;\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tfor (const [id, entry] of Object.entries(data ?? {})) {\n\t\t\tconst type = entry?.type === \"oauth\" ? \"oauth\" : \"api\";\n\t\t\tout.set(id, type);\n\t\t}\n\t} catch {}\n\treturn out;\n}\nasync function loadProviderPage() {\n\ttry {\n\t\tconst [catalog, auth, ocConfig, configured] = await Promise.all([\n\t\t\topencodeFetch(\"/provider\"),\n\t\t\topencodeFetch(\"/provider/auth\"),\n\t\t\topencodeFetch(\"/config\"),\n\t\t\topencodeFetch(\"/config/providers\")\n\t\t]);\n\t\tconst diskConfig = await getCurrentConfig();\n\t\tconst config = {\n\t\t\t...ocConfig,\n\t\t\tprovider: {\n\t\t\t\t...ocConfig.provider ?? {},\n\t\t\t\t...diskConfig.provider ?? {}\n\t\t\t},\n\t\t\tdisabled_providers: diskConfig.disabled_providers ?? ocConfig.disabled_providers,\n\t\t\tenabled_providers: diskConfig.enabled_providers ?? ocConfig.enabled_providers\n\t\t};\n\t\tconst views = buildProviderViews(catalog, auth, config, configured, readAuthedProviders());\n\t\treturn {\n\t\t\tavailable: true,\n\t\t\tproviders: views,\n\t\t\tcurrentModel: config.model,\n\t\t\tcurrentSmallModel: config.small_model,\n\t\t\tdefaultModels: catalog.default,\n\t\t\tallowlistActive: Array.isArray(config.enabled_providers) && config.enabled_providers.length > 0,\n\t\t\tproviderCountLabel: `${views.length} providers indexed from OpenCode`,\n\t\t\tstats: {\n\t\t\t\ttotal: views.length,\n\t\t\t\tconnected: views.filter((p) => p.connected).length,\n\t\t\t\tconfigured: views.filter((p) => p.configured).length,\n\t\t\t\tdisabled: views.filter((p) => p.disabled).length\n\t\t\t}\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tavailable: false,\n\t\t\terror: error instanceof Error ? error.message : \"Unable to reach the OpenCode server.\",\n\t\t\tproviders: [],\n\t\t\tdefaultModels: {},\n\t\t\tallowlistActive: false,\n\t\t\tproviderCountLabel: \"The OpenCode server is currently unavailable.\",\n\t\t\tstats: {\n\t\t\t\ttotal: 0,\n\t\t\t\tconnected: 0,\n\t\t\t\tconfigured: 0,\n\t\t\t\tdisabled: 0\n\t\t\t}\n\t\t};\n\t}\n}\nasync function loadSetupProviderPage() {\n\ttry {\n\t\tconst [catalog, auth] = await Promise.all([opencodeFetch(\"/provider\"), opencodeFetch(\"/provider/auth\")]);\n\t\treturn {\n\t\t\tavailable: true,\n\t\t\tproviders: Array.isArray(catalog.all) ? catalog.all : [],\n\t\t\tauth,\n\t\t\tconnected: Array.from(new Set([...catalog.connected ?? [], ...readConnectedProviderIdsFromAuthJson()])),\n\t\t\tselectedModels: readSelectedModels()\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t};\n\t}\n}\nfunction readSelectedModels() {\n\ttry {\n\t\tconst path = `${getState().configDir}/assistant/opencode.json`;\n\t\tif (!existsSync(path)) return {};\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn {\n\t\t\t...typeof data.model === \"string\" && data.model ? { llm: data.model } : {},\n\t\t\t...typeof data.small_model === \"string\" && data.small_model ? { small: data.small_model } : {}\n\t\t};\n\t} catch {\n\t\treturn {};\n\t}\n}\nfunction readConnectedProviderIdsFromAuthJson() {\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}\nfunction extractAndSortModels(...sources) {\n\tlet entries = {};\n\tfor (const source of sources) {\n\t\tconst record = asModelRecord(source);\n\t\tif (record) {\n\t\t\tentries = record;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn Object.entries(entries).map(([id, model]) => ({\n\t\tid,\n\t\tname: model.name ?? id\n\t})).sort((left, right) => left.name.localeCompare(right.name));\n}\nfunction buildProviderViews(catalog, auth, config, configured, authed) {\n\tconst catalogMap = new Map(catalog.all.map((p) => [p.id, p]));\n\tconst envConnected = new Set(catalog.connected);\n\tconst connected = new Set([...envConnected, ...authed.keys()]);\n\tconst disabled = new Set(config.disabled_providers ?? []);\n\tconst allowlist = config.enabled_providers ? new Set(config.enabled_providers) : void 0;\n\tconst configuredMap = new Map(configured.providers.map((p) => [p.id, p]));\n\tconst providerIds = new Set([\n\t\t...catalog.all.map((p) => p.id),\n\t\t...Object.keys(config.provider ?? {}),\n\t\t...configured.providers.map((p) => p.id)\n\t]);\n\treturn Array.from(providerIds).map((providerId) => {\n\t\tconst entry = catalogMap.get(providerId);\n\t\tconst configEntry = asRecord(config.provider?.[providerId]);\n\t\tconst resolvedEntry = configuredMap.get(providerId);\n\t\tconst rawOptions = {\n\t\t\t...asRecord(resolvedEntry?.options),\n\t\t\t...asRecord(configEntry?.options)\n\t\t};\n\t\tconst authMethods = (auth[providerId] ?? []).map((method, index) => ({\n\t\t\tindex,\n\t\t\ttype: method.type,\n\t\t\tlabel: method.label,\n\t\t\tprompts: method.prompts ?? []\n\t\t}));\n\t\tconst models = extractAndSortModels(resolvedEntry?.models, configEntry?.models, entry?.models);\n\t\tconst currentModelId = splitModel(config.model, providerId);\n\t\tconst currentSmallModelId = splitModel(config.small_model, providerId);\n\t\tconst enabled = allowlist ? allowlist.has(providerId) && !disabled.has(providerId) : !disabled.has(providerId);\n\t\tconst isConnected = connected.has(providerId);\n\t\tconst isEnvConnected = envConnected.has(providerId);\n\t\tconst authedType = authed.get(providerId);\n\t\tconst credentialType = !isConnected ? void 0 : isEnvConnected ? \"env\" : authedType ? authedType : configEntry ? \"config\" : \"custom\";\n\t\treturn {\n\t\t\tid: providerId,\n\t\t\tname: resolvedEntry?.name ?? asString(configEntry?.name) ?? entry?.name ?? providerId,\n\t\t\tsource: resolvedEntry?.source ?? (entry ? configEntry ? \"config\" : \"catalog\" : \"custom\"),\n\t\t\tenv: resolvedEntry?.env ?? asStringArray(configEntry?.env) ?? entry?.env ?? [],\n\t\t\tconnected: isConnected,\n\t\t\tconfigured: Boolean(resolvedEntry || configEntry),\n\t\t\tdisabled: !enabled,\n\t\t\tactiveMainModel: Boolean(currentModelId),\n\t\t\tactiveSmallModel: Boolean(currentSmallModelId),\n\t\t\trecommendedModelId: currentModelId ?? configured.default[providerId] ?? catalog.default[providerId] ?? models[0]?.id ?? \"\",\n\t\t\tmodelCount: models.length,\n\t\t\tmodels,\n\t\t\tauthMethods,\n\t\t\tcredentialType,\n\t\t\toptions: {\n\t\t\t\tbaseURL: asString(rawOptions.baseURL),\n\t\t\t\theaders: asStringRecord(rawOptions.headers),\n\t\t\t\ttimeout: asNumber(rawOptions.timeout),\n\t\t\t\tsetCacheKey: rawOptions.setCacheKey === true,\n\t\t\t\tenterpriseUrl: asString(rawOptions.enterpriseUrl)\n\t\t\t},\n\t\t\tsupportsOauth: authMethods.some((m) => m.type === \"oauth\"),\n\t\t\tsupportsApiAuth: authMethods.some((m) => m.type === \"api\")\n\t\t};\n\t}).sort((left, right) => {\n\t\tif (left.connected !== right.connected) return left.connected ? -1 : 1;\n\t\tif (left.activeMainModel !== right.activeMainModel) return left.activeMainModel ? -1 : 1;\n\t\tif (left.configured !== right.configured) return left.configured ? -1 : 1;\n\t\tif (left.disabled !== right.disabled) return left.disabled ? 1 : -1;\n\t\treturn left.name.localeCompare(right.name);\n\t});\n}\nfunction splitModel(model, providerId) {\n\tif (!model?.startsWith(`${providerId}/`)) return void 0;\n\treturn model.slice(providerId.length + 1);\n}\nfunction asModelRecord(value) {\n\treturn value && typeof value === \"object\" && !Array.isArray(value) ? value : void 0;\n}\n//#endregion\nexport { loadSetupProviderPage as n, loadProviderPage as t };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-CD15uSXA.js","sources":["../../../.svelte-kit/adapter-node/chunks/catalog.js"],"sourcesContent":["import { Zt as authJsonPath } from \"./src.js\";\nimport { t as getState } from \"./state.js\";\nimport { a as asStringRecord, i as asStringArray, n as asRecord, r as asString, t as asNumber } from \"./coercion.js\";\nimport { t as opencodeFetch } from \"./http.js\";\nimport { t as getCurrentConfig } from \"./config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/lib/server/opencode/catalog.ts\n/**\n* Provider catalog assembly.\n*\n* Pulls catalog/auth/config/configured-provider data from the OpenCode server\n* (and the on-disk config), merges them, and emits ProviderView records the\n* UI renders directly.\n*/\n/**\n* Map of provider ID → credential type, as found in OpenCode's auth.json.\n* OpenCode's /provider response only reports env-var-detected providers in\n* `connected`; auth.json-stored credentials (API keys + OAuth tokens) are\n* loaded on-demand and don't appear there. We surface them here so the UI\n* can treat them as connected and show the right badge.\n*/\nfunction readAuthedProviders() {\n\tconst out = /* @__PURE__ */ new Map();\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return out;\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tfor (const [id, entry] of Object.entries(data ?? {})) {\n\t\t\tconst type = entry?.type === \"oauth\" ? \"oauth\" : \"api\";\n\t\t\tout.set(id, type);\n\t\t}\n\t} catch {}\n\treturn out;\n}\nasync function loadProviderPage() {\n\ttry {\n\t\tconst [catalog, auth, ocConfig, configured] = await Promise.all([\n\t\t\topencodeFetch(\"/provider\"),\n\t\t\topencodeFetch(\"/provider/auth\"),\n\t\t\topencodeFetch(\"/config\"),\n\t\t\topencodeFetch(\"/config/providers\")\n\t\t]);\n\t\tconst diskConfig = await getCurrentConfig();\n\t\tconst config = {\n\t\t\t...ocConfig,\n\t\t\tprovider: {\n\t\t\t\t...ocConfig.provider ?? {},\n\t\t\t\t...diskConfig.provider ?? {}\n\t\t\t},\n\t\t\tdisabled_providers: diskConfig.disabled_providers ?? ocConfig.disabled_providers,\n\t\t\tenabled_providers: diskConfig.enabled_providers ?? ocConfig.enabled_providers\n\t\t};\n\t\tconst views = buildProviderViews(catalog, auth, config, configured, readAuthedProviders());\n\t\treturn {\n\t\t\tavailable: true,\n\t\t\tproviders: views,\n\t\t\tcurrentModel: config.model,\n\t\t\tcurrentSmallModel: config.small_model,\n\t\t\tdefaultModels: catalog.default,\n\t\t\tallowlistActive: Array.isArray(config.enabled_providers) && config.enabled_providers.length > 0,\n\t\t\tproviderCountLabel: `${views.length} providers indexed from OpenCode`,\n\t\t\tstats: {\n\t\t\t\ttotal: views.length,\n\t\t\t\tconnected: views.filter((p) => p.connected).length,\n\t\t\t\tconfigured: views.filter((p) => p.configured).length,\n\t\t\t\tdisabled: views.filter((p) => p.disabled).length\n\t\t\t}\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tavailable: false,\n\t\t\terror: error instanceof Error ? error.message : \"Unable to reach the OpenCode server.\",\n\t\t\tproviders: [],\n\t\t\tdefaultModels: {},\n\t\t\tallowlistActive: false,\n\t\t\tproviderCountLabel: \"The OpenCode server is currently unavailable.\",\n\t\t\tstats: {\n\t\t\t\ttotal: 0,\n\t\t\t\tconnected: 0,\n\t\t\t\tconfigured: 0,\n\t\t\t\tdisabled: 0\n\t\t\t}\n\t\t};\n\t}\n}\nasync function loadSetupProviderPage() {\n\ttry {\n\t\tconst [catalog, auth] = await Promise.all([opencodeFetch(\"/provider\"), opencodeFetch(\"/provider/auth\")]);\n\t\treturn {\n\t\t\tavailable: true,\n\t\t\tproviders: Array.isArray(catalog.all) ? catalog.all : [],\n\t\t\tauth,\n\t\t\tconnected: Array.from(new Set([...catalog.connected ?? [], ...readConnectedProviderIdsFromAuthJson()])),\n\t\t\tselectedModels: readSelectedModels()\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tavailable: false,\n\t\t\tproviders: []\n\t\t};\n\t}\n}\nfunction readSelectedModels() {\n\ttry {\n\t\tconst path = `${getState().configDir}/assistant/opencode.json`;\n\t\tif (!existsSync(path)) return {};\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn {\n\t\t\t...typeof data.model === \"string\" && data.model ? { llm: data.model } : {},\n\t\t\t...typeof data.small_model === \"string\" && data.small_model ? { small: data.small_model } : {}\n\t\t};\n\t} catch {\n\t\treturn {};\n\t}\n}\nfunction readConnectedProviderIdsFromAuthJson() {\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}\nfunction extractAndSortModels(...sources) {\n\tlet entries = {};\n\tfor (const source of sources) {\n\t\tconst record = asModelRecord(source);\n\t\tif (record) {\n\t\t\tentries = record;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn Object.entries(entries).map(([id, model]) => ({\n\t\tid,\n\t\tname: model.name ?? id\n\t})).sort((left, right) => left.name.localeCompare(right.name));\n}\nfunction buildProviderViews(catalog, auth, config, configured, authed) {\n\tconst catalogMap = new Map(catalog.all.map((p) => [p.id, p]));\n\tconst envConnected = new Set(catalog.connected);\n\tconst connected = new Set([...envConnected, ...authed.keys()]);\n\tconst disabled = new Set(config.disabled_providers ?? []);\n\tconst allowlist = config.enabled_providers ? new Set(config.enabled_providers) : void 0;\n\tconst configuredMap = new Map(configured.providers.map((p) => [p.id, p]));\n\tconst providerIds = new Set([\n\t\t...catalog.all.map((p) => p.id),\n\t\t...Object.keys(config.provider ?? {}),\n\t\t...configured.providers.map((p) => p.id)\n\t]);\n\treturn Array.from(providerIds).map((providerId) => {\n\t\tconst entry = catalogMap.get(providerId);\n\t\tconst configEntry = asRecord(config.provider?.[providerId]);\n\t\tconst resolvedEntry = configuredMap.get(providerId);\n\t\tconst rawOptions = {\n\t\t\t...asRecord(resolvedEntry?.options),\n\t\t\t...asRecord(configEntry?.options)\n\t\t};\n\t\tconst authMethods = (auth[providerId] ?? []).map((method, index) => ({\n\t\t\tindex,\n\t\t\ttype: method.type,\n\t\t\tlabel: method.label,\n\t\t\tprompts: method.prompts ?? []\n\t\t}));\n\t\tconst models = extractAndSortModels(resolvedEntry?.models, configEntry?.models, entry?.models);\n\t\tconst currentModelId = splitModel(config.model, providerId);\n\t\tconst currentSmallModelId = splitModel(config.small_model, providerId);\n\t\tconst enabled = allowlist ? allowlist.has(providerId) && !disabled.has(providerId) : !disabled.has(providerId);\n\t\tconst isConnected = connected.has(providerId);\n\t\tconst isEnvConnected = envConnected.has(providerId);\n\t\tconst authedType = authed.get(providerId);\n\t\tconst credentialType = !isConnected ? void 0 : isEnvConnected ? \"env\" : authedType ? authedType : configEntry ? \"config\" : \"custom\";\n\t\treturn {\n\t\t\tid: providerId,\n\t\t\tname: resolvedEntry?.name ?? asString(configEntry?.name) ?? entry?.name ?? providerId,\n\t\t\tsource: resolvedEntry?.source ?? (entry ? configEntry ? \"config\" : \"catalog\" : \"custom\"),\n\t\t\tenv: resolvedEntry?.env ?? asStringArray(configEntry?.env) ?? entry?.env ?? [],\n\t\t\tconnected: isConnected,\n\t\t\tconfigured: Boolean(resolvedEntry || configEntry),\n\t\t\tdisabled: !enabled,\n\t\t\tactiveMainModel: Boolean(currentModelId),\n\t\t\tactiveSmallModel: Boolean(currentSmallModelId),\n\t\t\trecommendedModelId: currentModelId ?? configured.default[providerId] ?? catalog.default[providerId] ?? models[0]?.id ?? \"\",\n\t\t\tmodelCount: models.length,\n\t\t\tmodels,\n\t\t\tauthMethods,\n\t\t\tcredentialType,\n\t\t\toptions: {\n\t\t\t\tbaseURL: asString(rawOptions.baseURL),\n\t\t\t\theaders: asStringRecord(rawOptions.headers),\n\t\t\t\ttimeout: asNumber(rawOptions.timeout),\n\t\t\t\tsetCacheKey: rawOptions.setCacheKey === true,\n\t\t\t\tenterpriseUrl: asString(rawOptions.enterpriseUrl)\n\t\t\t},\n\t\t\tsupportsOauth: authMethods.some((m) => m.type === \"oauth\"),\n\t\t\tsupportsApiAuth: authMethods.some((m) => m.type === \"api\")\n\t\t};\n\t}).sort((left, right) => {\n\t\tif (left.connected !== right.connected) return left.connected ? -1 : 1;\n\t\tif (left.activeMainModel !== right.activeMainModel) return left.activeMainModel ? -1 : 1;\n\t\tif (left.configured !== right.configured) return left.configured ? -1 : 1;\n\t\tif (left.disabled !== right.disabled) return left.disabled ? 1 : -1;\n\t\treturn left.name.localeCompare(right.name);\n\t});\n}\nfunction splitModel(model, providerId) {\n\tif (!model?.startsWith(`${providerId}/`)) return void 0;\n\treturn model.slice(providerId.length + 1);\n}\nfunction asModelRecord(value) {\n\treturn value && typeof value === \"object\" && !Array.isArray(value) ? value : void 0;\n}\n//#endregion\nexport { loadSetupProviderPage as n, loadProviderPage as t };\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import './internal-AjT2L6Re.js';
1
+ import './internal-_63MR9tl.js';
2
2
  import './utils-BSRjJDrZ.js';
3
3
  import { a7 as ssr_context, $ as run, a1 as setContext, W as noop, C as hasContext, x as getContext, w as getAllContexts, v as getAbortSignal, l as createContext, U as lifecycle_function_unavailable, s as experimental_async_required, A as get_render_context, ab as uneval, G as hydratable_serialization_failed } from './dev-B6xUe35c.js';
4
4
  import { a as __exportAll } from './chunk-CLZ62Ad-.js';
@@ -198,4 +198,4 @@ function goto(url, opts = {}) {
198
198
  }
199
199
 
200
200
  export { afterNavigate as a, goto as g, onDestroy as o };
201
- //# sourceMappingURL=client-BILypdph.js.map
201
+ //# sourceMappingURL=client-Dg5O4lJC.js.map