@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-st_pTUHI.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/versions/latest/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { F as DOCKER_IMAGE_NAMES, I as SERVICE_VERSION_KEYS, gt as compareComparableVersions } from \"../../../../../../chunks/compose-args.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { a as getRequestId, d as requireCapability, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/versions/latest/+server.ts\nvar DOCKER_HUB_NAMESPACE = \"openpalm\";\nvar STABLE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+)$/;\nvar VOICE_STABLE = /^v?(\\d+\\.\\d+\\.\\d+)-\\w+$/;\nasync function resolveNpmLatest(pkg) {\n\ttry {\n\t\tconst res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(pkg)}/latest`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(6e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\treturn typeof data.version === \"string\" ? data.version : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nasync function resolveDockerLatest(image) {\n\ttry {\n\t\tconst res = await fetch(`https://hub.docker.com/v2/repositories/${DOCKER_HUB_NAMESPACE}/${image}/tags?page_size=100&ordering=last_updated`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\tconst isVoice = image === \"voice\";\n\t\tconst candidates = [];\n\t\tfor (const tag of data.results ?? []) {\n\t\t\tconst plain = tag.name.match(STABLE_SEMVER);\n\t\t\tif (plain) {\n\t\t\t\tcandidates.push(plain[1]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (isVoice) {\n\t\t\t\tconst voice = tag.name.match(VOICE_STABLE);\n\t\t\t\tif (voice) candidates.push(voice[1]);\n\t\t\t}\n\t\t}\n\t\tif (candidates.length === 0) return null;\n\t\treturn candidates.sort(compareComparableVersions).at(-1) ?? null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nvar CACHE_TTL_MS = 300 * 1e3;\nvar cachedResult = null;\nvar cacheExpiresAt = 0;\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tif (cachedResult && Date.now() < cacheExpiresAt) return json(cachedResult);\n\tconst errors = [];\n\tconst [dockerResults, uiResult] = await Promise.all([Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {\n\t\tconst image = DOCKER_IMAGE_NAMES[key];\n\t\tconst version = await resolveDockerLatest(image);\n\t\tif (!version) errors.push(`Docker Hub: could not resolve latest for ${DOCKER_HUB_NAMESPACE}/${image}`);\n\t\treturn [key, version];\n\t})), resolveNpmLatest(\"@openpalm/ui\").then((v) => {\n\t\tif (!v) errors.push(\"npm: could not resolve latest for @openpalm/ui\");\n\t\treturn [\"OP_UI_VERSION\", v];\n\t})]);\n\tconst versions = {};\n\tfor (const [key, val] of [...dockerResults, uiResult]) versions[key] = val;\n\tconst result = {\n\t\tversions,\n\t\terrors,\n\t\tfetchedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t};\n\tcachedResult = result;\n\tcacheExpiresAt = Date.now() + CACHE_TTL_MS;\n\treturn json(result);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Bla3fiCh.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/versions/latest/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { F as DOCKER_IMAGE_NAMES, I as SERVICE_VERSION_KEYS, gt as compareComparableVersions } from \"../../../../../../chunks/compose-args.js\";\nimport \"../../../../../../chunks/src.js\";\nimport { a as getRequestId, d as requireCapability, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/versions/latest/+server.ts\nvar DOCKER_HUB_NAMESPACE = \"openpalm\";\nvar STABLE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+)$/;\nvar VOICE_STABLE = /^v?(\\d+\\.\\d+\\.\\d+)-\\w+$/;\nasync function resolveNpmLatest(pkg) {\n\ttry {\n\t\tconst res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(pkg)}/latest`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(6e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\treturn typeof data.version === \"string\" ? data.version : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nasync function resolveDockerLatest(image) {\n\ttry {\n\t\tconst res = await fetch(`https://hub.docker.com/v2/repositories/${DOCKER_HUB_NAMESPACE}/${image}/tags?page_size=100&ordering=last_updated`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\tconst isVoice = image === \"voice\";\n\t\tconst candidates = [];\n\t\tfor (const tag of data.results ?? []) {\n\t\t\tconst plain = tag.name.match(STABLE_SEMVER);\n\t\t\tif (plain) {\n\t\t\t\tcandidates.push(plain[1]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (isVoice) {\n\t\t\t\tconst voice = tag.name.match(VOICE_STABLE);\n\t\t\t\tif (voice) candidates.push(voice[1]);\n\t\t\t}\n\t\t}\n\t\tif (candidates.length === 0) return null;\n\t\treturn candidates.sort(compareComparableVersions).at(-1) ?? null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nvar CACHE_TTL_MS = 300 * 1e3;\nvar cachedResult = null;\nvar cacheExpiresAt = 0;\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tif (cachedResult && Date.now() < cacheExpiresAt) return json(cachedResult);\n\tconst errors = [];\n\tconst [dockerResults, uiResult] = await Promise.all([Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {\n\t\tconst image = DOCKER_IMAGE_NAMES[key];\n\t\tconst version = await resolveDockerLatest(image);\n\t\tif (!version) errors.push(`Docker Hub: could not resolve latest for ${DOCKER_HUB_NAMESPACE}/${image}`);\n\t\treturn [key, version];\n\t})), resolveNpmLatest(\"@openpalm/ui\").then((v) => {\n\t\tif (!v) errors.push(\"npm: could not resolve latest for @openpalm/ui\");\n\t\treturn [\"OP_UI_VERSION\", v];\n\t})]);\n\tconst versions = {};\n\tfor (const [key, val] of [...dockerResults, uiResult]) versions[key] = val;\n\tconst result = {\n\t\tversions,\n\t\terrors,\n\t\tfetchedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t};\n\tcachedResult = result;\n\tcacheExpiresAt = Date.now() + CACHE_TTL_MS;\n\treturn json(result);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { b8 as writeFileAtomic } 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, w as withAdminBody, e as errorResponse } from './helpers-CfpNg3il.js';
1
+ import { b8 as writeFileAtomic } 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, w as withAdminBody, e as errorResponse } from './helpers-9U7R7yqL.js';
4
4
  import { existsSync, readFileSync, mkdirSync } from 'node:fs';
5
5
  import { join } from 'node:path';
6
6
  import './chunk-DOvWTNp_.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/assistant/persona/+server.ts
28
28
  /**
@@ -77,4 +77,4 @@ var PUT = async (event) => {
77
77
  };
78
78
 
79
79
  export { GET, PUT };
80
- //# sourceMappingURL=_server.ts-0T6OWJc0.js.map
80
+ //# sourceMappingURL=_server.ts-BnCHdcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-0T6OWJc0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/assistant/persona/_server.ts.js"],"sourcesContent":["import { nt as writeFileAtomic } 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, p as withAdminBody, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, mkdirSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/routes/api/assistant/persona/+server.ts\n/**\n* GET/PUT /api/assistant/persona — the assistant-owned persona markdown\n* (plan ui-runtime-modes-plan.md Phase 4 step 2, §5.F, §6.4).\n*\n* The ASSISTANT-SCOPED half of the old /admin/assistant endpoint. Persona\n* lives in config/assistant/persona.md — one of the two read/write mounts the\n* assistant container keeps (plan §6.9) — so assistant-container mode CAN\n* edit it, while pwa-static (no assistant-settings capability) is refused\n* with 403 even for a valid admin session (plan §8.5).\n*/\nfunction personaPath(configDir) {\n\treturn join(configDir, \"assistant\", \"persona.md\");\n}\nfunction readPersona(configDir) {\n\tconst path = personaPath(configDir);\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\");\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"assistant-settings:read\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\treturn jsonResponse(200, {\n\t\tpersonaPath: \"config/assistant/persona.md\",\n\t\tpersonaContent: readPersona(getState().configDir)\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst capabilityError = requireCapability(event, \"assistant-settings:write\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\tif (typeof body.personaContent !== \"string\") return errorResponse(400, \"bad_request\", \"personaContent must be a string\", {}, requestId);\n\t\tconst state = getState();\n\t\tconst path = personaPath(state.configDir);\n\t\tmkdirSync(join(state.configDir, \"assistant\"), { recursive: true });\n\t\tconst personaContent = body.personaContent.endsWith(\"\\n\") ? body.personaContent : `${body.personaContent}\\n`;\n\t\twriteFileAtomic(path, personaContent, 420);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tpersonaPath: \"config/assistant/persona.md\",\n\t\t\tpersonaContent\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { GET, PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,SAAS,EAAE;AAChC,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC;AAClD;AACA,SAAS,WAAW,CAAC,SAAS,EAAE;AAChC,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC;AACpC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AACjC,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;AACpC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;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,yBAAyB,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9C,CAAC,IAAI,MAAM,EAAE,OAAO,MAAM;AAC1B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,WAAW,EAAE,6BAA6B;AAC5C,EAAE,cAAc,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,SAAS;AAClD,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,0BAA0B,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAClG,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC5D,EAAE,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AACzI,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;AAC3C,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACpE,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;AAC9G,EAAE,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,WAAW,EAAE,6BAA6B;AAC7C,GAAG;AACH,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-BnCHdcon.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/assistant/persona/_server.ts.js"],"sourcesContent":["import { nt as writeFileAtomic } 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, p as withAdminBody, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, mkdirSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region src/routes/api/assistant/persona/+server.ts\n/**\n* GET/PUT /api/assistant/persona — the assistant-owned persona markdown\n* (plan ui-runtime-modes-plan.md Phase 4 step 2, §5.F, §6.4).\n*\n* The ASSISTANT-SCOPED half of the old /admin/assistant endpoint. Persona\n* lives in config/assistant/persona.md — one of the two read/write mounts the\n* assistant container keeps (plan §6.9) — so assistant-container mode CAN\n* edit it, while pwa-static (no assistant-settings capability) is refused\n* with 403 even for a valid admin session (plan §8.5).\n*/\nfunction personaPath(configDir) {\n\treturn join(configDir, \"assistant\", \"persona.md\");\n}\nfunction readPersona(configDir) {\n\tconst path = personaPath(configDir);\n\tif (!existsSync(path)) return \"\";\n\ttry {\n\t\treturn readFileSync(path, \"utf-8\");\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"assistant-settings:read\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\treturn jsonResponse(200, {\n\t\tpersonaPath: \"config/assistant/persona.md\",\n\t\tpersonaContent: readPersona(getState().configDir)\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst capabilityError = requireCapability(event, \"assistant-settings:write\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\tif (typeof body.personaContent !== \"string\") return errorResponse(400, \"bad_request\", \"personaContent must be a string\", {}, requestId);\n\t\tconst state = getState();\n\t\tconst path = personaPath(state.configDir);\n\t\tmkdirSync(join(state.configDir, \"assistant\"), { recursive: true });\n\t\tconst personaContent = body.personaContent.endsWith(\"\\n\") ? body.personaContent : `${body.personaContent}\\n`;\n\t\twriteFileAtomic(path, personaContent, 420);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tpersonaPath: \"config/assistant/persona.md\",\n\t\t\tpersonaContent\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { GET, PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,SAAS,EAAE;AAChC,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC;AAClD;AACA,SAAS,WAAW,CAAC,SAAS,EAAE;AAChC,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC;AACpC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE;AACjC,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;AACpC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE;AACX,CAAC;AACD;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,yBAAyB,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9C,CAAC,IAAI,MAAM,EAAE,OAAO,MAAM;AAC1B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,WAAW,EAAE,6BAA6B;AAC5C,EAAE,cAAc,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,SAAS;AAClD,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,0BAA0B,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAClG,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC5D,EAAE,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AACzI,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;AAC3C,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACpE,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;AAC9G,EAAE,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,WAAW,EAAE,6BAA6B;AAC7C,GAAG;AACH,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,7 +1,7 @@
1
- import { g as getActiveConnection, l as listConnections, U as USER_ADDABLE_CONNECTION_KINDS, v as validateEndpointUrl, a as addConnection } from './endpoints-WTxemTcn.js';
2
- import { d as getRequestId, k as jsonResponse, l as requireCapability, w as withAdminBody, e as errorResponse } from './helpers-CfpNg3il.js';
3
- import { r as requireConnectionsManage, p as publishConnection, a as publishConnectionEntry } from './connections-api-J-nrQ1KK.js';
4
- import './src-CQ2F7hgb.js';
1
+ import { g as getActiveConnection, l as listConnections, U as USER_ADDABLE_CONNECTION_KINDS, v as validateEndpointUrl, a as addConnection } from './endpoints-CnnGlw2U.js';
2
+ import { d as getRequestId, k as jsonResponse, l as requireCapability, w as withAdminBody, e as errorResponse } from './helpers-9U7R7yqL.js';
3
+ import { r as requireConnectionsManage, p as publishConnection, a as publishConnectionEntry } from './connections-api-mP7OE2x7.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,8 +22,8 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './state-CsIDHNPN.js';
26
- import './features-BE2x1a_a.js';
25
+ import './state-CzXOEt0t.js';
26
+ import './features-BUWlozR5.js';
27
27
 
28
28
  //#region src/routes/api/connections/+server.ts
29
29
  var GET = async (event) => {
@@ -63,4 +63,4 @@ var POST = async (event) => {
63
63
  };
64
64
 
65
65
  export { GET, POST };
66
- //# sourceMappingURL=_server.ts-Cm3uzCwu.js.map
66
+ //# sourceMappingURL=_server.ts-BpNKHMXM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Cm3uzCwu.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/connections/_server.ts.js"],"sourcesContent":["import { a as listConnections, i as getActiveConnection, l as validateEndpointUrl, n as addConnection, t as USER_ADDABLE_CONNECTION_KINDS } from \"../../../../chunks/endpoints.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, p as withAdminBody, r as errorResponse } from \"../../../../chunks/helpers.js\";\nimport { n as publishConnectionEntry, r as requireConnectionsManage, t as publishConnection } from \"../../../../chunks/connections-api.js\";\n//#region src/routes/api/connections/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst guardError = requireConnectionsManage(event, requestId);\n\tif (guardError) return guardError;\n\treturn jsonResponse(200, {\n\t\tconnections: listConnections().map(publishConnection),\n\t\tactiveId: publishConnection(getActiveConnection()).id\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst capabilityError = requireCapability(event, \"connections:manage\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\tconst label = typeof body.label === \"string\" ? body.label : \"\";\n\t\tconst url = typeof body.url === \"string\" ? body.url : \"\";\n\t\tconst password = typeof body.password === \"string\" && body.password.length > 0 ? body.password : void 0;\n\t\tlet kind;\n\t\tif (body.kind !== void 0) {\n\t\t\tif (typeof body.kind !== \"string\" || !USER_ADDABLE_CONNECTION_KINDS.includes(body.kind)) return errorResponse(400, \"invalid_connection\", \"kind must be remote-opencode or openpalm-client-api\", {}, requestId);\n\t\t\tkind = body.kind;\n\t\t}\n\t\tconst urlCheck = validateEndpointUrl(url);\n\t\tif (!urlCheck.ok) return errorResponse(400, \"invalid_connection\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\ttry {\n\t\t\treturn jsonResponse(201, { connection: publishConnectionEntry(addConnection({\n\t\t\t\tlabel,\n\t\t\t\turl: urlCheck.url,\n\t\t\t\tpassword,\n\t\t\t\tkind\n\t\t\t})) }, requestId);\n\t\t} catch (e) {\n\t\t\treturn errorResponse(400, \"invalid_connection\", e instanceof Error ? e.message : \"failed to create connection\", {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9D,CAAC,IAAI,UAAU,EAAE,OAAO,UAAU;AAClC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACvD,EAAE,QAAQ,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,CAAC,CAAC;AACrD,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5F,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC5D,EAAE,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AAChE,EAAE,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;AAC1D,EAAE,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM;AACzG,EAAE,IAAI,IAAI;AACV,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AAC5B,GAAG,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,qDAAqD,EAAE,EAAE,EAAE,SAAS,CAAC;AACjN,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI;AACnB,EAAE;AACF,EAAE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC;AAC3C,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,IAAI;AACN,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,sBAAsB,CAAC,aAAa,CAAC;AAC/E,IAAI,KAAK;AACT,IAAI,GAAG,EAAE,QAAQ,CAAC,GAAG;AACrB,IAAI,QAAQ;AACZ,IAAI;AACJ,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AACpB,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;AACd,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,6BAA6B,EAAE,EAAE,EAAE,SAAS,CAAC;AACjI,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-BpNKHMXM.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/connections/_server.ts.js"],"sourcesContent":["import { a as listConnections, i as getActiveConnection, l as validateEndpointUrl, n as addConnection, t as USER_ADDABLE_CONNECTION_KINDS } from \"../../../../chunks/endpoints.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, p as withAdminBody, r as errorResponse } from \"../../../../chunks/helpers.js\";\nimport { n as publishConnectionEntry, r as requireConnectionsManage, t as publishConnection } from \"../../../../chunks/connections-api.js\";\n//#region src/routes/api/connections/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst guardError = requireConnectionsManage(event, requestId);\n\tif (guardError) return guardError;\n\treturn jsonResponse(200, {\n\t\tconnections: listConnections().map(publishConnection),\n\t\tactiveId: publishConnection(getActiveConnection()).id\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst capabilityError = requireCapability(event, \"connections:manage\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\tconst label = typeof body.label === \"string\" ? body.label : \"\";\n\t\tconst url = typeof body.url === \"string\" ? body.url : \"\";\n\t\tconst password = typeof body.password === \"string\" && body.password.length > 0 ? body.password : void 0;\n\t\tlet kind;\n\t\tif (body.kind !== void 0) {\n\t\t\tif (typeof body.kind !== \"string\" || !USER_ADDABLE_CONNECTION_KINDS.includes(body.kind)) return errorResponse(400, \"invalid_connection\", \"kind must be remote-opencode or openpalm-client-api\", {}, requestId);\n\t\t\tkind = body.kind;\n\t\t}\n\t\tconst urlCheck = validateEndpointUrl(url);\n\t\tif (!urlCheck.ok) return errorResponse(400, \"invalid_connection\", \"URL must be a valid http(s) URL\", {}, requestId);\n\t\ttry {\n\t\t\treturn jsonResponse(201, { connection: publishConnectionEntry(addConnection({\n\t\t\t\tlabel,\n\t\t\t\turl: urlCheck.url,\n\t\t\t\tpassword,\n\t\t\t\tkind\n\t\t\t})) }, requestId);\n\t\t} catch (e) {\n\t\t\treturn errorResponse(400, \"invalid_connection\", e instanceof Error ? e.message : \"failed to create connection\", {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC;AAC9D,CAAC,IAAI,UAAU,EAAE,OAAO,UAAU;AAClC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC;AACvD,EAAE,QAAQ,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,CAAC,CAAC;AACrD,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5F,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC5D,EAAE,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AAChE,EAAE,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE;AAC1D,EAAE,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM;AACzG,EAAE,IAAI,IAAI;AACV,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AAC5B,GAAG,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,qDAAqD,EAAE,EAAE,EAAE,SAAS,CAAC;AACjN,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI;AACnB,EAAE;AACF,EAAE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC;AAC3C,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,IAAI;AACN,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,sBAAsB,CAAC,aAAa,CAAC;AAC/E,IAAI,KAAK;AACT,IAAI,GAAG,EAAE,QAAQ,CAAC,GAAG;AACrB,IAAI,QAAQ;AACZ,IAAI;AACJ,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AACpB,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;AACd,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,6BAA6B,EAAE,EAAE,EAAE,SAAS,CAAC;AACjI,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- 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';
2
- import { t as testEmbeddingSettings } from './akm-Bvt9WaTk.js';
3
- import './src-CQ2F7hgb.js';
1
+ 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';
2
+ import { t as testEmbeddingSettings } from './akm-Dv9-jfkS.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,9 +21,9 @@ 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
 
28
28
  //#region src/routes/api/host/akm/embedding/test/+server.ts
29
29
  var POST = async (event) => {
@@ -53,4 +53,4 @@ var POST = async (event) => {
53
53
  };
54
54
 
55
55
  export { POST };
56
- //# sourceMappingURL=_server.ts-B_c9x_NC.js.map
56
+ //# sourceMappingURL=_server.ts-BuByt6I7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B_c9x_NC.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/akm/embedding/test/_server.ts.js"],"sourcesContent":["import { 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\";\nimport { r as testEmbeddingSettings } from \"../../../../../../../chunks/akm.js\";\n//#region src/routes/api/host/akm/embedding/test/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:read\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst body = parsed.data;\n\tconst endpoint = typeof body.endpoint === \"string\" ? body.endpoint : \"\";\n\tconst model = typeof body.model === \"string\" ? body.model : \"\";\n\tconst provider = typeof body.provider === \"string\" ? body.provider : \"\";\n\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey : \"\";\n\tconst dimension = typeof body.dimension === \"number\" ? body.dimension : void 0;\n\tif (!endpoint.trim() || !model.trim()) return errorResponse(400, \"bad_request\", \"Endpoint and model are required.\", {}, requestId);\n\tconst result = await testEmbeddingSettings({\n\t\tendpoint,\n\t\tmodel,\n\t\tprovider,\n\t\tapiKey,\n\t\tdimension\n\t});\n\tif (!result.ok) return errorResponse(502, \"embedding_test_failed\", result.message, {}, requestId);\n\treturn jsonResponse(200, result, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,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,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AAC/D,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AAClE,CAAC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM;AAC/E,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kCAAkC,EAAE,EAAE,EAAE,SAAS,CAAC;AACnI,CAAC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;AAC5C,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AAClG,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;AAC5C;;;;"}
1
+ {"version":3,"file":"_server.ts-BuByt6I7.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/akm/embedding/test/_server.ts.js"],"sourcesContent":["import { 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\";\nimport { r as testEmbeddingSettings } from \"../../../../../../../chunks/akm.js\";\n//#region src/routes/api/host/akm/embedding/test/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:read\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst parsed = await parseJsonBody(event.request);\n\tif (\"error\" in parsed) return jsonBodyError(parsed, requestId);\n\tconst body = parsed.data;\n\tconst endpoint = typeof body.endpoint === \"string\" ? body.endpoint : \"\";\n\tconst model = typeof body.model === \"string\" ? body.model : \"\";\n\tconst provider = typeof body.provider === \"string\" ? body.provider : \"\";\n\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey : \"\";\n\tconst dimension = typeof body.dimension === \"number\" ? body.dimension : void 0;\n\tif (!endpoint.trim() || !model.trim()) return errorResponse(400, \"bad_request\", \"Endpoint and model are required.\", {}, requestId);\n\tconst result = await testEmbeddingSettings({\n\t\tendpoint,\n\t\tmodel,\n\t\tprovider,\n\t\tapiKey,\n\t\tdimension\n\t});\n\tif (!result.ok) return errorResponse(502, \"embedding_test_failed\", result.message, {}, requestId);\n\treturn jsonResponse(200, result, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,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,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;AAC/D,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AAClE,CAAC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM;AAC/E,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kCAAkC,EAAE,EAAE,EAAE,SAAS,CAAC;AACnI,CAAC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;AAC5C,EAAE,QAAQ;AACV,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,MAAM;AACR,EAAE;AACF,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,uBAAuB,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AAClG,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC;AAC5C;;;;"}
@@ -1,6 +1,6 @@
1
- import { b5 as useExistingProviderForAssistantCli, 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, e as errorResponse, p as parseJsonBody, j as jsonBodyError, k as jsonResponse } from './helpers-CfpNg3il.js';
1
+ import { b5 as useExistingProviderForAssistantCli, 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, e as errorResponse, p as parseJsonBody, j as jsonBodyError, 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/providers/assistant-clis/[toolId]/use-provider/+server.ts
28
28
  var logger = createLogger("admin.assistant-cli-tools");
@@ -61,4 +61,4 @@ var POST = async (event) => {
61
61
  };
62
62
 
63
63
  export { POST };
64
- //# sourceMappingURL=_server.ts-zDEENUSw.js.map
64
+ //# sourceMappingURL=_server.ts-BvPCnwm4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-zDEENUSw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/assistant-clis/_toolId_/use-provider/_server.ts.js"],"sourcesContent":["import { Nt as createLogger } from \"../../../../../../../../chunks/compose-args.js\";\nimport { J as useExistingProviderForAssistantCli } 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/providers/assistant-clis/[toolId]/use-provider/+server.ts\nvar logger = createLogger(\"admin.assistant-cli-tools\");\nfunction isAssistantCliToolId(value) {\n\treturn value === \"codex\" || value === \"claude\" || value === \"copilot\" || value === \"pi\";\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\tconst toolId = event.params.toolId ?? \"\";\n\tif (!isAssistantCliToolId(toolId)) return errorResponse(400, \"bad_request\", \"Invalid assistant CLI tool id\", {}, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst providerId = typeof result.data.providerId === \"string\" ? result.data.providerId.trim() : \"\";\n\tif (!providerId) return errorResponse(400, \"bad_request\", \"providerId is required\", {}, requestId);\n\ttry {\n\t\tconst writtenPaths = useExistingProviderForAssistantCli(getState(), toolId, providerId);\n\t\tlogger.info(\"assistant CLI provider mapping written\", {\n\t\t\trequestId,\n\t\t\ttoolId,\n\t\t\tproviderId,\n\t\t\twrittenPaths\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\ttoolId,\n\t\t\tproviderId,\n\t\t\twrittenPaths\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn errorResponse(400, \"bad_request\", error instanceof Error ? error.message : \"Failed to write assistant CLI credentials\", {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,2BAA2B,CAAC;AACtD,SAAS,oBAAoB,CAAC,KAAK,EAAE;AACrC,CAAC,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;AACxF;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,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;AACzC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,+BAA+B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,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,UAAU,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;AACnG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,wBAAwB,EAAE,EAAE,EAAE,SAAS,CAAC;AACnG,CAAC,IAAI;AACL,EAAE,MAAM,YAAY,GAAG,kCAAkC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC;AACzF,EAAE,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;AACxD,GAAG,SAAS;AACZ,GAAG,MAAM;AACT,GAAG,UAAU;AACb,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM;AACT,GAAG,UAAU;AACb,GAAG;AACH,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,2CAA2C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/I,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-BvPCnwm4.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/assistant-clis/_toolId_/use-provider/_server.ts.js"],"sourcesContent":["import { Nt as createLogger } from \"../../../../../../../../chunks/compose-args.js\";\nimport { J as useExistingProviderForAssistantCli } 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/providers/assistant-clis/[toolId]/use-provider/+server.ts\nvar logger = createLogger(\"admin.assistant-cli-tools\");\nfunction isAssistantCliToolId(value) {\n\treturn value === \"codex\" || value === \"claude\" || value === \"copilot\" || value === \"pi\";\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\tconst toolId = event.params.toolId ?? \"\";\n\tif (!isAssistantCliToolId(toolId)) return errorResponse(400, \"bad_request\", \"Invalid assistant CLI tool id\", {}, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst providerId = typeof result.data.providerId === \"string\" ? result.data.providerId.trim() : \"\";\n\tif (!providerId) return errorResponse(400, \"bad_request\", \"providerId is required\", {}, requestId);\n\ttry {\n\t\tconst writtenPaths = useExistingProviderForAssistantCli(getState(), toolId, providerId);\n\t\tlogger.info(\"assistant CLI provider mapping written\", {\n\t\t\trequestId,\n\t\t\ttoolId,\n\t\t\tproviderId,\n\t\t\twrittenPaths\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\ttoolId,\n\t\t\tproviderId,\n\t\t\twrittenPaths\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn errorResponse(400, \"bad_request\", error instanceof Error ? error.message : \"Failed to write assistant CLI credentials\", {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,2BAA2B,CAAC;AACtD,SAAS,oBAAoB,CAAC,KAAK,EAAE;AACrC,CAAC,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;AACxF;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,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;AACzC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,+BAA+B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,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,UAAU,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE;AACnG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,wBAAwB,EAAE,EAAE,EAAE,SAAS,CAAC;AACnG,CAAC,IAAI;AACL,EAAE,MAAM,YAAY,GAAG,kCAAkC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC;AACzF,EAAE,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;AACxD,GAAG,SAAS;AACZ,GAAG,MAAM;AACT,GAAG,UAAU;AACb,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM;AACT,GAAG,UAAU;AACb,GAAG;AACH,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,2CAA2C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/I,CAAC;AACD;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { af as isSetupComplete, aX as resolveOpenPalmHome, au as performSetup, an as mapDockerError, aL as reconcileMdnsResponder, p as checkDocker } from './src-CQ2F7hgb.js';
3
- import { g as getState, r as resetState } from './state-CsIDHNPN.js';
4
- import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-CfpNg3il.js';
5
- import { s as sessionCookieHeader } from './session-cookie-CDynAOx3.js';
6
- import { p as prepareSetupRestorePoint, s as startDeploy, r as resetDeployState } from './setup-deploy-CRW2KpZR.js';
2
+ import { af as isSetupComplete, aX as resolveOpenPalmHome, au as performSetup, an as mapDockerError, aL as reconcileMdnsResponder, p as checkDocker } from './src-AHSKeKr0.js';
3
+ import { g as getState, r as resetState } from './state-CzXOEt0t.js';
4
+ import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-9U7R7yqL.js';
5
+ import { s as sessionCookieHeader } from './session-cookie-9GKSbczI.js';
6
+ import { p as prepareSetupRestorePoint, s as startDeploy, r as resetDeployState } from './setup-deploy-32URXYdb.js';
7
7
  import './utils-OXHIhUb5.js';
8
8
  import './chunk-DOvWTNp_.js';
9
9
  import 'node:module';
@@ -25,8 +25,8 @@ import 'assert';
25
25
  import 'zlib';
26
26
  import 'node:assert';
27
27
  import 'node:fs/promises';
28
- import './endpoints-WTxemTcn.js';
29
- import './features-BE2x1a_a.js';
28
+ import './endpoints-CnnGlw2U.js';
29
+ import './features-BUWlozR5.js';
30
30
 
31
31
  //#region src/routes/api/setup/complete/+server.ts
32
32
  var POST = async (event) => {
@@ -93,4 +93,4 @@ var POST = async (event) => {
93
93
  };
94
94
 
95
95
  export { POST };
96
- //# sourceMappingURL=_server.ts-LHKCcBS1.js.map
96
+ //# sourceMappingURL=_server.ts-Bx5L70N3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-LHKCcBS1.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Tt as resolveOpenPalmHome } from \"../../../../../chunks/compose-args.js\";\nimport { P as mapDockerError, i as checkDocker } from \"../../../../../chunks/docker.js\";\nimport { B as isSetupComplete, l as performSetup, r as reconcileMdnsResponder } from \"../../../../../chunks/src.js\";\nimport { n as resetState, t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, g as getUiLoginPassword, h as createSession, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\nimport { i as startDeploy, n as prepareSetupRestorePoint, r as resetDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/complete/+server.ts\nvar POST = async (event) => {\n\tif (isSetupComplete(resolveOpenPalmHome())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst { request } = event;\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst dryRun = body.dryRun === true;\n\tlet result;\n\ttry {\n\t\tprepareSetupRestorePoint(getState());\n\t\tresult = await performSetup(body);\n\t} catch (err) {\n\t\tconst mapped = mapDockerError(String(err));\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: mapped.code,\n\t\t\tmessage: mapped.message\n\t\t}, { status: 500 });\n\t}\n\tif (!result.ok) return json(result, { status: 400 });\n\tresetState();\n\tconst state = getState();\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword) process.env.OP_UI_LOGIN_PASSWORD = body.security.uiLoginPassword;\n\treconcileMdnsResponder(state.homeDir);\n\tresetDeployState();\n\tlet dockerCheck = null;\n\tif (!dryRun) {\n\t\tdockerCheck = await checkDocker();\n\t\tif (dockerCheck.ok) startDeploy(state);\n\t\telse return json({\n\t\t\tok: false,\n\t\t\terror: \"docker_unavailable\",\n\t\t\tmessage: \"Docker isn't running. Start Docker Desktop or OrbStack, then try again.\"\n\t\t}, {\n\t\t\tstatus: 503,\n\t\t\theaders: { \"content-type\": \"application/json\" }\n\t\t});\n\t}\n\tconst headers = new Headers({ \"content-type\": \"application/json\" });\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword || getUiLoginPassword()) {\n\t\tconst sessionToken = createSession();\n\t\theaders.set(\"set-cookie\", sessionCookieHeader(sessionToken, event.request));\n\t}\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\tdockerAvailable: dockerCheck?.ok ?? false,\n\t\tdryRun\n\t}), {\n\t\tstatus: 200,\n\t\theaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Bx5L70N3.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Tt as resolveOpenPalmHome } from \"../../../../../chunks/compose-args.js\";\nimport { P as mapDockerError, i as checkDocker } from \"../../../../../chunks/docker.js\";\nimport { B as isSetupComplete, l as performSetup, r as reconcileMdnsResponder } from \"../../../../../chunks/src.js\";\nimport { n as resetState, t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, g as getUiLoginPassword, h as createSession, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\nimport { i as startDeploy, n as prepareSetupRestorePoint, r as resetDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/complete/+server.ts\nvar POST = async (event) => {\n\tif (isSetupComplete(resolveOpenPalmHome())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst { request } = event;\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst dryRun = body.dryRun === true;\n\tlet result;\n\ttry {\n\t\tprepareSetupRestorePoint(getState());\n\t\tresult = await performSetup(body);\n\t} catch (err) {\n\t\tconst mapped = mapDockerError(String(err));\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: mapped.code,\n\t\t\tmessage: mapped.message\n\t\t}, { status: 500 });\n\t}\n\tif (!result.ok) return json(result, { status: 400 });\n\tresetState();\n\tconst state = getState();\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword) process.env.OP_UI_LOGIN_PASSWORD = body.security.uiLoginPassword;\n\treconcileMdnsResponder(state.homeDir);\n\tresetDeployState();\n\tlet dockerCheck = null;\n\tif (!dryRun) {\n\t\tdockerCheck = await checkDocker();\n\t\tif (dockerCheck.ok) startDeploy(state);\n\t\telse return json({\n\t\t\tok: false,\n\t\t\terror: \"docker_unavailable\",\n\t\t\tmessage: \"Docker isn't running. Start Docker Desktop or OrbStack, then try again.\"\n\t\t}, {\n\t\t\tstatus: 503,\n\t\t\theaders: { \"content-type\": \"application/json\" }\n\t\t});\n\t}\n\tconst headers = new Headers({ \"content-type\": \"application/json\" });\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword || getUiLoginPassword()) {\n\t\tconst sessionToken = createSession();\n\t\theaders.set(\"set-cookie\", sessionCookieHeader(sessionToken, event.request));\n\t}\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\tdockerAvailable: dockerCheck?.ok ?? false,\n\t\tdryRun\n\t}), {\n\t\tstatus: 200,\n\t\theaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-CfpNg3il.js';
2
- import { s as sessionCookieHeader } from './session-cookie-CDynAOx3.js';
3
- import './src-CQ2F7hgb.js';
1
+ import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-9U7R7yqL.js';
2
+ import { s as sessionCookieHeader } from './session-cookie-9GKSbczI.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,9 +21,9 @@ 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
 
28
28
  //#region src/routes/api/auth/session/+server.ts
29
29
  /**
@@ -61,4 +61,4 @@ var POST = async (event) => {
61
61
  };
62
62
 
63
63
  export { POST };
64
- //# sourceMappingURL=_server.ts-CRvbt_Ny.js.map
64
+ //# sourceMappingURL=_server.ts-ByTth5Q4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CRvbt_Ny.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/auth/session/_server.ts.js"],"sourcesContent":["import { a as getRequestId, f as safeTokenCompare, g as getUiLoginPassword, h as createSession, r as errorResponse } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/api/auth/session/+server.ts\n/**\n* POST /api/auth/session\n*\n* Issues an `op_session` cookie after verifying the operator-supplied password\n* against `process.env.OP_UI_LOGIN_PASSWORD`.\n*\n* The cookie value is a random UUID session token — NOT the plaintext password.\n* Kept alongside `/api/auth/login` as an alias; both verify the same\n* `password` body field and issue the `op_session` cookie.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-ByTth5Q4.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/auth/session/_server.ts.js"],"sourcesContent":["import { a as getRequestId, f as safeTokenCompare, g as getUiLoginPassword, h as createSession, r as errorResponse } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/api/auth/session/+server.ts\n/**\n* POST /api/auth/session\n*\n* Issues an `op_session` cookie after verifying the operator-supplied password\n* against `process.env.OP_UI_LOGIN_PASSWORD`.\n*\n* The cookie value is a random UUID session token — NOT the plaintext password.\n* Kept alongside `/api/auth/login` as an alias; both verify the same\n* `password` body field and issue the `op_session` cookie.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { aY as runAssistantAkmCommand } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin } from './helpers-CfpNg3il.js';
1
+ import { aY as runAssistantAkmCommand } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin } 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/lib/server/akm-health-report.ts
28
28
  var AKM_HEALTH_REPORT_WINDOWS = [
@@ -104,4 +104,4 @@ var GET = async (event) => {
104
104
  };
105
105
 
106
106
  export { GET };
107
- //# sourceMappingURL=_server.ts-p16c9Uzl.js.map
107
+ //# sourceMappingURL=_server.ts-C4cnIzbb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-p16c9Uzl.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/akm/health-report/_server.ts.js"],"sourcesContent":["import { o as runAssistantAkmCommand } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, d as requireCapability, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/lib/server/akm-health-report.ts\nvar AKM_HEALTH_REPORT_WINDOWS = [\n\t\"24h\",\n\t\"72h\",\n\t\"7d\",\n\t\"14d\",\n\t\"30d\"\n];\nfunction clampWindow(value) {\n\treturn AKM_HEALTH_REPORT_WINDOWS.includes(value ?? \"\") ? value : \"72h\";\n}\nfunction errorHtml(window, missing, detail) {\n\treturn `<!doctype html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>AKM Health Report</title><style>body{margin:0;font-family:Inter,system-ui,sans-serif;background:#07111f;color:#e5eefc;padding:24px}main{max-width:860px;margin:0 auto;background:#101b2d;border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:24px}pre{white-space:pre-wrap;background:#15233a;padding:16px;border-radius:12px;overflow:auto}code{font-family:ui-monospace,SFMono-Regular,monospace}</style></head><body><main><h1>${missing ? \"AKM is not available\" : \"AKM health report unavailable\"}</h1><p>${missing ? \"The <code>akm</code> CLI was not found in the running assistant container.\" : `The admin UI could not build the report from <code>akm health</code> for window <code>${window}</code>.`}</p>${detail ? `<pre>${detail.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\")}</pre>` : \"\"}</main></body></html>`;\n}\nasync function buildAkmHealthReport(state, requestedWindow) {\n\tconst window = clampWindow(requestedWindow);\n\tconst result = await runAssistantAkmCommand(state, [\n\t\t\"health\",\n\t\t`--since=${window}`,\n\t\t\"--format\",\n\t\t\"html\"\n\t], 3e4);\n\tif (result.missing) return {\n\t\twindow,\n\t\thtml: errorHtml(window, true, \"\")\n\t};\n\tif (!result.ok || !result.stdout.trim()) return {\n\t\twindow,\n\t\thtml: errorHtml(window, false, [result.stderr.trim(), result.stdout.trim()].filter(Boolean).join(\"\\n\\n\"))\n\t};\n\treturn {\n\t\thtml: result.stdout,\n\t\twindow\n\t};\n}\n//#endregion\n//#region src/routes/api/host/akm/health-report/+server.ts\nvar REPORT_CSP = [\n\t\"default-src 'none'\",\n\t\"script-src 'self' 'unsafe-inline'\",\n\t\"style-src 'unsafe-inline'\",\n\t\"img-src 'self' data:\",\n\t\"font-src 'self' data:\",\n\t\"connect-src 'none'\",\n\t\"object-src 'none'\",\n\t\"base-uri 'none'\",\n\t\"form-action 'none'\",\n\t\"frame-ancestors 'self'\"\n].join(\"; \");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\ttry {\n\t\tconst { html } = await buildAkmHealthReport(getState(), event.url.searchParams.get(\"since\"));\n\t\treturn new Response(html, {\n\t\t\tstatus: 200,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"text/html; charset=utf-8\",\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"content-security-policy\": REPORT_CSP,\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\tconst message = error instanceof Error ? error.message : \"Failed to build AKM health report.\";\n\t\treturn new Response(message, {\n\t\t\tstatus: 500,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"text/plain; charset=utf-8\",\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-C4cnIzbb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/akm/health-report/_server.ts.js"],"sourcesContent":["import { o as runAssistantAkmCommand } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, d as requireCapability, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/lib/server/akm-health-report.ts\nvar AKM_HEALTH_REPORT_WINDOWS = [\n\t\"24h\",\n\t\"72h\",\n\t\"7d\",\n\t\"14d\",\n\t\"30d\"\n];\nfunction clampWindow(value) {\n\treturn AKM_HEALTH_REPORT_WINDOWS.includes(value ?? \"\") ? value : \"72h\";\n}\nfunction errorHtml(window, missing, detail) {\n\treturn `<!doctype html><html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><title>AKM Health Report</title><style>body{margin:0;font-family:Inter,system-ui,sans-serif;background:#07111f;color:#e5eefc;padding:24px}main{max-width:860px;margin:0 auto;background:#101b2d;border:1px solid rgba(148,163,184,.18);border-radius:18px;padding:24px}pre{white-space:pre-wrap;background:#15233a;padding:16px;border-radius:12px;overflow:auto}code{font-family:ui-monospace,SFMono-Regular,monospace}</style></head><body><main><h1>${missing ? \"AKM is not available\" : \"AKM health report unavailable\"}</h1><p>${missing ? \"The <code>akm</code> CLI was not found in the running assistant container.\" : `The admin UI could not build the report from <code>akm health</code> for window <code>${window}</code>.`}</p>${detail ? `<pre>${detail.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\")}</pre>` : \"\"}</main></body></html>`;\n}\nasync function buildAkmHealthReport(state, requestedWindow) {\n\tconst window = clampWindow(requestedWindow);\n\tconst result = await runAssistantAkmCommand(state, [\n\t\t\"health\",\n\t\t`--since=${window}`,\n\t\t\"--format\",\n\t\t\"html\"\n\t], 3e4);\n\tif (result.missing) return {\n\t\twindow,\n\t\thtml: errorHtml(window, true, \"\")\n\t};\n\tif (!result.ok || !result.stdout.trim()) return {\n\t\twindow,\n\t\thtml: errorHtml(window, false, [result.stderr.trim(), result.stdout.trim()].filter(Boolean).join(\"\\n\\n\"))\n\t};\n\treturn {\n\t\thtml: result.stdout,\n\t\twindow\n\t};\n}\n//#endregion\n//#region src/routes/api/host/akm/health-report/+server.ts\nvar REPORT_CSP = [\n\t\"default-src 'none'\",\n\t\"script-src 'self' 'unsafe-inline'\",\n\t\"style-src 'unsafe-inline'\",\n\t\"img-src 'self' data:\",\n\t\"font-src 'self' data:\",\n\t\"connect-src 'none'\",\n\t\"object-src 'none'\",\n\t\"base-uri 'none'\",\n\t\"form-action 'none'\",\n\t\"frame-ancestors 'self'\"\n].join(\"; \");\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:containers\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst denied = requireAdmin(event, requestId);\n\tif (denied) return denied;\n\ttry {\n\t\tconst { html } = await buildAkmHealthReport(getState(), event.url.searchParams.get(\"since\"));\n\t\treturn new Response(html, {\n\t\t\tstatus: 200,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"text/html; charset=utf-8\",\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"content-security-policy\": REPORT_CSP,\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t} catch (error) {\n\t\tconst message = error instanceof Error ? error.message : \"Failed to build AKM health report.\";\n\t\treturn new Response(message, {\n\t\t\tstatus: 500,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"text/plain; charset=utf-8\",\n\t\t\t\t\"cache-control\": \"no-store\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { g as getOpenCodeClient } from './helpers-CfpNg3il.js';
2
+ import { g as getOpenCodeClient } from './helpers-9U7R7yqL.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 './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/setup/opencode/auth/[provider]/+server.ts
30
30
  var PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;
@@ -49,4 +49,4 @@ var PUT = async ({ params, request }) => {
49
49
  };
50
50
 
51
51
  export { PUT };
52
- //# sourceMappingURL=_server.ts-DNVQMHzn.js.map
52
+ //# sourceMappingURL=_server.ts-C7R2xQ_O.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DNVQMHzn.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/auth/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../../chunks/exports.js\";\nimport { i as getOpenCodeClient } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/auth/[provider]/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar PUT = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst { key } = await request.json();\n\t\tif (!(await getOpenCodeClient().setProviderApiKey(params.provider, typeof key === \"string\" ? key : \"\")).ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 400 });\n\t\treturn json({ ok: true });\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AACzC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACtC,EAAE,IAAI,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC;AAC1H,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-C7R2xQ_O.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/auth/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../../chunks/exports.js\";\nimport { i as getOpenCodeClient } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/auth/[provider]/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar PUT = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst { key } = await request.json();\n\t\tif (!(await getOpenCodeClient().setProviderApiKey(params.provider, typeof key === \"string\" ? key : \"\")).ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 400 });\n\t\treturn json({ ok: true });\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AACzC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACtC,EAAE,IAAI,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC;AAC1H,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { d as getRequestId, l as requireCapability, r as requireAdmin } from './helpers-CfpNg3il.js';
2
+ import { d as getRequestId, l as requireCapability, r as requireAdmin } from './helpers-9U7R7yqL.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 './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/ui/+server.ts
30
30
  var UI_PACKAGE = "@openpalm/ui";
@@ -84,4 +84,4 @@ var GET = async (event) => {
84
84
  };
85
85
 
86
86
  export { GET };
87
- //# sourceMappingURL=_server.ts-DuOVzmV5.js.map
87
+ //# sourceMappingURL=_server.ts-CDC5Za0f.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DuOVzmV5.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/versions/ui/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { a as getRequestId, d as requireCapability, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/versions/ui/+server.ts\nvar UI_PACKAGE = \"@openpalm/ui\";\n/**\n* List published `@openpalm/ui` npm versions for the admin \"UI build\" picker.\n*\n* The UI is independently versioned and distributed via npm, so this is the\n* authoritative source of installable UI builds — the selected version is POSTed\n* to /api/host/ui-version, which seeds it from npm. Best-effort: a 404 (package not\n* yet published) or registry outage yields an empty list. Newest-first. (No\n* server-side cache — the admin UI no longer polls this.)\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\ttry {\n\t\tconst res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(UI_PACKAGE)}`, {\n\t\t\theaders: {\n\t\t\t\tAccept: \"application/json\",\n\t\t\t\t\"User-Agent\": \"openpalm-admin/1.0\"\n\t\t\t},\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return json({\n\t\t\tversions: [],\n\t\t\tdistTags: {},\n\t\t\terror: \"npm registry unavailable\"\n\t\t});\n\t\tconst pack = await res.json();\n\t\tconst distTagByVersion = /* @__PURE__ */ new Map();\n\t\tconst distTags = {};\n\t\tfor (const [tag, version] of Object.entries(pack[\"dist-tags\"] ?? {})) {\n\t\t\tdistTags[tag] = version;\n\t\t\tif (!distTagByVersion.has(version) || tag === \"latest\") distTagByVersion.set(version, tag);\n\t\t}\n\t\tconst allVersions = Object.keys(pack.versions ?? {});\n\t\tconst time = pack.time ?? {};\n\t\treturn json({\n\t\t\tversions: allVersions.map((version) => ({\n\t\t\t\tversion,\n\t\t\t\tprerelease: version.includes(\"-\"),\n\t\t\t\tpublishedAt: time[version] ?? null,\n\t\t\t\tdistTag: distTagByVersion.get(version) ?? null\n\t\t\t})).sort((a, b) => (b.publishedAt ?? \"\").localeCompare(a.publishedAt ?? \"\")).slice(0, 20),\n\t\t\tdistTags\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tversions: [],\n\t\t\tdistTags: {},\n\t\t\terror: \"npm registry unavailable\"\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,UAAU,GAAG,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,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,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;AAC1F,GAAG,OAAO,EAAE;AACZ,IAAI,MAAM,EAAE,kBAAkB;AAC9B,IAAI,YAAY,EAAE;AAClB,IAAI;AACJ,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC3B,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE;AAC/B,EAAE,MAAM,gBAAgB,mBAAmB,IAAI,GAAG,EAAE;AACpD,EAAE,MAAM,QAAQ,GAAG,EAAE;AACrB,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE;AACxE,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO;AAC1B,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC;AAC7F,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;AACtD,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE;AAC9B,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM;AAC3C,IAAI,OAAO;AACX,IAAI,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrC,IAAI,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI;AACtC,IAAI,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;AAC9C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5F,GAAG;AACH,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-CDC5Za0f.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/versions/ui/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { a as getRequestId, d as requireCapability, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/versions/ui/+server.ts\nvar UI_PACKAGE = \"@openpalm/ui\";\n/**\n* List published `@openpalm/ui` npm versions for the admin \"UI build\" picker.\n*\n* The UI is independently versioned and distributed via npm, so this is the\n* authoritative source of installable UI builds — the selected version is POSTed\n* to /api/host/ui-version, which seeds it from npm. Best-effort: a 404 (package not\n* yet published) or registry outage yields an empty list. Newest-first. (No\n* server-side cache — the admin UI no longer polls this.)\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:updates\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\ttry {\n\t\tconst res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(UI_PACKAGE)}`, {\n\t\t\theaders: {\n\t\t\t\tAccept: \"application/json\",\n\t\t\t\t\"User-Agent\": \"openpalm-admin/1.0\"\n\t\t\t},\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return json({\n\t\t\tversions: [],\n\t\t\tdistTags: {},\n\t\t\terror: \"npm registry unavailable\"\n\t\t});\n\t\tconst pack = await res.json();\n\t\tconst distTagByVersion = /* @__PURE__ */ new Map();\n\t\tconst distTags = {};\n\t\tfor (const [tag, version] of Object.entries(pack[\"dist-tags\"] ?? {})) {\n\t\t\tdistTags[tag] = version;\n\t\t\tif (!distTagByVersion.has(version) || tag === \"latest\") distTagByVersion.set(version, tag);\n\t\t}\n\t\tconst allVersions = Object.keys(pack.versions ?? {});\n\t\tconst time = pack.time ?? {};\n\t\treturn json({\n\t\t\tversions: allVersions.map((version) => ({\n\t\t\t\tversion,\n\t\t\t\tprerelease: version.includes(\"-\"),\n\t\t\t\tpublishedAt: time[version] ?? null,\n\t\t\t\tdistTag: distTagByVersion.get(version) ?? null\n\t\t\t})).sort((a, b) => (b.publishedAt ?? \"\").localeCompare(a.publishedAt ?? \"\")).slice(0, 20),\n\t\t\tdistTags\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tversions: [],\n\t\t\tdistTags: {},\n\t\t\terror: \"npm registry unavailable\"\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,UAAU,GAAG,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,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,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;AAC1F,GAAG,OAAO,EAAE;AACZ,IAAI,MAAM,EAAE,kBAAkB;AAC9B,IAAI,YAAY,EAAE;AAClB,IAAI;AACJ,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC3B,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE;AAC/B,EAAE,MAAM,gBAAgB,mBAAmB,IAAI,GAAG,EAAE;AACpD,EAAE,MAAM,QAAQ,GAAG,EAAE;AACrB,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE;AACxE,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO;AAC1B,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC;AAC7F,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;AACtD,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE;AAC9B,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM;AAC3C,IAAI,OAAO;AACX,IAAI,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrC,IAAI,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI;AACtC,IAAI,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;AAC9C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5F,GAAG;AACH,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { ac as importHostOpenCode, j as authJsonPath, Q as detectHostOpenCode, F as createLogger, p as checkDocker, n as buildComposeOptions } from './src-CQ2F7hgb.js';
3
- import { g as getState } from './state-CsIDHNPN.js';
4
- import { o as opencodeFetch } from './http-WP5cji9-.js';
5
- import { c as composeRestart } from './docker3-Dn-Mm2cT.js';
2
+ import { ac as importHostOpenCode, j as authJsonPath, Q as detectHostOpenCode, F as createLogger, p as checkDocker, n as buildComposeOptions } from './src-AHSKeKr0.js';
3
+ import { g as getState } from './state-CzXOEt0t.js';
4
+ import { o as opencodeFetch } from './http-D2Aul-FP.js';
5
+ import { c as composeRestart } from './docker3-TVLvF3ly.js';
6
6
  import { existsSync, readFileSync } from 'node:fs';
7
7
  import './utils-OXHIhUb5.js';
8
8
  import './chunk-DOvWTNp_.js';
@@ -24,7 +24,7 @@ import 'assert';
24
24
  import 'zlib';
25
25
  import 'node:assert';
26
26
  import 'node:fs/promises';
27
- import './endpoints-WTxemTcn.js';
27
+ import './endpoints-CnnGlw2U.js';
28
28
 
29
29
  //#region src/routes/api/setup/import-host/+server.ts
30
30
  /**
@@ -168,4 +168,4 @@ var POST = async () => {
168
168
  };
169
169
 
170
170
  export { POST };
171
- //# sourceMappingURL=_server.ts-DM8N7von.js.map
171
+ //# sourceMappingURL=_server.ts-CGX-Vd-3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DM8N7von.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/import-host/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Nt as createLogger, 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 { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker3.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/import-host/+server.ts\n/**\n* POST /api/setup/import-host\n*\n* Setup-phase equivalent of POST /api/host/providers/import-host.\n* No admin auth required — the admin token hasn't been written yet during setup.\n*\n* Copies host OpenCode config + auth into OP_HOME and live-pushes credentials\n* to the running OpenCode subprocess so providers appear connected immediately.\n*/\nvar logger = createLogger(\"setup:import-host\");\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch (err) {\n\t\treturn {\n\t\t\tpushed: [],\n\t\t\terrors: [{\n\t\t\t\tprovider: \"*\",\n\t\t\t\terror: `Could not read auth.json: ${err instanceof Error ? err.message : String(err)}`\n\t\t\t}]\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: [],\n\t\terrors: [{\n\t\t\tprovider: \"*\",\n\t\t\terror: \"auth.json is not a JSON object\"\n\t\t}]\n\t};\n\tconst pushed = [];\n\tconst errors = [];\n\tfor (const [providerId, value] of Object.entries(raw)) {\n\t\tif (providerId === \"anthropic\") continue;\n\t\ttry {\n\t\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\tbody: JSON.stringify(value)\n\t\t\t});\n\t\t\tpushed.push(providerId);\n\t\t} catch (err) {\n\t\t\terrors.push({\n\t\t\t\tprovider: providerId,\n\t\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t\t});\n\t\t}\n\t}\n\treturn {\n\t\tpushed,\n\t\terrors\n\t};\n}\n/** Restart provider-consuming services so they re-read imported startup config. */\nasync function restartProviderConsumers(state) {\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(state);\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/** Read the provider ids present in an auth.json, ignoring read/parse errors. */\nfunction providerIdsFromAuth(authPath) {\n\ttry {\n\t\tconst raw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t\tif (raw && typeof raw === \"object\" && !Array.isArray(raw)) return Object.keys(raw);\n\t} catch {}\n\treturn [];\n}\nvar POST = async () => {\n\tconst state = getState();\n\tlet result;\n\ttry {\n\t\tresult = importHostOpenCode(state, { overwriteConflicts: false });\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: `Could not copy host OpenCode config: ${err instanceof Error ? err.message : String(err)}`\n\t\t}, { status: 500 });\n\t}\n\tconst importedAuthPath = authJsonPath(state);\n\tlet importedProviderIds = [];\n\tif (result.imported.credentials > 0 || existsSync(importedAuthPath)) {\n\t\tconst fromDestination = providerIdsFromAuth(importedAuthPath);\n\t\tif (fromDestination.length > 0) importedProviderIds = fromDestination;\n\t\telse if (result.imported.credentials > 0) {\n\t\t\tconst hostStatus = detectHostOpenCode();\n\t\t\tconst hostFallback = hostStatus.authPath ? providerIdsFromAuth(hostStatus.authPath) : [];\n\t\t\tlogger.warn(\"post-copy auth.json read returned no providers despite credentials being reported; falling back to host auth.json\", {\n\t\t\t\timportedAuthPath,\n\t\t\t\timportedCredentials: result.imported.credentials,\n\t\t\t\tfallbackCount: hostFallback.length\n\t\t\t});\n\t\t\timportedProviderIds = hostFallback;\n\t\t}\n\t}\n\tconst conflictProviders = result.conflicts;\n\tconst authPathToUse = existsSync(importedAuthPath) ? importedAuthPath : null;\n\tlet pushResult = {\n\t\tpushed: [],\n\t\terrors: []\n\t};\n\tif (authPathToUse) pushResult = await pushAuthToOpenCode(authPathToUse);\n\tconst restart = await restartProviderConsumers(state);\n\treturn json({\n\t\tok: true,\n\t\timported: result.imported,\n\t\timportedProviders: importedProviderIds,\n\t\tconflicts: result.conflicts.length,\n\t\tconflictProviders,\n\t\tlivePushed: pushResult.pushed.length,\n\t\tpushedProviders: pushResult.pushed,\n\t\terrors: pushResult.errors,\n\t\trestarted: restart.restarted,\n\t\trestartFailed: restart.failed\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CGX-Vd-3.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/import-host/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { Nt as createLogger, 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 { t as opencodeFetch } from \"../../../../../chunks/http.js\";\nimport { t as composeRestart } from \"../../../../../chunks/docker3.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/import-host/+server.ts\n/**\n* POST /api/setup/import-host\n*\n* Setup-phase equivalent of POST /api/host/providers/import-host.\n* No admin auth required — the admin token hasn't been written yet during setup.\n*\n* Copies host OpenCode config + auth into OP_HOME and live-pushes credentials\n* to the running OpenCode subprocess so providers appear connected immediately.\n*/\nvar logger = createLogger(\"setup:import-host\");\nasync function pushAuthToOpenCode(authPath) {\n\tlet raw;\n\ttry {\n\t\traw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t} catch (err) {\n\t\treturn {\n\t\t\tpushed: [],\n\t\t\terrors: [{\n\t\t\t\tprovider: \"*\",\n\t\t\t\terror: `Could not read auth.json: ${err instanceof Error ? err.message : String(err)}`\n\t\t\t}]\n\t\t};\n\t}\n\tif (!raw || typeof raw !== \"object\" || Array.isArray(raw)) return {\n\t\tpushed: [],\n\t\terrors: [{\n\t\t\tprovider: \"*\",\n\t\t\terror: \"auth.json is not a JSON object\"\n\t\t}]\n\t};\n\tconst pushed = [];\n\tconst errors = [];\n\tfor (const [providerId, value] of Object.entries(raw)) {\n\t\tif (providerId === \"anthropic\") continue;\n\t\ttry {\n\t\t\tawait opencodeFetch(`/auth/${encodeURIComponent(providerId)}`, {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\tbody: JSON.stringify(value)\n\t\t\t});\n\t\t\tpushed.push(providerId);\n\t\t} catch (err) {\n\t\t\terrors.push({\n\t\t\t\tprovider: providerId,\n\t\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t\t});\n\t\t}\n\t}\n\treturn {\n\t\tpushed,\n\t\terrors\n\t};\n}\n/** Restart provider-consuming services so they re-read imported startup config. */\nasync function restartProviderConsumers(state) {\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(state);\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/** Read the provider ids present in an auth.json, ignoring read/parse errors. */\nfunction providerIdsFromAuth(authPath) {\n\ttry {\n\t\tconst raw = JSON.parse(readFileSync(authPath, \"utf-8\"));\n\t\tif (raw && typeof raw === \"object\" && !Array.isArray(raw)) return Object.keys(raw);\n\t} catch {}\n\treturn [];\n}\nvar POST = async () => {\n\tconst state = getState();\n\tlet result;\n\ttry {\n\t\tresult = importHostOpenCode(state, { overwriteConflicts: false });\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: `Could not copy host OpenCode config: ${err instanceof Error ? err.message : String(err)}`\n\t\t}, { status: 500 });\n\t}\n\tconst importedAuthPath = authJsonPath(state);\n\tlet importedProviderIds = [];\n\tif (result.imported.credentials > 0 || existsSync(importedAuthPath)) {\n\t\tconst fromDestination = providerIdsFromAuth(importedAuthPath);\n\t\tif (fromDestination.length > 0) importedProviderIds = fromDestination;\n\t\telse if (result.imported.credentials > 0) {\n\t\t\tconst hostStatus = detectHostOpenCode();\n\t\t\tconst hostFallback = hostStatus.authPath ? providerIdsFromAuth(hostStatus.authPath) : [];\n\t\t\tlogger.warn(\"post-copy auth.json read returned no providers despite credentials being reported; falling back to host auth.json\", {\n\t\t\t\timportedAuthPath,\n\t\t\t\timportedCredentials: result.imported.credentials,\n\t\t\t\tfallbackCount: hostFallback.length\n\t\t\t});\n\t\t\timportedProviderIds = hostFallback;\n\t\t}\n\t}\n\tconst conflictProviders = result.conflicts;\n\tconst authPathToUse = existsSync(importedAuthPath) ? importedAuthPath : null;\n\tlet pushResult = {\n\t\tpushed: [],\n\t\terrors: []\n\t};\n\tif (authPathToUse) pushResult = await pushAuthToOpenCode(authPathToUse);\n\tconst restart = await restartProviderConsumers(state);\n\treturn json({\n\t\tok: true,\n\t\timported: result.imported,\n\t\timportedProviders: importedProviderIds,\n\t\tconflicts: result.conflicts.length,\n\t\tconflictProviders,\n\t\tlivePushed: pushResult.pushed.length,\n\t\tpushedProviders: pushResult.pushed,\n\t\terrors: pushResult.errors,\n\t\trestarted: restart.restarted,\n\t\trestartFailed: restart.failed\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAC9C,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,OAAO,GAAG,EAAE;AACf,EAAE,OAAO;AACT,GAAG,MAAM,EAAE,EAAE;AACb,GAAG,MAAM,EAAE,CAAC;AACZ,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,KAAK,EAAE,CAAC,0BAA0B,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACzF,IAAI;AACJ,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,EAAE;AACZ,EAAE,MAAM,EAAE,CAAC;AACX,GAAG,QAAQ,EAAE,GAAG;AAChB,GAAG,KAAK,EAAE;AACV,GAAG;AACH,EAAE;AACF,CAAC,MAAM,MAAM,GAAG,EAAE;AAClB,CAAC,MAAM,MAAM,GAAG,EAAE;AAClB,CAAC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACxD,EAAE,IAAI,UAAU,KAAK,WAAW,EAAE;AAClC,EAAE,IAAI;AACN,GAAG,MAAM,aAAa,CAAC,CAAC,MAAM,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;AAClE,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;AAC9B,IAAI,CAAC;AACL,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1B,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,MAAM,CAAC,IAAI,CAAC;AACf,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AAC1D,IAAI,CAAC;AACL,EAAE;AACF,CAAC;AACD,CAAC,OAAO;AACR,EAAE,MAAM;AACR,EAAE;AACF,EAAE;AACF;AACA;AACA,eAAe,wBAAwB,CAAC,KAAK,EAAE;AAC/C,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,KAAK,CAAC;AACxC,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,SAAS,mBAAmB,CAAC,QAAQ,EAAE;AACvC,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzD,EAAE,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACpF,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,EAAE;AACV;AACG,IAAC,IAAI,GAAG,YAAY;AACvB,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,MAAM;AACX,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AACnE,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,CAAC,qCAAqC,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACnG,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC;AAC7C,CAAC,IAAI,mBAAmB,GAAG,EAAE;AAC7B,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE;AACtE,EAAE,MAAM,eAAe,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;AAC/D,EAAE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,mBAAmB,GAAG,eAAe;AACvE,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,EAAE;AAC5C,GAAG,MAAM,UAAU,GAAG,kBAAkB,EAAE;AAC1C,GAAG,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;AAC3F,GAAG,MAAM,CAAC,IAAI,CAAC,mHAAmH,EAAE;AACpI,IAAI,gBAAgB;AACpB,IAAI,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW;AACpD,IAAI,aAAa,EAAE,YAAY,CAAC;AAChC,IAAI,CAAC;AACL,GAAG,mBAAmB,GAAG,YAAY;AACrC,EAAE;AACF,CAAC;AACD,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS;AAC3C,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,IAAI;AAC7E,CAAC,IAAI,UAAU,GAAG;AAClB,EAAE,MAAM,EAAE,EAAE;AACZ,EAAE,MAAM,EAAE;AACV,EAAE;AACF,CAAC,IAAI,aAAa,EAAE,UAAU,GAAG,MAAM,kBAAkB,CAAC,aAAa,CAAC;AACxE,CAAC,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,KAAK,CAAC;AACtD,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC3B,EAAE,iBAAiB,EAAE,mBAAmB;AACxC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;AACpC,EAAE,iBAAiB;AACnB,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM;AACtC,EAAE,eAAe,EAAE,UAAU,CAAC,MAAM;AACpC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM;AAC3B,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;AAC9B,EAAE,aAAa,EAAE,OAAO,CAAC;AACzB,EAAE,CAAC;AACH;;;;"}