@openpalm/ui 0.12.23 → 0.12.24

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 (339) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/4.CzHhsSVi.css +1 -0
  3. package/build/client/_app/immutable/assets/4.CzHhsSVi.css.br +0 -0
  4. package/build/client/_app/immutable/assets/4.CzHhsSVi.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{CP1N4Jy5.js → BZvI8D0l.js} +1 -1
  6. package/build/client/_app/immutable/chunks/BZvI8D0l.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BZvI8D0l.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{CAAiIhwC.js → CN9NWPRG.js} +2 -2
  9. package/build/client/_app/immutable/chunks/CN9NWPRG.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/CN9NWPRG.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/Cfsw1BYg.js +1 -0
  12. package/build/client/_app/immutable/chunks/Cfsw1BYg.js.br +2 -0
  13. package/build/client/_app/immutable/chunks/Cfsw1BYg.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{BjCyXDZy.js → DBOzOkQr.js} +1 -1
  15. package/build/client/_app/immutable/chunks/DBOzOkQr.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/DBOzOkQr.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{CgDyA2Qw.js → DS6z9A2Z.js} +2 -2
  18. package/build/client/_app/immutable/chunks/DS6z9A2Z.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/DS6z9A2Z.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{DpHEXvQk.js → Dq1oAZ8H.js} +1 -1
  21. package/build/client/_app/immutable/chunks/Dq1oAZ8H.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/Dq1oAZ8H.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/Dw0lB87T.js +1 -0
  24. package/build/client/_app/immutable/chunks/Dw0lB87T.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/Dw0lB87T.js.gz +0 -0
  26. package/build/client/_app/immutable/entry/{app.BcL08IcT.js → app.DSfocukv.js} +2 -2
  27. package/build/client/_app/immutable/entry/app.DSfocukv.js.br +0 -0
  28. package/build/client/_app/immutable/entry/app.DSfocukv.js.gz +0 -0
  29. package/build/client/_app/immutable/entry/start.C3yzrLKg.js +1 -0
  30. package/build/client/_app/immutable/entry/start.C3yzrLKg.js.br +0 -0
  31. package/build/client/_app/immutable/entry/start.C3yzrLKg.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{0.AZnG4POF.js → 0.DMbZYw6u.js} +1 -1
  33. package/build/client/_app/immutable/nodes/0.DMbZYw6u.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/0.DMbZYw6u.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{1.uNWROKRa.js → 1.BBpiUaWI.js} +1 -1
  36. package/build/client/_app/immutable/nodes/1.BBpiUaWI.js.br +2 -0
  37. package/build/client/_app/immutable/nodes/1.BBpiUaWI.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/4.DoyLB8a8.js +129 -0
  39. package/build/client/_app/immutable/nodes/4.DoyLB8a8.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/4.DoyLB8a8.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{5.rZSa9V3W.js → 5.6NLZWhAu.js} +1 -1
  42. package/build/client/_app/immutable/nodes/5.6NLZWhAu.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/5.6NLZWhAu.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{6.DUAMcwSm.js → 6.B9QONIAb.js} +1 -1
  45. package/build/client/_app/immutable/nodes/6.B9QONIAb.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/6.B9QONIAb.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{7.B1u5a8yO.js → 7.BKXvwyDy.js} +1 -1
  48. package/build/client/_app/immutable/nodes/7.BKXvwyDy.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/7.BKXvwyDy.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{8.DW8zKXS4.js → 8.i8lcX-Qr.js} +1 -1
  51. package/build/client/_app/immutable/nodes/8.i8lcX-Qr.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/8.i8lcX-Qr.js.gz +0 -0
  53. package/build/client/_app/version.json +1 -1
  54. package/build/client/_app/version.json.br +1 -1
  55. package/build/client/_app/version.json.gz +0 -0
  56. package/build/server/chunks/{0-DL6Jfu7F.js → 0-5S3uaxID.js} +2 -2
  57. package/build/server/chunks/{0-DL6Jfu7F.js.map → 0-5S3uaxID.js.map} +1 -1
  58. package/build/server/chunks/1-B0zhlFzV.js +9 -0
  59. package/build/server/chunks/{1-B2LhxwPN.js.map → 1-B0zhlFzV.js.map} +1 -1
  60. package/build/server/chunks/{10-DQCiYDxy.js → 10-e3t7Y3fG.js} +5 -5
  61. package/build/server/chunks/{10-DQCiYDxy.js.map → 10-e3t7Y3fG.js.map} +1 -1
  62. package/build/server/chunks/4-DmkUg3Z2.js +9 -0
  63. package/build/server/chunks/{4-2GARyIXu.js.map → 4-DmkUg3Z2.js.map} +1 -1
  64. package/build/server/chunks/{5-BPq_SUbr.js → 5-BOBtf4DD.js} +3 -3
  65. package/build/server/chunks/{5-BPq_SUbr.js.map → 5-BOBtf4DD.js.map} +1 -1
  66. package/build/server/chunks/6-DfInar15.js +9 -0
  67. package/build/server/chunks/{6-Bnw_JRXO.js.map → 6-DfInar15.js.map} +1 -1
  68. package/build/server/chunks/{7-ZktGMDHm.js → 7-DO1xiNVZ.js} +3 -3
  69. package/build/server/chunks/{7-ZktGMDHm.js.map → 7-DO1xiNVZ.js.map} +1 -1
  70. package/build/server/chunks/{8-V3DHLq7L.js → 8-D0ZydR0I.js} +3 -3
  71. package/build/server/chunks/{8-V3DHLq7L.js.map → 8-D0ZydR0I.js.map} +1 -1
  72. package/build/server/chunks/{Navbar-CRs8Q1Ed.js → Navbar-BdduwS9E.js} +3 -3
  73. package/build/server/chunks/{Navbar-CRs8Q1Ed.js.map → Navbar-BdduwS9E.js.map} +1 -1
  74. package/build/server/chunks/{_page.svelte-D6dWiRVl.js → _page.svelte-BdD-zi-U.js} +15 -8
  75. package/build/server/chunks/_page.svelte-BdD-zi-U.js.map +1 -0
  76. package/build/server/chunks/{_page.svelte-CXr3izpr.js → _page.svelte-BeYhivmB.js} +3 -3
  77. package/build/server/chunks/{_page.svelte-CXr3izpr.js.map → _page.svelte-BeYhivmB.js.map} +1 -1
  78. package/build/server/chunks/{_page.svelte-m5t0OVcz.js → _page.svelte-Bos81IpL.js} +5 -5
  79. package/build/server/chunks/{_page.svelte-m5t0OVcz.js.map → _page.svelte-Bos81IpL.js.map} +1 -1
  80. package/build/server/chunks/{_page.svelte-BtDkjht-.js → _page.svelte-DC1nT5EA.js} +5 -5
  81. package/build/server/chunks/{_page.svelte-BtDkjht-.js.map → _page.svelte-DC1nT5EA.js.map} +1 -1
  82. package/build/server/chunks/{_page.svelte-Lhm6ya_b.js → _page.svelte-D_TSeHo6.js} +3 -3
  83. package/build/server/chunks/{_page.svelte-Lhm6ya_b.js.map → _page.svelte-D_TSeHo6.js.map} +1 -1
  84. package/build/server/chunks/{_server.ts-m1RQkdUW.js → _server.ts--i09eclI.js} +5 -5
  85. package/build/server/chunks/{_server.ts-m1RQkdUW.js.map → _server.ts--i09eclI.js.map} +1 -1
  86. package/build/server/chunks/{_server.ts-DlONqa0N.js → _server.ts-3iaU0NNb.js} +6 -6
  87. package/build/server/chunks/{_server.ts-DlONqa0N.js.map → _server.ts-3iaU0NNb.js.map} +1 -1
  88. package/build/server/chunks/{_server.ts-BwQSiREZ.js → _server.ts-3sZzRLTm.js} +5 -5
  89. package/build/server/chunks/{_server.ts-BwQSiREZ.js.map → _server.ts-3sZzRLTm.js.map} +1 -1
  90. package/build/server/chunks/{_server.ts-DgU1uBsl.js → _server.ts-4zMyzrMr.js} +5 -5
  91. package/build/server/chunks/{_server.ts-DgU1uBsl.js.map → _server.ts-4zMyzrMr.js.map} +1 -1
  92. package/build/server/chunks/{_server.ts-Bw_r9OtK.js → _server.ts-5iFKoEJK.js} +5 -5
  93. package/build/server/chunks/{_server.ts-Bw_r9OtK.js.map → _server.ts-5iFKoEJK.js.map} +1 -1
  94. package/build/server/chunks/{_server.ts-DBFkIfX3.js → _server.ts-5ni6YC3v.js} +5 -5
  95. package/build/server/chunks/{_server.ts-DBFkIfX3.js.map → _server.ts-5ni6YC3v.js.map} +1 -1
  96. package/build/server/chunks/{_server.ts-BJd_BeRX.js → _server.ts-B2TVOaxK.js} +5 -5
  97. package/build/server/chunks/{_server.ts-BJd_BeRX.js.map → _server.ts-B2TVOaxK.js.map} +1 -1
  98. package/build/server/chunks/{_server.ts-C8xyXBY5.js → _server.ts-B39VCoKr.js} +6 -6
  99. package/build/server/chunks/{_server.ts-C8xyXBY5.js.map → _server.ts-B39VCoKr.js.map} +1 -1
  100. package/build/server/chunks/{_server.ts-D0RXp78c.js → _server.ts-B4w88IQZ.js} +5 -5
  101. package/build/server/chunks/{_server.ts-D0RXp78c.js.map → _server.ts-B4w88IQZ.js.map} +1 -1
  102. package/build/server/chunks/{_server.ts-a1r-EHX0.js → _server.ts-B7lL3gvR.js} +6 -6
  103. package/build/server/chunks/{_server.ts-a1r-EHX0.js.map → _server.ts-B7lL3gvR.js.map} +1 -1
  104. package/build/server/chunks/{_server.ts-vpAn0Uxn.js → _server.ts-B7nWwyRj.js} +6 -6
  105. package/build/server/chunks/{_server.ts-vpAn0Uxn.js.map → _server.ts-B7nWwyRj.js.map} +1 -1
  106. package/build/server/chunks/{_server.ts-Q60q44Je.js → _server.ts-BAn5EbRZ.js} +5 -5
  107. package/build/server/chunks/{_server.ts-Q60q44Je.js.map → _server.ts-BAn5EbRZ.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-RfzeE7tM.js → _server.ts-BETqVq-l.js} +2 -2
  109. package/build/server/chunks/{_server.ts-RfzeE7tM.js.map → _server.ts-BETqVq-l.js.map} +1 -1
  110. package/build/server/chunks/{_server.ts-Eq4SzuV_.js → _server.ts-BHygrpPe.js} +5 -5
  111. package/build/server/chunks/{_server.ts-Eq4SzuV_.js.map → _server.ts-BHygrpPe.js.map} +1 -1
  112. package/build/server/chunks/{_server.ts-DtVcRD5A.js → _server.ts-BKWHn8TD.js} +5 -5
  113. package/build/server/chunks/{_server.ts-DtVcRD5A.js.map → _server.ts-BKWHn8TD.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-CWNf8Ve1.js → _server.ts-BRTpEMv4.js} +5 -5
  115. package/build/server/chunks/{_server.ts-CWNf8Ve1.js.map → _server.ts-BRTpEMv4.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-cHc1drrp.js → _server.ts-BWxlJGjY.js} +2 -2
  117. package/build/server/chunks/{_server.ts-cHc1drrp.js.map → _server.ts-BWxlJGjY.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-DBRLxv1J.js → _server.ts-BX1qIZ3D.js} +6 -6
  119. package/build/server/chunks/{_server.ts-DBRLxv1J.js.map → _server.ts-BX1qIZ3D.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-BghreOti.js → _server.ts-BXVXOwdX.js} +5 -5
  121. package/build/server/chunks/{_server.ts-BghreOti.js.map → _server.ts-BXVXOwdX.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-BdPGrcpF.js → _server.ts-BXZ2vAz8.js} +5 -5
  123. package/build/server/chunks/{_server.ts-BdPGrcpF.js.map → _server.ts-BXZ2vAz8.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-CaZ1wy9x.js → _server.ts-BZ7ABoXr.js} +7 -7
  125. package/build/server/chunks/{_server.ts-CaZ1wy9x.js.map → _server.ts-BZ7ABoXr.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-DxYoYjKM.js → _server.ts-BjrnLNI_.js} +5 -5
  127. package/build/server/chunks/{_server.ts-DxYoYjKM.js.map → _server.ts-BjrnLNI_.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-CJWPhww2.js → _server.ts-Bn4xiHd2.js} +5 -5
  129. package/build/server/chunks/{_server.ts-CJWPhww2.js.map → _server.ts-Bn4xiHd2.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-BMTnompE.js → _server.ts-BqNGMIQl.js} +5 -5
  131. package/build/server/chunks/{_server.ts-BMTnompE.js.map → _server.ts-BqNGMIQl.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-7h410aJe.js → _server.ts-Bt3Gz9i2.js} +5 -5
  133. package/build/server/chunks/{_server.ts-7h410aJe.js.map → _server.ts-Bt3Gz9i2.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-BjSX-JsT.js → _server.ts-C0sRyza2.js} +6 -6
  135. package/build/server/chunks/{_server.ts-BjSX-JsT.js.map → _server.ts-C0sRyza2.js.map} +1 -1
  136. package/build/server/chunks/_server.ts-C0uohZZJ.js +124 -0
  137. package/build/server/chunks/_server.ts-C0uohZZJ.js.map +1 -0
  138. package/build/server/chunks/{_server.ts-DXMBj9CH.js → _server.ts-C2tDij72.js} +8 -8
  139. package/build/server/chunks/{_server.ts-DXMBj9CH.js.map → _server.ts-C2tDij72.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-CBEVK-Yt.js → _server.ts-C45HfZzj.js} +2 -2
  141. package/build/server/chunks/{_server.ts-CBEVK-Yt.js.map → _server.ts-C45HfZzj.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-Zui06dcA.js → _server.ts-C7S5UlT9.js} +5 -5
  143. package/build/server/chunks/{_server.ts-Zui06dcA.js.map → _server.ts-C7S5UlT9.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-BokcuCWE.js → _server.ts-CAZnTaf4.js} +6 -6
  145. package/build/server/chunks/{_server.ts-BokcuCWE.js.map → _server.ts-CAZnTaf4.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-nVEAwKYe.js → _server.ts-CCT-Q98G.js} +5 -5
  147. package/build/server/chunks/{_server.ts-nVEAwKYe.js.map → _server.ts-CCT-Q98G.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-Bi33i7c7.js → _server.ts-CEBUknf-.js} +2 -2
  149. package/build/server/chunks/{_server.ts-Bi33i7c7.js.map → _server.ts-CEBUknf-.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-XhNvTVYt.js → _server.ts-CFu8oqaP.js} +5 -5
  151. package/build/server/chunks/{_server.ts-XhNvTVYt.js.map → _server.ts-CFu8oqaP.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-Cdq3e7xA.js → _server.ts-CG0dJUzI.js} +5 -5
  153. package/build/server/chunks/{_server.ts-Cdq3e7xA.js.map → _server.ts-CG0dJUzI.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-CLt4mqCt.js → _server.ts-CGyVcHQb.js} +7 -7
  155. package/build/server/chunks/{_server.ts-CLt4mqCt.js.map → _server.ts-CGyVcHQb.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-DeDvsRmd.js → _server.ts-CIMyFU01.js} +5 -5
  157. package/build/server/chunks/{_server.ts-DeDvsRmd.js.map → _server.ts-CIMyFU01.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-CtVWuskm.js → _server.ts-CKAiknbX.js} +2 -2
  159. package/build/server/chunks/{_server.ts-CtVWuskm.js.map → _server.ts-CKAiknbX.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-CiWKQbiz.js → _server.ts-CNLUsI14.js} +5 -5
  161. package/build/server/chunks/{_server.ts-CiWKQbiz.js.map → _server.ts-CNLUsI14.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-Do8_4nUh.js → _server.ts-CR37rwCF.js} +5 -5
  163. package/build/server/chunks/{_server.ts-Do8_4nUh.js.map → _server.ts-CR37rwCF.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-eYpUsioT.js → _server.ts-CR9chs_D.js} +6 -6
  165. package/build/server/chunks/{_server.ts-eYpUsioT.js.map → _server.ts-CR9chs_D.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-BFQCNuCf.js → _server.ts-CXDUAQNg.js} +5 -5
  167. package/build/server/chunks/{_server.ts-BFQCNuCf.js.map → _server.ts-CXDUAQNg.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-C4WOD37G.js → _server.ts-CZQgGX-g.js} +5 -5
  169. package/build/server/chunks/{_server.ts-C4WOD37G.js.map → _server.ts-CZQgGX-g.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-CwPqNJOY.js → _server.ts-CbFuCir1.js} +5 -5
  171. package/build/server/chunks/{_server.ts-CwPqNJOY.js.map → _server.ts-CbFuCir1.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-j1haXquD.js → _server.ts-CdUuHKoN.js} +5 -5
  173. package/build/server/chunks/{_server.ts-j1haXquD.js.map → _server.ts-CdUuHKoN.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-KuD8Wpms.js → _server.ts-CfzcJXJ5.js} +5 -5
  175. package/build/server/chunks/{_server.ts-KuD8Wpms.js.map → _server.ts-CfzcJXJ5.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-BeXMVrJG.js → _server.ts-Ch0DdI96.js} +5 -5
  177. package/build/server/chunks/{_server.ts-BeXMVrJG.js.map → _server.ts-Ch0DdI96.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-vZTWdH4v.js → _server.ts-CkIu2zwY.js} +5 -5
  179. package/build/server/chunks/{_server.ts-vZTWdH4v.js.map → _server.ts-CkIu2zwY.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-BLnGiLfS.js → _server.ts-CkJ4ETAZ.js} +4 -4
  181. package/build/server/chunks/{_server.ts-BLnGiLfS.js.map → _server.ts-CkJ4ETAZ.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-Rigt7lcd.js → _server.ts-CpfSKJtM.js} +7 -7
  183. package/build/server/chunks/{_server.ts-Rigt7lcd.js.map → _server.ts-CpfSKJtM.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-BaqsSmFS.js → _server.ts-CtrbaxJB.js} +5 -5
  185. package/build/server/chunks/{_server.ts-BaqsSmFS.js.map → _server.ts-CtrbaxJB.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-B7oFBy_Y.js → _server.ts-Cvq8Wmsr.js} +6 -6
  187. package/build/server/chunks/{_server.ts-B7oFBy_Y.js.map → _server.ts-Cvq8Wmsr.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-DY8vqCzu.js → _server.ts-D3NR9BPE.js} +5 -5
  189. package/build/server/chunks/{_server.ts-DY8vqCzu.js.map → _server.ts-D3NR9BPE.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-k9P3ZBDK.js → _server.ts-D3upA63E.js} +5 -5
  191. package/build/server/chunks/{_server.ts-k9P3ZBDK.js.map → _server.ts-D3upA63E.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-ChI4fTd4.js → _server.ts-D3vSRubR.js} +5 -5
  193. package/build/server/chunks/{_server.ts-ChI4fTd4.js.map → _server.ts-D3vSRubR.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-DiUBKtYa.js → _server.ts-D5QPXL2V.js} +5 -5
  195. package/build/server/chunks/{_server.ts-DiUBKtYa.js.map → _server.ts-D5QPXL2V.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-CRY9d7-F.js → _server.ts-D5r5D1Rw.js} +5 -5
  197. package/build/server/chunks/{_server.ts-CRY9d7-F.js.map → _server.ts-D5r5D1Rw.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-ll-0r5dM.js → _server.ts-D7YXh0GY.js} +5 -5
  199. package/build/server/chunks/{_server.ts-ll-0r5dM.js.map → _server.ts-D7YXh0GY.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-D9jCVXyy.js → _server.ts-DBK5qk2D.js} +5 -5
  201. package/build/server/chunks/{_server.ts-D9jCVXyy.js.map → _server.ts-DBK5qk2D.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-C3asto5q.js → _server.ts-DDoGJROJ.js} +5 -5
  203. package/build/server/chunks/{_server.ts-C3asto5q.js.map → _server.ts-DDoGJROJ.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-DN9DIE7V.js → _server.ts-DG0VUjvg.js} +6 -6
  205. package/build/server/chunks/{_server.ts-DN9DIE7V.js.map → _server.ts-DG0VUjvg.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-D-pLD7Xu.js → _server.ts-DGG1u7lz.js} +5 -5
  207. package/build/server/chunks/{_server.ts-D-pLD7Xu.js.map → _server.ts-DGG1u7lz.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-CGzgULKV.js → _server.ts-DHmDxJbO.js} +5 -5
  209. package/build/server/chunks/{_server.ts-CGzgULKV.js.map → _server.ts-DHmDxJbO.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-C2dpWx7K.js → _server.ts-DJ8DiMyO.js} +4 -4
  211. package/build/server/chunks/{_server.ts-C2dpWx7K.js.map → _server.ts-DJ8DiMyO.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-DvsmHJew.js → _server.ts-DPFshoJD.js} +5 -5
  213. package/build/server/chunks/{_server.ts-DvsmHJew.js.map → _server.ts-DPFshoJD.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-Dc-DuHRl.js → _server.ts-DVn0oLrO.js} +5 -5
  215. package/build/server/chunks/{_server.ts-Dc-DuHRl.js.map → _server.ts-DVn0oLrO.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-DueQnU1L.js → _server.ts-DW-9jJNt.js} +6 -6
  217. package/build/server/chunks/{_server.ts-DueQnU1L.js.map → _server.ts-DW-9jJNt.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-BEsxh5-r.js → _server.ts-DWW9O31w.js} +7 -7
  219. package/build/server/chunks/{_server.ts-BEsxh5-r.js.map → _server.ts-DWW9O31w.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-DVJYo8_h.js → _server.ts-DYvSsXO9.js} +6 -6
  221. package/build/server/chunks/{_server.ts-DVJYo8_h.js.map → _server.ts-DYvSsXO9.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-CAlt9gW0.js → _server.ts-DaKPqsd7.js} +5 -5
  223. package/build/server/chunks/{_server.ts-CAlt9gW0.js.map → _server.ts-DaKPqsd7.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-C0b2kLwv.js → _server.ts-DhDRx2uq.js} +5 -5
  225. package/build/server/chunks/{_server.ts-C0b2kLwv.js.map → _server.ts-DhDRx2uq.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-DNQDl4In.js → _server.ts-DilgWlk8.js} +5 -5
  227. package/build/server/chunks/{_server.ts-DNQDl4In.js.map → _server.ts-DilgWlk8.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-Byn8EbtL.js → _server.ts-DiyMnu38.js} +7 -7
  229. package/build/server/chunks/{_server.ts-Byn8EbtL.js.map → _server.ts-DiyMnu38.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-BIJomr8k.js → _server.ts-Dn1LCo5t.js} +5 -5
  231. package/build/server/chunks/{_server.ts-BIJomr8k.js.map → _server.ts-Dn1LCo5t.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-D_iVYIT5.js → _server.ts-Dqf43bqQ.js} +5 -5
  233. package/build/server/chunks/{_server.ts-D_iVYIT5.js.map → _server.ts-Dqf43bqQ.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-iKClbuyO.js → _server.ts-DxqjZj8C.js} +5 -5
  235. package/build/server/chunks/{_server.ts-iKClbuyO.js.map → _server.ts-DxqjZj8C.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-k5rG5cUI.js → _server.ts-QiB3mAGW.js} +7 -7
  237. package/build/server/chunks/{_server.ts-k5rG5cUI.js.map → _server.ts-QiB3mAGW.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-BcIPGO7x.js → _server.ts-R8K8PkTv.js} +5 -5
  239. package/build/server/chunks/{_server.ts-BcIPGO7x.js.map → _server.ts-R8K8PkTv.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-C8LFsdDG.js → _server.ts-XF5sBZVL.js} +5 -5
  241. package/build/server/chunks/{_server.ts-C8LFsdDG.js.map → _server.ts-XF5sBZVL.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-CQH5FEPp.js → _server.ts-bgbvtpkp.js} +6 -6
  243. package/build/server/chunks/{_server.ts-CQH5FEPp.js.map → _server.ts-bgbvtpkp.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-DH2KwFMm.js → _server.ts-dt78wkuI.js} +5 -5
  245. package/build/server/chunks/{_server.ts-DH2KwFMm.js.map → _server.ts-dt78wkuI.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-DQCc-bcg.js → _server.ts-oIWdjzJ-.js} +5 -5
  247. package/build/server/chunks/{_server.ts-DQCc-bcg.js.map → _server.ts-oIWdjzJ-.js.map} +1 -1
  248. package/build/server/chunks/{_server.ts-BTeSTLAx.js → _server.ts-oNK_S3DU.js} +25 -32
  249. package/build/server/chunks/_server.ts-oNK_S3DU.js.map +1 -0
  250. package/build/server/chunks/{_server.ts-B-io71lH.js → _server.ts-pORA5lRU.js} +5 -5
  251. package/build/server/chunks/{_server.ts-B-io71lH.js.map → _server.ts-pORA5lRU.js.map} +1 -1
  252. package/build/server/chunks/{_server.ts-C_qyw2yL.js → _server.ts-zieKjDp6.js} +5 -5
  253. package/build/server/chunks/{_server.ts-C_qyw2yL.js.map → _server.ts-zieKjDp6.js.map} +1 -1
  254. package/build/server/chunks/{addon-helpers-kNrSUlMe.js → addon-helpers-CqAq5iXG.js} +3 -3
  255. package/build/server/chunks/{addon-helpers-kNrSUlMe.js.map → addon-helpers-CqAq5iXG.js.map} +1 -1
  256. package/build/server/chunks/{akm-IP8X7RlR.js → akm-BhFHgeMm.js} +2 -2
  257. package/build/server/chunks/{akm-IP8X7RlR.js.map → akm-BhFHgeMm.js.map} +1 -1
  258. package/build/server/chunks/{catalog-DcLI63rn.js → catalog-BUYQNKuu.js} +5 -5
  259. package/build/server/chunks/{catalog-DcLI63rn.js.map → catalog-BUYQNKuu.js.map} +1 -1
  260. package/build/server/chunks/{client-CIUwkogU.js → client-FX9aGmMn.js} +2 -2
  261. package/build/server/chunks/{client-CIUwkogU.js.map → client-FX9aGmMn.js.map} +1 -1
  262. package/build/server/chunks/{config-EKy5PAZU.js → config-BbBq0dxu.js} +2 -2
  263. package/build/server/chunks/{config-EKy5PAZU.js.map → config-BbBq0dxu.js.map} +1 -1
  264. package/build/server/chunks/{docker-BhJS_Y28.js → docker-Bo5zuu3x.js} +2 -2
  265. package/build/server/chunks/{docker-BhJS_Y28.js.map → docker-Bo5zuu3x.js.map} +1 -1
  266. package/build/server/chunks/{endpoints-Dq-IqF1t.js → endpoints-CW4XfwZB.js} +2 -2
  267. package/build/server/chunks/{endpoints-Dq-IqF1t.js.map → endpoints-CW4XfwZB.js.map} +1 -1
  268. package/build/server/chunks/{error.svelte-Dbj-WAaz.js → error.svelte-C2ifZORN.js} +4 -4
  269. package/build/server/chunks/{error.svelte-Dbj-WAaz.js.map → error.svelte-C2ifZORN.js.map} +1 -1
  270. package/build/server/chunks/{helpers-s8d3gE38.js → helpers-Bgl3bxCI.js} +3 -3
  271. package/build/server/chunks/{helpers-s8d3gE38.js.map → helpers-Bgl3bxCI.js.map} +1 -1
  272. package/build/server/chunks/{hooks.server-Cy1D3efR.js → hooks.server-Bj4VbrYN.js} +7 -7
  273. package/build/server/chunks/{hooks.server-Cy1D3efR.js.map → hooks.server-Bj4VbrYN.js.map} +1 -1
  274. package/build/server/chunks/{http-BCF8LO-V.js → http-DPJjMdf6.js} +2 -2
  275. package/build/server/chunks/{http-BCF8LO-V.js.map → http-DPJjMdf6.js.map} +1 -1
  276. package/build/server/chunks/{internal-CcLms467.js → internal-B85OqYbb.js} +3 -3
  277. package/build/server/chunks/{internal-CcLms467.js.map → internal-B85OqYbb.js.map} +1 -1
  278. package/build/server/chunks/{migration-status-BgiG_Rm6.js → migration-status-xPkphn8b.js} +2 -2
  279. package/build/server/chunks/{migration-status-BgiG_Rm6.js.map → migration-status-xPkphn8b.js.map} +1 -1
  280. package/build/server/chunks/{session-cookie-F6DkHp5H.js → session-cookie-BJJLDvsC.js} +2 -2
  281. package/build/server/chunks/{session-cookie-F6DkHp5H.js.map → session-cookie-BJJLDvsC.js.map} +1 -1
  282. package/build/server/chunks/{setup-deploy-BtgW_nbb.js → setup-deploy-CYfgQCxa.js} +2 -2
  283. package/build/server/chunks/{setup-deploy-BtgW_nbb.js.map → setup-deploy-CYfgQCxa.js.map} +1 -1
  284. package/build/server/chunks/{src-BN-m14sE.js → src-CPvq2g1p.js} +32 -3
  285. package/build/server/chunks/src-CPvq2g1p.js.map +1 -0
  286. package/build/server/chunks/{state-BjAIjYtQ.js → state-lPKKJ0RQ.js} +2 -2
  287. package/build/server/chunks/{state-BjAIjYtQ.js.map → state-lPKKJ0RQ.js.map} +1 -1
  288. package/build/server/chunks/{state2-CeseXnTO.js → state2--uy0UwF_.js} +2 -2
  289. package/build/server/chunks/{state2-CeseXnTO.js.map → state2--uy0UwF_.js.map} +1 -1
  290. package/build/server/index.js +1 -1
  291. package/build/server/index.js.map +1 -1
  292. package/build/server/manifest.js +100 -93
  293. package/build/server/manifest.js.map +1 -1
  294. package/package.json +2 -2
  295. package/build/client/_app/immutable/assets/4.DQdAwaDZ.css +0 -1
  296. package/build/client/_app/immutable/assets/4.DQdAwaDZ.css.br +0 -0
  297. package/build/client/_app/immutable/assets/4.DQdAwaDZ.css.gz +0 -0
  298. package/build/client/_app/immutable/chunks/B88bDQ93.js +0 -1
  299. package/build/client/_app/immutable/chunks/B88bDQ93.js.br +0 -2
  300. package/build/client/_app/immutable/chunks/B88bDQ93.js.gz +0 -0
  301. package/build/client/_app/immutable/chunks/BjCyXDZy.js.br +0 -0
  302. package/build/client/_app/immutable/chunks/BjCyXDZy.js.gz +0 -0
  303. package/build/client/_app/immutable/chunks/CAAiIhwC.js.br +0 -0
  304. package/build/client/_app/immutable/chunks/CAAiIhwC.js.gz +0 -0
  305. package/build/client/_app/immutable/chunks/CP1N4Jy5.js.br +0 -0
  306. package/build/client/_app/immutable/chunks/CP1N4Jy5.js.gz +0 -0
  307. package/build/client/_app/immutable/chunks/CgDyA2Qw.js.br +0 -0
  308. package/build/client/_app/immutable/chunks/CgDyA2Qw.js.gz +0 -0
  309. package/build/client/_app/immutable/chunks/DpHEXvQk.js.br +0 -0
  310. package/build/client/_app/immutable/chunks/DpHEXvQk.js.gz +0 -0
  311. package/build/client/_app/immutable/chunks/Dr8nRIOR.js +0 -1
  312. package/build/client/_app/immutable/chunks/Dr8nRIOR.js.br +0 -0
  313. package/build/client/_app/immutable/chunks/Dr8nRIOR.js.gz +0 -0
  314. package/build/client/_app/immutable/entry/app.BcL08IcT.js.br +0 -0
  315. package/build/client/_app/immutable/entry/app.BcL08IcT.js.gz +0 -0
  316. package/build/client/_app/immutable/entry/start.CAuRWqZB.js +0 -1
  317. package/build/client/_app/immutable/entry/start.CAuRWqZB.js.br +0 -0
  318. package/build/client/_app/immutable/entry/start.CAuRWqZB.js.gz +0 -0
  319. package/build/client/_app/immutable/nodes/0.AZnG4POF.js.br +0 -0
  320. package/build/client/_app/immutable/nodes/0.AZnG4POF.js.gz +0 -0
  321. package/build/client/_app/immutable/nodes/1.uNWROKRa.js.br +0 -2
  322. package/build/client/_app/immutable/nodes/1.uNWROKRa.js.gz +0 -0
  323. package/build/client/_app/immutable/nodes/4.CNN_a8JB.js +0 -126
  324. package/build/client/_app/immutable/nodes/4.CNN_a8JB.js.br +0 -0
  325. package/build/client/_app/immutable/nodes/4.CNN_a8JB.js.gz +0 -0
  326. package/build/client/_app/immutable/nodes/5.rZSa9V3W.js.br +0 -0
  327. package/build/client/_app/immutable/nodes/5.rZSa9V3W.js.gz +0 -0
  328. package/build/client/_app/immutable/nodes/6.DUAMcwSm.js.br +0 -0
  329. package/build/client/_app/immutable/nodes/6.DUAMcwSm.js.gz +0 -0
  330. package/build/client/_app/immutable/nodes/7.B1u5a8yO.js.br +0 -0
  331. package/build/client/_app/immutable/nodes/7.B1u5a8yO.js.gz +0 -0
  332. package/build/client/_app/immutable/nodes/8.DW8zKXS4.js.br +0 -0
  333. package/build/client/_app/immutable/nodes/8.DW8zKXS4.js.gz +0 -0
  334. package/build/server/chunks/1-B2LhxwPN.js +0 -9
  335. package/build/server/chunks/4-2GARyIXu.js +0 -9
  336. package/build/server/chunks/6-Bnw_JRXO.js +0 -9
  337. package/build/server/chunks/_page.svelte-D6dWiRVl.js.map +0 -1
  338. package/build/server/chunks/_server.ts-BTeSTLAx.js.map +0 -1
  339. package/build/server/chunks/src-BN-m14sE.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CtVWuskm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/system-check/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { X as checkDocker, Y as detectRuntime, Z as checkDockerCompose, l as detectGpu, u as detectLocalProviders } from \"../../../../../chunks/src.js\";\nimport { execFile } from \"node:child_process\";\nimport { createServer } from \"node:net\";\n//#region src/routes/api/setup/system-check/+server.ts\n/**\n* Returns true when the named port is published by an openpalm-managed\n* docker container — i.e. it's \"in use\" but the wizard's install will\n* either recreate or no-op on the same container, so flagging it as a\n* conflict is a false positive. Returns `unreachable` when Docker itself\n* cannot be queried, so the caller can degrade this from blocking to warning.\n*/\nasync function portHeldByOurContainer(port) {\n\treturn new Promise((resolve) => {\n\t\tconst run = (attempt) => {\n\t\t\texecFile(\"docker\", [\n\t\t\t\t\"ps\",\n\t\t\t\t\"--format\",\n\t\t\t\t\"{{.Names}}\t{{.Ports}}\"\n\t\t\t], { timeout: 5e3 }, (err, stdout) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tif (attempt === 0) return run(1);\n\t\t\t\t\treturn resolve(\"unreachable\");\n\t\t\t\t}\n\t\t\t\tconst lines = stdout.toString().split(\"\\n\").map((l) => l.trim()).filter(Boolean);\n\t\t\t\tfor (const line of lines) {\n\t\t\t\t\tconst [name, ports] = line.split(\"\t\");\n\t\t\t\t\tif (!name || !name.startsWith(\"openpalm-\")) continue;\n\t\t\t\t\tif (ports && ports.includes(`:${port}->`)) return resolve(\"held\");\n\t\t\t\t}\n\t\t\t\tresolve(\"free\");\n\t\t\t});\n\t\t};\n\t\trun(0);\n\t});\n}\nasync function checkPortAvailable(port, timeoutMs = 1e3) {\n\treturn new Promise((resolve) => {\n\t\tconst srv = createServer();\n\t\tlet settled = false;\n\t\tconst finish = (ok) => {\n\t\t\tif (settled) return;\n\t\t\tsettled = true;\n\t\t\tsrv.close();\n\t\t\tresolve(ok);\n\t\t};\n\t\tconst timer = setTimeout(() => finish(false), timeoutMs);\n\t\tsrv.once(\"error\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tfinish(false);\n\t\t});\n\t\tsrv.once(\"listening\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tfinish(true);\n\t\t});\n\t\tsrv.listen(port, \"127.0.0.1\");\n\t});\n}\nfunction pickPort(...envNames) {\n\tfor (const name of envNames) {\n\t\tconst raw = process.env[name];\n\t\tif (!raw) continue;\n\t\tconst n = Number(raw);\n\t\tif (Number.isFinite(n) && n > 0) return n;\n\t}\n\treturn null;\n}\nfunction resolvePortsToCheck() {\n\treturn [{\n\t\tport: pickPort(\"OP_HOST_UI_PORT\") ?? 3880,\n\t\tservice: \"admin\",\n\t\tblocking: true\n\t}, {\n\t\tport: pickPort(\"OP_HOST_ASSISTANT_PORT\", \"OP_ASSISTANT_PORT\") ?? 3800,\n\t\tservice: \"assistant\",\n\t\tblocking: true\n\t}];\n}\nvar SERVER_PORT = Number(process.env.PORT ?? process.env.OP_HOST_UI_PORT ?? 3880);\nvar GET = async () => {\n\tconst [docker, compose, gpu, localProviders, runtime] = await Promise.all([\n\t\tcheckDocker(),\n\t\tcheckDockerCompose(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tdetectRuntime()\n\t]);\n\tconst targets = resolvePortsToCheck();\n\tlet portCheckReliable = docker.ok;\n\tconst ports = await Promise.all(targets.map(async (t) => {\n\t\tif (t.port === SERVER_PORT) return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tif (await checkPortAvailable(t.port)) return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tconst held = await portHeldByOurContainer(t.port);\n\t\tif (held === \"held\") return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tif (held === \"unreachable\") {\n\t\t\tportCheckReliable = false;\n\t\t\treturn {\n\t\t\t\t...t,\n\t\t\t\tavailable: false,\n\t\t\t\tblocking: false\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\t...t,\n\t\t\tavailable: false,\n\t\t\tblocking: portCheckReliable ? t.blocking : false\n\t\t};\n\t}));\n\treturn json({\n\t\tok: true,\n\t\tdocker: {\n\t\t\tok: docker.ok,\n\t\t\tversion: docker.stdout?.trim() || void 0,\n\t\t\terror: !docker.ok ? docker.stderr?.trim() || \"Docker is not available\" : void 0\n\t\t},\n\t\tcompose: {\n\t\t\tok: compose.ok,\n\t\t\tversion: compose.stdout?.trim().split(\"\\n\")[0] || void 0,\n\t\t\terror: !compose.ok ? compose.stderr?.trim() || \"Docker Compose v2 not found\" : void 0\n\t\t},\n\t\tportCheckReliable,\n\t\tports,\n\t\tplatform: process.platform,\n\t\truntime,\n\t\tgpu: gpu?.name ?? void 0,\n\t\tgpuInfo: gpu ?? void 0,\n\t\thostProviders: localProviders.filter((p) => p.available).map(({ provider, url }) => ({\n\t\t\tprovider,\n\t\t\turl\n\t\t}))\n\t});\n};\nvar POST = GET;\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CKAiknbX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/system-check/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { X as checkDocker, Y as detectRuntime, Z as checkDockerCompose, l as detectGpu, u as detectLocalProviders } from \"../../../../../chunks/src.js\";\nimport { execFile } from \"node:child_process\";\nimport { createServer } from \"node:net\";\n//#region src/routes/api/setup/system-check/+server.ts\n/**\n* Returns true when the named port is published by an openpalm-managed\n* docker container — i.e. it's \"in use\" but the wizard's install will\n* either recreate or no-op on the same container, so flagging it as a\n* conflict is a false positive. Returns `unreachable` when Docker itself\n* cannot be queried, so the caller can degrade this from blocking to warning.\n*/\nasync function portHeldByOurContainer(port) {\n\treturn new Promise((resolve) => {\n\t\tconst run = (attempt) => {\n\t\t\texecFile(\"docker\", [\n\t\t\t\t\"ps\",\n\t\t\t\t\"--format\",\n\t\t\t\t\"{{.Names}}\t{{.Ports}}\"\n\t\t\t], { timeout: 5e3 }, (err, stdout) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tif (attempt === 0) return run(1);\n\t\t\t\t\treturn resolve(\"unreachable\");\n\t\t\t\t}\n\t\t\t\tconst lines = stdout.toString().split(\"\\n\").map((l) => l.trim()).filter(Boolean);\n\t\t\t\tfor (const line of lines) {\n\t\t\t\t\tconst [name, ports] = line.split(\"\t\");\n\t\t\t\t\tif (!name || !name.startsWith(\"openpalm-\")) continue;\n\t\t\t\t\tif (ports && ports.includes(`:${port}->`)) return resolve(\"held\");\n\t\t\t\t}\n\t\t\t\tresolve(\"free\");\n\t\t\t});\n\t\t};\n\t\trun(0);\n\t});\n}\nasync function checkPortAvailable(port, timeoutMs = 1e3) {\n\treturn new Promise((resolve) => {\n\t\tconst srv = createServer();\n\t\tlet settled = false;\n\t\tconst finish = (ok) => {\n\t\t\tif (settled) return;\n\t\t\tsettled = true;\n\t\t\tsrv.close();\n\t\t\tresolve(ok);\n\t\t};\n\t\tconst timer = setTimeout(() => finish(false), timeoutMs);\n\t\tsrv.once(\"error\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tfinish(false);\n\t\t});\n\t\tsrv.once(\"listening\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tfinish(true);\n\t\t});\n\t\tsrv.listen(port, \"127.0.0.1\");\n\t});\n}\nfunction pickPort(...envNames) {\n\tfor (const name of envNames) {\n\t\tconst raw = process.env[name];\n\t\tif (!raw) continue;\n\t\tconst n = Number(raw);\n\t\tif (Number.isFinite(n) && n > 0) return n;\n\t}\n\treturn null;\n}\nfunction resolvePortsToCheck() {\n\treturn [{\n\t\tport: pickPort(\"OP_HOST_UI_PORT\") ?? 3880,\n\t\tservice: \"admin\",\n\t\tblocking: true\n\t}, {\n\t\tport: pickPort(\"OP_HOST_ASSISTANT_PORT\", \"OP_ASSISTANT_PORT\") ?? 3800,\n\t\tservice: \"assistant\",\n\t\tblocking: true\n\t}];\n}\nvar SERVER_PORT = Number(process.env.PORT ?? process.env.OP_HOST_UI_PORT ?? 3880);\nvar GET = async () => {\n\tconst [docker, compose, gpu, localProviders, runtime] = await Promise.all([\n\t\tcheckDocker(),\n\t\tcheckDockerCompose(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tdetectRuntime()\n\t]);\n\tconst targets = resolvePortsToCheck();\n\tlet portCheckReliable = docker.ok;\n\tconst ports = await Promise.all(targets.map(async (t) => {\n\t\tif (t.port === SERVER_PORT) return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tif (await checkPortAvailable(t.port)) return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tconst held = await portHeldByOurContainer(t.port);\n\t\tif (held === \"held\") return {\n\t\t\t...t,\n\t\t\tavailable: true\n\t\t};\n\t\tif (held === \"unreachable\") {\n\t\t\tportCheckReliable = false;\n\t\t\treturn {\n\t\t\t\t...t,\n\t\t\t\tavailable: false,\n\t\t\t\tblocking: false\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\t...t,\n\t\t\tavailable: false,\n\t\t\tblocking: portCheckReliable ? t.blocking : false\n\t\t};\n\t}));\n\treturn json({\n\t\tok: true,\n\t\tdocker: {\n\t\t\tok: docker.ok,\n\t\t\tversion: docker.stdout?.trim() || void 0,\n\t\t\terror: !docker.ok ? docker.stderr?.trim() || \"Docker is not available\" : void 0\n\t\t},\n\t\tcompose: {\n\t\t\tok: compose.ok,\n\t\t\tversion: compose.stdout?.trim().split(\"\\n\")[0] || void 0,\n\t\t\terror: !compose.ok ? compose.stderr?.trim() || \"Docker Compose v2 not found\" : void 0\n\t\t},\n\t\tportCheckReliable,\n\t\tports,\n\t\tplatform: process.platform,\n\t\truntime,\n\t\tgpu: gpu?.name ?? void 0,\n\t\tgpuInfo: gpu ?? void 0,\n\t\thostProviders: localProviders.filter((p) => p.available).map(({ provider, url }) => ({\n\t\t\tprovider,\n\t\t\turl\n\t\t}))\n\t});\n};\nvar POST = GET;\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { aj as listAssistantCliTools } from './src-BN-m14sE.js';
2
- import { g as getState } from './state-BjAIjYtQ.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-s8d3gE38.js';
1
+ import { an as listAssistantCliTools } from './src-CPvq2g1p.js';
2
+ import { g as getState } from './state-lPKKJ0RQ.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-Bgl3bxCI.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
25
+ import './endpoints-CW4XfwZB.js';
26
26
 
27
27
  //#region src/routes/admin/providers/assistant-clis/+server.ts
28
28
  var GET = async (event) => {
@@ -33,4 +33,4 @@ var GET = async (event) => {
33
33
  };
34
34
 
35
35
  export { GET };
36
- //# sourceMappingURL=_server.ts-CiWKQbiz.js.map
36
+ //# sourceMappingURL=_server.ts-CNLUsI14.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CiWKQbiz.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/assistant-clis/_server.ts.js"],"sourcesContent":["import { gt as listAssistantCliTools } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/providers/assistant-clis/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, { tools: listAssistantCliTools(getState()) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC;AAClF;;;;"}
1
+ {"version":3,"file":"_server.ts-CNLUsI14.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/assistant-clis/_server.ts.js"],"sourcesContent":["import { gt as listAssistantCliTools } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/providers/assistant-clis/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, { tools: listAssistantCliTools(getState()) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC;AAClF;;;;"}
@@ -1,6 +1,6 @@
1
- import { aP as runAssistantAkmCommand } from './src-BN-m14sE.js';
2
- import { g as getState } from './state-BjAIjYtQ.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-s8d3gE38.js';
1
+ import { aV as runAssistantAkmCommand } from './src-CPvq2g1p.js';
2
+ import { g as getState } from './state-lPKKJ0RQ.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-Bgl3bxCI.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
25
+ import './endpoints-CW4XfwZB.js';
26
26
 
27
27
  //#region src/routes/admin/akm/reindex/+server.ts
28
28
  var POST = async (event) => {
@@ -39,4 +39,4 @@ var POST = async (event) => {
39
39
  };
40
40
 
41
41
  export { POST };
42
- //# sourceMappingURL=_server.ts-Do8_4nUh.js.map
42
+ //# sourceMappingURL=_server.ts-CR37rwCF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Do8_4nUh.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/reindex/_server.ts.js"],"sourcesContent":["import { r as runAssistantAkmCommand } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/akm/reindex/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await runAssistantAkmCommand(getState(), [\"index\", \"--full\"], 15 * 6e4);\n\tif (!result.ok) return errorResponse(502, \"akm_reindex_failed\", result.stderr.trim() || result.stdout.trim() || \"AKM re-index failed.\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tmessage: \"AKM index rebuilt successfully.\",\n\t\toutput: result.stdout.trim()\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC;AACvF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvJ,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,iCAAiC;AAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;AAC5B,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-CR37rwCF.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/reindex/_server.ts.js"],"sourcesContent":["import { r as runAssistantAkmCommand } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/akm/reindex/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await runAssistantAkmCommand(getState(), [\"index\", \"--full\"], 15 * 6e4);\n\tif (!result.ok) return errorResponse(502, \"akm_reindex_failed\", result.stderr.trim() || result.stdout.trim() || \"AKM re-index failed.\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tmessage: \"AKM index rebuilt successfully.\",\n\t\toutput: result.stdout.trim()\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC;AACvF,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvJ,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,iCAAiC;AAC5C,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;AAC5B,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-s8d3gE38.js';
2
- import { s as sessionCookieHeader } from './session-cookie-F6DkHp5H.js';
3
- import './src-BN-m14sE.js';
1
+ import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-Bgl3bxCI.js';
2
+ import { s as sessionCookieHeader } from './session-cookie-BJJLDvsC.js';
3
+ import './src-CPvq2g1p.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,8 +22,8 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
26
- import './state-BjAIjYtQ.js';
25
+ import './endpoints-CW4XfwZB.js';
26
+ import './state-lPKKJ0RQ.js';
27
27
 
28
28
  //#region src/routes/admin/auth/login/+server.ts
29
29
  var POST = async (event) => {
@@ -54,4 +54,4 @@ var POST = async (event) => {
54
54
  };
55
55
 
56
56
  export { POST };
57
- //# sourceMappingURL=_server.ts-eYpUsioT.js.map
57
+ //# sourceMappingURL=_server.ts-CR9chs_D.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-eYpUsioT.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/login/_server.ts.js"],"sourcesContent":["import { f as safeTokenCompare, g as getUiLoginPassword, h as createSession, i as errorResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/login/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\trole: \"admin\"\n\t}), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE;AACR,EAAE,CAAC,EAAE;AACL,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CR9chs_D.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/login/_server.ts.js"],"sourcesContent":["import { f as safeTokenCompare, g as getUiLoginPassword, h as createSession, i as errorResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/login/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\trole: \"admin\"\n\t}), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE;AACR,EAAE,CAAC,EAAE;AACL,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { o as checkDocker, z as composeStats, m as buildComposeOptions } from './src-BN-m14sE.js';
2
- import { g as getState } from './state-BjAIjYtQ.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-s8d3gE38.js';
1
+ import { p as checkDocker, E as composeStats, n as buildComposeOptions } from './src-CPvq2g1p.js';
2
+ import { g as getState } from './state-lPKKJ0RQ.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-Bgl3bxCI.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
25
+ import './endpoints-CW4XfwZB.js';
26
26
 
27
27
  //#region src/routes/admin/containers/stats/+server.ts
28
28
  var GET = async (event) => {
@@ -44,4 +44,4 @@ var GET = async (event) => {
44
44
  };
45
45
 
46
46
  export { GET };
47
- //# sourceMappingURL=_server.ts-BFQCNuCf.js.map
47
+ //# sourceMappingURL=_server.ts-CXDUAQNg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BFQCNuCf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/stats/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, X as checkDocker, at as composeStats } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/stats/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeStats(buildComposeOptions(state));\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get container stats: ${result.stderr}`, {}, requestId);\n\tlet stats = [];\n\tif (result.stdout.trim()) try {\n\t\tstats = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.stats] Failed to parse Docker stats output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker stats output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { stats }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,+BAA+B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC,IAAI,KAAK,GAAG,EAAE;AACf,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,CAAC,CAAC;AAC3E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AAChG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;AAC/C;;;;"}
1
+ {"version":3,"file":"_server.ts-CXDUAQNg.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/stats/_server.ts.js"],"sourcesContent":["import { L as buildComposeOptions, X as checkDocker, at as composeStats } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/containers/stats/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeStats(buildComposeOptions(state));\n\tif (!result.ok) return errorResponse(500, \"docker_error\", `Failed to get container stats: ${result.stderr}`, {}, requestId);\n\tlet stats = [];\n\tif (result.stdout.trim()) try {\n\t\tstats = result.stdout.trim().split(\"\\n\").filter((l) => l.startsWith(\"{\")).map((l) => JSON.parse(l));\n\t} catch (e) {\n\t\tconsole.warn(\"[containers.stats] Failed to parse Docker stats output\", e);\n\t\treturn errorResponse(500, \"parse_error\", \"Failed to parse Docker stats output\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { stats }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,CAAC;AACzH,CAAC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,+BAA+B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5H,CAAC,IAAI,KAAK,GAAG,EAAE;AACf,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI;AAC/B,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,wDAAwD,EAAE,CAAC,CAAC;AAC3E,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AAChG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;AAC/C;;;;"}
@@ -1,6 +1,6 @@
1
- import { aX as useExistingProviderForAssistantCli, F as createLogger } from './src-BN-m14sE.js';
2
- import { g as getState } from './state-BjAIjYtQ.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, p as parseJsonBody, j as jsonBodyError, k as jsonResponse } from './helpers-s8d3gE38.js';
1
+ import { b1 as useExistingProviderForAssistantCli, H as createLogger } from './src-CPvq2g1p.js';
2
+ import { g as getState } from './state-lPKKJ0RQ.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, p as parseJsonBody, j as jsonBodyError, k as jsonResponse } from './helpers-Bgl3bxCI.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
25
+ import './endpoints-CW4XfwZB.js';
26
26
 
27
27
  //#region src/routes/admin/providers/assistant-clis/[toolId]/use-provider/+server.ts
28
28
  var logger = createLogger("admin.assistant-cli-tools");
@@ -59,4 +59,4 @@ var POST = async (event) => {
59
59
  };
60
60
 
61
61
  export { POST };
62
- //# sourceMappingURL=_server.ts-C4WOD37G.js.map
62
+ //# sourceMappingURL=_server.ts-CZQgGX-g.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C4WOD37G.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/assistant-clis/_toolId_/use-provider/_server.ts.js"],"sourcesContent":["import { _t as useExistingProviderForAssistantCli, hn as createLogger } from \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/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 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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;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,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-CZQgGX-g.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/assistant-clis/_toolId_/use-provider/_server.ts.js"],"sourcesContent":["import { _t as useExistingProviderForAssistantCli, xn as createLogger } from \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/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 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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;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,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,6 +1,6 @@
1
- import { ae as inspectInstallLock, I as INSTALL_LOCK_STALE_AFTER_MS, aW as unlockInstallLock, F as createLogger } from './src-BN-m14sE.js';
2
- import { g as getState } from './state-BjAIjYtQ.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-s8d3gE38.js';
1
+ import { ai as inspectInstallLock, I as INSTALL_LOCK_STALE_AFTER_MS, b0 as unlockInstallLock, H as createLogger } from './src-CPvq2g1p.js';
2
+ import { g as getState } from './state-lPKKJ0RQ.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-Bgl3bxCI.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
25
+ import './endpoints-CW4XfwZB.js';
26
26
 
27
27
  //#region src/routes/admin/unlock/+server.ts
28
28
  var logger = createLogger("unlock-admin");
@@ -75,4 +75,4 @@ var POST = async (event) => {
75
75
  };
76
76
 
77
77
  export { GET, POST };
78
- //# sourceMappingURL=_server.ts-CwPqNJOY.js.map
78
+ //# sourceMappingURL=_server.ts-CbFuCir1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CwPqNJOY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/unlock/_server.ts.js"],"sourcesContent":["import { cn as INSTALL_LOCK_STALE_AFTER_MS, hn as createLogger, ln as inspectInstallLock, un as unlockInstallLock } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/unlock/+server.ts\nvar logger = createLogger(\"unlock-admin\");\n/**\n* #500 — \"an operation seems stuck — clear it?\" Reports whether an install lock\n* is present and whether it is stale (so the UI can decide whether to offer the\n* clear action). Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tstaleAfterMs: INSTALL_LOCK_STALE_AFTER_MS,\n\t\t\t...inspectInstallLock(state.dataDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"unlock_status_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #500 — clears the install lock ONLY when stale (dead holder PID or older than\n* the 30-minute staleness window). Returns 409 when a live install is still\n* holding the lock so the UI can surface \"an operation is still running\" rather\n* than forcing it. Never blind-removes a live lock.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\tconst result = unlockInstallLock(state.dataDir);\n\t\tif (!result.ok) return errorResponse(409, \"install_in_progress\", \"An install or upgrade still appears to be running. The lock clears itself automatically once it finishes or after 30 minutes. Nothing was changed.\", { status: result.status }, requestId);\n\t\tlogger.info(\"cleared install lock via admin\", {\n\t\t\trequestId,\n\t\t\tremoved: result.removed\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tremoved: result.removed,\n\t\t\tstatus: result.status\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"unlock_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC;AACzC;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,YAAY,EAAE,2BAA2B;AAC5C,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO;AACtC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC;AACjD,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,oJAAoJ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC9P,EAAE,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;AAChD,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE,MAAM,CAAC;AACnB,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO;AAC1B,GAAG,MAAM,EAAE,MAAM,CAAC;AAClB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvG,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-CbFuCir1.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/unlock/_server.ts.js"],"sourcesContent":["import { gn as unlockInstallLock, hn as inspectInstallLock, mn as INSTALL_LOCK_STALE_AFTER_MS, xn as createLogger } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/unlock/+server.ts\nvar logger = createLogger(\"unlock-admin\");\n/**\n* #500 — \"an operation seems stuck — clear it?\" Reports whether an install lock\n* is present and whether it is stale (so the UI can decide whether to offer the\n* clear action). Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tstaleAfterMs: INSTALL_LOCK_STALE_AFTER_MS,\n\t\t\t...inspectInstallLock(state.dataDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"unlock_status_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #500 — clears the install lock ONLY when stale (dead holder PID or older than\n* the 30-minute staleness window). Returns 409 when a live install is still\n* holding the lock so the UI can surface \"an operation is still running\" rather\n* than forcing it. Never blind-removes a live lock.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\tconst result = unlockInstallLock(state.dataDir);\n\t\tif (!result.ok) return errorResponse(409, \"install_in_progress\", \"An install or upgrade still appears to be running. The lock clears itself automatically once it finishes or after 30 minutes. Nothing was changed.\", { status: result.status }, requestId);\n\t\tlogger.info(\"cleared install lock via admin\", {\n\t\t\trequestId,\n\t\t\tremoved: result.removed\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tremoved: result.removed,\n\t\t\tstatus: result.status\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"unlock_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC;AACzC;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,YAAY,EAAE,2BAA2B;AAC5C,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO;AACtC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9G,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC;AACjD,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,oJAAoJ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC9P,EAAE,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;AAChD,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE,MAAM,CAAC;AACnB,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO;AAC1B,GAAG,MAAM,EAAE,MAAM,CAAC;AAClB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvG,CAAC;AACD;;;;"}
@@ -1,7 +1,7 @@
1
- import { g as getActiveEndpoint } from './endpoints-Dq-IqF1t.js';
2
- import { d as getRequestId, r as requireAdmin } from './helpers-s8d3gE38.js';
3
- import './state-BjAIjYtQ.js';
4
- import './src-BN-m14sE.js';
1
+ import { g as getActiveEndpoint } from './endpoints-CW4XfwZB.js';
2
+ import { d as getRequestId, r as requireAdmin } from './helpers-Bgl3bxCI.js';
3
+ import './state-lPKKJ0RQ.js';
4
+ import './src-CPvq2g1p.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -109,4 +109,4 @@ var PUT = handler;
109
109
  var DELETE = handler;
110
110
 
111
111
  export { DELETE, GET, POST, PUT };
112
- //# sourceMappingURL=_server.ts-j1haXquD.js.map
112
+ //# sourceMappingURL=_server.ts-CdUuHKoN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-j1haXquD.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/proxy/assistant/_...path_/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/proxy/assistant/[...path]/+server.ts\n/**\n* Proxy route: forward /proxy/assistant/[...path] → assistant OpenCode server.\n*\n* Auth: requires the operator's `op_session` cookie (cookie-only since\n* Phase 2 of the auth/proxy refactor — the `x-admin-token` header fallback\n* was removed).\n* Forwards the full request body and method unchanged.\n* The target URL and per-endpoint Basic-auth password are resolved per-request\n* from the active endpoint store, so switching endpoints in the UI takes\n* effect immediately without restarting the server.\n*\n* Streaming: the upstream response body is forwarded as-is (no buffering) so\n* SSE responses (text/event-stream) pass through chunk-by-chunk. We do not\n* impose a fixed timeout on the upstream fetch — OpenCode SSE streams can run\n* for minutes. Instead the per-request AbortController is wired to the client\n* disconnect signal (`event.request.signal`); when the browser aborts (tab\n* close, navigation away), we propagate the abort to upstream.\n*/\nfunction buildForwardHeaders(incomingContentType, username, password) {\n\tconst headers = {};\n\tif (incomingContentType) headers[\"content-type\"] = incomingContentType;\n\tif (password) headers[\"authorization\"] = `Basic ${btoa(`${username || \"openpalm\"}:${password}`)}`;\n\treturn headers;\n}\nfunction buildResponseHeaders(upstream, requestId, endpointId, endpointLabel) {\n\tconst headers = new Headers();\n\theaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"application/json\");\n\tconst cacheControl = upstream.headers.get(\"cache-control\");\n\tif (cacheControl) headers.set(\"cache-control\", cacheControl);\n\tconst transferEncoding = upstream.headers.get(\"transfer-encoding\");\n\tif (transferEncoding) headers.set(\"transfer-encoding\", transferEncoding);\n\theaders.set(\"x-request-id\", requestId);\n\theaders.set(\"x-endpoint-id\", endpointId);\n\theaders.set(\"x-endpoint-label\", encodeURIComponent(endpointLabel));\n\treturn headers;\n}\nvar handler = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tconst { path } = event.params;\n\tconst targetUrl = `${endpoint.url}/${path}${event.url.search}`;\n\tconst method = event.request.method;\n\tconst contentType = event.request.headers.get(\"content-type\");\n\tconst body = method !== \"GET\" && method !== \"HEAD\" ? await event.request.arrayBuffer() : void 0;\n\tconst controller = new AbortController();\n\tconst onClientAbort = () => controller.abort();\n\tevent.request.signal.addEventListener(\"abort\", onClientAbort, { once: true });\n\ttry {\n\t\tconst upstream = await fetch(targetUrl, {\n\t\t\tmethod,\n\t\t\theaders: buildForwardHeaders(contentType, endpoint.username, endpoint.password),\n\t\t\tbody,\n\t\t\tsignal: controller.signal\n\t\t});\n\t\treturn new Response(upstream.body, {\n\t\t\tstatus: upstream.status,\n\t\t\theaders: buildResponseHeaders(upstream, requestId, endpoint.id, endpoint.label)\n\t\t});\n\t} catch (e) {\n\t\tevent.request.signal.removeEventListener(\"abort\", onClientAbort);\n\t\tconsole.warn(\"[proxy/assistant] Upstream request failed:\", e);\n\t\treturn new Response(JSON.stringify({\n\t\t\terror: \"endpoint_unreachable\",\n\t\t\tmessage: `Assistant endpoint \"${endpoint.label}\" is not reachable`,\n\t\t\tendpointId: endpoint.id,\n\t\t\tendpointLabel: endpoint.label,\n\t\t\turl: endpoint.url\n\t\t}), {\n\t\t\tstatus: 503,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\nvar GET = handler;\nvar POST = handler;\nvar PUT = handler;\nvar DELETE = handler;\n//#endregion\nexport { DELETE, GET, POST, PUT };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CdUuHKoN.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/proxy/assistant/_...path_/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/proxy/assistant/[...path]/+server.ts\n/**\n* Proxy route: forward /proxy/assistant/[...path] → assistant OpenCode server.\n*\n* Auth: requires the operator's `op_session` cookie (cookie-only since\n* Phase 2 of the auth/proxy refactor — the `x-admin-token` header fallback\n* was removed).\n* Forwards the full request body and method unchanged.\n* The target URL and per-endpoint Basic-auth password are resolved per-request\n* from the active endpoint store, so switching endpoints in the UI takes\n* effect immediately without restarting the server.\n*\n* Streaming: the upstream response body is forwarded as-is (no buffering) so\n* SSE responses (text/event-stream) pass through chunk-by-chunk. We do not\n* impose a fixed timeout on the upstream fetch — OpenCode SSE streams can run\n* for minutes. Instead the per-request AbortController is wired to the client\n* disconnect signal (`event.request.signal`); when the browser aborts (tab\n* close, navigation away), we propagate the abort to upstream.\n*/\nfunction buildForwardHeaders(incomingContentType, username, password) {\n\tconst headers = {};\n\tif (incomingContentType) headers[\"content-type\"] = incomingContentType;\n\tif (password) headers[\"authorization\"] = `Basic ${btoa(`${username || \"openpalm\"}:${password}`)}`;\n\treturn headers;\n}\nfunction buildResponseHeaders(upstream, requestId, endpointId, endpointLabel) {\n\tconst headers = new Headers();\n\theaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"application/json\");\n\tconst cacheControl = upstream.headers.get(\"cache-control\");\n\tif (cacheControl) headers.set(\"cache-control\", cacheControl);\n\tconst transferEncoding = upstream.headers.get(\"transfer-encoding\");\n\tif (transferEncoding) headers.set(\"transfer-encoding\", transferEncoding);\n\theaders.set(\"x-request-id\", requestId);\n\theaders.set(\"x-endpoint-id\", endpointId);\n\theaders.set(\"x-endpoint-label\", encodeURIComponent(endpointLabel));\n\treturn headers;\n}\nvar handler = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tconst { path } = event.params;\n\tconst targetUrl = `${endpoint.url}/${path}${event.url.search}`;\n\tconst method = event.request.method;\n\tconst contentType = event.request.headers.get(\"content-type\");\n\tconst body = method !== \"GET\" && method !== \"HEAD\" ? await event.request.arrayBuffer() : void 0;\n\tconst controller = new AbortController();\n\tconst onClientAbort = () => controller.abort();\n\tevent.request.signal.addEventListener(\"abort\", onClientAbort, { once: true });\n\ttry {\n\t\tconst upstream = await fetch(targetUrl, {\n\t\t\tmethod,\n\t\t\theaders: buildForwardHeaders(contentType, endpoint.username, endpoint.password),\n\t\t\tbody,\n\t\t\tsignal: controller.signal\n\t\t});\n\t\treturn new Response(upstream.body, {\n\t\t\tstatus: upstream.status,\n\t\t\theaders: buildResponseHeaders(upstream, requestId, endpoint.id, endpoint.label)\n\t\t});\n\t} catch (e) {\n\t\tevent.request.signal.removeEventListener(\"abort\", onClientAbort);\n\t\tconsole.warn(\"[proxy/assistant] Upstream request failed:\", e);\n\t\treturn new Response(JSON.stringify({\n\t\t\terror: \"endpoint_unreachable\",\n\t\t\tmessage: `Assistant endpoint \"${endpoint.label}\" is not reachable`,\n\t\t\tendpointId: endpoint.id,\n\t\t\tendpointLabel: endpoint.label,\n\t\t\turl: endpoint.url\n\t\t}), {\n\t\t\tstatus: 503,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\nvar GET = handler;\nvar POST = handler;\nvar PUT = handler;\nvar DELETE = handler;\n//#endregion\nexport { DELETE, GET, POST, PUT };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { P as PLATFORM_VERSION, _ as ensureReleaseMigrated, a2 as formatForDisplay, M as MigrationError, F as createLogger } from './src-BN-m14sE.js';
2
- import { g as getState } from './state-BjAIjYtQ.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-s8d3gE38.js';
1
+ import { P as PLATFORM_VERSION, a2 as ensureReleaseMigrated, a6 as formatForDisplay, M as MigrationError, H as createLogger } from './src-CPvq2g1p.js';
2
+ import { g as getState } from './state-lPKKJ0RQ.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-Bgl3bxCI.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
25
+ import './endpoints-CW4XfwZB.js';
26
26
 
27
27
  //#region src/routes/admin/migrate-preview/+server.ts
28
28
  var logger = createLogger("migrate-preview");
@@ -74,4 +74,4 @@ var POST = async (event) => {
74
74
  };
75
75
 
76
76
  export { POST };
77
- //# sourceMappingURL=_server.ts-KuD8Wpms.js.map
77
+ //# sourceMappingURL=_server.ts-CfzcJXJ5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-KuD8Wpms.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/migrate-preview/_server.ts.js"],"sourcesContent":["import { an as PLATFORM_VERSION, hn as createLogger, in as ensureReleaseMigrated, nn as MigrationError, on as formatForDisplay } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/migrate-preview/+server.ts\nvar logger = createLogger(\"migrate-preview\");\n/**\n* Preview (#497): show the copy-only release migrations an upgrade to <tag>\n* WOULD run, before the user applies it. Routes through\n* `ensureReleaseMigrated({ dryRun: true })`, which logs `[dry-run]` lines and\n* writes nothing. The same preview the CLI's `migrate --dry-run --to` surfaces.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\tbody = {};\n\t}\n\tconst requested = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (requested && !/^[a-zA-Z0-9._\\-]+$/.test(requested)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst state = getState();\n\tlet targetVersion = requested;\n\tif (!targetVersion || requested.toLowerCase() === \"latest\") targetVersion = PLATFORM_VERSION;\n\tconst lines = [];\n\ttry {\n\t\tconst report = ensureReleaseMigrated({\n\t\t\thomeDir: state.homeDir,\n\t\t\ttargetVersion,\n\t\t\tdryRun: true,\n\t\t\tlog: (m) => lines.push(m)\n\t\t});\n\t\tlogger.info(\"migrate preview computed\", {\n\t\t\trequestId,\n\t\t\ttargetVersion,\n\t\t\tapplied: report.applied.length\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\ttargetVersion: formatForDisplay(targetVersion),\n\t\t\tapplied: report.applied,\n\t\t\tlines,\n\t\t\tnotes: report.notes\n\t\t}, requestId);\n\t} catch (e) {\n\t\tif (e instanceof MigrationError) return errorResponse(500, \"preview_failed\", e.message, { guidance: e.guidance }, requestId);\n\t\treturn errorResponse(500, \"preview_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,IAAI,GAAG,EAAE;AACX,CAAC;AACD,CAAC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;AACtE,CAAC,IAAI,SAAS,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/J,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,aAAa,GAAG,SAAS;AAC9B,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,aAAa,GAAG,gBAAgB;AAC7F,CAAC,MAAM,KAAK,GAAG,EAAE;AACjB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,qBAAqB,CAAC;AACvC,GAAG,OAAO,EAAE,KAAK,CAAC,OAAO;AACzB,GAAG,aAAa;AAChB,GAAG,MAAM,EAAE,IAAI;AACf,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3B,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC1C,GAAG,SAAS;AACZ,GAAG,aAAa;AAChB,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;AAC3B,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,aAAa,EAAE,gBAAgB,CAAC,aAAa,CAAC;AACjD,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO;AAC1B,GAAG,KAAK;AACR,GAAG,KAAK,EAAE,MAAM,CAAC;AACjB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,IAAI,CAAC,YAAY,cAAc,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC;AAC9H,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACxG,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-CfzcJXJ5.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/migrate-preview/_server.ts.js"],"sourcesContent":["import { cn as ensureReleaseMigrated, dn as PLATFORM_VERSION, fn as formatForDisplay, on as MigrationError, xn as createLogger } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/migrate-preview/+server.ts\nvar logger = createLogger(\"migrate-preview\");\n/**\n* Preview (#497): show the copy-only release migrations an upgrade to <tag>\n* WOULD run, before the user applies it. Routes through\n* `ensureReleaseMigrated({ dryRun: true })`, which logs `[dry-run]` lines and\n* writes nothing. The same preview the CLI's `migrate --dry-run --to` surfaces.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\tbody = {};\n\t}\n\tconst requested = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (requested && !/^[a-zA-Z0-9._\\-]+$/.test(requested)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst state = getState();\n\tlet targetVersion = requested;\n\tif (!targetVersion || requested.toLowerCase() === \"latest\") targetVersion = PLATFORM_VERSION;\n\tconst lines = [];\n\ttry {\n\t\tconst report = ensureReleaseMigrated({\n\t\t\thomeDir: state.homeDir,\n\t\t\ttargetVersion,\n\t\t\tdryRun: true,\n\t\t\tlog: (m) => lines.push(m)\n\t\t});\n\t\tlogger.info(\"migrate preview computed\", {\n\t\t\trequestId,\n\t\t\ttargetVersion,\n\t\t\tapplied: report.applied.length\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\ttargetVersion: formatForDisplay(targetVersion),\n\t\t\tapplied: report.applied,\n\t\t\tlines,\n\t\t\tnotes: report.notes\n\t\t}, requestId);\n\t} catch (e) {\n\t\tif (e instanceof MigrationError) return errorResponse(500, \"preview_failed\", e.message, { guidance: e.guidance }, requestId);\n\t\treturn errorResponse(500, \"preview_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,IAAI,GAAG,EAAE;AACX,CAAC;AACD,CAAC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;AACtE,CAAC,IAAI,SAAS,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/J,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI,aAAa,GAAG,SAAS;AAC9B,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE,aAAa,GAAG,gBAAgB;AAC7F,CAAC,MAAM,KAAK,GAAG,EAAE;AACjB,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,qBAAqB,CAAC;AACvC,GAAG,OAAO,EAAE,KAAK,CAAC,OAAO;AACzB,GAAG,aAAa;AAChB,GAAG,MAAM,EAAE,IAAI;AACf,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3B,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;AAC1C,GAAG,SAAS;AACZ,GAAG,aAAa;AAChB,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;AAC3B,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,aAAa,EAAE,gBAAgB,CAAC,aAAa,CAAC;AACjD,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO;AAC1B,GAAG,KAAK;AACR,GAAG,KAAK,EAAE,MAAM,CAAC;AACjB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,IAAI,CAAC,YAAY,cAAc,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC;AAC9H,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACxG,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { aB as readStackEnv } from './src-BN-m14sE.js';
2
- import { g as getState } from './state-BjAIjYtQ.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-s8d3gE38.js';
1
+ import { aH as readStackEnv } from './src-CPvq2g1p.js';
2
+ import { g as getState } from './state-lPKKJ0RQ.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-Bgl3bxCI.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,7 +22,7 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
25
+ import './endpoints-CW4XfwZB.js';
26
26
 
27
27
  //#region src/routes/api/transcribe/+server.ts
28
28
  var DEFAULT_MODEL = "whisper-1";
@@ -89,4 +89,4 @@ var POST = async (event) => {
89
89
  };
90
90
 
91
91
  export { POST };
92
- //# sourceMappingURL=_server.ts-BeXMVrJG.js.map
92
+ //# sourceMappingURL=_server.ts-Ch0DdI96.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BeXMVrJG.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { zt as readStackEnv } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/api/transcribe/+server.ts\nvar DEFAULT_MODEL = \"whisper-1\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(hf_[A-Za-z0-9_-]{4,})/gi, \"hf_***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst sttBaseURL = (stackEnv.OP_STT_BASE_URL || process.env.OP_STT_BASE_URL || \"\").trim();\n\tconst sttModel = (stackEnv.OP_STT_MODEL || process.env.OP_STT_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst sttLanguageEnv = (stackEnv.OP_STT_LANGUAGE || process.env.OP_STT_LANGUAGE || \"\").trim();\n\tconst sttApiKey = (process.env.OP_STT_API_KEY ?? \"\").trim();\n\tif (!sttBaseURL) return errorResponse(503, \"stt_not_configured\", \"Configure an STT engine in Admin → Voice settings.\", {}, requestId);\n\tlet inboundForm;\n\ttry {\n\t\tinboundForm = await event.request.formData();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Body must be multipart/form-data\", {}, requestId);\n\t}\n\tconst audio = inboundForm.get(\"audio\");\n\tif (!(audio instanceof Blob)) return errorResponse(400, \"bad_request\", \"Missing \\\"audio\\\" field (Blob)\", {}, requestId);\n\tconst languageReq = inboundForm.get(\"language\");\n\tconst promptReq = inboundForm.get(\"prompt\");\n\tconst language = typeof languageReq === \"string\" && languageReq.trim() ? languageReq.trim() : sttLanguageEnv;\n\tconst outForm = new FormData();\n\tconst filename = audio.name || \"recording.webm\";\n\toutForm.append(\"file\", audio, filename);\n\toutForm.append(\"model\", sttModel);\n\toutForm.append(\"response_format\", \"json\");\n\tif (language) outForm.append(\"language\", language);\n\tif (typeof promptReq === \"string\" && promptReq.trim()) outForm.append(\"prompt\", promptReq.trim());\n\tconst upstreamUrl = sttBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/transcriptions\";\n\tconst headers = {};\n\tif (sttApiKey) headers[\"authorization\"] = `Bearer ${sttApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: outForm,\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach STT endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst snippet = redactKey(await upstream.text().catch(() => \"\")).slice(0, 500);\n\t\treturn errorResponse(502, \"upstream_error\", `STT endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: snippet\n\t\t}, requestId);\n\t}\n\tlet payload;\n\ttry {\n\t\tpayload = await upstream.json();\n\t} catch {\n\t\treturn errorResponse(502, \"upstream_error\", \"STT endpoint returned a non-JSON response\", { upstreamStatus: upstream.status }, requestId);\n\t}\n\treturn jsonResponse(200, { text: typeof payload?.text === \"string\" ? payload.text : \"\" }, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Ch0DdI96.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { Ut as readStackEnv } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/api/transcribe/+server.ts\nvar DEFAULT_MODEL = \"whisper-1\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(hf_[A-Za-z0-9_-]{4,})/gi, \"hf_***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst sttBaseURL = (stackEnv.OP_STT_BASE_URL || process.env.OP_STT_BASE_URL || \"\").trim();\n\tconst sttModel = (stackEnv.OP_STT_MODEL || process.env.OP_STT_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst sttLanguageEnv = (stackEnv.OP_STT_LANGUAGE || process.env.OP_STT_LANGUAGE || \"\").trim();\n\tconst sttApiKey = (process.env.OP_STT_API_KEY ?? \"\").trim();\n\tif (!sttBaseURL) return errorResponse(503, \"stt_not_configured\", \"Configure an STT engine in Admin → Voice settings.\", {}, requestId);\n\tlet inboundForm;\n\ttry {\n\t\tinboundForm = await event.request.formData();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Body must be multipart/form-data\", {}, requestId);\n\t}\n\tconst audio = inboundForm.get(\"audio\");\n\tif (!(audio instanceof Blob)) return errorResponse(400, \"bad_request\", \"Missing \\\"audio\\\" field (Blob)\", {}, requestId);\n\tconst languageReq = inboundForm.get(\"language\");\n\tconst promptReq = inboundForm.get(\"prompt\");\n\tconst language = typeof languageReq === \"string\" && languageReq.trim() ? languageReq.trim() : sttLanguageEnv;\n\tconst outForm = new FormData();\n\tconst filename = audio.name || \"recording.webm\";\n\toutForm.append(\"file\", audio, filename);\n\toutForm.append(\"model\", sttModel);\n\toutForm.append(\"response_format\", \"json\");\n\tif (language) outForm.append(\"language\", language);\n\tif (typeof promptReq === \"string\" && promptReq.trim()) outForm.append(\"prompt\", promptReq.trim());\n\tconst upstreamUrl = sttBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/transcriptions\";\n\tconst headers = {};\n\tif (sttApiKey) headers[\"authorization\"] = `Bearer ${sttApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: outForm,\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach STT endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst snippet = redactKey(await upstream.text().catch(() => \"\")).slice(0, 500);\n\t\treturn errorResponse(502, \"upstream_error\", `STT endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: snippet\n\t\t}, requestId);\n\t}\n\tlet payload;\n\ttry {\n\t\tpayload = await upstream.json();\n\t} catch {\n\t\treturn errorResponse(502, \"upstream_error\", \"STT endpoint returned a non-JSON response\", { upstreamStatus: upstream.status }, requestId);\n\t}\n\treturn jsonResponse(200, { text: typeof payload?.text === \"string\" ? payload.text : \"\" }, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
2
  import { a as PROVIDER_KEY_MAP } from './provider-constants-DPrj3yBX.js';
3
- import { ai as isSetupComplete, aO as resolveStackDir, N as detectGpu, Q as detectLocalProviders, O as detectHostOpenCode, aH as recommendSetup, i as authJsonPath } from './src-BN-m14sE.js';
4
- import { g as getState } from './state-BjAIjYtQ.js';
5
- import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-s8d3gE38.js';
3
+ import { am as isSetupComplete, aU as resolveStackDir, R as detectGpu, U as detectLocalProviders, T as detectHostOpenCode, aN as recommendSetup, j as authJsonPath } from './src-CPvq2g1p.js';
4
+ import { g as getState } from './state-lPKKJ0RQ.js';
5
+ import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-Bgl3bxCI.js';
6
6
  import { existsSync, readFileSync } from 'node:fs';
7
7
  import './utils-BSRjJDrZ.js';
8
8
  import './chunk-CLZ62Ad-.js';
@@ -24,7 +24,7 @@ import 'zlib';
24
24
  import 'node:assert';
25
25
  import 'node:fs/promises';
26
26
  import 'node:os';
27
- import './endpoints-Dq-IqF1t.js';
27
+ import './endpoints-CW4XfwZB.js';
28
28
 
29
29
  //#region src/routes/api/setup/recommend/+server.ts
30
30
  /** Local providers are detected separately as host providers — exclude from "cloud". */
@@ -97,4 +97,4 @@ var GET = async (event) => {
97
97
  };
98
98
 
99
99
  export { GET };
100
- //# sourceMappingURL=_server.ts-vZTWdH4v.js.map
100
+ //# sourceMappingURL=_server.ts-CkIu2zwY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-vZTWdH4v.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/recommend/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { i as PROVIDER_KEY_MAP } from \"../../../../../chunks/provider-constants.js\";\nimport { Yt as authJsonPath, c as recommendSetup, en as resolveStackDir, i as detectHostOpenCode, l as detectGpu, u as detectLocalProviders, ut as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getOpenCodeClient, d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/recommend/+server.ts\n/** Local providers are detected separately as host providers — exclude from \"cloud\". */\nvar LOCAL_PROVIDER_IDS = new Set([\n\t\"ollama\",\n\t\"lmstudio\",\n\t\"model-runner\",\n\t\"openai-compatible\"\n]);\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\n/** Fallback: providers whose API-key env var is present in the process env. */\nfunction envKeyConnected() {\n\tconst out = [];\n\tfor (const [provider, envVar] of Object.entries(PROVIDER_KEY_MAP)) if (process.env[envVar]) out.push(provider);\n\treturn out;\n}\n/** Cloud providers = OpenCode connected[] ∪ auth.json credentials, minus locals.\n* Falls back to env-key detection when OpenCode is unavailable. */\nasync function detectCloudProviders() {\n\tlet connected = [];\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (await client.isAvailable()) {\n\t\t\tconst catalog = await client.proxy(\"/provider\");\n\t\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\t\tconnected = Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()]));\n\t\t} else connected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t} catch {\n\t\tconnected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t}\n\treturn connected.filter((id) => !LOCAL_PROVIDER_IDS.has(id));\n}\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst [cloudProviders, gpu, localDetections, hostOpenCode] = await Promise.all([\n\t\tdetectCloudProviders(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tPromise.resolve(detectHostOpenCode())\n\t]);\n\tconst hostProviders = localDetections.filter((p) => p.available).map((p) => ({\n\t\tprovider: p.provider,\n\t\turl: p.url\n\t}));\n\treturn json({\n\t\tok: true,\n\t\trecommendation: recommendSetup({\n\t\t\tcloudProviders,\n\t\t\thostProviders,\n\t\t\tgpu,\n\t\t\thostCredentialCount: hostOpenCode.credentialCount\n\t\t}),\n\t\tgpu,\n\t\tcloudProviders,\n\t\thostProviders\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CkIu2zwY.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/recommend/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { i as PROVIDER_KEY_MAP } from \"../../../../../chunks/provider-constants.js\";\nimport { $t as authJsonPath, c as recommendSetup, i as detectHostOpenCode, in as resolveStackDir, l as detectGpu, u as detectLocalProviders, ut as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getOpenCodeClient, d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/recommend/+server.ts\n/** Local providers are detected separately as host providers — exclude from \"cloud\". */\nvar LOCAL_PROVIDER_IDS = new Set([\n\t\"ollama\",\n\t\"lmstudio\",\n\t\"model-runner\",\n\t\"openai-compatible\"\n]);\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\n/** Fallback: providers whose API-key env var is present in the process env. */\nfunction envKeyConnected() {\n\tconst out = [];\n\tfor (const [provider, envVar] of Object.entries(PROVIDER_KEY_MAP)) if (process.env[envVar]) out.push(provider);\n\treturn out;\n}\n/** Cloud providers = OpenCode connected[] ∪ auth.json credentials, minus locals.\n* Falls back to env-key detection when OpenCode is unavailable. */\nasync function detectCloudProviders() {\n\tlet connected = [];\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (await client.isAvailable()) {\n\t\t\tconst catalog = await client.proxy(\"/provider\");\n\t\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\t\tconnected = Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()]));\n\t\t} else connected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t} catch {\n\t\tconnected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t}\n\treturn connected.filter((id) => !LOCAL_PROVIDER_IDS.has(id));\n}\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst [cloudProviders, gpu, localDetections, hostOpenCode] = await Promise.all([\n\t\tdetectCloudProviders(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tPromise.resolve(detectHostOpenCode())\n\t]);\n\tconst hostProviders = localDetections.filter((p) => p.available).map((p) => ({\n\t\tprovider: p.provider,\n\t\turl: p.url\n\t}));\n\treturn json({\n\t\tok: true,\n\t\trecommendation: recommendSetup({\n\t\t\tcloudProviders,\n\t\t\thostProviders,\n\t\t\tgpu,\n\t\t\thostCredentialCount: hostOpenCode.credentialCount\n\t\t}),\n\t\tgpu,\n\t\tcloudProviders,\n\t\thostProviders\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { ai as isSetupComplete, aO as resolveStackDir, o as checkDocker } from './src-BN-m14sE.js';
3
- import { g as getState } from './state-BjAIjYtQ.js';
4
- import { g as getDeployState, s as startDeploy } from './setup-deploy-BtgW_nbb.js';
2
+ import { am as isSetupComplete, aU as resolveStackDir, p as checkDocker } from './src-CPvq2g1p.js';
3
+ import { g as getState } from './state-lPKKJ0RQ.js';
4
+ import { g as getDeployState, s as startDeploy } from './setup-deploy-CYfgQCxa.js';
5
5
  import './utils-BSRjJDrZ.js';
6
6
  import './chunk-CLZ62Ad-.js';
7
7
  import 'node:module';
@@ -47,4 +47,4 @@ var POST = async () => {
47
47
  };
48
48
 
49
49
  export { POST };
50
- //# sourceMappingURL=_server.ts-BLnGiLfS.js.map
50
+ //# sourceMappingURL=_server.ts-CkJ4ETAZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BLnGiLfS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/retry-deploy/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { X as checkDocker, en as resolveStackDir, ut as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { i as startDeploy, t as getDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/retry-deploy/+server.ts\nvar POST = async () => {\n\tif (isSetupComplete(resolveStackDir())) return json({\n\t\tok: false,\n\t\terror: \"setup_complete\",\n\t\tmessage: \"Setup is already complete.\"\n\t}, { status: 409 });\n\tif (!(await checkDocker()).ok) return json({\n\t\tok: false,\n\t\terror: \"docker_unavailable\",\n\t\tmessage: \"Docker isn't running. Start Docker, then retry deploy.\"\n\t}, { status: 503 });\n\tif (getDeployState(getState()).deploying) return json({\n\t\tok: false,\n\t\terror: \"install_in_progress\",\n\t\tmessage: \"A deploy is already running.\"\n\t}, { status: 409 });\n\tstartDeploy(getState());\n\treturn json({ ok: true });\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,IAAI,GAAG,YAAY;AACvB,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC;AACrD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,gBAAgB;AACzB,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC;AAC5C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,oBAAoB;AAC7B,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC;AACvD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,qBAAqB;AAC9B,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC1B;;;;"}
1
+ {"version":3,"file":"_server.ts-CkJ4ETAZ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/retry-deploy/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { X as checkDocker, in as resolveStackDir, ut as isSetupComplete } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { i as startDeploy, t as getDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/retry-deploy/+server.ts\nvar POST = async () => {\n\tif (isSetupComplete(resolveStackDir())) return json({\n\t\tok: false,\n\t\terror: \"setup_complete\",\n\t\tmessage: \"Setup is already complete.\"\n\t}, { status: 409 });\n\tif (!(await checkDocker()).ok) return json({\n\t\tok: false,\n\t\terror: \"docker_unavailable\",\n\t\tmessage: \"Docker isn't running. Start Docker, then retry deploy.\"\n\t}, { status: 503 });\n\tif (getDeployState(getState()).deploying) return json({\n\t\tok: false,\n\t\terror: \"install_in_progress\",\n\t\tmessage: \"A deploy is already running.\"\n\t}, { status: 409 });\n\tstartDeploy(getState());\n\treturn json({ ok: true });\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACG,IAAC,IAAI,GAAG,YAAY;AACvB,CAAC,IAAI,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC;AACrD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,gBAAgB;AACzB,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI,CAAC,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC;AAC5C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,oBAAoB;AAC7B,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC;AACvD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,KAAK,EAAE,qBAAqB;AAC9B,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC1B;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, g as getOpenCodeClient, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-s8d3gE38.js';
2
- import { u as unsetMainModel, s as setMainModel } from './config-EKy5PAZU.js';
3
- import './src-BN-m14sE.js';
1
+ import { d as getRequestId, r as requireAdmin, g as getOpenCodeClient, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-Bgl3bxCI.js';
2
+ import { u as unsetMainModel, s as setMainModel } from './config-BbBq0dxu.js';
3
+ import './src-CPvq2g1p.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,10 +22,10 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-Dq-IqF1t.js';
26
- import './state-BjAIjYtQ.js';
25
+ import './endpoints-CW4XfwZB.js';
26
+ import './state-lPKKJ0RQ.js';
27
27
  import './coercion-TNFJisCC.js';
28
- import './http-BCF8LO-V.js';
28
+ import './http-DPJjMdf6.js';
29
29
 
30
30
  //#region src/routes/admin/opencode/model/+server.ts
31
31
  var GET = async (event) => {
@@ -82,4 +82,4 @@ var POST = async (event) => {
82
82
  };
83
83
 
84
84
  export { GET, POST };
85
- //# sourceMappingURL=_server.ts-Rigt7lcd.js.map
85
+ //# sourceMappingURL=_server.ts-CpfSKJtM.js.map