@openpalm/ui 0.12.0-rc.7 → 0.12.0

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 (334) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/10.C4zN9dGC.css +1 -0
  3. package/build/client/_app/immutable/assets/10.C4zN9dGC.css.br +0 -0
  4. package/build/client/_app/immutable/assets/10.C4zN9dGC.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{DEBpD4po.js → Bax7L16Q.js} +1 -1
  6. package/build/client/_app/immutable/chunks/Bax7L16Q.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/Bax7L16Q.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/BcQhsc8n.js +3 -0
  9. package/build/client/_app/immutable/chunks/BcQhsc8n.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/BcQhsc8n.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/BpaIoWOr.js +1 -0
  12. package/build/client/_app/immutable/chunks/BpaIoWOr.js.br +2 -0
  13. package/build/client/_app/immutable/chunks/BpaIoWOr.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{Bcya9nj3.js → DnTpLxhG.js} +1 -1
  15. package/build/client/_app/immutable/chunks/DnTpLxhG.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/DnTpLxhG.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{5BMpZHAs.js → pBR2AGf0.js} +1 -1
  18. package/build/client/_app/immutable/chunks/pBR2AGf0.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/pBR2AGf0.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/{app.DFQGhmyM.js → app.C4QtNTZU.js} +2 -2
  21. package/build/client/_app/immutable/entry/app.C4QtNTZU.js.br +0 -0
  22. package/build/client/_app/immutable/entry/app.C4QtNTZU.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/start.CeWVfsFM.js +1 -0
  24. package/build/client/_app/immutable/entry/start.CeWVfsFM.js.br +0 -0
  25. package/build/client/_app/immutable/entry/start.CeWVfsFM.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{1.BXWidUif.js → 1.C0uJVekh.js} +1 -1
  27. package/build/client/_app/immutable/nodes/1.C0uJVekh.js.br +1 -0
  28. package/build/client/_app/immutable/nodes/1.C0uJVekh.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/10.WCoXon6J.js +3 -0
  30. package/build/client/_app/immutable/nodes/10.WCoXon6J.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/10.WCoXon6J.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{4.Dw5Q4nOr.js → 4.BO13ddLo.js} +1 -1
  33. package/build/client/_app/immutable/nodes/4.BO13ddLo.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/4.BO13ddLo.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{5.PnPlEX57.js → 5.D4-RWkU8.js} +1 -1
  36. package/build/client/_app/immutable/nodes/5.D4-RWkU8.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/5.D4-RWkU8.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{6.B6ILluB-.js → 6.CsqWch7r.js} +1 -1
  39. package/build/client/_app/immutable/nodes/6.CsqWch7r.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/6.CsqWch7r.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{7.CCy2vH83.js → 7.C0K_2RaS.js} +1 -1
  42. package/build/client/_app/immutable/nodes/7.C0K_2RaS.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/7.C0K_2RaS.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{8.DF0SDD7S.js → 8.hHk-N_RI.js} +1 -1
  45. package/build/client/_app/immutable/nodes/8.hHk-N_RI.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/8.hHk-N_RI.js.gz +0 -0
  47. package/build/client/_app/version.json +1 -1
  48. package/build/client/_app/version.json.br +1 -1
  49. package/build/client/_app/version.json.gz +0 -0
  50. package/build/server/chunks/1-B8jtXQ1x.js +9 -0
  51. package/build/server/chunks/{1-DCycfbgI.js.map → 1-B8jtXQ1x.js.map} +1 -1
  52. package/build/server/chunks/{10-BNTNl_8A.js → 10-Cv8YOTLA.js} +19 -15
  53. package/build/server/chunks/10-Cv8YOTLA.js.map +1 -0
  54. package/build/server/chunks/4-CYOycgCE.js +9 -0
  55. package/build/server/chunks/{4-CZO-DYB_.js.map → 4-CYOycgCE.js.map} +1 -1
  56. package/build/server/chunks/{5-DDQgFoHm.js → 5-BwaUYxAQ.js} +3 -3
  57. package/build/server/chunks/{5-DDQgFoHm.js.map → 5-BwaUYxAQ.js.map} +1 -1
  58. package/build/server/chunks/{6-ClJAXBKe.js → 6-DyHIlyyK.js} +3 -3
  59. package/build/server/chunks/{6-ClJAXBKe.js.map → 6-DyHIlyyK.js.map} +1 -1
  60. package/build/server/chunks/7-DVdyIrEq.js +9 -0
  61. package/build/server/chunks/{7-Cc7zFraB.js.map → 7-DVdyIrEq.js.map} +1 -1
  62. package/build/server/chunks/{8-CxRlct4z.js → 8-D4KNYbWT.js} +3 -3
  63. package/build/server/chunks/{8-CxRlct4z.js.map → 8-D4KNYbWT.js.map} +1 -1
  64. package/build/server/chunks/{ChatMessage-DtV3FzvL.js → ChatMessage-CHwyf42f.js} +2 -2
  65. package/build/server/chunks/{ChatMessage-DtV3FzvL.js.map → ChatMessage-CHwyf42f.js.map} +1 -1
  66. package/build/server/chunks/{Navbar-HA9zLgjN.js → Navbar-s4lz4RXX.js} +3 -3
  67. package/build/server/chunks/{Navbar-HA9zLgjN.js.map → Navbar-s4lz4RXX.js.map} +1 -1
  68. package/build/server/chunks/{_page.svelte-G5onUila.js → _page.svelte--olXVDfj.js} +5 -5
  69. package/build/server/chunks/{_page.svelte-G5onUila.js.map → _page.svelte--olXVDfj.js.map} +1 -1
  70. package/build/server/chunks/{_page.svelte-DKGbw9Mh.js → _page.svelte-8eM9fjKU.js} +3 -3
  71. package/build/server/chunks/{_page.svelte-DKGbw9Mh.js.map → _page.svelte-8eM9fjKU.js.map} +1 -1
  72. package/build/server/chunks/{_page.svelte-DyvNXlN2.js → _page.svelte-B12w3ZWt.js} +5 -5
  73. package/build/server/chunks/{_page.svelte-DyvNXlN2.js.map → _page.svelte-B12w3ZWt.js.map} +1 -1
  74. package/build/server/chunks/{_page.svelte-n-kbA9NX.js → _page.svelte-CrlN_lhP.js} +7 -7
  75. package/build/server/chunks/{_page.svelte-n-kbA9NX.js.map → _page.svelte-CrlN_lhP.js.map} +1 -1
  76. package/build/server/chunks/_page.svelte-D98QHSOI.js +172 -0
  77. package/build/server/chunks/_page.svelte-D98QHSOI.js.map +1 -0
  78. package/build/server/chunks/{_page.svelte-DVTpa1X1.js → _page.svelte-DCUga4-b.js} +6 -6
  79. package/build/server/chunks/{_page.svelte-DVTpa1X1.js.map → _page.svelte-DCUga4-b.js.map} +1 -1
  80. package/build/server/chunks/{_server.ts-BmCoOLej.js → _server.ts-0hLJAKzE.js} +5 -5
  81. package/build/server/chunks/{_server.ts-BmCoOLej.js.map → _server.ts-0hLJAKzE.js.map} +1 -1
  82. package/build/server/chunks/{_server.ts-xDSMFKe7.js → _server.ts-0iFEevst.js} +5 -5
  83. package/build/server/chunks/{_server.ts-xDSMFKe7.js.map → _server.ts-0iFEevst.js.map} +1 -1
  84. package/build/server/chunks/_server.ts-4ylSL2A5.js +119 -0
  85. package/build/server/chunks/_server.ts-4ylSL2A5.js.map +1 -0
  86. package/build/server/chunks/{_server.ts-WoMwVPlf.js → _server.ts-B1OsN9Uv.js} +5 -5
  87. package/build/server/chunks/{_server.ts-WoMwVPlf.js.map → _server.ts-B1OsN9Uv.js.map} +1 -1
  88. package/build/server/chunks/{_server.ts-DIfIRxdi.js → _server.ts-B2brPQ2u.js} +6 -6
  89. package/build/server/chunks/{_server.ts-DIfIRxdi.js.map → _server.ts-B2brPQ2u.js.map} +1 -1
  90. package/build/server/chunks/{_server.ts-TMzhwYe3.js → _server.ts-B3RQ9Xes.js} +5 -5
  91. package/build/server/chunks/{_server.ts-TMzhwYe3.js.map → _server.ts-B3RQ9Xes.js.map} +1 -1
  92. package/build/server/chunks/{_server.ts-CWjIBYQE.js → _server.ts-B8meN7fm.js} +5 -5
  93. package/build/server/chunks/{_server.ts-CWjIBYQE.js.map → _server.ts-B8meN7fm.js.map} +1 -1
  94. package/build/server/chunks/{_server.ts-6uzhllSd.js → _server.ts-BF8AFk1O.js} +5 -5
  95. package/build/server/chunks/{_server.ts-6uzhllSd.js.map → _server.ts-BF8AFk1O.js.map} +1 -1
  96. package/build/server/chunks/{_server.ts-EzBC5iQF.js → _server.ts-BNvICghN.js} +5 -5
  97. package/build/server/chunks/{_server.ts-EzBC5iQF.js.map → _server.ts-BNvICghN.js.map} +1 -1
  98. package/build/server/chunks/{_server.ts-DF941T5f.js → _server.ts-BO6vkHME.js} +6 -6
  99. package/build/server/chunks/{_server.ts-DF941T5f.js.map → _server.ts-BO6vkHME.js.map} +1 -1
  100. package/build/server/chunks/{_server.ts-BSaMEgcx.js → _server.ts-BOEgcpbJ.js} +5 -5
  101. package/build/server/chunks/{_server.ts-BSaMEgcx.js.map → _server.ts-BOEgcpbJ.js.map} +1 -1
  102. package/build/server/chunks/{_server.ts-C7xr14FX.js → _server.ts-BRdHo4bw.js} +5 -5
  103. package/build/server/chunks/{_server.ts-C7xr14FX.js.map → _server.ts-BRdHo4bw.js.map} +1 -1
  104. package/build/server/chunks/{_server.ts-C0pjE31l.js → _server.ts-BY0Z6gez.js} +6 -6
  105. package/build/server/chunks/{_server.ts-C0pjE31l.js.map → _server.ts-BY0Z6gez.js.map} +1 -1
  106. package/build/server/chunks/{_server.ts-C8-9Bs1B.js → _server.ts-BYEWMyas.js} +6 -6
  107. package/build/server/chunks/{_server.ts-C8-9Bs1B.js.map → _server.ts-BYEWMyas.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-DvoDGebd.js → _server.ts-B_IMCNwR.js} +5 -5
  109. package/build/server/chunks/{_server.ts-DvoDGebd.js.map → _server.ts-B_IMCNwR.js.map} +1 -1
  110. package/build/server/chunks/{_server.ts-C7hNVePN.js → _server.ts-B_non6CM.js} +7 -7
  111. package/build/server/chunks/{_server.ts-C7hNVePN.js.map → _server.ts-B_non6CM.js.map} +1 -1
  112. package/build/server/chunks/{_server.ts-Bj_eH9Qa.js → _server.ts-BfkZ8qGk.js} +5 -5
  113. package/build/server/chunks/{_server.ts-Bj_eH9Qa.js.map → _server.ts-BfkZ8qGk.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-QHe8q16B.js → _server.ts-Bhq9ymyc.js} +5 -5
  115. package/build/server/chunks/{_server.ts-QHe8q16B.js.map → _server.ts-Bhq9ymyc.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-CGo5LDLj.js → _server.ts-Br4Gx_Jn.js} +6 -6
  117. package/build/server/chunks/{_server.ts-CGo5LDLj.js.map → _server.ts-Br4Gx_Jn.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-Cl7761Fp.js → _server.ts-BrbtkcZL.js} +5 -5
  119. package/build/server/chunks/{_server.ts-Cl7761Fp.js.map → _server.ts-BrbtkcZL.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-BA54VwUJ.js → _server.ts-Bt6Ps7qh.js} +5 -5
  121. package/build/server/chunks/{_server.ts-BA54VwUJ.js.map → _server.ts-Bt6Ps7qh.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-CAqoT7gS.js → _server.ts-ByqKQ6_w.js} +5 -5
  123. package/build/server/chunks/{_server.ts-CAqoT7gS.js.map → _server.ts-ByqKQ6_w.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-RXDzWbJJ.js → _server.ts-Bz5Nrffk.js} +5 -5
  125. package/build/server/chunks/{_server.ts-RXDzWbJJ.js.map → _server.ts-Bz5Nrffk.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-CkPdrldr.js → _server.ts-C0cOmNsF.js} +5 -5
  127. package/build/server/chunks/{_server.ts-CkPdrldr.js.map → _server.ts-C0cOmNsF.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-Cdc1j_g9.js → _server.ts-C0i7rvWo.js} +5 -5
  129. package/build/server/chunks/{_server.ts-Cdc1j_g9.js.map → _server.ts-C0i7rvWo.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-BzPza22T.js → _server.ts-CHGS4I2O.js} +5 -5
  131. package/build/server/chunks/{_server.ts-BzPza22T.js.map → _server.ts-CHGS4I2O.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-CONBqas-.js → _server.ts-CIZ76fdL.js} +6 -6
  133. package/build/server/chunks/{_server.ts-CONBqas-.js.map → _server.ts-CIZ76fdL.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-BJH5nKih.js → _server.ts-CKKESqVH.js} +6 -6
  135. package/build/server/chunks/{_server.ts-BJH5nKih.js.map → _server.ts-CKKESqVH.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-DRl8LhH_.js → _server.ts-CLCy0mAW.js} +7 -7
  137. package/build/server/chunks/{_server.ts-DRl8LhH_.js.map → _server.ts-CLCy0mAW.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-DRaQFXYb.js → _server.ts-COAWt0G-.js} +5 -5
  139. package/build/server/chunks/{_server.ts-DRaQFXYb.js.map → _server.ts-COAWt0G-.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-CQqnPA_u.js → _server.ts-CTb3RapS.js} +6 -6
  141. package/build/server/chunks/{_server.ts-CQqnPA_u.js.map → _server.ts-CTb3RapS.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-CuJPxE8W.js → _server.ts-CWO_2bu7.js} +5 -5
  143. package/build/server/chunks/{_server.ts-CuJPxE8W.js.map → _server.ts-CWO_2bu7.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-LaXE_tpn.js → _server.ts-CYFFTA7v.js} +5 -5
  145. package/build/server/chunks/{_server.ts-LaXE_tpn.js.map → _server.ts-CYFFTA7v.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-DpJU6BJ_.js → _server.ts-Cfbw5n2U.js} +5 -5
  147. package/build/server/chunks/{_server.ts-DpJU6BJ_.js.map → _server.ts-Cfbw5n2U.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-C3f75zDF.js → _server.ts-CmWaTHMr.js} +5 -5
  149. package/build/server/chunks/{_server.ts-C3f75zDF.js.map → _server.ts-CmWaTHMr.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-BH8iEseN.js → _server.ts-CnumCXFb.js} +6 -6
  151. package/build/server/chunks/{_server.ts-BH8iEseN.js.map → _server.ts-CnumCXFb.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-D0kV95da.js → _server.ts-CoiukD5c.js} +2 -2
  153. package/build/server/chunks/{_server.ts-D0kV95da.js.map → _server.ts-CoiukD5c.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-DRxWRGbe.js → _server.ts-Cq-qTETd.js} +5 -5
  155. package/build/server/chunks/{_server.ts-DRxWRGbe.js.map → _server.ts-Cq-qTETd.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-Dr_BpdoB.js → _server.ts-Cqkme1kG.js} +5 -5
  157. package/build/server/chunks/{_server.ts-Dr_BpdoB.js.map → _server.ts-Cqkme1kG.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-T3cpJIfp.js → _server.ts-CrjA87S0.js} +5 -5
  159. package/build/server/chunks/{_server.ts-T3cpJIfp.js.map → _server.ts-CrjA87S0.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-DZMFW3YG.js → _server.ts-Ct0NCY7R.js} +6 -6
  161. package/build/server/chunks/{_server.ts-DZMFW3YG.js.map → _server.ts-Ct0NCY7R.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-zvQ4fAkC.js → _server.ts-Cvqkb6OU.js} +5 -5
  163. package/build/server/chunks/{_server.ts-zvQ4fAkC.js.map → _server.ts-Cvqkb6OU.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-0a4AwkaF.js → _server.ts-CwnScN1F.js} +6 -6
  165. package/build/server/chunks/{_server.ts-0a4AwkaF.js.map → _server.ts-CwnScN1F.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-CUqsT6le.js → _server.ts-D-mcIzdG.js} +7 -7
  167. package/build/server/chunks/{_server.ts-CUqsT6le.js.map → _server.ts-D-mcIzdG.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-BT_2L60n.js → _server.ts-D0UE5X1V.js} +2 -2
  169. package/build/server/chunks/{_server.ts-BT_2L60n.js.map → _server.ts-D0UE5X1V.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-oIszVYoi.js → _server.ts-D4KL0XXW.js} +7 -7
  171. package/build/server/chunks/{_server.ts-oIszVYoi.js.map → _server.ts-D4KL0XXW.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-01PTKnRO.js → _server.ts-D7mkrhF3.js} +6 -6
  173. package/build/server/chunks/{_server.ts-01PTKnRO.js.map → _server.ts-D7mkrhF3.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-GwdEeHnv.js → _server.ts-D9eYrEJU.js} +5 -5
  175. package/build/server/chunks/{_server.ts-GwdEeHnv.js.map → _server.ts-D9eYrEJU.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-fx4cEsD-.js → _server.ts-DCbXxoPJ.js} +5 -5
  177. package/build/server/chunks/{_server.ts-fx4cEsD-.js.map → _server.ts-DCbXxoPJ.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-CL2B70h7.js → _server.ts-DEQLg0tM.js} +5 -5
  179. package/build/server/chunks/{_server.ts-CL2B70h7.js.map → _server.ts-DEQLg0tM.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-CLWP9IQb.js → _server.ts-DJHAOoko.js} +5 -5
  181. package/build/server/chunks/{_server.ts-CLWP9IQb.js.map → _server.ts-DJHAOoko.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-BVclIxW7.js → _server.ts-DLYt8eXx.js} +5 -5
  183. package/build/server/chunks/{_server.ts-BVclIxW7.js.map → _server.ts-DLYt8eXx.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-Dkc8Fk_E.js → _server.ts-DOy2TgAZ.js} +5 -5
  185. package/build/server/chunks/{_server.ts-Dkc8Fk_E.js.map → _server.ts-DOy2TgAZ.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-BnxUjr8D.js → _server.ts-DYS7oy9X.js} +5 -5
  187. package/build/server/chunks/{_server.ts-BnxUjr8D.js.map → _server.ts-DYS7oy9X.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-YjtMP9d6.js → _server.ts-DZl5lI54.js} +5 -5
  189. package/build/server/chunks/{_server.ts-YjtMP9d6.js.map → _server.ts-DZl5lI54.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-BKj-eCBS.js → _server.ts-DayRiRib.js} +5 -5
  191. package/build/server/chunks/{_server.ts-BKj-eCBS.js.map → _server.ts-DayRiRib.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-BRxFZ16U.js → _server.ts-Db7zIB3_.js} +7 -7
  193. package/build/server/chunks/{_server.ts-BRxFZ16U.js.map → _server.ts-Db7zIB3_.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-Lq8lwYNz.js → _server.ts-DbtJ2h0n.js} +5 -5
  195. package/build/server/chunks/{_server.ts-Lq8lwYNz.js.map → _server.ts-DbtJ2h0n.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-BLyiuWbx.js → _server.ts-DchvUAJy.js} +5 -5
  197. package/build/server/chunks/{_server.ts-BLyiuWbx.js.map → _server.ts-DchvUAJy.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-CH2wcNv2.js → _server.ts-Dd3g6HfW.js} +5 -5
  199. package/build/server/chunks/{_server.ts-CH2wcNv2.js.map → _server.ts-Dd3g6HfW.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-BicGfd2U.js → _server.ts-DkU5eJ8g.js} +5 -5
  201. package/build/server/chunks/{_server.ts-BicGfd2U.js.map → _server.ts-DkU5eJ8g.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-wKZpMHme.js → _server.ts-DrG1M8qv.js} +4 -4
  203. package/build/server/chunks/{_server.ts-wKZpMHme.js.map → _server.ts-DrG1M8qv.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-CDE3FzBc.js → _server.ts-DzYCQ3vP.js} +5 -5
  205. package/build/server/chunks/{_server.ts-CDE3FzBc.js.map → _server.ts-DzYCQ3vP.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-N5aoiMFG.js → _server.ts-DzgmpV0m.js} +5 -5
  207. package/build/server/chunks/{_server.ts-N5aoiMFG.js.map → _server.ts-DzgmpV0m.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-BpEdvvxd.js → _server.ts-Dzw5FofX.js} +5 -5
  209. package/build/server/chunks/{_server.ts-BpEdvvxd.js.map → _server.ts-Dzw5FofX.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-CNVRGyub.js → _server.ts-EAGNixhW.js} +5 -5
  211. package/build/server/chunks/{_server.ts-CNVRGyub.js.map → _server.ts-EAGNixhW.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-D0xO5dva.js → _server.ts-I3lxev9U.js} +5 -5
  213. package/build/server/chunks/{_server.ts-D0xO5dva.js.map → _server.ts-I3lxev9U.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-tMQQqP2n.js → _server.ts-Jc5udqk3.js} +5 -5
  215. package/build/server/chunks/{_server.ts-tMQQqP2n.js.map → _server.ts-Jc5udqk3.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-HqaWKbAQ.js → _server.ts-L7IiVOM4.js} +6 -6
  217. package/build/server/chunks/{_server.ts-HqaWKbAQ.js.map → _server.ts-L7IiVOM4.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-Bmmja8qD.js → _server.ts-Q0rIVTuo.js} +5 -5
  219. package/build/server/chunks/{_server.ts-Bmmja8qD.js.map → _server.ts-Q0rIVTuo.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-DRPR97B9.js → _server.ts-RzGuKt3F.js} +4 -4
  221. package/build/server/chunks/{_server.ts-DRPR97B9.js.map → _server.ts-RzGuKt3F.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-BdmSuYj9.js → _server.ts-X8of02lk.js} +5 -5
  223. package/build/server/chunks/{_server.ts-BdmSuYj9.js.map → _server.ts-X8of02lk.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-COVP-rCw.js → _server.ts-_aww_uPY.js} +5 -5
  225. package/build/server/chunks/{_server.ts-COVP-rCw.js.map → _server.ts-_aww_uPY.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-DCOJFhtC.js → _server.ts-d_yeCRv5.js} +2 -2
  227. package/build/server/chunks/{_server.ts-DCOJFhtC.js.map → _server.ts-d_yeCRv5.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-BjQt9uz8.js → _server.ts-ftxEc3Rt.js} +8 -8
  229. package/build/server/chunks/{_server.ts-BjQt9uz8.js.map → _server.ts-ftxEc3Rt.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-DOI8yVWA.js → _server.ts-jTheOjgp.js} +5 -5
  231. package/build/server/chunks/{_server.ts-DOI8yVWA.js.map → _server.ts-jTheOjgp.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-C3UG4lwF.js → _server.ts-k9NdEHuJ.js} +2 -2
  233. package/build/server/chunks/{_server.ts-C3UG4lwF.js.map → _server.ts-k9NdEHuJ.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-CsmO7uEe.js → _server.ts-mWS2_Ye0.js} +5 -5
  235. package/build/server/chunks/{_server.ts-CsmO7uEe.js.map → _server.ts-mWS2_Ye0.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-8aBvlUTu.js → _server.ts-n8kwfVCI.js} +5 -5
  237. package/build/server/chunks/{_server.ts-8aBvlUTu.js.map → _server.ts-n8kwfVCI.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-DnD7x2u1.js → _server.ts-peaynZIQ.js} +6 -6
  239. package/build/server/chunks/{_server.ts-DnD7x2u1.js.map → _server.ts-peaynZIQ.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-DyDnENLl.js → _server.ts-pxEJZSiX.js} +5 -5
  241. package/build/server/chunks/{_server.ts-DyDnENLl.js.map → _server.ts-pxEJZSiX.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-CRomWVzx.js → _server.ts-qbzngBS1.js} +2 -2
  243. package/build/server/chunks/{_server.ts-CRomWVzx.js.map → _server.ts-qbzngBS1.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-BXdWVdTM.js → _server.ts-s0CClTNq.js} +5 -5
  245. package/build/server/chunks/{_server.ts-BXdWVdTM.js.map → _server.ts-s0CClTNq.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-Ce902Hul.js → _server.ts-t_IFaJPH.js} +5 -5
  247. package/build/server/chunks/{_server.ts-Ce902Hul.js.map → _server.ts-t_IFaJPH.js.map} +1 -1
  248. package/build/server/chunks/{_server.ts-BNDHKRt-.js → _server.ts-ubBtfF5A.js} +7 -7
  249. package/build/server/chunks/{_server.ts-BNDHKRt-.js.map → _server.ts-ubBtfF5A.js.map} +1 -1
  250. package/build/server/chunks/{addon-helpers-CeDX5bZ9.js → addon-helpers-C_h3mO12.js} +3 -3
  251. package/build/server/chunks/{addon-helpers-CeDX5bZ9.js.map → addon-helpers-C_h3mO12.js.map} +1 -1
  252. package/build/server/chunks/{akm-CvZqb7iz.js → akm-Bq0YK2bK.js} +2 -2
  253. package/build/server/chunks/{akm-CvZqb7iz.js.map → akm-Bq0YK2bK.js.map} +1 -1
  254. package/build/server/chunks/{catalog-J4jGV1ME.js → catalog-BZy3-PfJ.js} +5 -5
  255. package/build/server/chunks/{catalog-J4jGV1ME.js.map → catalog-BZy3-PfJ.js.map} +1 -1
  256. package/build/server/chunks/{client-C2HOBXSd.js → client-dZ1S1rBV.js} +2 -2
  257. package/build/server/chunks/{client-C2HOBXSd.js.map → client-dZ1S1rBV.js.map} +1 -1
  258. package/build/server/chunks/{config-Cw8EMEVB.js → config-CCkqmXOf.js} +2 -2
  259. package/build/server/chunks/{config-Cw8EMEVB.js.map → config-CCkqmXOf.js.map} +1 -1
  260. package/build/server/chunks/{docker-WrnGoqQU.js → docker-CfVst0ua.js} +2 -2
  261. package/build/server/chunks/{docker-WrnGoqQU.js.map → docker-CfVst0ua.js.map} +1 -1
  262. package/build/server/chunks/{endpoints-WrI_CAyN.js → endpoints-Bbi59p7S.js} +2 -2
  263. package/build/server/chunks/{endpoints-WrI_CAyN.js.map → endpoints-Bbi59p7S.js.map} +1 -1
  264. package/build/server/chunks/{environment-CUfrybyR.js → environment-CXBVq3me.js} +2 -2
  265. package/build/server/chunks/{environment-CUfrybyR.js.map → environment-CXBVq3me.js.map} +1 -1
  266. package/build/server/chunks/{error.svelte-C8jTByGq.js → error.svelte-Cc3DPVCO.js} +4 -4
  267. package/build/server/chunks/{error.svelte-C8jTByGq.js.map → error.svelte-Cc3DPVCO.js.map} +1 -1
  268. package/build/server/chunks/{helpers-CP7AZ3nK.js → helpers-DgMP56m0.js} +3 -3
  269. package/build/server/chunks/{helpers-CP7AZ3nK.js.map → helpers-DgMP56m0.js.map} +1 -1
  270. package/build/server/chunks/{hooks.server-B0ckBH8o.js → hooks.server-yIExKMy-.js} +19 -11
  271. package/build/server/chunks/hooks.server-yIExKMy-.js.map +1 -0
  272. package/build/server/chunks/{http-CnUOhPlp.js → http-NknyEEFI.js} +2 -2
  273. package/build/server/chunks/{http-CnUOhPlp.js.map → http-NknyEEFI.js.map} +1 -1
  274. package/build/server/chunks/{internal-DJeFlRO1.js → internal-Cjpea7yh.js} +3 -3
  275. package/build/server/chunks/{internal-DJeFlRO1.js.map → internal-Cjpea7yh.js.map} +1 -1
  276. package/build/server/chunks/migration-status-DsaJhzun.js +52 -0
  277. package/build/server/chunks/migration-status-DsaJhzun.js.map +1 -0
  278. package/build/server/chunks/{session-cookie-BllUKraw.js → session-cookie-C6tISwvt.js} +2 -2
  279. package/build/server/chunks/{session-cookie-BllUKraw.js.map → session-cookie-C6tISwvt.js.map} +1 -1
  280. package/build/server/chunks/{setup-deploy-D7oh1PDA.js → setup-deploy-B1mQB6HJ.js} +2 -2
  281. package/build/server/chunks/{setup-deploy-D7oh1PDA.js.map → setup-deploy-B1mQB6HJ.js.map} +1 -1
  282. package/build/server/chunks/{src-DnDbWIue.js → src-PS98GnB0.js} +4 -4
  283. package/build/server/chunks/src-PS98GnB0.js.map +1 -0
  284. package/build/server/chunks/{state-BD-ji75A.js → state-3EGzW2yX.js} +2 -2
  285. package/build/server/chunks/{state-BD-ji75A.js.map → state-3EGzW2yX.js.map} +1 -1
  286. package/build/server/chunks/{state2-DqEm7XC0.js → state2-C1OP45p-.js} +2 -2
  287. package/build/server/chunks/{state2-DqEm7XC0.js.map → state2-C1OP45p-.js.map} +1 -1
  288. package/build/server/index.js +2 -2
  289. package/build/server/manifest.js +99 -92
  290. package/build/server/manifest.js.map +1 -1
  291. package/package.json +2 -2
  292. package/build/client/_app/immutable/assets/10.C6prJXUw.css +0 -1
  293. package/build/client/_app/immutable/assets/10.C6prJXUw.css.br +0 -0
  294. package/build/client/_app/immutable/assets/10.C6prJXUw.css.gz +0 -0
  295. package/build/client/_app/immutable/chunks/5BMpZHAs.js.br +0 -0
  296. package/build/client/_app/immutable/chunks/5BMpZHAs.js.gz +0 -0
  297. package/build/client/_app/immutable/chunks/BEftex7t.js +0 -1
  298. package/build/client/_app/immutable/chunks/BEftex7t.js.br +0 -2
  299. package/build/client/_app/immutable/chunks/BEftex7t.js.gz +0 -0
  300. package/build/client/_app/immutable/chunks/Bcya9nj3.js.br +0 -0
  301. package/build/client/_app/immutable/chunks/Bcya9nj3.js.gz +0 -0
  302. package/build/client/_app/immutable/chunks/DEBpD4po.js.br +0 -0
  303. package/build/client/_app/immutable/chunks/DEBpD4po.js.gz +0 -0
  304. package/build/client/_app/immutable/chunks/rDI4bIpX.js +0 -3
  305. package/build/client/_app/immutable/chunks/rDI4bIpX.js.br +0 -0
  306. package/build/client/_app/immutable/chunks/rDI4bIpX.js.gz +0 -0
  307. package/build/client/_app/immutable/entry/app.DFQGhmyM.js.br +0 -0
  308. package/build/client/_app/immutable/entry/app.DFQGhmyM.js.gz +0 -0
  309. package/build/client/_app/immutable/entry/start.B6JcTP5e.js +0 -1
  310. package/build/client/_app/immutable/entry/start.B6JcTP5e.js.br +0 -0
  311. package/build/client/_app/immutable/entry/start.B6JcTP5e.js.gz +0 -0
  312. package/build/client/_app/immutable/nodes/1.BXWidUif.js.br +0 -0
  313. package/build/client/_app/immutable/nodes/1.BXWidUif.js.gz +0 -0
  314. package/build/client/_app/immutable/nodes/10.CqffShhl.js +0 -3
  315. package/build/client/_app/immutable/nodes/10.CqffShhl.js.br +0 -0
  316. package/build/client/_app/immutable/nodes/10.CqffShhl.js.gz +0 -0
  317. package/build/client/_app/immutable/nodes/4.Dw5Q4nOr.js.br +0 -0
  318. package/build/client/_app/immutable/nodes/4.Dw5Q4nOr.js.gz +0 -0
  319. package/build/client/_app/immutable/nodes/5.PnPlEX57.js.br +0 -0
  320. package/build/client/_app/immutable/nodes/5.PnPlEX57.js.gz +0 -0
  321. package/build/client/_app/immutable/nodes/6.B6ILluB-.js.br +0 -0
  322. package/build/client/_app/immutable/nodes/6.B6ILluB-.js.gz +0 -0
  323. package/build/client/_app/immutable/nodes/7.CCy2vH83.js.br +0 -0
  324. package/build/client/_app/immutable/nodes/7.CCy2vH83.js.gz +0 -0
  325. package/build/client/_app/immutable/nodes/8.DF0SDD7S.js.br +0 -0
  326. package/build/client/_app/immutable/nodes/8.DF0SDD7S.js.gz +0 -0
  327. package/build/server/chunks/1-DCycfbgI.js +0 -9
  328. package/build/server/chunks/10-BNTNl_8A.js.map +0 -1
  329. package/build/server/chunks/4-CZO-DYB_.js +0 -9
  330. package/build/server/chunks/7-Cc7zFraB.js +0 -9
  331. package/build/server/chunks/_page.svelte-CrROmg04.js +0 -35
  332. package/build/server/chunks/_page.svelte-CrROmg04.js.map +0 -1
  333. package/build/server/chunks/hooks.server-B0ckBH8o.js.map +0 -1
  334. package/build/server/chunks/src-DnDbWIue.js.map +0 -1
@@ -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 { ak as isSetupComplete, aS as resolveStackDir, O as detectGpu, R as detectLocalProviders, Q as detectHostOpenCode, aJ as recommendSetup, i as authJsonPath } from './src-DnDbWIue.js';
4
- import { g as getState } from './state-BD-ji75A.js';
5
- import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-CP7AZ3nK.js';
3
+ import { al as isSetupComplete, aT as resolveStackDir, Q as detectGpu, S as detectLocalProviders, R as detectHostOpenCode, aK as recommendSetup, i as authJsonPath } from './src-PS98GnB0.js';
4
+ import { g as getState } from './state-3EGzW2yX.js';
5
+ import { r as requireAdmin, d as getRequestId, g as getOpenCodeClient } from './helpers-DgMP56m0.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-WrI_CAyN.js';
27
+ import './endpoints-Bbi59p7S.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-fx4cEsD-.js.map
100
+ //# sourceMappingURL=_server.ts-DCbXxoPJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-fx4cEsD-.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 resolveStackDir, Jt as authJsonPath, c as detectGpu, ft as isSetupComplete, l as detectLocalProviders, r as detectHostOpenCode, s as recommendSetup } 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-DCbXxoPJ.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 resolveStackDir, Jt as authJsonPath, c as detectGpu, ft as isSetupComplete, l as detectLocalProviders, r as detectHostOpenCode, s as recommendSetup } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getOpenCodeClient, d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/routes/api/setup/recommend/+server.ts\n/** Local providers are detected separately as host providers — exclude from \"cloud\". */\nvar LOCAL_PROVIDER_IDS = new Set([\n\t\"ollama\",\n\t\"lmstudio\",\n\t\"model-runner\",\n\t\"openai-compatible\"\n]);\n/** Providers that have credentials stored in OP_HOME auth.json (API key or OAuth). */\nfunction authJsonConnected() {\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return [];\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn Object.keys(data ?? {});\n\t} catch {\n\t\treturn [];\n\t}\n}\n/** Fallback: providers whose API-key env var is present in the process env. */\nfunction envKeyConnected() {\n\tconst out = [];\n\tfor (const [provider, envVar] of Object.entries(PROVIDER_KEY_MAP)) if (process.env[envVar]) out.push(provider);\n\treturn out;\n}\n/** Cloud providers = OpenCode connected[] ∪ auth.json credentials, minus locals.\n* Falls back to env-key detection when OpenCode is unavailable. */\nasync function detectCloudProviders() {\n\tlet connected = [];\n\ttry {\n\t\tconst client = getOpenCodeClient();\n\t\tif (await client.isAvailable()) {\n\t\t\tconst catalog = await client.proxy(\"/provider\");\n\t\t\tconst raw = catalog.ok ? catalog.data : {};\n\t\t\tconnected = Array.from(new Set([...raw.connected ?? [], ...authJsonConnected()]));\n\t\t} else connected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t} catch {\n\t\tconnected = Array.from(new Set([...authJsonConnected(), ...envKeyConnected()]));\n\t}\n\treturn connected.filter((id) => !LOCAL_PROVIDER_IDS.has(id));\n}\nvar GET = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst [cloudProviders, gpu, localDetections, hostOpenCode] = await Promise.all([\n\t\tdetectCloudProviders(),\n\t\tdetectGpu(),\n\t\tdetectLocalProviders(),\n\t\tPromise.resolve(detectHostOpenCode())\n\t]);\n\tconst hostProviders = localDetections.filter((p) => p.available).map((p) => ({\n\t\tprovider: p.provider,\n\t\turl: p.url\n\t}));\n\treturn json({\n\t\tok: true,\n\t\trecommendation: recommendSetup({\n\t\t\tcloudProviders,\n\t\t\thostProviders,\n\t\t\tgpu,\n\t\t\thostCredentialCount: hostOpenCode.credentialCount\n\t\t}),\n\t\tgpu,\n\t\tcloudProviders,\n\t\thostProviders\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { aN as resolveDataDir, aU as seedUiBuild, G as createLogger } from './src-DnDbWIue.js';
2
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CP7AZ3nK.js';
1
+ import { aO as resolveDataDir, aV as seedUiBuild, H as createLogger } from './src-PS98GnB0.js';
2
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DgMP56m0.js';
3
3
  import './chunk-CLZ62Ad-.js';
4
4
  import 'node:module';
5
5
  import './provider-constants-DPrj3yBX.js';
@@ -21,8 +21,8 @@ import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
23
  import 'node:os';
24
- import './endpoints-WrI_CAyN.js';
25
- import './state-BD-ji75A.js';
24
+ import './endpoints-Bbi59p7S.js';
25
+ import './state-3EGzW2yX.js';
26
26
 
27
27
  //#region src/routes/admin/ui-version/+server.ts
28
28
  var logger = createLogger("ui-version");
@@ -80,4 +80,4 @@ var POST = async (event) => {
80
80
  };
81
81
 
82
82
  export { POST };
83
- //# sourceMappingURL=_server.ts-CL2B70h7.js.map
83
+ //# sourceMappingURL=_server.ts-DEQLg0tM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CL2B70h7.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/ui-version/_server.ts.js"],"sourcesContent":["import { Qt as resolveDataDir, Yt as seedUiBuild, _n as createLogger } from \"../../../../chunks/src.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/ui-version/+server.ts\nvar logger = createLogger(\"ui-version\");\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\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._\\-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst dataDir = resolveDataDir();\n\tconst repoRef = tag.startsWith(\"v\") ? tag : `v${tag}`;\n\ttry {\n\t\tawait seedUiBuild(repoRef, dataDir, { forceRemote: true });\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"ui-version download failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"download_failed\", msg, { message: msg }, requestId);\n\t}\n\tconst supervisor = process.env.OP_UI_SUPERVISOR ?? \"\";\n\tlet restarting = false;\n\tif (supervisor && process.ppid && process.ppid > 1) try {\n\t\tprocess.kill(process.ppid, \"SIGHUP\");\n\t\trestarting = true;\n\t\tlogger.info(\"ui-version restart signalled\", {\n\t\t\trequestId,\n\t\t\tsupervisor,\n\t\t\tppid: process.ppid\n\t\t});\n\t} catch (e) {\n\t\tlogger.warn(\"ui-version restart signal failed\", {\n\t\t\trequestId,\n\t\t\terror: e instanceof Error ? e.message : String(e)\n\t\t});\n\t}\n\tlogger.info(\"ui-version downloaded\", {\n\t\trequestId,\n\t\ttag,\n\t\trestarting\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\ttag,\n\t\trestarting\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-DEQLg0tM.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/ui-version/_server.ts.js"],"sourcesContent":["import { Qt as resolveDataDir, Yt as seedUiBuild, vn as createLogger } from \"../../../../chunks/src.js\";\nimport { d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/ui-version/+server.ts\nvar logger = createLogger(\"ui-version\");\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\treturn errorResponse(400, \"invalid_json\", \"Request body must be valid JSON\", {}, requestId);\n\t}\n\tconst tag = typeof body.tag === \"string\" ? body.tag.trim() : \"\";\n\tif (!tag) return errorResponse(400, \"tag_required\", \"tag is required\", {}, requestId);\n\tif (!/^[a-zA-Z0-9._\\-]+$/.test(tag)) return errorResponse(400, \"invalid_tag\", \"Tag must be alphanumeric with . _ or - only\", {}, requestId);\n\tconst dataDir = resolveDataDir();\n\tconst repoRef = tag.startsWith(\"v\") ? tag : `v${tag}`;\n\ttry {\n\t\tawait seedUiBuild(repoRef, dataDir, { forceRemote: true });\n\t} catch (e) {\n\t\tconst msg = e instanceof Error ? e.message : String(e);\n\t\tlogger.error(\"ui-version download failed\", {\n\t\t\trequestId,\n\t\t\terror: msg\n\t\t});\n\t\treturn errorResponse(502, \"download_failed\", msg, { message: msg }, requestId);\n\t}\n\tconst supervisor = process.env.OP_UI_SUPERVISOR ?? \"\";\n\tlet restarting = false;\n\tif (supervisor && process.ppid && process.ppid > 1) try {\n\t\tprocess.kill(process.ppid, \"SIGHUP\");\n\t\trestarting = true;\n\t\tlogger.info(\"ui-version restart signalled\", {\n\t\t\trequestId,\n\t\t\tsupervisor,\n\t\t\tppid: process.ppid\n\t\t});\n\t} catch (e) {\n\t\tlogger.warn(\"ui-version restart signal failed\", {\n\t\t\trequestId,\n\t\t\terror: e instanceof Error ? e.message : String(e)\n\t\t});\n\t}\n\tlogger.info(\"ui-version downloaded\", {\n\t\trequestId,\n\t\ttag,\n\t\trestarting\n\t});\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\ttag,\n\t\trestarting\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC;AACpC,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,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,iCAAiC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7F,CAAC;AACD,CAAC,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;AAChE,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,CAAC;AACtF,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5I,CAAC,MAAM,OAAO,GAAG,cAAc,EAAE;AACjC,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC,IAAI;AACL,EAAE,MAAM,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC5D,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;AACxD,EAAE,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;AAC7C,GAAG,SAAS;AACZ,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC;AAChF,CAAC;AACD,CAAC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE;AACtD,CAAC,IAAI,UAAU,GAAG,KAAK;AACvB,CAAC,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI;AACzD,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;AACtC,EAAE,UAAU,GAAG,IAAI;AACnB,EAAE,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;AAC9C,GAAG,SAAS;AACZ,GAAG,UAAU;AACb,GAAG,IAAI,EAAE,OAAO,CAAC;AACjB,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;AAClD,GAAG,SAAS;AACZ,GAAG,KAAK,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;AACnD,GAAG,CAAC;AACJ,CAAC;AACD,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;AACtC,EAAE,SAAS;AACX,EAAE,GAAG;AACL,EAAE;AACF,EAAE,CAAC;AACH,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,GAAG;AACL,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { U as dismissSecretStripNotice, aD as readSecretStripNotice, G as createLogger } from './src-DnDbWIue.js';
2
- import { g as getState } from './state-BD-ji75A.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-CP7AZ3nK.js';
1
+ import { V as dismissSecretStripNotice, aE as readSecretStripNotice, H as createLogger } from './src-PS98GnB0.js';
2
+ import { g as getState } from './state-3EGzW2yX.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-DgMP56m0.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-WrI_CAyN.js';
25
+ import './endpoints-Bbi59p7S.js';
26
26
 
27
27
  //#region src/routes/admin/secret-notice/+server.ts
28
28
  var logger = createLogger("secret-notice");
@@ -61,4 +61,4 @@ var DELETE = async (event) => {
61
61
  };
62
62
 
63
63
  export { DELETE, GET };
64
- //# sourceMappingURL=_server.ts-CLWP9IQb.js.map
64
+ //# sourceMappingURL=_server.ts-DJHAOoko.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CLWP9IQb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/secret-notice/_server.ts.js"],"sourcesContent":["import { Mt as readSecretStripNotice, _n as createLogger, jt as dismissSecretStripNotice } 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/secret-notice/+server.ts\nvar logger = createLogger(\"secret-notice\");\n/**\n* #502 — one-time notice that secret-looking keys were removed from stack.env.\n* The strip itself is correct per the secret-boundary contract; this surfaces\n* it so the user knows where their value went and how to re-add it.\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\tnotice: readSecretStripNotice(state)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"secret_notice_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/** Dismiss the one-time notice. */\nvar DELETE = 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\tdismissSecretStripNotice(state);\n\t\tlogger.info(\"secret-strip notice dismissed\", { requestId });\n\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"secret_notice_dismiss_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM,EAAE,qBAAqB,CAAC,KAAK;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;AACG,IAAC,MAAM,GAAG,OAAO,KAAK,KAAK;AAC9B,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,wBAAwB,CAAC,KAAK,CAAC;AACjC,EAAE,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC;AAC7D,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AACnD,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,8BAA8B,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACtH,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-DJHAOoko.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/secret-notice/_server.ts.js"],"sourcesContent":["import { Mt as readSecretStripNotice, jt as dismissSecretStripNotice, vn 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/secret-notice/+server.ts\nvar logger = createLogger(\"secret-notice\");\n/**\n* #502 — one-time notice that secret-looking keys were removed from stack.env.\n* The strip itself is correct per the secret-boundary contract; this surfaces\n* it so the user knows where their value went and how to re-add it.\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\tnotice: readSecretStripNotice(state)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"secret_notice_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/** Dismiss the one-time notice. */\nvar DELETE = 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\tdismissSecretStripNotice(state);\n\t\tlogger.info(\"secret-strip notice dismissed\", { requestId });\n\t\treturn jsonResponse(200, { ok: true }, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"secret_notice_dismiss_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { DELETE, GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,IAAI;AACL,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM,EAAE,qBAAqB,CAAC,KAAK;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;AACG,IAAC,MAAM,GAAG,OAAO,KAAK,KAAK;AAC9B,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,wBAAwB,CAAC,KAAK,CAAC;AACjC,EAAE,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,CAAC;AAC7D,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AACnD,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,8BAA8B,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACtH,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { aE as readStackEnv } from './src-DnDbWIue.js';
2
- import { g as getState } from './state-BD-ji75A.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CP7AZ3nK.js';
1
+ import { aF as readStackEnv } from './src-PS98GnB0.js';
2
+ import { g as getState } from './state-3EGzW2yX.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DgMP56m0.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-WrI_CAyN.js';
25
+ import './endpoints-Bbi59p7S.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-BVclIxW7.js.map
92
+ //# sourceMappingURL=_server.ts-DLYt8eXx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BVclIxW7.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { Rt 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-DLYt8eXx.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { Rt 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,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { g as getOpenCodeClient } from './helpers-CP7AZ3nK.js';
2
+ import { g as getOpenCodeClient } from './helpers-DgMP56m0.js';
3
3
  import './utils-BSRjJDrZ.js';
4
- import './src-DnDbWIue.js';
4
+ import './src-PS98GnB0.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -23,8 +23,8 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-WrI_CAyN.js';
27
- import './state-BD-ji75A.js';
26
+ import './endpoints-Bbi59p7S.js';
27
+ import './state-3EGzW2yX.js';
28
28
 
29
29
  //#region src/routes/api/setup/opencode/status/+server.ts
30
30
  var GET = async () => {
@@ -42,4 +42,4 @@ var GET = async () => {
42
42
  };
43
43
 
44
44
  export { GET };
45
- //# sourceMappingURL=_server.ts-Dkc8Fk_E.js.map
45
+ //# sourceMappingURL=_server.ts-DOy2TgAZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Dkc8Fk_E.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/status/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: await getOpenCodeClient().isAvailable()\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: false\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,MAAM,iBAAiB,EAAE,CAAC,WAAW;AACnD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-DOy2TgAZ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/status/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: await getOpenCodeClient().isAvailable()\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tavailable: false\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,MAAM,iBAAiB,EAAE,CAAC,WAAW;AACnD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE;AACd,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
@@ -1,7 +1,7 @@
1
- import { g as getActiveEndpoint } from './endpoints-WrI_CAyN.js';
2
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-CP7AZ3nK.js';
3
- import './state-BD-ji75A.js';
4
- import './src-DnDbWIue.js';
1
+ import { g as getActiveEndpoint } from './endpoints-Bbi59p7S.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-DgMP56m0.js';
3
+ import './state-3EGzW2yX.js';
4
+ import './src-PS98GnB0.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -55,4 +55,4 @@ var GET = async (event) => {
55
55
  };
56
56
 
57
57
  export { GET };
58
- //# sourceMappingURL=_server.ts-BnxUjr8D.js.map
58
+ //# sourceMappingURL=_server.ts-DYS7oy9X.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BnxUjr8D.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/health/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tlet opencode = false;\n\ttry {\n\t\tconst headers = {};\n\t\tif (endpoint.password) {\n\t\t\tconst user = endpoint.username || \"openpalm\";\n\t\t\theaders[\"authorization\"] = `Basic ${btoa(`${user}:${endpoint.password}`)}`;\n\t\t}\n\t\topencode = (await fetch(`${endpoint.url}/health`, {\n\t\t\theaders,\n\t\t\tsignal: AbortSignal.timeout(2e3)\n\t\t})).ok;\n\t} catch {}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\topencode,\n\t\tendpoint: {\n\t\t\tid: endpoint.id,\n\t\t\tlabel: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tisDefault: endpoint.isDefault\n\t\t}\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,iBAAiB,EAAE;AACrC,CAAC,IAAI,QAAQ,GAAG,KAAK;AACrB,CAAC,IAAI;AACL,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACzB,GAAG,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU;AAC/C,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,EAAE;AACF,EAAE,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACpD,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC,EAAE,EAAE;AACR,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ,EAAE;AACZ,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE;AAClB,GAAG,KAAK,EAAE,QAAQ,CAAC,KAAK;AACxB,GAAG,GAAG,EAAE,QAAQ,CAAC,GAAG;AACpB,GAAG,SAAS,EAAE,QAAQ,CAAC;AACvB;AACA,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-DYS7oy9X.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/health/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tlet opencode = false;\n\ttry {\n\t\tconst headers = {};\n\t\tif (endpoint.password) {\n\t\t\tconst user = endpoint.username || \"openpalm\";\n\t\t\theaders[\"authorization\"] = `Basic ${btoa(`${user}:${endpoint.password}`)}`;\n\t\t}\n\t\topencode = (await fetch(`${endpoint.url}/health`, {\n\t\t\theaders,\n\t\t\tsignal: AbortSignal.timeout(2e3)\n\t\t})).ok;\n\t} catch {}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\topencode,\n\t\tendpoint: {\n\t\t\tid: endpoint.id,\n\t\t\tlabel: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tisDefault: endpoint.isDefault\n\t\t}\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,iBAAiB,EAAE;AACrC,CAAC,IAAI,QAAQ,GAAG,KAAK;AACrB,CAAC,IAAI;AACL,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACzB,GAAG,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU;AAC/C,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,EAAE;AACF,EAAE,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACpD,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC,EAAE,EAAE;AACR,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ,EAAE;AACZ,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE;AAClB,GAAG,KAAK,EAAE,QAAQ,CAAC,KAAK;AACxB,GAAG,GAAG,EAAE,QAAQ,CAAC,GAAG;AACpB,GAAG,SAAS,EAAE,QAAQ,CAAC;AACvB;AACA,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { al as listAssistantCliTools } from './src-DnDbWIue.js';
2
- import { g as getState } from './state-BD-ji75A.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-CP7AZ3nK.js';
1
+ import { am as listAssistantCliTools } from './src-PS98GnB0.js';
2
+ import { g as getState } from './state-3EGzW2yX.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-DgMP56m0.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-WrI_CAyN.js';
25
+ import './endpoints-Bbi59p7S.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-YjtMP9d6.js.map
36
+ //# sourceMappingURL=_server.ts-DZl5lI54.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-YjtMP9d6.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/assistant-clis/_server.ts.js"],"sourcesContent":["import { vt 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-DZl5lI54.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/assistant-clis/_server.ts.js"],"sourcesContent":["import { vt 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,5 +1,5 @@
1
- import { G as createLogger } from './src-DnDbWIue.js';
2
- import { d as getRequestId, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CP7AZ3nK.js';
1
+ import { H as createLogger } from './src-PS98GnB0.js';
2
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-DgMP56m0.js';
3
3
  import './chunk-CLZ62Ad-.js';
4
4
  import 'node:module';
5
5
  import './provider-constants-DPrj3yBX.js';
@@ -21,8 +21,8 @@ import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
23
  import 'node:os';
24
- import './endpoints-WrI_CAyN.js';
25
- import './state-BD-ji75A.js';
24
+ import './endpoints-Bbi59p7S.js';
25
+ import './state-3EGzW2yX.js';
26
26
 
27
27
  //#region src/routes/admin/opencode/providers/[id]/auth/+server.ts
28
28
  var logger = createLogger("opencode.auth");
@@ -163,4 +163,4 @@ var DELETE = async (event) => {
163
163
  };
164
164
 
165
165
  export { DELETE, GET, POST };
166
- //# sourceMappingURL=_server.ts-BKj-eCBS.js.map
166
+ //# sourceMappingURL=_server.ts-DayRiRib.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BKj-eCBS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { _n as createLogger } from \"../../../../../../../chunks/src.js\";\nimport { a as getOpenCodeClient, 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/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /admin/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-DayRiRib.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { vn as createLogger } from \"../../../../../../../chunks/src.js\";\nimport { a as getOpenCodeClient, 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/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /admin/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
@@ -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-CP7AZ3nK.js';
2
- import { u as unsetMainModel, s as setMainModel } from './config-Cw8EMEVB.js';
3
- import './src-DnDbWIue.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-DgMP56m0.js';
2
+ import { u as unsetMainModel, s as setMainModel } from './config-CCkqmXOf.js';
3
+ import './src-PS98GnB0.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-WrI_CAyN.js';
26
- import './state-BD-ji75A.js';
25
+ import './endpoints-Bbi59p7S.js';
26
+ import './state-3EGzW2yX.js';
27
27
  import './coercion-TNFJisCC.js';
28
- import './http-CnUOhPlp.js';
28
+ import './http-NknyEEFI.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-BRxFZ16U.js.map
85
+ //# sourceMappingURL=_server.ts-Db7zIB3_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BRxFZ16U.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/model/_server.ts.js"],"sourcesContent":["import { a as getOpenCodeClient, c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { i as setMainModel, s as unsetMainModel } from \"../../../../../chunks/config.js\";\n//#region src/routes/admin/opencode/model/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst config = await getOpenCodeClient().getConfig();\n\tif (!config) return errorResponse(503, \"opencode_unavailable\", \"OpenCode is not reachable\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tmodel: config.model ?? \"\",\n\t\tsmall_model: config.small_model ?? \"\"\n\t}, requestId);\n};\n/** Parse a \"provider/model\" string. Returns null if the input is empty or malformed. */\nfunction parseProviderModel(raw) {\n\tif (typeof raw !== \"string\") return null;\n\tconst trimmed = raw.trim();\n\tif (!trimmed) return null;\n\tconst slash = trimmed.indexOf(\"/\");\n\tif (slash <= 0 || slash === trimmed.length - 1) return null;\n\treturn {\n\t\tprovider: trimmed.slice(0, slash),\n\t\tmodel: trimmed.slice(slash + 1)\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst hasModel = \"model\" in body;\n\tconst hasSmallModel = \"small_model\" in body;\n\tif (!hasModel && !hasSmallModel) return errorResponse(400, \"bad_request\", \"model or small_model is required\", {}, requestId);\n\ttry {\n\t\tif (hasModel) if (body.model === null || body.model === \"\") await unsetMainModel(\"model\");\n\t\telse {\n\t\t\tconst parsed = parseProviderModel(body.model);\n\t\t\tif (!parsed) return errorResponse(400, \"bad_request\", \"model must be in \\\"provider/model\\\" format\", {}, requestId);\n\t\t\tawait setMainModel(parsed.provider, parsed.model, \"model\");\n\t\t}\n\t\tif (hasSmallModel) if (body.small_model === null || body.small_model === \"\") await unsetMainModel(\"small_model\");\n\t\telse {\n\t\t\tconst parsed = parseProviderModel(body.small_model);\n\t\t\tif (!parsed) return errorResponse(400, \"bad_request\", \"small_model must be in \\\"provider/model\\\" format\", {}, requestId);\n\t\t\tawait setMainModel(parsed.provider, parsed.model, \"small_model\");\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(\"[opencode.model] Failed to persist model selection\", e);\n\t\treturn errorResponse(500, \"internal_error\", \"Failed to persist model selection\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;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,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,SAAS,EAAE;AACrD,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3G,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;AAC3B,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI;AACrC,EAAE,EAAE,SAAS,CAAC;AACd;AACA;AACA,SAAS,kBAAkB,CAAC,GAAG,EAAE;AACjC,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,OAAO,IAAI;AACzC,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE;AAC3B,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI;AAC1B,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;AACnC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,IAAI;AAC5D,CAAC,OAAO;AACR,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;AACnC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;AAChC,EAAE;AACF;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,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,IAAI;AACjC,CAAC,MAAM,aAAa,GAAG,aAAa,IAAI,IAAI;AAC5C,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kCAAkC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC7H,CAAC,IAAI;AACL,EAAE,IAAI,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE,MAAM,cAAc,CAAC,OAAO,CAAC;AAC3F,OAAO;AACP,GAAG,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;AAChD,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,4CAA4C,EAAE,EAAE,EAAE,SAAS,CAAC;AACrH,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;AAC7D,EAAE;AACF,EAAE,IAAI,aAAa,EAAE,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE,MAAM,cAAc,CAAC,aAAa,CAAC;AAClH,OAAO;AACP,GAAG,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACtD,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kDAAkD,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3H,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC;AACnE,EAAE;AACF,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO,CAAC,IAAI,CAAC,oDAAoD,EAAE,CAAC,CAAC;AACvE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,mCAAmC,EAAE,EAAE,EAAE,SAAS,CAAC;AACjG,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AAClD;;;;"}
1
+ {"version":3,"file":"_server.ts-Db7zIB3_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/model/_server.ts.js"],"sourcesContent":["import { a as getOpenCodeClient, c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { i as setMainModel, s as unsetMainModel } from \"../../../../../chunks/config.js\";\n//#region src/routes/admin/opencode/model/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst config = await getOpenCodeClient().getConfig();\n\tif (!config) return errorResponse(503, \"opencode_unavailable\", \"OpenCode is not reachable\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tmodel: config.model ?? \"\",\n\t\tsmall_model: config.small_model ?? \"\"\n\t}, requestId);\n};\n/** Parse a \"provider/model\" string. Returns null if the input is empty or malformed. */\nfunction parseProviderModel(raw) {\n\tif (typeof raw !== \"string\") return null;\n\tconst trimmed = raw.trim();\n\tif (!trimmed) return null;\n\tconst slash = trimmed.indexOf(\"/\");\n\tif (slash <= 0 || slash === trimmed.length - 1) return null;\n\treturn {\n\t\tprovider: trimmed.slice(0, slash),\n\t\tmodel: trimmed.slice(slash + 1)\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst hasModel = \"model\" in body;\n\tconst hasSmallModel = \"small_model\" in body;\n\tif (!hasModel && !hasSmallModel) return errorResponse(400, \"bad_request\", \"model or small_model is required\", {}, requestId);\n\ttry {\n\t\tif (hasModel) if (body.model === null || body.model === \"\") await unsetMainModel(\"model\");\n\t\telse {\n\t\t\tconst parsed = parseProviderModel(body.model);\n\t\t\tif (!parsed) return errorResponse(400, \"bad_request\", \"model must be in \\\"provider/model\\\" format\", {}, requestId);\n\t\t\tawait setMainModel(parsed.provider, parsed.model, \"model\");\n\t\t}\n\t\tif (hasSmallModel) if (body.small_model === null || body.small_model === \"\") await unsetMainModel(\"small_model\");\n\t\telse {\n\t\t\tconst parsed = parseProviderModel(body.small_model);\n\t\t\tif (!parsed) return errorResponse(400, \"bad_request\", \"small_model must be in \\\"provider/model\\\" format\", {}, requestId);\n\t\t\tawait setMainModel(parsed.provider, parsed.model, \"small_model\");\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(\"[opencode.model] Failed to persist model selection\", e);\n\t\treturn errorResponse(500, \"internal_error\", \"Failed to persist model selection\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ag as isAllowedService, o as checkDocker, u as composeLogs, m as buildComposeOptions } from './src-DnDbWIue.js';
2
- import { g as getState } from './state-BD-ji75A.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CP7AZ3nK.js';
1
+ import { ah as isAllowedService, o as checkDocker, u as composeLogs, m as buildComposeOptions } from './src-PS98GnB0.js';
2
+ import { g as getState } from './state-3EGzW2yX.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DgMP56m0.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-WrI_CAyN.js';
25
+ import './endpoints-Bbi59p7S.js';
26
26
 
27
27
  //#region src/routes/admin/logs/+server.ts
28
28
  var GET = async (event) => {
@@ -60,4 +60,4 @@ var GET = async (event) => {
60
60
  };
61
61
 
62
62
  export { GET };
63
- //# sourceMappingURL=_server.ts-Lq8lwYNz.js.map
63
+ //# sourceMappingURL=_server.ts-DbtJ2h0n.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Lq8lwYNz.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/logs/_server.ts.js"],"sourcesContent":["import { D as isAllowedService, I as buildComposeOptions, Q as checkDocker, tt as composeLogs } 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/logs/+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\tconst url = new URL(event.request.url);\n\tconst serviceParam = url.searchParams.get(\"service\");\n\tconst tailParam = url.searchParams.get(\"tail\");\n\tconst sinceParam = url.searchParams.get(\"since\");\n\tconst tail = tailParam ? Number(tailParam) : 100;\n\tif (tailParam && (!Number.isInteger(tail) || tail < 1 || tail > 1e4)) return errorResponse(400, \"invalid_parameter\", \"tail must be an integer between 1 and 10000\", {}, requestId);\n\tlet services;\n\tif (serviceParam) {\n\t\tservices = serviceParam.split(\",\").map((s) => s.trim()).filter(Boolean);\n\t\tconst invalid = services.filter((s) => !isAllowedService(s, state.configDir));\n\t\tif (invalid.length > 0) return errorResponse(400, \"invalid_service\", `Invalid service name(s): ${invalid.join(\", \")}`, { invalid }, requestId);\n\t}\n\tif (sinceParam && !/^[a-zA-Z0-9.:+\\-T]+$/.test(sinceParam)) return errorResponse(400, \"invalid_parameter\", \"since contains invalid characters\", {}, requestId);\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeLogs(services, tail, {\n\t\t...buildComposeOptions(state),\n\t\tsince: sinceParam ?? void 0\n\t});\n\tif (!result.ok) return jsonResponse(500, {\n\t\tok: false,\n\t\tlogs: \"\",\n\t\terror: result.stderr\n\t}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tlogs: (result.stdout + result.stderr).trim()\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;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,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/C,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACjD,CAAC,MAAM,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG;AACjD,CAAC,IAAI,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AACnL,CAAC,IAAI,QAAQ;AACb,CAAC,IAAI,YAAY,EAAE;AACnB,EAAE,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACzE,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/E,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AAChJ,CAAC;AACD,CAAC,IAAI,UAAU,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/J,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,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE;AAClD,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAC/B,EAAE,KAAK,EAAE,UAAU,IAAI;AACvB,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,IAAI,EAAE,EAAE;AACV,EAAE,KAAK,EAAE,MAAM,CAAC;AAChB,EAAE,EAAE,SAAS,CAAC;AACd,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI;AAC5C,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-DbtJ2h0n.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/logs/_server.ts.js"],"sourcesContent":["import { D as isAllowedService, I as buildComposeOptions, Q as checkDocker, tt as composeLogs } 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/logs/+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\tconst url = new URL(event.request.url);\n\tconst serviceParam = url.searchParams.get(\"service\");\n\tconst tailParam = url.searchParams.get(\"tail\");\n\tconst sinceParam = url.searchParams.get(\"since\");\n\tconst tail = tailParam ? Number(tailParam) : 100;\n\tif (tailParam && (!Number.isInteger(tail) || tail < 1 || tail > 1e4)) return errorResponse(400, \"invalid_parameter\", \"tail must be an integer between 1 and 10000\", {}, requestId);\n\tlet services;\n\tif (serviceParam) {\n\t\tservices = serviceParam.split(\",\").map((s) => s.trim()).filter(Boolean);\n\t\tconst invalid = services.filter((s) => !isAllowedService(s, state.configDir));\n\t\tif (invalid.length > 0) return errorResponse(400, \"invalid_service\", `Invalid service name(s): ${invalid.join(\", \")}`, { invalid }, requestId);\n\t}\n\tif (sinceParam && !/^[a-zA-Z0-9.:+\\-T]+$/.test(sinceParam)) return errorResponse(400, \"invalid_parameter\", \"since contains invalid characters\", {}, requestId);\n\tif (!(await checkDocker()).ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", {}, requestId);\n\tconst result = await composeLogs(services, tail, {\n\t\t...buildComposeOptions(state),\n\t\tsince: sinceParam ?? void 0\n\t});\n\tif (!result.ok) return jsonResponse(500, {\n\t\tok: false,\n\t\tlogs: \"\",\n\t\terror: result.stderr\n\t}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tlogs: (result.stdout + result.stderr).trim()\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;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,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/C,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACjD,CAAC,MAAM,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG;AACjD,CAAC,IAAI,SAAS,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,6CAA6C,EAAE,EAAE,EAAE,SAAS,CAAC;AACnL,CAAC,IAAI,QAAQ;AACb,CAAC,IAAI,YAAY,EAAE;AACnB,EAAE,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACzE,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/E,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AAChJ,CAAC;AACD,CAAC,IAAI,UAAU,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/J,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,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE;AAClD,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAC/B,EAAE,KAAK,EAAE,UAAU,IAAI;AACvB,EAAE,CAAC;AACH,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1C,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,IAAI,EAAE,EAAE;AACV,EAAE,KAAK,EAAE,MAAM,CAAC;AAChB,EAAE,EAAE,SAAS,CAAC;AACd,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI;AAC5C,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { a_ as useExistingProviderForAssistantCli, G as createLogger } from './src-DnDbWIue.js';
2
- import { g as getState } from './state-BD-ji75A.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, p as parseJsonBody, j as jsonBodyError, k as jsonResponse } from './helpers-CP7AZ3nK.js';
1
+ import { a$ as useExistingProviderForAssistantCli, H as createLogger } from './src-PS98GnB0.js';
2
+ import { g as getState } from './state-3EGzW2yX.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, p as parseJsonBody, j as jsonBodyError, k as jsonResponse } from './helpers-DgMP56m0.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-WrI_CAyN.js';
25
+ import './endpoints-Bbi59p7S.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-BLyiuWbx.js.map
62
+ //# sourceMappingURL=_server.ts-DchvUAJy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BLyiuWbx.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/assistant-clis/_toolId_/use-provider/_server.ts.js"],"sourcesContent":["import { _n as createLogger, yt as useExistingProviderForAssistantCli } 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-DchvUAJy.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/assistant-clis/_toolId_/use-provider/_server.ts.js"],"sourcesContent":["import { vn as createLogger, yt as useExistingProviderForAssistantCli } 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,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { g as getOpenCodeClient } from './helpers-CP7AZ3nK.js';
2
+ import { g as getOpenCodeClient } from './helpers-DgMP56m0.js';
3
3
  import './utils-BSRjJDrZ.js';
4
- import './src-DnDbWIue.js';
4
+ import './src-PS98GnB0.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -23,8 +23,8 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-WrI_CAyN.js';
27
- import './state-BD-ji75A.js';
26
+ import './endpoints-Bbi59p7S.js';
27
+ import './state-3EGzW2yX.js';
28
28
 
29
29
  //#region src/routes/api/setup/opencode/auth/[provider]/+server.ts
30
30
  var PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;
@@ -49,4 +49,4 @@ var PUT = async ({ params, request }) => {
49
49
  };
50
50
 
51
51
  export { PUT };
52
- //# sourceMappingURL=_server.ts-CH2wcNv2.js.map
52
+ //# sourceMappingURL=_server.ts-Dd3g6HfW.js.map