@openpalm/ui 0.13.0-beta.4 → 0.13.0-beta.5

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 (346) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/chunks/{CBV2kBE1.js → B0yXlM3K.js} +1 -1
  3. package/build/client/_app/immutable/chunks/B0yXlM3K.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/B0yXlM3K.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{BKLMDjUE.js → BlYj4BBX.js} +1 -1
  6. package/build/client/_app/immutable/chunks/BlYj4BBX.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BlYj4BBX.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/Bz3r0btw.js +3 -0
  9. package/build/client/_app/immutable/chunks/Bz3r0btw.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/Bz3r0btw.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{C5iiO0W9.js → CBM1fLGu.js} +1 -1
  12. package/build/client/_app/immutable/chunks/CBM1fLGu.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/CBM1fLGu.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/DPYXdJcD.js +1 -0
  15. package/build/client/_app/immutable/chunks/DPYXdJcD.js.br +2 -0
  16. package/build/client/_app/immutable/chunks/DPYXdJcD.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/{app.DAzfwrA7.js → app.FbKd4aR6.js} +2 -2
  18. package/build/client/_app/immutable/entry/app.FbKd4aR6.js.br +0 -0
  19. package/build/client/_app/immutable/entry/app.FbKd4aR6.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/start.VEjfH6IP.js +1 -0
  21. package/build/client/_app/immutable/entry/start.VEjfH6IP.js.br +1 -0
  22. package/build/client/_app/immutable/entry/start.VEjfH6IP.js.gz +0 -0
  23. package/build/client/_app/immutable/nodes/{1.BYTQ4CJf.js → 1.B_hGEgef.js} +1 -1
  24. package/build/client/_app/immutable/nodes/1.B_hGEgef.js.br +0 -0
  25. package/build/client/_app/immutable/nodes/1.B_hGEgef.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{10.CHYaVWP2.js → 10.B8xmblvj.js} +1 -1
  27. package/build/client/_app/immutable/nodes/10.B8xmblvj.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/10.B8xmblvj.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{11.DXwuRFxA.js → 11.Ti2X5F-7.js} +1 -1
  30. package/build/client/_app/immutable/nodes/11.Ti2X5F-7.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/11.Ti2X5F-7.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{4.n8OmCUUb.js → 4.X5um5v0F.js} +1 -1
  33. package/build/client/_app/immutable/nodes/4.X5um5v0F.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/4.X5um5v0F.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{5.DgnQcqeL.js → 5.CNMS0qgk.js} +1 -1
  36. package/build/client/_app/immutable/nodes/5.CNMS0qgk.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/5.CNMS0qgk.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{6.RedvZarw.js → 6.PLWojxHU.js} +1 -1
  39. package/build/client/_app/immutable/nodes/6.PLWojxHU.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/6.PLWojxHU.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{7.BqgE43w1.js → 7.Bba4nkVZ.js} +1 -1
  42. package/build/client/_app/immutable/nodes/7.Bba4nkVZ.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/7.Bba4nkVZ.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{9.CQfpYNnj.js → 9.nlW01gWY.js} +1 -1
  45. package/build/client/_app/immutable/nodes/9.nlW01gWY.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/9.nlW01gWY.js.gz +0 -0
  47. package/build/client/_app/version.json +1 -1
  48. package/build/client/_app/version.json.br +1 -1
  49. package/build/client/_app/version.json.gz +0 -0
  50. package/build/server/chunks/{0-CxqNryz-.js → 0-3ZKFLVwz.js} +3 -3
  51. package/build/server/chunks/{0-CxqNryz-.js.map → 0-3ZKFLVwz.js.map} +1 -1
  52. package/build/server/chunks/1-BscBEom6.js +9 -0
  53. package/build/server/chunks/{1-Dxk_eEPL.js.map → 1-BscBEom6.js.map} +1 -1
  54. package/build/server/chunks/{10-DcTjX0aZ.js → 10-CYYH66rb.js} +3 -3
  55. package/build/server/chunks/{10-DcTjX0aZ.js.map → 10-CYYH66rb.js.map} +1 -1
  56. package/build/server/chunks/{11-Ddav4pvQ.js → 11-DSzQavEB.js} +3 -3
  57. package/build/server/chunks/{11-Ddav4pvQ.js.map → 11-DSzQavEB.js.map} +1 -1
  58. package/build/server/chunks/{3-xtalXCwW.js → 3-t-iZh03o.js} +6 -6
  59. package/build/server/chunks/{3-xtalXCwW.js.map → 3-t-iZh03o.js.map} +1 -1
  60. package/build/server/chunks/{4-CEASlyNx.js → 4-CcOQz4eZ.js} +3 -3
  61. package/build/server/chunks/{4-CEASlyNx.js.map → 4-CcOQz4eZ.js.map} +1 -1
  62. package/build/server/chunks/{5-3gkFDIAU.js → 5-DLMaS6eR.js} +3 -3
  63. package/build/server/chunks/{5-3gkFDIAU.js.map → 5-DLMaS6eR.js.map} +1 -1
  64. package/build/server/chunks/{6-BSR29JnK.js → 6-BL469LUB.js} +3 -3
  65. package/build/server/chunks/{6-BSR29JnK.js.map → 6-BL469LUB.js.map} +1 -1
  66. package/build/server/chunks/{7-gx5m5R1u.js → 7-BLHhygXi.js} +3 -3
  67. package/build/server/chunks/{7-gx5m5R1u.js.map → 7-BLHhygXi.js.map} +1 -1
  68. package/build/server/chunks/{9-BKXk6mfI.js → 9-D4ocBCG0.js} +4 -4
  69. package/build/server/chunks/{9-BKXk6mfI.js.map → 9-D4ocBCG0.js.map} +1 -1
  70. package/build/server/chunks/{ChatNavbar-D2J3UbpW.js → ChatNavbar-Takv7dQM.js} +5 -5
  71. package/build/server/chunks/{ChatNavbar-D2J3UbpW.js.map → ChatNavbar-Takv7dQM.js.map} +1 -1
  72. package/build/server/chunks/{IconServer-jRvjNs7I.js → IconServer-C5rdlJAr.js} +2 -2
  73. package/build/server/chunks/{IconServer-jRvjNs7I.js.map → IconServer-C5rdlJAr.js.map} +1 -1
  74. package/build/server/chunks/{_page.svelte--qXsMm-T.js → _page.svelte--MC2pNDj.js} +7 -7
  75. package/build/server/chunks/{_page.svelte--qXsMm-T.js.map → _page.svelte--MC2pNDj.js.map} +1 -1
  76. package/build/server/chunks/{_page.svelte-BgzOKhmH.js → _page.svelte-BOwGlCzD.js} +3 -3
  77. package/build/server/chunks/{_page.svelte-BgzOKhmH.js.map → _page.svelte-BOwGlCzD.js.map} +1 -1
  78. package/build/server/chunks/{_page.svelte-C36XsgXY.js → _page.svelte-BT81Bwrh.js} +3 -3
  79. package/build/server/chunks/{_page.svelte-C36XsgXY.js.map → _page.svelte-BT81Bwrh.js.map} +1 -1
  80. package/build/server/chunks/{_page.svelte-DGsMxwfZ.js → _page.svelte-BdH2kpT0.js} +4 -4
  81. package/build/server/chunks/{_page.svelte-DGsMxwfZ.js.map → _page.svelte-BdH2kpT0.js.map} +1 -1
  82. package/build/server/chunks/{_page.svelte-BnZ0Fgkw.js → _page.svelte-BnV94Ogu.js} +6 -6
  83. package/build/server/chunks/{_page.svelte-BnZ0Fgkw.js.map → _page.svelte-BnV94Ogu.js.map} +1 -1
  84. package/build/server/chunks/{_page.svelte-Cc-OjlMF.js → _page.svelte-CkYUucmY.js} +7 -7
  85. package/build/server/chunks/{_page.svelte-Cc-OjlMF.js.map → _page.svelte-CkYUucmY.js.map} +1 -1
  86. package/build/server/chunks/{_page.svelte-DGQP3UIP.js → _page.svelte-f3XZxZcO.js} +3 -3
  87. package/build/server/chunks/{_page.svelte-DGQP3UIP.js.map → _page.svelte-f3XZxZcO.js.map} +1 -1
  88. package/build/server/chunks/{_server.ts-DebCCwjH.js → _server.ts-3RgOKIrg.js} +6 -6
  89. package/build/server/chunks/{_server.ts-DebCCwjH.js.map → _server.ts-3RgOKIrg.js.map} +1 -1
  90. package/build/server/chunks/{_server.ts-BK4NRqMj.js → _server.ts-5GcuvVnk.js} +7 -7
  91. package/build/server/chunks/{_server.ts-BK4NRqMj.js.map → _server.ts-5GcuvVnk.js.map} +1 -1
  92. package/build/server/chunks/{_server.ts-MZYYoM8z.js → _server.ts-A_jvsf54.js} +6 -6
  93. package/build/server/chunks/{_server.ts-MZYYoM8z.js.map → _server.ts-A_jvsf54.js.map} +1 -1
  94. package/build/server/chunks/{_server.ts-Kp3wrrbF.js → _server.ts-B01LeWfv.js} +7 -7
  95. package/build/server/chunks/{_server.ts-Kp3wrrbF.js.map → _server.ts-B01LeWfv.js.map} +1 -1
  96. package/build/server/chunks/{_server.ts-4NsYfdU1.js → _server.ts-B0oC8HQF.js} +2 -2
  97. package/build/server/chunks/{_server.ts-4NsYfdU1.js.map → _server.ts-B0oC8HQF.js.map} +1 -1
  98. package/build/server/chunks/{_server.ts-CPYtZ7sE.js → _server.ts-B12WIhKW.js} +6 -6
  99. package/build/server/chunks/{_server.ts-CPYtZ7sE.js.map → _server.ts-B12WIhKW.js.map} +1 -1
  100. package/build/server/chunks/{_server.ts-DjAGbGD-.js → _server.ts-B6IuU4lX.js} +6 -6
  101. package/build/server/chunks/{_server.ts-DjAGbGD-.js.map → _server.ts-B6IuU4lX.js.map} +1 -1
  102. package/build/server/chunks/{_server.ts-C0rcwOPL.js → _server.ts-B8RJmRP7.js} +6 -6
  103. package/build/server/chunks/{_server.ts-C0rcwOPL.js.map → _server.ts-B8RJmRP7.js.map} +1 -1
  104. package/build/server/chunks/{_server.ts-CsP1RzbQ.js → _server.ts-BAdTYKi0.js} +6 -6
  105. package/build/server/chunks/{_server.ts-CsP1RzbQ.js.map → _server.ts-BAdTYKi0.js.map} +1 -1
  106. package/build/server/chunks/{_server.ts-eov7yZvT.js → _server.ts-BG1nkyV5.js} +8 -8
  107. package/build/server/chunks/{_server.ts-eov7yZvT.js.map → _server.ts-BG1nkyV5.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-BN6ghyoO.js → _server.ts-BMkzMnF3.js} +6 -6
  109. package/build/server/chunks/{_server.ts-BN6ghyoO.js.map → _server.ts-BMkzMnF3.js.map} +1 -1
  110. package/build/server/chunks/{_server.ts-eF4CAfpP.js → _server.ts-BTQPdIRj.js} +6 -6
  111. package/build/server/chunks/{_server.ts-eF4CAfpP.js.map → _server.ts-BTQPdIRj.js.map} +1 -1
  112. package/build/server/chunks/{_server.ts-CR85H0KR.js → _server.ts-BWdKIMmK.js} +6 -6
  113. package/build/server/chunks/{_server.ts-CR85H0KR.js.map → _server.ts-BWdKIMmK.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-BbyfVT-W.js → _server.ts-B_uD0GmU.js} +6 -6
  115. package/build/server/chunks/{_server.ts-BbyfVT-W.js.map → _server.ts-B_uD0GmU.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-CS8n28qm.js → _server.ts-Bba4knHI.js} +6 -6
  117. package/build/server/chunks/{_server.ts-CS8n28qm.js.map → _server.ts-Bba4knHI.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-TTSjZaYY.js → _server.ts-BbvTyvkT.js} +6 -6
  119. package/build/server/chunks/{_server.ts-TTSjZaYY.js.map → _server.ts-BbvTyvkT.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-D_93w1gb.js → _server.ts-BbxUaG2z.js} +8 -8
  121. package/build/server/chunks/{_server.ts-D_93w1gb.js.map → _server.ts-BbxUaG2z.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-ClrrzZI6.js → _server.ts-Bd7KmU8k.js} +6 -6
  123. package/build/server/chunks/{_server.ts-ClrrzZI6.js.map → _server.ts-Bd7KmU8k.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-BuGFzejC.js → _server.ts-BfTFlPSX.js} +6 -6
  125. package/build/server/chunks/{_server.ts-BuGFzejC.js.map → _server.ts-BfTFlPSX.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-CCdP5Eqx.js → _server.ts-BjfWddPf.js} +6 -6
  127. package/build/server/chunks/{_server.ts-CCdP5Eqx.js.map → _server.ts-BjfWddPf.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-KHK30kUK.js → _server.ts-BjjNc0OV.js} +9 -9
  129. package/build/server/chunks/{_server.ts-KHK30kUK.js.map → _server.ts-BjjNc0OV.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-st_pTUHI.js → _server.ts-Bla3fiCh.js} +6 -6
  131. package/build/server/chunks/{_server.ts-st_pTUHI.js.map → _server.ts-Bla3fiCh.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-0T6OWJc0.js → _server.ts-BnCHdcon.js} +6 -6
  133. package/build/server/chunks/{_server.ts-0T6OWJc0.js.map → _server.ts-BnCHdcon.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-Cm3uzCwu.js → _server.ts-BpNKHMXM.js} +7 -7
  135. package/build/server/chunks/{_server.ts-Cm3uzCwu.js.map → _server.ts-BpNKHMXM.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-B_c9x_NC.js → _server.ts-BuByt6I7.js} +7 -7
  137. package/build/server/chunks/{_server.ts-B_c9x_NC.js.map → _server.ts-BuByt6I7.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-zDEENUSw.js → _server.ts-BvPCnwm4.js} +6 -6
  139. package/build/server/chunks/{_server.ts-zDEENUSw.js.map → _server.ts-BvPCnwm4.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-LHKCcBS1.js → _server.ts-Bx5L70N3.js} +8 -8
  141. package/build/server/chunks/{_server.ts-LHKCcBS1.js.map → _server.ts-Bx5L70N3.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-CRvbt_Ny.js → _server.ts-ByTth5Q4.js} +7 -7
  143. package/build/server/chunks/{_server.ts-CRvbt_Ny.js.map → _server.ts-ByTth5Q4.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-p16c9Uzl.js → _server.ts-C4cnIzbb.js} +6 -6
  145. package/build/server/chunks/{_server.ts-p16c9Uzl.js.map → _server.ts-C4cnIzbb.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-DNVQMHzn.js → _server.ts-C7R2xQ_O.js} +6 -6
  147. package/build/server/chunks/{_server.ts-DNVQMHzn.js.map → _server.ts-C7R2xQ_O.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-DuOVzmV5.js → _server.ts-CDC5Za0f.js} +6 -6
  149. package/build/server/chunks/{_server.ts-DuOVzmV5.js.map → _server.ts-CDC5Za0f.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-DM8N7von.js → _server.ts-CGX-Vd-3.js} +6 -6
  151. package/build/server/chunks/{_server.ts-DM8N7von.js.map → _server.ts-CGX-Vd-3.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-BRvNe0fS.js → _server.ts-CHBfflb0.js} +6 -6
  153. package/build/server/chunks/{_server.ts-BRvNe0fS.js.map → _server.ts-CHBfflb0.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-V6a8P9IB.js → _server.ts-CLyMgmaf.js} +6 -6
  155. package/build/server/chunks/{_server.ts-V6a8P9IB.js.map → _server.ts-CLyMgmaf.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-BvOQbLFG.js → _server.ts-CN26zawm.js} +6 -6
  157. package/build/server/chunks/{_server.ts-BvOQbLFG.js.map → _server.ts-CN26zawm.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-CqX61boo.js → _server.ts-COHW_bIw.js} +7 -7
  159. package/build/server/chunks/{_server.ts-CqX61boo.js.map → _server.ts-COHW_bIw.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-CiBxLSg4.js → _server.ts-CQ9bUgsb.js} +6 -6
  161. package/build/server/chunks/{_server.ts-CiBxLSg4.js.map → _server.ts-CQ9bUgsb.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-CFNNoZVF.js → _server.ts-CQGc6Rzk.js} +6 -6
  163. package/build/server/chunks/{_server.ts-CFNNoZVF.js.map → _server.ts-CQGc6Rzk.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-XEVuthfs.js → _server.ts-CR1fXUx_.js} +6 -6
  165. package/build/server/chunks/{_server.ts-XEVuthfs.js.map → _server.ts-CR1fXUx_.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-CGggA6h4.js → _server.ts-CV7PsNSs.js} +6 -6
  167. package/build/server/chunks/{_server.ts-CGggA6h4.js.map → _server.ts-CV7PsNSs.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-CWYonOeQ.js → _server.ts-CYEiMdP-.js} +6 -6
  169. package/build/server/chunks/{_server.ts-CWYonOeQ.js.map → _server.ts-CYEiMdP-.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-C6r0d7SR.js → _server.ts-CYhI4sCU.js} +6 -6
  171. package/build/server/chunks/{_server.ts-C6r0d7SR.js.map → _server.ts-CYhI4sCU.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-Bm2nv-W4.js → _server.ts-CZluUZ23.js} +6 -6
  173. package/build/server/chunks/{_server.ts-Bm2nv-W4.js.map → _server.ts-CZluUZ23.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-C6GZY_v3.js → _server.ts-Cg9mKyvd.js} +6 -6
  175. package/build/server/chunks/{_server.ts-C6GZY_v3.js.map → _server.ts-Cg9mKyvd.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-BEhHNijd.js → _server.ts-Cifj-9A3.js} +6 -6
  177. package/build/server/chunks/{_server.ts-BEhHNijd.js.map → _server.ts-Cifj-9A3.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-C31rtz7B.js → _server.ts-CkJ2MAlY.js} +6 -6
  179. package/build/server/chunks/{_server.ts-C31rtz7B.js.map → _server.ts-CkJ2MAlY.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-BrwSj7L5.js → _server.ts-ClGBdG69.js} +6 -6
  181. package/build/server/chunks/{_server.ts-BrwSj7L5.js.map → _server.ts-ClGBdG69.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-D5Xa36tp.js → _server.ts-ClPgPihF.js} +6 -6
  183. package/build/server/chunks/{_server.ts-D5Xa36tp.js.map → _server.ts-ClPgPihF.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-DPfGAMG4.js → _server.ts-CnmdgRQ5.js} +6 -6
  185. package/build/server/chunks/{_server.ts-DPfGAMG4.js.map → _server.ts-CnmdgRQ5.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-D8iJaYan.js → _server.ts-CoA6nB9c.js} +4 -4
  187. package/build/server/chunks/{_server.ts-D8iJaYan.js.map → _server.ts-CoA6nB9c.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-CGE7AyDg.js → _server.ts-CqLbFV6m.js} +6 -6
  189. package/build/server/chunks/{_server.ts-CGE7AyDg.js.map → _server.ts-CqLbFV6m.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-Cfm_KDhO.js → _server.ts-CvL5DtEE.js} +6 -6
  191. package/build/server/chunks/{_server.ts-Cfm_KDhO.js.map → _server.ts-CvL5DtEE.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-QSEYZqU0.js → _server.ts-D6UMAxY5.js} +6 -6
  193. package/build/server/chunks/{_server.ts-QSEYZqU0.js.map → _server.ts-D6UMAxY5.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-DHjMyNwJ.js → _server.ts-D7hUSvgG.js} +7 -7
  195. package/build/server/chunks/{_server.ts-DHjMyNwJ.js.map → _server.ts-D7hUSvgG.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-qgPpNGL8.js → _server.ts-DC1tK0yE.js} +6 -6
  197. package/build/server/chunks/{_server.ts-qgPpNGL8.js.map → _server.ts-DC1tK0yE.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-Bvb6lo7O.js → _server.ts-DIB4OM3y.js} +8 -8
  199. package/build/server/chunks/{_server.ts-Bvb6lo7O.js.map → _server.ts-DIB4OM3y.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-DrxBKPKB.js → _server.ts-DKtsPlqI.js} +2 -2
  201. package/build/server/chunks/{_server.ts-DrxBKPKB.js.map → _server.ts-DKtsPlqI.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-Co4yATq8.js → _server.ts-DMxAUnDp.js} +2 -2
  203. package/build/server/chunks/{_server.ts-Co4yATq8.js.map → _server.ts-DMxAUnDp.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-D0EyuOqv.js → _server.ts-DNzhPgX5.js} +6 -6
  205. package/build/server/chunks/{_server.ts-D0EyuOqv.js.map → _server.ts-DNzhPgX5.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-BJqxSP1B.js → _server.ts-DPtqK0c2.js} +2 -2
  207. package/build/server/chunks/{_server.ts-BJqxSP1B.js.map → _server.ts-DPtqK0c2.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-C900vqOm.js → _server.ts-DZ3Yyeac.js} +6 -6
  209. package/build/server/chunks/{_server.ts-C900vqOm.js.map → _server.ts-DZ3Yyeac.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-BNoq5yoF.js → _server.ts-D_NDxdhC.js} +6 -6
  211. package/build/server/chunks/{_server.ts-BNoq5yoF.js.map → _server.ts-D_NDxdhC.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-B64JQevs.js → _server.ts-DcWSFqr3.js} +7 -7
  213. package/build/server/chunks/{_server.ts-B64JQevs.js.map → _server.ts-DcWSFqr3.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-DD4ouya8.js → _server.ts-DdL9GP2B.js} +6 -6
  215. package/build/server/chunks/{_server.ts-DD4ouya8.js.map → _server.ts-DdL9GP2B.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-CDJ7WouZ.js → _server.ts-Ddf5c75T.js} +6 -6
  217. package/build/server/chunks/{_server.ts-CDJ7WouZ.js.map → _server.ts-Ddf5c75T.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-yWyCj-R5.js → _server.ts-DfMcCjcV.js} +6 -6
  219. package/build/server/chunks/{_server.ts-yWyCj-R5.js.map → _server.ts-DfMcCjcV.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-jB_3zRrF.js → _server.ts-Dg2Gkcbx.js} +7 -7
  221. package/build/server/chunks/{_server.ts-jB_3zRrF.js.map → _server.ts-Dg2Gkcbx.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-BWcxJLLV.js → _server.ts-DojcmGfa.js} +6 -6
  223. package/build/server/chunks/{_server.ts-BWcxJLLV.js.map → _server.ts-DojcmGfa.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-p4v6noBK.js → _server.ts-DrWTucF0.js} +4 -4
  225. package/build/server/chunks/{_server.ts-p4v6noBK.js.map → _server.ts-DrWTucF0.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-DmNziNap.js → _server.ts-DrdVm_2l.js} +6 -6
  227. package/build/server/chunks/{_server.ts-DmNziNap.js.map → _server.ts-DrdVm_2l.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-CZ83fA4I.js → _server.ts-Drhyf5o4.js} +6 -6
  229. package/build/server/chunks/{_server.ts-CZ83fA4I.js.map → _server.ts-Drhyf5o4.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-Sx6mXrwK.js → _server.ts-DsfNtE_I.js} +6 -6
  231. package/build/server/chunks/{_server.ts-Sx6mXrwK.js.map → _server.ts-DsfNtE_I.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-D2-CHx_d.js → _server.ts-DswOp5MZ.js} +7 -7
  233. package/build/server/chunks/{_server.ts-D2-CHx_d.js.map → _server.ts-DswOp5MZ.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-DObIzyoT.js → _server.ts-Dv1LAL-L.js} +3 -3
  235. package/build/server/chunks/{_server.ts-DObIzyoT.js.map → _server.ts-Dv1LAL-L.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-Ey4BEvRd.js → _server.ts-HoP6PRwU.js} +6 -6
  237. package/build/server/chunks/{_server.ts-Ey4BEvRd.js.map → _server.ts-HoP6PRwU.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-C2qIUpva.js → _server.ts-KVrYcUOG.js} +7 -7
  239. package/build/server/chunks/{_server.ts-C2qIUpva.js.map → _server.ts-KVrYcUOG.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-CtcAZ3lM.js → _server.ts-McJwsQRP.js} +7 -7
  241. package/build/server/chunks/{_server.ts-CtcAZ3lM.js.map → _server.ts-McJwsQRP.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-sdkTYy6A.js → _server.ts-WfJI8r0e.js} +6 -6
  243. package/build/server/chunks/{_server.ts-sdkTYy6A.js.map → _server.ts-WfJI8r0e.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-CMO7LL0e.js → _server.ts-Z6bcCFE1.js} +2 -2
  245. package/build/server/chunks/{_server.ts-CMO7LL0e.js.map → _server.ts-Z6bcCFE1.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-B-9mLZog.js → _server.ts-c6ytwkWX.js} +6 -6
  247. package/build/server/chunks/{_server.ts-B-9mLZog.js.map → _server.ts-c6ytwkWX.js.map} +1 -1
  248. package/build/server/chunks/{_server.ts-B3MvWwzq.js → _server.ts-eYI_yBAq.js} +7 -7
  249. package/build/server/chunks/{_server.ts-B3MvWwzq.js.map → _server.ts-eYI_yBAq.js.map} +1 -1
  250. package/build/server/chunks/{_server.ts-CIReEz3d.js → _server.ts-oDtZo8YM.js} +6 -6
  251. package/build/server/chunks/{_server.ts-CIReEz3d.js.map → _server.ts-oDtZo8YM.js.map} +1 -1
  252. package/build/server/chunks/{_server.ts-D3skirMd.js → _server.ts-qkGGHj13.js} +7 -7
  253. package/build/server/chunks/{_server.ts-D3skirMd.js.map → _server.ts-qkGGHj13.js.map} +1 -1
  254. package/build/server/chunks/{_server.ts-SxcH-cms.js → _server.ts-rBPifh0g.js} +7 -7
  255. package/build/server/chunks/{_server.ts-SxcH-cms.js.map → _server.ts-rBPifh0g.js.map} +1 -1
  256. package/build/server/chunks/{_server.ts-D-Vv5Qkp.js → _server.ts-sD2USOMT.js} +6 -6
  257. package/build/server/chunks/{_server.ts-D-Vv5Qkp.js.map → _server.ts-sD2USOMT.js.map} +1 -1
  258. package/build/server/chunks/{_server.ts-Bl1EtTKF.js → _server.ts-z7K-ZCVq.js} +6 -6
  259. package/build/server/chunks/{_server.ts-Bl1EtTKF.js.map → _server.ts-z7K-ZCVq.js.map} +1 -1
  260. package/build/server/chunks/{addon-helpers-TpOYibOg.js → addon-helpers-CkCisYhs.js} +3 -3
  261. package/build/server/chunks/{addon-helpers-TpOYibOg.js.map → addon-helpers-CkCisYhs.js.map} +1 -1
  262. package/build/server/chunks/{akm-Bvt9WaTk.js → akm-Dv9-jfkS.js} +2 -2
  263. package/build/server/chunks/{akm-Bvt9WaTk.js.map → akm-Dv9-jfkS.js.map} +1 -1
  264. package/build/server/chunks/{catalog-w0L1ZRPK.js → catalog-CilTg0Ck.js} +5 -5
  265. package/build/server/chunks/{catalog-w0L1ZRPK.js.map → catalog-CilTg0Ck.js.map} +1 -1
  266. package/build/server/chunks/{client-ClRLlB_c.js → client-wd3mkq4X.js} +2 -2
  267. package/build/server/chunks/{client-ClRLlB_c.js.map → client-wd3mkq4X.js.map} +1 -1
  268. package/build/server/chunks/{compose-args2-DiDeQtPu.js → compose-args2-Ccr5RMHS.js} +2 -2
  269. package/build/server/chunks/compose-args2-Ccr5RMHS.js.map +1 -0
  270. package/build/server/chunks/{config-Jiy06DlE.js → config-C_XJx8-D.js} +2 -2
  271. package/build/server/chunks/{config-Jiy06DlE.js.map → config-C_XJx8-D.js.map} +1 -1
  272. package/build/server/chunks/{connections-api-J-nrQ1KK.js → connections-api-mP7OE2x7.js} +2 -2
  273. package/build/server/chunks/{connections-api-J-nrQ1KK.js.map → connections-api-mP7OE2x7.js.map} +1 -1
  274. package/build/server/chunks/{docker2-oBEn_Si9.js → docker2-BL8hjShD.js} +2 -2
  275. package/build/server/chunks/docker2-BL8hjShD.js.map +1 -0
  276. package/build/server/chunks/{docker3-Dn-Mm2cT.js → docker3-TVLvF3ly.js} +2 -2
  277. package/build/server/chunks/{docker3-Dn-Mm2cT.js.map → docker3-TVLvF3ly.js.map} +1 -1
  278. package/build/server/chunks/{endpoints-WTxemTcn.js → endpoints-CnnGlw2U.js} +3 -3
  279. package/build/server/chunks/{endpoints-WTxemTcn.js.map → endpoints-CnnGlw2U.js.map} +1 -1
  280. package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
  281. package/build/server/chunks/{error.svelte-C2CWdm9K.js → error.svelte-BI8mJm7r.js} +4 -4
  282. package/build/server/chunks/{error.svelte-C2CWdm9K.js.map → error.svelte-BI8mJm7r.js.map} +1 -1
  283. package/build/server/chunks/{features-BE2x1a_a.js → features-BUWlozR5.js} +3 -3
  284. package/build/server/chunks/{features-BE2x1a_a.js.map → features-BUWlozR5.js.map} +1 -1
  285. package/build/server/chunks/{helpers-CfpNg3il.js → helpers-9U7R7yqL.js} +4 -4
  286. package/build/server/chunks/{helpers-CfpNg3il.js.map → helpers-9U7R7yqL.js.map} +1 -1
  287. package/build/server/chunks/{hooks.server-DEVjSu3V.js → hooks.server-Bog01Hsc.js} +9 -9
  288. package/build/server/chunks/{hooks.server-DEVjSu3V.js.map → hooks.server-Bog01Hsc.js.map} +1 -1
  289. package/build/server/chunks/{http-WP5cji9-.js → http-D2Aul-FP.js} +2 -2
  290. package/build/server/chunks/{http-WP5cji9-.js.map → http-D2Aul-FP.js.map} +1 -1
  291. package/build/server/chunks/{internal-D9Kp0SbJ.js → internal-DbH28JEx.js} +3 -3
  292. package/build/server/chunks/{internal-D9Kp0SbJ.js.map → internal-DbH28JEx.js.map} +1 -1
  293. package/build/server/chunks/{landing-DKXNel0Q.js → landing-CMnmbyhs.js} +5 -5
  294. package/build/server/chunks/{landing-DKXNel0Q.js.map → landing-CMnmbyhs.js.map} +1 -1
  295. package/build/server/chunks/{paths-DRVrMQrI.js → paths-CADLTBzK.js} +2 -2
  296. package/build/server/chunks/{paths-DRVrMQrI.js.map → paths-CADLTBzK.js.map} +1 -1
  297. package/build/server/chunks/{session-cookie-CDynAOx3.js → session-cookie-9GKSbczI.js} +2 -2
  298. package/build/server/chunks/{session-cookie-CDynAOx3.js.map → session-cookie-9GKSbczI.js.map} +1 -1
  299. package/build/server/chunks/{setup-deploy-CRW2KpZR.js → setup-deploy-32URXYdb.js} +2 -2
  300. package/build/server/chunks/{setup-deploy-CRW2KpZR.js.map → setup-deploy-32URXYdb.js.map} +1 -1
  301. package/build/server/chunks/{src-CQ2F7hgb.js → src-AHSKeKr0.js} +4 -4
  302. package/build/server/chunks/{src-CQ2F7hgb.js.map → src-AHSKeKr0.js.map} +1 -1
  303. package/build/server/chunks/{state-CsIDHNPN.js → state-CzXOEt0t.js} +2 -2
  304. package/build/server/chunks/{state-CsIDHNPN.js.map → state-CzXOEt0t.js.map} +1 -1
  305. package/build/server/chunks/{state2-jnbE3tAu.js → state2-Dk2nfhFB.js} +2 -2
  306. package/build/server/chunks/{state2-jnbE3tAu.js.map → state2-Dk2nfhFB.js.map} +1 -1
  307. package/build/server/index.js +1 -1
  308. package/build/server/manifest.js +97 -97
  309. package/build/server/manifest.js.map +1 -1
  310. package/package.json +3 -3
  311. package/build/client/_app/immutable/chunks/BKLMDjUE.js.br +0 -0
  312. package/build/client/_app/immutable/chunks/BKLMDjUE.js.gz +0 -0
  313. package/build/client/_app/immutable/chunks/BNJvGRjX.js +0 -3
  314. package/build/client/_app/immutable/chunks/BNJvGRjX.js.br +0 -0
  315. package/build/client/_app/immutable/chunks/BNJvGRjX.js.gz +0 -0
  316. package/build/client/_app/immutable/chunks/C5iiO0W9.js.br +0 -0
  317. package/build/client/_app/immutable/chunks/C5iiO0W9.js.gz +0 -0
  318. package/build/client/_app/immutable/chunks/CBV2kBE1.js.br +0 -0
  319. package/build/client/_app/immutable/chunks/CBV2kBE1.js.gz +0 -0
  320. package/build/client/_app/immutable/chunks/ccncQf9O.js +0 -1
  321. package/build/client/_app/immutable/chunks/ccncQf9O.js.br +0 -2
  322. package/build/client/_app/immutable/chunks/ccncQf9O.js.gz +0 -0
  323. package/build/client/_app/immutable/entry/app.DAzfwrA7.js.br +0 -0
  324. package/build/client/_app/immutable/entry/app.DAzfwrA7.js.gz +0 -0
  325. package/build/client/_app/immutable/entry/start.7FiodlpO.js +0 -1
  326. package/build/client/_app/immutable/entry/start.7FiodlpO.js.br +0 -1
  327. package/build/client/_app/immutable/entry/start.7FiodlpO.js.gz +0 -0
  328. package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.br +0 -2
  329. package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.gz +0 -0
  330. package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.br +0 -0
  331. package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.gz +0 -0
  332. package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.br +0 -0
  333. package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.gz +0 -0
  334. package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.br +0 -0
  335. package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.gz +0 -0
  336. package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.br +0 -0
  337. package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.gz +0 -0
  338. package/build/client/_app/immutable/nodes/6.RedvZarw.js.br +0 -0
  339. package/build/client/_app/immutable/nodes/6.RedvZarw.js.gz +0 -0
  340. package/build/client/_app/immutable/nodes/7.BqgE43w1.js.br +0 -0
  341. package/build/client/_app/immutable/nodes/7.BqgE43w1.js.gz +0 -0
  342. package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.br +0 -0
  343. package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.gz +0 -0
  344. package/build/server/chunks/1-Dxk_eEPL.js +0 -9
  345. package/build/server/chunks/compose-args2-DiDeQtPu.js.map +0 -1
  346. package/build/server/chunks/docker2-oBEn_Si9.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-eF4CAfpP.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/akm/reindex/_server.ts.js"],"sourcesContent":["import { o as runAssistantAkmCommand } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/akm/reindex/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\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,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,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-BTQPdIRj.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/akm/reindex/_server.ts.js"],"sourcesContent":["import { o as runAssistantAkmCommand } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/akm/reindex/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\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,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,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,6 +1,6 @@
1
- import { aO as removeSecretFile, aB as readSecretFile, b9 as writeSecretFile, h as assertSafeSecretFilename } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CfpNg3il.js';
1
+ import { aO as removeSecretFile, aB as readSecretFile, b9 as writeSecretFile, h as assertSafeSecretFilename } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-9U7R7yqL.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
24
+ import './endpoints-CnnGlw2U.js';
25
+ import './features-BUWlozR5.js';
26
26
 
27
27
  //#region src/routes/api/host/secrets/[name]/+server.ts
28
28
  function guardName(name, requestId) {
@@ -85,4 +85,4 @@ var DELETE = async (event) => {
85
85
  };
86
86
 
87
87
  export { DELETE, GET, PUT };
88
- //# sourceMappingURL=_server.ts-CR85H0KR.js.map
88
+ //# sourceMappingURL=_server.ts-BWdKIMmK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CR85H0KR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/secrets/_name_/_server.ts.js"],"sourcesContent":["import { ct as writeSecretFile, ot as readSecretFile, rt as assertSafeSecretFilename, st as removeSecretFile } from \"../../../../../../chunks/compose-args.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/secrets/[name]/+server.ts\nfunction guardName(name, requestId) {\n\ttry {\n\t\tassertSafeSecretFilename(name);\n\t\treturn null;\n\t} catch (err) {\n\t\treturn errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guardName(name, requestId);\n\tif (bad) return bad;\n\tconst value = readSecretFile(getState().homeDir, name);\n\tif (value === null) return errorResponse(404, \"not_found\", `Secret file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tvalue\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guardName(name, requestId);\n\tif (bad) return bad;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst value = result.data.value;\n\tif (typeof value !== \"string\") return errorResponse(400, \"bad_request\", \"value must be a string\", {}, requestId);\n\twriteSecretFile(getState().homeDir, name, value);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guardName(name, requestId);\n\tif (bad) return bad;\n\tremoveSecretFile(getState().homeDir, name);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-BWdKIMmK.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/secrets/_name_/_server.ts.js"],"sourcesContent":["import { ct as writeSecretFile, ot as readSecretFile, rt as assertSafeSecretFilename, st as removeSecretFile } from \"../../../../../../chunks/compose-args.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/secrets/[name]/+server.ts\nfunction guardName(name, requestId) {\n\ttry {\n\t\tassertSafeSecretFilename(name);\n\t\treturn null;\n\t} catch (err) {\n\t\treturn errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guardName(name, requestId);\n\tif (bad) return bad;\n\tconst value = readSecretFile(getState().homeDir, name);\n\tif (value === null) return errorResponse(404, \"not_found\", `Secret file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tvalue\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guardName(name, requestId);\n\tif (bad) return bad;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst value = result.data.value;\n\tif (typeof value !== \"string\") return errorResponse(400, \"bad_request\", \"value must be a string\", {}, requestId);\n\twriteSecretFile(getState().homeDir, name, value);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guardName(name, requestId);\n\tif (bad) return bad;\n\tremoveSecretFile(getState().homeDir, name);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ae as isAllowedService, p as checkDocker, v as composeLogs, n as buildComposeOptions } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CfpNg3il.js';
1
+ import { ae as isAllowedService, p as checkDocker, v as composeLogs, n as buildComposeOptions } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-9U7R7yqL.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
24
+ import './endpoints-CnnGlw2U.js';
25
+ import './features-BUWlozR5.js';
26
26
 
27
27
  //#region src/routes/api/host/logs/+server.ts
28
28
  var GET = async (event) => {
@@ -62,4 +62,4 @@ var GET = async (event) => {
62
62
  };
63
63
 
64
64
  export { GET };
65
- //# sourceMappingURL=_server.ts-BbyfVT-W.js.map
65
+ //# sourceMappingURL=_server.ts-B_uD0GmU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BbyfVT-W.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/logs/_server.ts.js"],"sourcesContent":["import { t as buildComposeOptions } from \"../../../../../chunks/compose-args.js\";\nimport { f as composeLogs, i as checkDocker } from \"../../../../../chunks/docker.js\";\nimport { k as isAllowedService } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/logs/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:logs\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst url = new URL(event.request.url);\n\tconst serviceParam = url.searchParams.get(\"service\");\n\tconst tailParam = url.searchParams.get(\"tail\");\n\tconst sinceParam = url.searchParams.get(\"since\");\n\tconst tail = tailParam ? Number(tailParam) : 100;\n\tif (tailParam && (!Number.isInteger(tail) || tail < 1 || tail > 1e4)) return errorResponse(400, \"invalid_parameter\", \"tail must be an integer between 1 and 10000\", {}, requestId);\n\tlet services;\n\tif (serviceParam) {\n\t\tservices = serviceParam.split(\",\").map((s) => s.trim()).filter(Boolean);\n\t\tconst invalid = services.filter((s) => !isAllowedService(s, state.configDir));\n\t\tif (invalid.length > 0) return errorResponse(400, \"invalid_service\", `Invalid service name(s): ${invalid.join(\", \")}`, { invalid }, requestId);\n\t}\n\tif (sinceParam && !/^[a-zA-Z0-9.:+\\-T]+$/.test(sinceParam)) return errorResponse(400, \"invalid_parameter\", \"since contains invalid characters\", {}, requestId);\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeLogs(services, tail, {\n\t\t...buildComposeOptions(state),\n\t\tsince: sinceParam ?? void 0\n\t});\n\tif (!result.ok) return jsonResponse(500, {\n\t\tok: false,\n\t\tlogs: \"\",\n\t\terror: result.stderr\n\t}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tlogs: (result.stdout + result.stderr).trim()\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-B_uD0GmU.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/logs/_server.ts.js"],"sourcesContent":["import { t as buildComposeOptions } from \"../../../../../chunks/compose-args.js\";\nimport { f as composeLogs, i as checkDocker } from \"../../../../../chunks/docker.js\";\nimport { k as isAllowedService } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/logs/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:logs\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst url = new URL(event.request.url);\n\tconst serviceParam = url.searchParams.get(\"service\");\n\tconst tailParam = url.searchParams.get(\"tail\");\n\tconst sinceParam = url.searchParams.get(\"since\");\n\tconst tail = tailParam ? Number(tailParam) : 100;\n\tif (tailParam && (!Number.isInteger(tail) || tail < 1 || tail > 1e4)) return errorResponse(400, \"invalid_parameter\", \"tail must be an integer between 1 and 10000\", {}, requestId);\n\tlet services;\n\tif (serviceParam) {\n\t\tservices = serviceParam.split(\",\").map((s) => s.trim()).filter(Boolean);\n\t\tconst invalid = services.filter((s) => !isAllowedService(s, state.configDir));\n\t\tif (invalid.length > 0) return errorResponse(400, \"invalid_service\", `Invalid service name(s): ${invalid.join(\", \")}`, { invalid }, requestId);\n\t}\n\tif (sinceParam && !/^[a-zA-Z0-9.:+\\-T]+$/.test(sinceParam)) return errorResponse(400, \"invalid_parameter\", \"since contains invalid characters\", {}, requestId);\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeLogs(services, tail, {\n\t\t...buildComposeOptions(state),\n\t\tsince: sinceParam ?? void 0\n\t});\n\tif (!result.ok) return jsonResponse(500, {\n\t\tok: false,\n\t\tlogs: \"\",\n\t\terror: result.stderr\n\t}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tlogs: (result.stdout + result.stderr).trim()\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { aD as readStackEnv } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CfpNg3il.js';
1
+ import { aD as readStackEnv } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-9U7R7yqL.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
24
+ import './endpoints-CnnGlw2U.js';
25
+ import './features-BUWlozR5.js';
26
26
 
27
27
  //#region src/routes/api/transcribe/+server.ts
28
28
  var DEFAULT_MODEL = "whisper-1";
@@ -89,4 +89,4 @@ var POST = async (event) => {
89
89
  };
90
90
 
91
91
  export { POST };
92
- //# sourceMappingURL=_server.ts-CS8n28qm.js.map
92
+ //# sourceMappingURL=_server.ts-Bba4knHI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CS8n28qm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { X as readStackEnv } from \"../../../../chunks/compose-args.js\";\nimport \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, r as errorResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\n//#region src/routes/api/transcribe/+server.ts\nvar DEFAULT_MODEL = \"whisper-1\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(hf_[A-Za-z0-9_-]{4,})/gi, \"hf_***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().homeDir);\n\tconst sttBaseURL = (stackEnv.OP_STT_BASE_URL || process.env.OP_STT_BASE_URL || \"\").trim();\n\tconst sttModel = (stackEnv.OP_STT_MODEL || process.env.OP_STT_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst sttLanguageEnv = (stackEnv.OP_STT_LANGUAGE || process.env.OP_STT_LANGUAGE || \"\").trim();\n\tconst sttApiKey = (process.env.OP_STT_API_KEY ?? \"\").trim();\n\tif (!sttBaseURL) return errorResponse(503, \"stt_not_configured\", \"Configure an STT engine in Admin → Voice settings.\", {}, requestId);\n\tlet inboundForm;\n\ttry {\n\t\tinboundForm = await event.request.formData();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Body must be multipart/form-data\", {}, requestId);\n\t}\n\tconst audio = inboundForm.get(\"audio\");\n\tif (!(audio instanceof Blob)) return errorResponse(400, \"bad_request\", \"Missing \\\"audio\\\" field (Blob)\", {}, requestId);\n\tconst languageReq = inboundForm.get(\"language\");\n\tconst promptReq = inboundForm.get(\"prompt\");\n\tconst language = typeof languageReq === \"string\" && languageReq.trim() ? languageReq.trim() : sttLanguageEnv;\n\tconst outForm = new FormData();\n\tconst filename = audio.name || \"recording.webm\";\n\toutForm.append(\"file\", audio, filename);\n\toutForm.append(\"model\", sttModel);\n\toutForm.append(\"response_format\", \"json\");\n\tif (language) outForm.append(\"language\", language);\n\tif (typeof promptReq === \"string\" && promptReq.trim()) outForm.append(\"prompt\", promptReq.trim());\n\tconst upstreamUrl = `${sttBaseURL.replace(/\\/+$/, \"\")}/v1/audio/transcriptions`;\n\tconst headers = {};\n\tif (sttApiKey) headers.authorization = `Bearer ${sttApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: outForm,\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach STT endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst snippet = redactKey(await upstream.text().catch(() => \"\")).slice(0, 500);\n\t\treturn errorResponse(502, \"upstream_error\", `STT endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: snippet\n\t\t}, requestId);\n\t}\n\tlet payload;\n\ttry {\n\t\tpayload = await upstream.json();\n\t} catch {\n\t\treturn errorResponse(502, \"upstream_error\", \"STT endpoint returned a non-JSON response\", { upstreamStatus: upstream.status }, requestId);\n\t}\n\treturn jsonResponse(200, { text: typeof payload?.text === \"string\" ? payload.text : \"\" }, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Bba4knHI.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { X as readStackEnv } from \"../../../../chunks/compose-args.js\";\nimport \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, r as errorResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\n//#region src/routes/api/transcribe/+server.ts\nvar DEFAULT_MODEL = \"whisper-1\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(hf_[A-Za-z0-9_-]{4,})/gi, \"hf_***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().homeDir);\n\tconst sttBaseURL = (stackEnv.OP_STT_BASE_URL || process.env.OP_STT_BASE_URL || \"\").trim();\n\tconst sttModel = (stackEnv.OP_STT_MODEL || process.env.OP_STT_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst sttLanguageEnv = (stackEnv.OP_STT_LANGUAGE || process.env.OP_STT_LANGUAGE || \"\").trim();\n\tconst sttApiKey = (process.env.OP_STT_API_KEY ?? \"\").trim();\n\tif (!sttBaseURL) return errorResponse(503, \"stt_not_configured\", \"Configure an STT engine in Admin → Voice settings.\", {}, requestId);\n\tlet inboundForm;\n\ttry {\n\t\tinboundForm = await event.request.formData();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Body must be multipart/form-data\", {}, requestId);\n\t}\n\tconst audio = inboundForm.get(\"audio\");\n\tif (!(audio instanceof Blob)) return errorResponse(400, \"bad_request\", \"Missing \\\"audio\\\" field (Blob)\", {}, requestId);\n\tconst languageReq = inboundForm.get(\"language\");\n\tconst promptReq = inboundForm.get(\"prompt\");\n\tconst language = typeof languageReq === \"string\" && languageReq.trim() ? languageReq.trim() : sttLanguageEnv;\n\tconst outForm = new FormData();\n\tconst filename = audio.name || \"recording.webm\";\n\toutForm.append(\"file\", audio, filename);\n\toutForm.append(\"model\", sttModel);\n\toutForm.append(\"response_format\", \"json\");\n\tif (language) outForm.append(\"language\", language);\n\tif (typeof promptReq === \"string\" && promptReq.trim()) outForm.append(\"prompt\", promptReq.trim());\n\tconst upstreamUrl = `${sttBaseURL.replace(/\\/+$/, \"\")}/v1/audio/transcriptions`;\n\tconst headers = {};\n\tif (sttApiKey) headers.authorization = `Bearer ${sttApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: outForm,\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach STT endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst snippet = redactKey(await upstream.text().catch(() => \"\")).slice(0, 500);\n\t\treturn errorResponse(502, \"upstream_error\", `STT endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: snippet\n\t\t}, requestId);\n\t}\n\tlet payload;\n\ttry {\n\t\tpayload = await upstream.json();\n\t} catch {\n\t\treturn errorResponse(502, \"upstream_error\", \"STT endpoint returned a non-JSON response\", { upstreamStatus: upstream.status }, requestId);\n\t}\n\treturn jsonResponse(200, { text: typeof payload?.text === \"string\" ? payload.text : \"\" }, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ae as isAllowedService, p as checkDocker, aK as reconcileHostOwnership, H as HostSwapBlockedError, z as composeStart, n as buildComposeOptions, F as createLogger } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-CfpNg3il.js';
1
+ import { ae as isAllowedService, p as checkDocker, aK as reconcileHostOwnership, H as HostSwapBlockedError, z as composeStart, n as buildComposeOptions, F as createLogger } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-9U7R7yqL.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
24
+ import './endpoints-CnnGlw2U.js';
25
+ import './features-BUWlozR5.js';
26
26
 
27
27
  //#region src/routes/api/host/containers/up/+server.ts
28
28
  var logger = createLogger("containers-up");
@@ -66,4 +66,4 @@ var POST = async (event) => {
66
66
  };
67
67
 
68
68
  export { POST };
69
- //# sourceMappingURL=_server.ts-TTSjZaYY.js.map
69
+ //# sourceMappingURL=_server.ts-BbvTyvkT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-TTSjZaYY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/containers/up/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, _ as HostSwapBlockedError, t as buildComposeOptions, v as reconcileHostOwnership } from \"../../../../../../chunks/compose-args.js\";\nimport { g as composeStart, i as checkDocker } from \"../../../../../../chunks/docker.js\";\nimport { k as isAllowedService } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\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\ttry {\n\t\t\tawait reconcileHostOwnership(state, { services: [service] });\n\t\t} catch (err) {\n\t\t\tif (err instanceof HostSwapBlockedError) return errorResponse(409, \"host_swap_blocked\", \"OP_HOME appears to have moved from another host. Ownership must be adopted for this host before starting. Run `openpalm start --adopt-host` from the host CLI, then retry.\", {\n\t\t\t\tservice,\n\t\t\t\tpreviousHost: err.previousIdentity?.host ?? null,\n\t\t\t\tcurrentHost: err.currentIdentity.host\n\t\t\t}, requestId);\n\t\t\tthrow err;\n\t\t}\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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;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,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,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,IAAI;AACN,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAC/D,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,IAAI,GAAG,YAAY,oBAAoB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,4KAA4K,EAAE;AACzQ,IAAI,OAAO;AACX,IAAI,YAAY,EAAE,GAAG,CAAC,gBAAgB,EAAE,IAAI,IAAI,IAAI;AACpD,IAAI,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC;AACrC,IAAI,EAAE,SAAS,CAAC;AAChB,GAAG,MAAM,GAAG;AACZ,EAAE;AACF,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-BbvTyvkT.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/containers/up/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, _ as HostSwapBlockedError, t as buildComposeOptions, v as reconcileHostOwnership } from \"../../../../../../chunks/compose-args.js\";\nimport { g as composeStart, i as checkDocker } from \"../../../../../../chunks/docker.js\";\nimport { k as isAllowedService } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\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\ttry {\n\t\t\tawait reconcileHostOwnership(state, { services: [service] });\n\t\t} catch (err) {\n\t\t\tif (err instanceof HostSwapBlockedError) return errorResponse(409, \"host_swap_blocked\", \"OP_HOME appears to have moved from another host. Ownership must be adopted for this host before starting. Run `openpalm start --adopt-host` from the host CLI, then retry.\", {\n\t\t\t\tservice,\n\t\t\t\tpreviousHost: err.previousIdentity?.host ?? null,\n\t\t\t\tcurrentHost: err.currentIdentity.host\n\t\t\t}, requestId);\n\t\t\tthrow err;\n\t\t}\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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;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,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,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,IAAI;AACN,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAC/D,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,IAAI,GAAG,YAAY,oBAAoB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,4KAA4K,EAAE;AACzQ,IAAI,OAAO;AACX,IAAI,YAAY,EAAE,GAAG,CAAC,gBAAgB,EAAE,IAAI,IAAI,IAAI;AACpD,IAAI,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC;AACrC,IAAI,EAAE,SAAS,CAAC;AAChB,GAAG,MAAM,GAAG;AACZ,EAAE;AACF,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,9 +1,9 @@
1
- import { ac as importHostOpenCode, Q as detectHostOpenCode, j as authJsonPath, p as checkDocker, n as buildComposeOptions } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-CfpNg3il.js';
4
- import { o as opencodeFetch } from './http-WP5cji9-.js';
1
+ import { ac as importHostOpenCode, Q as detectHostOpenCode, j as authJsonPath, p as checkDocker, n as buildComposeOptions } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, p as parseJsonBody, e as errorResponse, k as jsonResponse } from './helpers-9U7R7yqL.js';
4
+ import { o as opencodeFetch } from './http-D2Aul-FP.js';
5
5
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
6
- import { c as composeRestart } from './docker3-Dn-Mm2cT.js';
6
+ import { c as composeRestart } from './docker3-TVLvF3ly.js';
7
7
  import { existsSync, readFileSync } from 'node:fs';
8
8
  import './chunk-DOvWTNp_.js';
9
9
  import 'node:module';
@@ -24,8 +24,8 @@ import 'assert';
24
24
  import 'zlib';
25
25
  import 'node:assert';
26
26
  import 'node:fs/promises';
27
- import './endpoints-WTxemTcn.js';
28
- import './features-BE2x1a_a.js';
27
+ import './endpoints-CnnGlw2U.js';
28
+ import './features-BUWlozR5.js';
29
29
 
30
30
  //#region src/routes/api/host/providers/import-host/+server.ts
31
31
  /**
@@ -159,4 +159,4 @@ var POST = async (event) => {
159
159
  };
160
160
 
161
161
  export { POST };
162
- //# sourceMappingURL=_server.ts-D_93w1gb.js.map
162
+ //# sourceMappingURL=_server.ts-BbxUaG2z.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D_93w1gb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/import-host/_server.ts.js"],"sourcesContent":["import { dt as authJsonPath, t as buildComposeOptions } from \"../../../../../../chunks/compose-args.js\";\nimport { i as checkDocker } from \"../../../../../../chunks/docker.js\";\nimport { c as importHostOpenCode, s as detectHostOpenCode } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, l as parseJsonBody, r as errorResponse, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { t as withSerialQueue } from \"../../../../../../chunks/serial-queue.js\";\nimport { t as composeRestart } from \"../../../../../../chunks/docker3.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/host/providers/import-host/+server.ts\n/**\n* POST /api/host/providers/import-host\n*\n* Copies host OpenCode config + auth into OP_HOME, then pushes each\n* imported credential to the running OpenCode server so the providers\n* appear connected immediately (no restart required).\n*\n* - opencode.json: stripped of plugin/mcp/permission keys, merged with\n* existing OP_HOME config. Provider conflicts preserved by default.\n* - auth.json: byte-copied and chmodded 0o600. Never logged.\n* - Live push: best-effort PUT to OpenCode /auth/{id} per credential.\n* If OpenCode is unreachable, the file copy still applies and OpenCode\n* will pick up the credentials on next restart.\n* - Service restart: assistant is restarted after the import so opencode.json\n* provider blocks are re-read (live push only updates the auth store, not\n* config).\n*\n* Body (optional JSON):\n* { overwriteConflicts?: boolean } — default false\n*\n* Auth: admin token required.\n*/\n/**\n* Restart services that hold provider state in startup config.\n* Best-effort: the file-level import is the durable part; this is the polish\n* that makes the change visible without the user having to bounce things by hand.\n* OpenCode caches opencode.json provider blocks at startup, so imported\n* provider config needs a fresh assistant process.\n*/\nasync function restartProviderConsumers() {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(getState());\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Push each auth.json entry to OpenCode's /auth/{id} so the running process sees them. */\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch {\n\t\treturn {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: 0,\n\t\tfailed: []\n\t};\n\tlet pushed = 0;\n\tconst failed = [];\n\tfor (const [providerId, value] of Object.entries(raw)) try {\n\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: JSON.stringify(value)\n\t\t});\n\t\tpushed++;\n\t} catch {\n\t\tfailed.push(providerId);\n\t}\n\treturn {\n\t\tpushed,\n\t\tfailed\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:providers:import-host\", async () => {\n\t\tconst state = getState();\n\t\tlet overwriteConflicts = false;\n\t\tif ((event.request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) {\n\t\t\tconst parsed = await parseJsonBody(event.request);\n\t\t\tif (!(\"error\" in parsed)) overwriteConflicts = parsed.data.overwriteConflicts === true;\n\t\t}\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = importHostOpenCode(state, { overwriteConflicts });\n\t\t} catch (err) {\n\t\t\treturn errorResponse(500, \"import_failed\", err instanceof Error ? err.message : \"Import failed\", {}, requestId);\n\t\t}\n\t\tconst hostStatus = detectHostOpenCode();\n\t\tlet livePush = {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t\tconst importedAuthPath = authJsonPath(state);\n\t\tif (existsSync(importedAuthPath)) livePush = await pushAuthToOpenCode(importedAuthPath);\n\t\telse if (hostStatus.authPath) livePush = await pushAuthToOpenCode(hostStatus.authPath);\n\t\tconst restart = await restartProviderConsumers();\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\timported: result.imported,\n\t\t\tconflicts: result.conflicts,\n\t\t\tlivePushed: livePush.pushed,\n\t\t\tlivePushFailed: livePush.failed,\n\t\t\trestarted: restart.restarted,\n\t\t\trestartFailed: restart.failed\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB,GAAG;AAC1C,CAAC,MAAM,QAAQ,GAAG,CAAC,WAAW,CAAC;AAC/B,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO;AACvC,EAAE,SAAS,EAAE,EAAE;AACf,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC/B,GAAG,OAAO,EAAE,CAAC;AACb,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE;AACF,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC;AAC7C,CAAC,MAAM,SAAS,GAAG,EAAE;AACrB,CAAC,MAAM,MAAM,GAAG,EAAE;AAClB,CAAC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,IAAI;AACrC,EAAE,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;AACjD,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;AACnC,OAAO,MAAM,CAAC,IAAI,CAAC;AACnB,GAAG,OAAO;AACV,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC;AACrC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,CAAC,IAAI,CAAC;AACd,GAAG,OAAO;AACV,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,CAAC;AACJ,CAAC;AACD,CAAC,OAAO;AACR,EAAE,SAAS;AACX,EAAE;AACF,EAAE;AACF;AACA;AACA,eAAe,kBAAkB,CAAC,QAAQ,EAAE;AAC5C,CAAC,IAAI,GAAG;AACR,CAAC,IAAI;AACL,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO;AACT,GAAG,MAAM,EAAE,CAAC;AACZ,GAAG,MAAM,EAAE;AACX,GAAG;AACH,CAAC;AACD,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO;AACnE,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,MAAM,EAAE;AACV,EAAE;AACF,CAAC,IAAI,MAAM,GAAG,CAAC;AACf,CAAC,MAAM,MAAM,GAAG,EAAE;AAClB,CAAC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI;AAC5D,EAAE,MAAM,aAAa,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;AACjE,GAAG,MAAM,EAAE,KAAK;AAChB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;AAC7B,GAAG,CAAC;AACJ,EAAE,MAAM,EAAE;AACV,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AACzB,CAAC;AACD,CAAC,OAAO;AACR,EAAE,MAAM;AACR,EAAE;AACF,EAAE;AACF;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,CAAC;AAC5E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,6BAA6B,EAAE,YAAY;AACnE,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,IAAI,kBAAkB,GAAG,KAAK;AAChC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AACtF,GAAG,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACpD,GAAG,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,KAAK,IAAI;AACzF,EAAE;AACF,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI;AACN,GAAG,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,kBAAkB,EAAE,CAAC;AAC7D,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,eAAe,EAAE,EAAE,EAAE,SAAS,CAAC;AAClH,EAAE;AACF,EAAE,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACzC,EAAE,IAAI,QAAQ,GAAG;AACjB,GAAG,MAAM,EAAE,CAAC;AACZ,GAAG,MAAM,EAAE;AACX,GAAG;AACH,EAAE,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC;AAC9C,EAAE,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,MAAM,kBAAkB,CAAC,gBAAgB,CAAC;AACzF,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC;AACxF,EAAE,MAAM,OAAO,GAAG,MAAM,wBAAwB,EAAE;AAClD,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC5B,GAAG,SAAS,EAAE,MAAM,CAAC,SAAS;AAC9B,GAAG,UAAU,EAAE,QAAQ,CAAC,MAAM;AAC9B,GAAG,cAAc,EAAE,QAAQ,CAAC,MAAM;AAClC,GAAG,SAAS,EAAE,OAAO,CAAC,SAAS;AAC/B,GAAG,aAAa,EAAE,OAAO,CAAC;AAC1B,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-BbxUaG2z.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/import-host/_server.ts.js"],"sourcesContent":["import { dt as authJsonPath, t as buildComposeOptions } from \"../../../../../../chunks/compose-args.js\";\nimport { i as checkDocker } from \"../../../../../../chunks/docker.js\";\nimport { c as importHostOpenCode, s as detectHostOpenCode } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, l as parseJsonBody, r as errorResponse, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { t as withSerialQueue } from \"../../../../../../chunks/serial-queue.js\";\nimport { t as composeRestart } from \"../../../../../../chunks/docker3.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/host/providers/import-host/+server.ts\n/**\n* POST /api/host/providers/import-host\n*\n* Copies host OpenCode config + auth into OP_HOME, then pushes each\n* imported credential to the running OpenCode server so the providers\n* appear connected immediately (no restart required).\n*\n* - opencode.json: stripped of plugin/mcp/permission keys, merged with\n* existing OP_HOME config. Provider conflicts preserved by default.\n* - auth.json: byte-copied and chmodded 0o600. Never logged.\n* - Live push: best-effort PUT to OpenCode /auth/{id} per credential.\n* If OpenCode is unreachable, the file copy still applies and OpenCode\n* will pick up the credentials on next restart.\n* - Service restart: assistant is restarted after the import so opencode.json\n* provider blocks are re-read (live push only updates the auth store, not\n* config).\n*\n* Body (optional JSON):\n* { overwriteConflicts?: boolean } — default false\n*\n* Auth: admin token required.\n*/\n/**\n* Restart services that hold provider state in startup config.\n* Best-effort: the file-level import is the durable part; this is the polish\n* that makes the change visible without the user having to bounce things by hand.\n* OpenCode caches opencode.json provider blocks at startup, so imported\n* provider config needs a fresh assistant process.\n*/\nasync function restartProviderConsumers() {\n\tconst services = [\"assistant\"];\n\tif (!(await checkDocker()).ok) return {\n\t\trestarted: [],\n\t\tfailed: services.map((s) => ({\n\t\t\tservice: s,\n\t\t\terror: \"docker unavailable\"\n\t\t}))\n\t};\n\tconst opts = buildComposeOptions(getState());\n\tconst restarted = [];\n\tconst failed = [];\n\tfor (const service of services) try {\n\t\tconst r = await composeRestart([service], opts);\n\t\tif (r.ok) restarted.push(service);\n\t\telse failed.push({\n\t\t\tservice,\n\t\t\terror: r.stderr || `exit ${r.code}`\n\t\t});\n\t} catch (err) {\n\t\tfailed.push({\n\t\t\tservice,\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n\treturn {\n\t\trestarted,\n\t\tfailed\n\t};\n}\n/** Push each auth.json entry to OpenCode's /auth/{id} so the running process sees them. */\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch {\n\t\treturn {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: 0,\n\t\tfailed: []\n\t};\n\tlet pushed = 0;\n\tconst failed = [];\n\tfor (const [providerId, value] of Object.entries(raw)) try {\n\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: JSON.stringify(value)\n\t\t});\n\t\tpushed++;\n\t} catch {\n\t\tfailed.push(providerId);\n\t}\n\treturn {\n\t\tpushed,\n\t\tfailed\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:providers:import-host\", async () => {\n\t\tconst state = getState();\n\t\tlet overwriteConflicts = false;\n\t\tif ((event.request.headers.get(\"content-type\") ?? \"\").includes(\"application/json\")) {\n\t\t\tconst parsed = await parseJsonBody(event.request);\n\t\t\tif (!(\"error\" in parsed)) overwriteConflicts = parsed.data.overwriteConflicts === true;\n\t\t}\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = importHostOpenCode(state, { overwriteConflicts });\n\t\t} catch (err) {\n\t\t\treturn errorResponse(500, \"import_failed\", err instanceof Error ? err.message : \"Import failed\", {}, requestId);\n\t\t}\n\t\tconst hostStatus = detectHostOpenCode();\n\t\tlet livePush = {\n\t\t\tpushed: 0,\n\t\t\tfailed: []\n\t\t};\n\t\tconst importedAuthPath = authJsonPath(state);\n\t\tif (existsSync(importedAuthPath)) livePush = await pushAuthToOpenCode(importedAuthPath);\n\t\telse if (hostStatus.authPath) livePush = await pushAuthToOpenCode(hostStatus.authPath);\n\t\tconst restart = await restartProviderConsumers();\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\timported: result.imported,\n\t\t\tconflicts: result.conflicts,\n\t\t\tlivePushed: livePush.pushed,\n\t\t\tlivePushFailed: livePush.failed,\n\t\t\trestarted: restart.restarted,\n\t\t\trestartFailed: restart.failed\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ag as isVersionKey, F as createLogger, a as acquireInstallLock, n as buildComposeOptions, p as checkDocker, at as patchSecretsEnvFile, e as applyStack, g as applyUpdate, aN as releaseInstallLock } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CfpNg3il.js';
1
+ import { ag as isVersionKey, F as createLogger, a as acquireInstallLock, n as buildComposeOptions, p as checkDocker, at as patchSecretsEnvFile, e as applyStack, g as applyUpdate, aN as releaseInstallLock } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-9U7R7yqL.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-DOvWTNp_.js';
6
6
  import 'node:module';
@@ -22,8 +22,8 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './endpoints-WTxemTcn.js';
26
- import './features-BE2x1a_a.js';
25
+ import './endpoints-CnnGlw2U.js';
26
+ import './features-BUWlozR5.js';
27
27
 
28
28
  //#region src/routes/api/host/update/+server.ts
29
29
  var logger = createLogger("update");
@@ -138,4 +138,4 @@ var POST = async (event) => {
138
138
  };
139
139
 
140
140
  export { POST };
141
- //# sourceMappingURL=_server.ts-ClrrzZI6.js.map
141
+ //# sourceMappingURL=_server.ts-Bd7KmU8k.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-ClrrzZI6.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/update/_server.ts.js"],"sourcesContent":["import { J as patchSecretsEnvFile, L as isVersionKey, Nt as createLogger, a as applyUpdate, p as releaseInstallLock, t as buildComposeOptions, u as acquireInstallLock } from \"../../../../../chunks/compose-args.js\";\nimport { i as checkDocker, t as applyStack } from \"../../../../../chunks/docker.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/api/host/update/+server.ts\nvar logger = createLogger(\"update\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tlogger.info(\"update request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet service;\n\tconst targetVersions = {};\n\ttry {\n\t\tconst body = event.request.headers.get(\"content-type\")?.includes(\"application/json\") ? await event.request.json() : {};\n\t\tif (typeof body?.service === \"string\" && body.service.trim()) service = body.service.trim();\n\t\tif (body?.versions && typeof body.versions === \"object\") {\n\t\t\tfor (const [k, v] of Object.entries(body.versions)) if (isVersionKey(k) && typeof v === \"string\" && v.trim()) targetVersions[k] = v.trim();\n\t\t}\n\t} catch {}\n\treturn withSerialQueue(\"admin:update\", async () => {\n\t\tconst state = getState();\n\t\tconst lock = acquireInstallLock(state.dataDir);\n\t\tif (!lock) {\n\t\t\tlogger.info(\"update rejected — another install/update is in progress\", { requestId });\n\t\t\treturn errorResponse(409, \"install_in_progress\", \"Another install or update is already running. Wait for it to finish, or run 'openpalm unlock' to clear a stale lock.\", {}, requestId);\n\t\t}\n\t\ttry {\n\t\t\tconst composeOpts = buildComposeOptions(state);\n\t\t\tif (!(await checkDocker()).ok) {\n\t\t\t\tlogger.info(\"Docker unavailable — update rejected\", { requestId });\n\t\t\t\treturn jsonResponse(200, {\n\t\t\t\t\tok: false,\n\t\t\t\t\trestarted: [],\n\t\t\t\t\tfailed: [],\n\t\t\t\t\tdockerAvailable: false,\n\t\t\t\t\toverallSuccess: false\n\t\t\t\t}, requestId);\n\t\t\t}\n\t\t\tconst advanceTargetVersions = () => {\n\t\t\t\tif (Object.keys(targetVersions).length === 0) return;\n\t\t\t\tpatchSecretsEnvFile(state.homeDir, targetVersions);\n\t\t\t\tlogger.info(\"advanced versions before recreate\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\ttargetVersions\n\t\t\t\t});\n\t\t\t};\n\t\t\tif (service) {\n\t\t\t\tadvanceTargetVersions();\n\t\t\t\tlogger.info(\"scoped service update\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\tservice\n\t\t\t\t});\n\t\t\t\tconst stackResult = await applyStack({\n\t\t\t\t\tkind: \"service\",\n\t\t\t\t\tservice\n\t\t\t\t}, composeOpts);\n\t\t\t\tconst overallSuccess = stackResult.ok;\n\t\t\t\tconst status = stackResult.ok ? 200 : 502;\n\t\t\t\tlogger.info(\"service update completed\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\tservice,\n\t\t\t\t\toverallSuccess,\n\t\t\t\t\tstartedCount: stackResult.started.length,\n\t\t\t\t\tfailedCount: stackResult.failed.length,\n\t\t\t\t\terror: stackResult.error\n\t\t\t\t});\n\t\t\t\treturn jsonResponse(status, {\n\t\t\t\t\tok: overallSuccess,\n\t\t\t\t\trestarted: stackResult.started,\n\t\t\t\t\tfailed: stackResult.failed,\n\t\t\t\t\tdockerAvailable: true,\n\t\t\t\t\toverallSuccess,\n\t\t\t\t\t...stackResult.error ? { error: stackResult.error } : {}\n\t\t\t\t}, requestId);\n\t\t\t}\n\t\t\tconst result = await applyUpdate(state, { lock });\n\t\t\tlogger.info(\"update applied, running applyStack\", {\n\t\t\t\trequestId,\n\t\t\t\tintended: result.restarted\n\t\t\t});\n\t\t\tadvanceTargetVersions();\n\t\t\tconst stackResult = await applyStack({ kind: \"all\" }, composeOpts);\n\t\t\tconst overallSuccess = stackResult.ok;\n\t\t\tconst status = stackResult.ok ? 200 : 502;\n\t\t\tlogger.info(\"update completed\", {\n\t\t\t\trequestId,\n\t\t\t\tdockerAvailable: true,\n\t\t\t\toverallSuccess,\n\t\t\t\tstartedCount: stackResult.started.length,\n\t\t\t\tfailedCount: stackResult.failed.length,\n\t\t\t\terror: stackResult.error\n\t\t\t});\n\t\t\treturn jsonResponse(status, {\n\t\t\t\tok: overallSuccess,\n\t\t\t\trestarted: stackResult.started,\n\t\t\t\tfailed: stackResult.failed,\n\t\t\t\tdockerAvailable: true,\n\t\t\t\toverallSuccess,\n\t\t\t\t...stackResult.error ? { error: stackResult.error } : {}\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"update failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"update_failed\", msg, {}, requestId);\n\t\t} finally {\n\t\t\treleaseInstallLock(lock);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Bd7KmU8k.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/update/_server.ts.js"],"sourcesContent":["import { J as patchSecretsEnvFile, L as isVersionKey, Nt as createLogger, a as applyUpdate, p as releaseInstallLock, t as buildComposeOptions, u as acquireInstallLock } from \"../../../../../chunks/compose-args.js\";\nimport { i as checkDocker, t as applyStack } from \"../../../../../chunks/docker.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/api/host/update/+server.ts\nvar logger = createLogger(\"update\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tlogger.info(\"update request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet service;\n\tconst targetVersions = {};\n\ttry {\n\t\tconst body = event.request.headers.get(\"content-type\")?.includes(\"application/json\") ? await event.request.json() : {};\n\t\tif (typeof body?.service === \"string\" && body.service.trim()) service = body.service.trim();\n\t\tif (body?.versions && typeof body.versions === \"object\") {\n\t\t\tfor (const [k, v] of Object.entries(body.versions)) if (isVersionKey(k) && typeof v === \"string\" && v.trim()) targetVersions[k] = v.trim();\n\t\t}\n\t} catch {}\n\treturn withSerialQueue(\"admin:update\", async () => {\n\t\tconst state = getState();\n\t\tconst lock = acquireInstallLock(state.dataDir);\n\t\tif (!lock) {\n\t\t\tlogger.info(\"update rejected — another install/update is in progress\", { requestId });\n\t\t\treturn errorResponse(409, \"install_in_progress\", \"Another install or update is already running. Wait for it to finish, or run 'openpalm unlock' to clear a stale lock.\", {}, requestId);\n\t\t}\n\t\ttry {\n\t\t\tconst composeOpts = buildComposeOptions(state);\n\t\t\tif (!(await checkDocker()).ok) {\n\t\t\t\tlogger.info(\"Docker unavailable — update rejected\", { requestId });\n\t\t\t\treturn jsonResponse(200, {\n\t\t\t\t\tok: false,\n\t\t\t\t\trestarted: [],\n\t\t\t\t\tfailed: [],\n\t\t\t\t\tdockerAvailable: false,\n\t\t\t\t\toverallSuccess: false\n\t\t\t\t}, requestId);\n\t\t\t}\n\t\t\tconst advanceTargetVersions = () => {\n\t\t\t\tif (Object.keys(targetVersions).length === 0) return;\n\t\t\t\tpatchSecretsEnvFile(state.homeDir, targetVersions);\n\t\t\t\tlogger.info(\"advanced versions before recreate\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\ttargetVersions\n\t\t\t\t});\n\t\t\t};\n\t\t\tif (service) {\n\t\t\t\tadvanceTargetVersions();\n\t\t\t\tlogger.info(\"scoped service update\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\tservice\n\t\t\t\t});\n\t\t\t\tconst stackResult = await applyStack({\n\t\t\t\t\tkind: \"service\",\n\t\t\t\t\tservice\n\t\t\t\t}, composeOpts);\n\t\t\t\tconst overallSuccess = stackResult.ok;\n\t\t\t\tconst status = stackResult.ok ? 200 : 502;\n\t\t\t\tlogger.info(\"service update completed\", {\n\t\t\t\t\trequestId,\n\t\t\t\t\tservice,\n\t\t\t\t\toverallSuccess,\n\t\t\t\t\tstartedCount: stackResult.started.length,\n\t\t\t\t\tfailedCount: stackResult.failed.length,\n\t\t\t\t\terror: stackResult.error\n\t\t\t\t});\n\t\t\t\treturn jsonResponse(status, {\n\t\t\t\t\tok: overallSuccess,\n\t\t\t\t\trestarted: stackResult.started,\n\t\t\t\t\tfailed: stackResult.failed,\n\t\t\t\t\tdockerAvailable: true,\n\t\t\t\t\toverallSuccess,\n\t\t\t\t\t...stackResult.error ? { error: stackResult.error } : {}\n\t\t\t\t}, requestId);\n\t\t\t}\n\t\t\tconst result = await applyUpdate(state, { lock });\n\t\t\tlogger.info(\"update applied, running applyStack\", {\n\t\t\t\trequestId,\n\t\t\t\tintended: result.restarted\n\t\t\t});\n\t\t\tadvanceTargetVersions();\n\t\t\tconst stackResult = await applyStack({ kind: \"all\" }, composeOpts);\n\t\t\tconst overallSuccess = stackResult.ok;\n\t\t\tconst status = stackResult.ok ? 200 : 502;\n\t\t\tlogger.info(\"update completed\", {\n\t\t\t\trequestId,\n\t\t\t\tdockerAvailable: true,\n\t\t\t\toverallSuccess,\n\t\t\t\tstartedCount: stackResult.started.length,\n\t\t\t\tfailedCount: stackResult.failed.length,\n\t\t\t\terror: stackResult.error\n\t\t\t});\n\t\t\treturn jsonResponse(status, {\n\t\t\t\tok: overallSuccess,\n\t\t\t\trestarted: stackResult.started,\n\t\t\t\tfailed: stackResult.failed,\n\t\t\t\tdockerAvailable: true,\n\t\t\t\toverallSuccess,\n\t\t\t\t...stackResult.error ? { error: stackResult.error } : {}\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"update failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"update_failed\", msg, {}, requestId);\n\t\t} finally {\n\t\t\treleaseInstallLock(lock);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { p as checkDocker, B as composeStats, n as buildComposeOptions } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CfpNg3il.js';
1
+ import { p as checkDocker, B as composeStats, n as buildComposeOptions } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-9U7R7yqL.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
24
+ import './endpoints-CnnGlw2U.js';
25
+ import './features-BUWlozR5.js';
26
26
 
27
27
  //#region src/routes/api/host/containers/stats/+server.ts
28
28
  var GET = async (event) => {
@@ -46,4 +46,4 @@ var GET = async (event) => {
46
46
  };
47
47
 
48
48
  export { GET };
49
- //# sourceMappingURL=_server.ts-BuGFzejC.js.map
49
+ //# sourceMappingURL=_server.ts-BfTFlPSX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BuGFzejC.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/containers/stats/_server.ts.js"],"sourcesContent":["import { t as buildComposeOptions } from \"../../../../../../chunks/compose-args.js\";\nimport { _ as composeStats, i as checkDocker } from \"../../../../../../chunks/docker.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/containers/stats/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,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-BfTFlPSX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/containers/stats/_server.ts.js"],"sourcesContent":["import { t as buildComposeOptions } from \"../../../../../../chunks/compose-args.js\";\nimport { _ as composeStats, i as checkDocker } from \"../../../../../../chunks/docker.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/containers/stats/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,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,7 +1,7 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { r as resolveRequestLanding } from './landing-DKXNel0Q.js';
2
+ import { r as resolveRequestLanding } from './landing-CMnmbyhs.js';
3
3
  import './utils-OXHIhUb5.js';
4
- import './src-CQ2F7hgb.js';
4
+ import './src-AHSKeKr0.js';
5
5
  import './chunk-DOvWTNp_.js';
6
6
  import 'node:module';
7
7
  import './network-preset-CJ1RRnki.js';
@@ -22,9 +22,9 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './state-CsIDHNPN.js';
26
- import './endpoints-WTxemTcn.js';
27
- import './features-BE2x1a_a.js';
25
+ import './state-CzXOEt0t.js';
26
+ import './endpoints-CnnGlw2U.js';
27
+ import './features-BUWlozR5.js';
28
28
  import './runtime-context.svelte-C5zNEC6u.js';
29
29
 
30
30
  //#region src/routes/api/runtime/landing/+server.ts
@@ -55,4 +55,4 @@ var GET = async (event) => {
55
55
  };
56
56
 
57
57
  export { GET };
58
- //# sourceMappingURL=_server.ts-CCdP5Eqx.js.map
58
+ //# sourceMappingURL=_server.ts-BjfWddPf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CCdP5Eqx.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/runtime/landing/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { r as resolveRequestLanding } from \"../../../../../chunks/landing.js\";\n//#region src/routes/api/runtime/landing/+server.ts\n/**\n* GET /api/runtime/landing — public landing-resolver endpoint (review\n* findings J2/J3, plan ui-runtime-modes-plan.md §6.5).\n*\n* PUBLIC by design (same posture as /api/setup/status and /api/runtime): no\n* auth is consulted. Wraps the SAME `resolveRequestLanding()` the host UI's\n* own hooks.server.ts navigation guard uses, so any external caller —\n* Electron's `resolveInitialUrl`, `openpalm app`/`openpalm admin`, a future\n* client — can ask \"where should a session land right now?\" without issuing\n* a document navigation and parsing a redirect.\n*\n* J2: this is what lets Electron's default surface reach the landing\n* matrix's recovery branches (installed_offline -> /host, installed_broken ->\n* /host?tab=diagnostics) instead of only ever seeing /setup or /chat via the\n* old /api/setup/status probe.\n* J3: nothing produces a 'pending' migration status yet, but\n* resolveRequestLanding already routes that to /attention — this endpoint\n* needs no changes when the first blocking migration lands.\n*\n* Cache-Control: no-store — a stale landing (e.g. cached across a stack\n* restart) would misroute a launcher into a dead surface.\n*/\nvar GET = async (event) => {\n\treturn json({ landing: await resolveRequestLanding(event) }, { headers: { \"cache-control\": \"no-store\" } });\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,CAAC;AAC3G;;;;"}
1
+ {"version":3,"file":"_server.ts-BjfWddPf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/runtime/landing/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { r as resolveRequestLanding } from \"../../../../../chunks/landing.js\";\n//#region src/routes/api/runtime/landing/+server.ts\n/**\n* GET /api/runtime/landing — public landing-resolver endpoint (review\n* findings J2/J3, plan ui-runtime-modes-plan.md §6.5).\n*\n* PUBLIC by design (same posture as /api/setup/status and /api/runtime): no\n* auth is consulted. Wraps the SAME `resolveRequestLanding()` the host UI's\n* own hooks.server.ts navigation guard uses, so any external caller —\n* Electron's `resolveInitialUrl`, `openpalm app`/`openpalm admin`, a future\n* client — can ask \"where should a session land right now?\" without issuing\n* a document navigation and parsing a redirect.\n*\n* J2: this is what lets Electron's default surface reach the landing\n* matrix's recovery branches (installed_offline -> /host, installed_broken ->\n* /host?tab=diagnostics) instead of only ever seeing /setup or /chat via the\n* old /api/setup/status probe.\n* J3: nothing produces a 'pending' migration status yet, but\n* resolveRequestLanding already routes that to /attention — this endpoint\n* needs no changes when the first blocking migration lands.\n*\n* Cache-Control: no-store — a stale landing (e.g. cached across a stack\n* restart) would misroute a launcher into a dead surface.\n*/\nvar GET = async (event) => {\n\treturn json({ landing: await resolveRequestLanding(event) }, { headers: { \"cache-control\": \"no-store\" } });\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,CAAC;AAC3G;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-CfpNg3il.js';
2
- import { l as loadProviderPage } from './catalog-w0L1ZRPK.js';
3
- import './src-CQ2F7hgb.js';
1
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-9U7R7yqL.js';
2
+ import { l as loadProviderPage } from './catalog-CilTg0Ck.js';
3
+ import './src-AHSKeKr0.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
@@ -21,12 +21,12 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './state-CsIDHNPN.js';
26
- import './features-BE2x1a_a.js';
24
+ import './endpoints-CnnGlw2U.js';
25
+ import './state-CzXOEt0t.js';
26
+ import './features-BUWlozR5.js';
27
27
  import './coercion-TNFJisCC.js';
28
- import './http-WP5cji9-.js';
29
- import './config-Jiy06DlE.js';
28
+ import './http-D2Aul-FP.js';
29
+ import './config-C_XJx8-D.js';
30
30
 
31
31
  //#region src/routes/api/host/providers/+server.ts
32
32
  var GET = async (event) => {
@@ -39,4 +39,4 @@ var GET = async (event) => {
39
39
  };
40
40
 
41
41
  export { GET };
42
- //# sourceMappingURL=_server.ts-KHK30kUK.js.map
42
+ //# sourceMappingURL=_server.ts-BjjNc0OV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-KHK30kUK.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/_server.ts.js"],"sourcesContent":["import { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as loadProviderPage } from \"../../../../../chunks/catalog.js\";\n//#region src/routes/api/host/providers/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, await loadProviderPage(), requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,CAAC;AAC5E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,gBAAgB,EAAE,EAAE,SAAS,CAAC;AAC9D;;;;"}
1
+ {"version":3,"file":"_server.ts-BjjNc0OV.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/_server.ts.js"],"sourcesContent":["import { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as loadProviderPage } from \"../../../../../chunks/catalog.js\";\n//#region src/routes/api/host/providers/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, await loadProviderPage(), requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,CAAC;AAC5E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,gBAAgB,EAAE,EAAE,SAAS,CAAC;AAC9D;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { S as SERVICE_VERSION_KEYS, s as compareComparableVersions, D as DOCKER_IMAGE_NAMES } from './src-CQ2F7hgb.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin } from './helpers-CfpNg3il.js';
2
+ import { S as SERVICE_VERSION_KEYS, s as compareComparableVersions, D as DOCKER_IMAGE_NAMES } from './src-AHSKeKr0.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin } from './helpers-9U7R7yqL.js';
4
4
  import './utils-OXHIhUb5.js';
5
5
  import './chunk-DOvWTNp_.js';
6
6
  import 'node:module';
@@ -22,9 +22,9 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './endpoints-WTxemTcn.js';
26
- import './state-CsIDHNPN.js';
27
- import './features-BE2x1a_a.js';
25
+ import './endpoints-CnnGlw2U.js';
26
+ import './state-CzXOEt0t.js';
27
+ import './features-BUWlozR5.js';
28
28
 
29
29
  //#region src/routes/api/host/versions/latest/+server.ts
30
30
  var DOCKER_HUB_NAMESPACE = "openpalm";
@@ -103,4 +103,4 @@ var GET = async (event) => {
103
103
  };
104
104
 
105
105
  export { GET };
106
- //# sourceMappingURL=_server.ts-st_pTUHI.js.map
106
+ //# sourceMappingURL=_server.ts-Bla3fiCh.js.map