@openpalm/ui 0.11.2 → 0.11.3-rc.2

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 (284) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/chunks/C-sSVbJo.js +1 -0
  3. package/build/client/_app/immutable/chunks/C-sSVbJo.js.br +2 -0
  4. package/build/client/_app/immutable/chunks/C-sSVbJo.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/C6H1sfn1.js +1 -0
  6. package/build/client/_app/immutable/chunks/C6H1sfn1.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/C6H1sfn1.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/D9LRIz_I.js +5 -0
  9. package/build/client/_app/immutable/chunks/D9LRIz_I.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/D9LRIz_I.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/MWgo-EQN.js +3 -0
  12. package/build/client/_app/immutable/chunks/MWgo-EQN.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/MWgo-EQN.js.gz +0 -0
  14. package/build/client/_app/immutable/entry/{app.jhM1F9Lz.js → app.BKTyb7ZQ.js} +2 -2
  15. package/build/client/_app/immutable/entry/app.BKTyb7ZQ.js.br +0 -0
  16. package/build/client/_app/immutable/entry/app.BKTyb7ZQ.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/start.CN6C9_iJ.js +1 -0
  18. package/build/client/_app/immutable/entry/start.CN6C9_iJ.js.br +0 -0
  19. package/build/client/_app/immutable/entry/start.CN6C9_iJ.js.gz +0 -0
  20. package/build/client/_app/immutable/nodes/{1.CAM0_CnR.js → 1.BAxAehbc.js} +1 -1
  21. package/build/client/_app/immutable/nodes/1.BAxAehbc.js.br +0 -0
  22. package/build/client/_app/immutable/nodes/1.BAxAehbc.js.gz +0 -0
  23. package/build/client/_app/immutable/nodes/{4.BInZ_Tt5.js → 4.Ds_EDXAF.js} +1 -1
  24. package/build/client/_app/immutable/nodes/4.Ds_EDXAF.js.br +0 -0
  25. package/build/client/_app/immutable/nodes/{4.BInZ_Tt5.js.gz → 4.Ds_EDXAF.js.gz} +0 -0
  26. package/build/client/_app/immutable/nodes/{5.e3eblL7D.js → 5.BKi1GIpv.js} +1 -1
  27. package/build/client/_app/immutable/nodes/5.BKi1GIpv.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/5.BKi1GIpv.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{6.D6wSITV7.js → 6.BmmaVwNn.js} +1 -1
  30. package/build/client/_app/immutable/nodes/6.BmmaVwNn.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/6.BmmaVwNn.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{7.C1W_OsSf.js → 7.AqCKkpbO.js} +1 -1
  33. package/build/client/_app/immutable/nodes/7.AqCKkpbO.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/{7.C1W_OsSf.js.gz → 7.AqCKkpbO.js.gz} +0 -0
  35. package/build/client/_app/immutable/nodes/{8.9E6jSDDa.js → 8.CGV3MiHo.js} +1 -1
  36. package/build/client/_app/immutable/nodes/8.CGV3MiHo.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/8.CGV3MiHo.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{9.CutxJ3jN.js → 9.CFQabEMi.js} +3 -3
  39. package/build/client/_app/immutable/nodes/9.CFQabEMi.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/9.CFQabEMi.js.gz +0 -0
  41. package/build/client/_app/version.json +1 -1
  42. package/build/client/_app/version.json.br +1 -1
  43. package/build/client/_app/version.json.gz +0 -0
  44. package/build/server/chunks/1-CN4IyeuK.js +9 -0
  45. package/build/server/chunks/{1-DGZd-zFK.js.map → 1-CN4IyeuK.js.map} +1 -1
  46. package/build/server/chunks/4-CSC3dcY8.js +9 -0
  47. package/build/server/chunks/{4-D9UtUsJp.js.map → 4-CSC3dcY8.js.map} +1 -1
  48. package/build/server/chunks/5-kcs1qRfH.js +9 -0
  49. package/build/server/chunks/{5-B_4lRh2I.js.map → 5-kcs1qRfH.js.map} +1 -1
  50. package/build/server/chunks/{6-BLnRcxu-.js → 6-hGDLkIgU.js} +3 -3
  51. package/build/server/chunks/{6-BLnRcxu-.js.map → 6-hGDLkIgU.js.map} +1 -1
  52. package/build/server/chunks/7-CxrtjAcR.js +9 -0
  53. package/build/server/chunks/{7-Ce9mKDNS.js.map → 7-CxrtjAcR.js.map} +1 -1
  54. package/build/server/chunks/{8-DZdi94I7.js → 8-B4b9vc3y.js} +3 -3
  55. package/build/server/chunks/{8-DZdi94I7.js.map → 8-B4b9vc3y.js.map} +1 -1
  56. package/build/server/chunks/{9-DbwaI7nh.js → 9-CGVsBC0_.js} +2 -2
  57. package/build/server/chunks/{9-DbwaI7nh.js.map → 9-CGVsBC0_.js.map} +1 -1
  58. package/build/server/chunks/{Navbar-BHPXjl1A.js → Navbar-Dvgl5XIe.js} +6 -3
  59. package/build/server/chunks/Navbar-Dvgl5XIe.js.map +1 -0
  60. package/build/server/chunks/_page.svelte-B0M8mXzs.js.map +1 -1
  61. package/build/server/chunks/{_page.svelte-CXkNPL1p.js → _page.svelte-BJdYPF2B.js} +5 -5
  62. package/build/server/chunks/{_page.svelte-CXkNPL1p.js.map → _page.svelte-BJdYPF2B.js.map} +1 -1
  63. package/build/server/chunks/{_page.svelte-BXZROSm4.js → _page.svelte-Cb4lQ28_.js} +5 -5
  64. package/build/server/chunks/{_page.svelte-BXZROSm4.js.map → _page.svelte-Cb4lQ28_.js.map} +1 -1
  65. package/build/server/chunks/{_page.svelte-Cp6aBilY.js → _page.svelte-DBPaePBZ.js} +5 -5
  66. package/build/server/chunks/{_page.svelte-Cp6aBilY.js.map → _page.svelte-DBPaePBZ.js.map} +1 -1
  67. package/build/server/chunks/{_page.svelte-Ra8DEIk0.js → _page.svelte-Dm9-lf4l.js} +3 -3
  68. package/build/server/chunks/{_page.svelte-Ra8DEIk0.js.map → _page.svelte-Dm9-lf4l.js.map} +1 -1
  69. package/build/server/chunks/{_page.svelte-C4_2jNl6.js → _page.svelte-e0BQyOr0.js} +6 -6
  70. package/build/server/chunks/{_page.svelte-C4_2jNl6.js.map → _page.svelte-e0BQyOr0.js.map} +1 -1
  71. package/build/server/chunks/{_server.ts-OVKLVpsS.js → _server.ts-3bIOrNCW.js} +4 -4
  72. package/build/server/chunks/{_server.ts-OVKLVpsS.js.map → _server.ts-3bIOrNCW.js.map} +1 -1
  73. package/build/server/chunks/{_server.ts-IJ68pRcj.js → _server.ts-6j35W-bb.js} +5 -5
  74. package/build/server/chunks/{_server.ts-IJ68pRcj.js.map → _server.ts-6j35W-bb.js.map} +1 -1
  75. package/build/server/chunks/{_server.ts-Cix_DzOZ.js → _server.ts-7Wf3G6xc.js} +4 -4
  76. package/build/server/chunks/{_server.ts-Cix_DzOZ.js.map → _server.ts-7Wf3G6xc.js.map} +1 -1
  77. package/build/server/chunks/{_server.ts-5pMviGH3.js → _server.ts-B3DUJf6P.js} +16 -4
  78. package/build/server/chunks/_server.ts-B3DUJf6P.js.map +1 -0
  79. package/build/server/chunks/{_server.ts-DuJ8w3d8.js → _server.ts-B8V8xLOX.js} +4 -4
  80. package/build/server/chunks/{_server.ts-DuJ8w3d8.js.map → _server.ts-B8V8xLOX.js.map} +1 -1
  81. package/build/server/chunks/{_server.ts-C901uAGV.js → _server.ts-BGZDhLXh.js} +8 -7
  82. package/build/server/chunks/_server.ts-BGZDhLXh.js.map +1 -0
  83. package/build/server/chunks/{_server.ts-CyUtNvIJ.js → _server.ts-BOha2L_A.js} +4 -4
  84. package/build/server/chunks/{_server.ts-CyUtNvIJ.js.map → _server.ts-BOha2L_A.js.map} +1 -1
  85. package/build/server/chunks/{_server.ts-6KmCyX4_.js → _server.ts-BPBMdkDE.js} +6 -6
  86. package/build/server/chunks/{_server.ts-6KmCyX4_.js.map → _server.ts-BPBMdkDE.js.map} +1 -1
  87. package/build/server/chunks/{_server.ts-BJqeSuwW.js → _server.ts-BTFkcp50.js} +4 -4
  88. package/build/server/chunks/{_server.ts-BJqeSuwW.js.map → _server.ts-BTFkcp50.js.map} +1 -1
  89. package/build/server/chunks/{_server.ts-D5gUeFJE.js → _server.ts-BU9Dy6Ga.js} +5 -5
  90. package/build/server/chunks/{_server.ts-D5gUeFJE.js.map → _server.ts-BU9Dy6Ga.js.map} +1 -1
  91. package/build/server/chunks/{_server.ts-DiJOVzSl.js → _server.ts-B_PD1-BE.js} +4 -4
  92. package/build/server/chunks/{_server.ts-DiJOVzSl.js.map → _server.ts-B_PD1-BE.js.map} +1 -1
  93. package/build/server/chunks/{_server.ts-crIb-8QZ.js → _server.ts-BbzfnU5x.js} +5 -5
  94. package/build/server/chunks/{_server.ts-crIb-8QZ.js.map → _server.ts-BbzfnU5x.js.map} +1 -1
  95. package/build/server/chunks/{_server.ts-Bvp4YpaT.js → _server.ts-Bc4WPPlv.js} +6 -6
  96. package/build/server/chunks/{_server.ts-Bvp4YpaT.js.map → _server.ts-Bc4WPPlv.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-zCuG209p.js → _server.ts-BkpQZcF0.js} +4 -4
  98. package/build/server/chunks/{_server.ts-zCuG209p.js.map → _server.ts-BkpQZcF0.js.map} +1 -1
  99. package/build/server/chunks/{_server.ts-ByXfEYZ3.js → _server.ts-ByC7qKzo.js} +4 -4
  100. package/build/server/chunks/{_server.ts-ByXfEYZ3.js.map → _server.ts-ByC7qKzo.js.map} +1 -1
  101. package/build/server/chunks/{_server.ts-MVqFnsqa.js → _server.ts-C1m2Gw5U.js} +4 -4
  102. package/build/server/chunks/{_server.ts-MVqFnsqa.js.map → _server.ts-C1m2Gw5U.js.map} +1 -1
  103. package/build/server/chunks/{_server.ts-C_JYwlDL.js → _server.ts-C2-tZdFx.js} +4 -4
  104. package/build/server/chunks/{_server.ts-C_JYwlDL.js.map → _server.ts-C2-tZdFx.js.map} +1 -1
  105. package/build/server/chunks/{_server.ts-CK0Rxw5K.js → _server.ts-C2qehtMf.js} +4 -4
  106. package/build/server/chunks/{_server.ts-CK0Rxw5K.js.map → _server.ts-C2qehtMf.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-BH3-HO5r.js → _server.ts-CF-JUFSB.js} +6 -6
  108. package/build/server/chunks/{_server.ts-BH3-HO5r.js.map → _server.ts-CF-JUFSB.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-Dhzz7tHs.js → _server.ts-CGHhMNs3.js} +5 -5
  110. package/build/server/chunks/{_server.ts-Dhzz7tHs.js.map → _server.ts-CGHhMNs3.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-o9s65uGr.js → _server.ts-CP6bZaJJ.js} +4 -4
  112. package/build/server/chunks/{_server.ts-o9s65uGr.js.map → _server.ts-CP6bZaJJ.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-RHuSC2x-.js → _server.ts-CS7JXLT-.js} +4 -4
  114. package/build/server/chunks/{_server.ts-RHuSC2x-.js.map → _server.ts-CS7JXLT-.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-DFJDEcdK.js → _server.ts-CSZYdKIz.js} +2 -2
  116. package/build/server/chunks/{_server.ts-DFJDEcdK.js.map → _server.ts-CSZYdKIz.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-B8jv4dTo.js → _server.ts-CS_9GHcK.js} +4 -4
  118. package/build/server/chunks/{_server.ts-B8jv4dTo.js.map → _server.ts-CS_9GHcK.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-CjcbK3K2.js → _server.ts-CXZAOFJM.js} +4 -4
  120. package/build/server/chunks/{_server.ts-CjcbK3K2.js.map → _server.ts-CXZAOFJM.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-BRaaz800.js → _server.ts-ChEUjFy2.js} +4 -4
  122. package/build/server/chunks/{_server.ts-BRaaz800.js.map → _server.ts-ChEUjFy2.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-BmCX_RO-.js → _server.ts-CnU909WV.js} +5 -5
  124. package/build/server/chunks/{_server.ts-BmCX_RO-.js.map → _server.ts-CnU909WV.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-C6CQ4cXn.js → _server.ts-Cnjv0PV3.js} +4 -4
  126. package/build/server/chunks/{_server.ts-C6CQ4cXn.js.map → _server.ts-Cnjv0PV3.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-C6xE00MS.js → _server.ts-Ctm2JarS.js} +4 -4
  128. package/build/server/chunks/{_server.ts-C6xE00MS.js.map → _server.ts-Ctm2JarS.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-CkyeWLQD.js → _server.ts-CuWvzlxI.js} +5 -5
  130. package/build/server/chunks/{_server.ts-CkyeWLQD.js.map → _server.ts-CuWvzlxI.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-c5vxACJj.js → _server.ts-D-CG_91w.js} +4 -4
  132. package/build/server/chunks/{_server.ts-c5vxACJj.js.map → _server.ts-D-CG_91w.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-XII8m8Um.js → _server.ts-D-p2Hm9n.js} +2 -2
  134. package/build/server/chunks/{_server.ts-XII8m8Um.js.map → _server.ts-D-p2Hm9n.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-BqQPs0i_.js → _server.ts-D-s-9ge-.js} +3 -3
  136. package/build/server/chunks/{_server.ts-BqQPs0i_.js.map → _server.ts-D-s-9ge-.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-D4X4auyD.js → _server.ts-D2KqxMre.js} +4 -4
  138. package/build/server/chunks/{_server.ts-D4X4auyD.js.map → _server.ts-D2KqxMre.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-D8sMZCw-.js → _server.ts-D2iTW5_-.js} +4 -4
  140. package/build/server/chunks/{_server.ts-D8sMZCw-.js.map → _server.ts-D2iTW5_-.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-CqlfB-aA.js → _server.ts-D5p0zu-y.js} +4 -4
  142. package/build/server/chunks/{_server.ts-CqlfB-aA.js.map → _server.ts-D5p0zu-y.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-DhyOE-KP.js → _server.ts-D86uN0DZ.js} +2 -2
  144. package/build/server/chunks/{_server.ts-DhyOE-KP.js.map → _server.ts-D86uN0DZ.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-CIcZeBAF.js → _server.ts-D8p-Zc8Z.js} +4 -4
  146. package/build/server/chunks/{_server.ts-CIcZeBAF.js.map → _server.ts-D8p-Zc8Z.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-BRAfEDvT.js → _server.ts-D9bBTzrV.js} +4 -4
  148. package/build/server/chunks/{_server.ts-BRAfEDvT.js.map → _server.ts-D9bBTzrV.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-X6kwNmZX.js → _server.ts-DJLROGuC.js} +4 -4
  150. package/build/server/chunks/{_server.ts-X6kwNmZX.js.map → _server.ts-DJLROGuC.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-BHIP51pX.js → _server.ts-DKKKZx7q.js} +4 -4
  152. package/build/server/chunks/{_server.ts-BHIP51pX.js.map → _server.ts-DKKKZx7q.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-DxDXTfuq.js → _server.ts-DP-NPkMD.js} +4 -4
  154. package/build/server/chunks/{_server.ts-DxDXTfuq.js.map → _server.ts-DP-NPkMD.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-CK8sJWT2.js → _server.ts-D_da58Nk.js} +5 -5
  156. package/build/server/chunks/{_server.ts-CK8sJWT2.js.map → _server.ts-D_da58Nk.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-CKf5jMDy.js → _server.ts-DaLBPART.js} +4 -4
  158. package/build/server/chunks/{_server.ts-CKf5jMDy.js.map → _server.ts-DaLBPART.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-CrRcF8Ie.js → _server.ts-DgRjI1W8.js} +4 -4
  160. package/build/server/chunks/{_server.ts-CrRcF8Ie.js.map → _server.ts-DgRjI1W8.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-B4Atr7Pb.js → _server.ts-DjfCGqvA.js} +4 -4
  162. package/build/server/chunks/{_server.ts-B4Atr7Pb.js.map → _server.ts-DjfCGqvA.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-CaSXmkds.js → _server.ts-Dkk8XP3m.js} +4 -4
  164. package/build/server/chunks/{_server.ts-CaSXmkds.js.map → _server.ts-Dkk8XP3m.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-C5cUQhLR.js → _server.ts-Dl07R_n2.js} +5 -5
  166. package/build/server/chunks/{_server.ts-C5cUQhLR.js.map → _server.ts-Dl07R_n2.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-C90P5trG.js → _server.ts-Do2sgBif.js} +8 -7
  168. package/build/server/chunks/_server.ts-Do2sgBif.js.map +1 -0
  169. package/build/server/chunks/{_server.ts-BHxlYhmn.js → _server.ts-DrJ5_e35.js} +2 -2
  170. package/build/server/chunks/{_server.ts-BHxlYhmn.js.map → _server.ts-DrJ5_e35.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-CXkRiweb.js → _server.ts-Ds9OIz3V.js} +4 -4
  172. package/build/server/chunks/{_server.ts-CXkRiweb.js.map → _server.ts-Ds9OIz3V.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-CPo93T4Q.js → _server.ts-DuMzNLkr.js} +6 -6
  174. package/build/server/chunks/{_server.ts-CPo93T4Q.js.map → _server.ts-DuMzNLkr.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-CWhPqSHs.js → _server.ts-Dv1tbIPB.js} +4 -4
  176. package/build/server/chunks/{_server.ts-CWhPqSHs.js.map → _server.ts-Dv1tbIPB.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-DseLSghB.js → _server.ts-DvES1wiN.js} +4 -4
  178. package/build/server/chunks/{_server.ts-DseLSghB.js.map → _server.ts-DvES1wiN.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-Bwx3Gjwd.js → _server.ts-DwufWrL8.js} +4 -4
  180. package/build/server/chunks/{_server.ts-Bwx3Gjwd.js.map → _server.ts-DwufWrL8.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-DE0m1Q4L.js → _server.ts-DypIhw8E.js} +4 -4
  182. package/build/server/chunks/{_server.ts-DE0m1Q4L.js.map → _server.ts-DypIhw8E.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-BRefcV0Z.js → _server.ts-I_df3rNy.js} +2 -2
  184. package/build/server/chunks/{_server.ts-BRefcV0Z.js.map → _server.ts-I_df3rNy.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-BHZefY3G.js → _server.ts-JqtP_8OZ.js} +4 -4
  186. package/build/server/chunks/{_server.ts-BHZefY3G.js.map → _server.ts-JqtP_8OZ.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-fDATxtr3.js → _server.ts-KbEJb9iF.js} +4 -4
  188. package/build/server/chunks/{_server.ts-fDATxtr3.js.map → _server.ts-KbEJb9iF.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-DPhVV-jJ.js → _server.ts-KdUnJtGx.js} +4 -4
  190. package/build/server/chunks/{_server.ts-DPhVV-jJ.js.map → _server.ts-KdUnJtGx.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-BGUpdnPV.js → _server.ts-LnGYpCfy.js} +4 -4
  192. package/build/server/chunks/{_server.ts-BGUpdnPV.js.map → _server.ts-LnGYpCfy.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-HwlPZi53.js → _server.ts-MPuOqnb6.js} +5 -5
  194. package/build/server/chunks/{_server.ts-HwlPZi53.js.map → _server.ts-MPuOqnb6.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-CFtUB8Hj.js → _server.ts-Q2jLnu8r.js} +4 -4
  196. package/build/server/chunks/{_server.ts-CFtUB8Hj.js.map → _server.ts-Q2jLnu8r.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-B3N5nJb3.js → _server.ts-URmO6EQw.js} +4 -4
  198. package/build/server/chunks/{_server.ts-B3N5nJb3.js.map → _server.ts-URmO6EQw.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-Dq4ZhGok.js → _server.ts-XOD7SUR4.js} +4 -4
  200. package/build/server/chunks/{_server.ts-Dq4ZhGok.js.map → _server.ts-XOD7SUR4.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-CN5s8RLB.js → _server.ts-XQi6MDkU.js} +6 -6
  202. package/build/server/chunks/{_server.ts-CN5s8RLB.js.map → _server.ts-XQi6MDkU.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-CnCzNcH9.js → _server.ts-lwKsNmQt.js} +4 -4
  204. package/build/server/chunks/{_server.ts-CnCzNcH9.js.map → _server.ts-lwKsNmQt.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-DDFiq1Ud.js → _server.ts-m1ayiB8O.js} +4 -4
  206. package/build/server/chunks/{_server.ts-DDFiq1Ud.js.map → _server.ts-m1ayiB8O.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-CdM6LezY.js → _server.ts-qmijt9h5.js} +4 -4
  208. package/build/server/chunks/{_server.ts-CdM6LezY.js.map → _server.ts-qmijt9h5.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-DxDpkTu4.js → _server.ts-t7MfsyTJ.js} +4 -4
  210. package/build/server/chunks/{_server.ts-DxDpkTu4.js.map → _server.ts-t7MfsyTJ.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-CKlHRDZS.js → _server.ts-z2KYSfCP.js} +4 -4
  212. package/build/server/chunks/{_server.ts-CKlHRDZS.js.map → _server.ts-z2KYSfCP.js.map} +1 -1
  213. package/build/server/chunks/{addon-helpers-BY7Y68Or.js → addon-helpers-xb9eIaVn.js} +2 -2
  214. package/build/server/chunks/{addon-helpers-BY7Y68Or.js.map → addon-helpers-xb9eIaVn.js.map} +1 -1
  215. package/build/server/chunks/{client-ArAeRoxk.js → client-s1A2mBfJ.js} +28 -3
  216. package/build/server/chunks/{client-ArAeRoxk.js.map → client-s1A2mBfJ.js.map} +1 -1
  217. package/build/server/chunks/{config-CjX55Ht6.js → config-0V4UPT81.js} +2 -2
  218. package/build/server/chunks/{config-CjX55Ht6.js.map → config-0V4UPT81.js.map} +1 -1
  219. package/build/server/chunks/{docker-NqrL9zHp.js → docker-CKOdzi6A.js} +2 -2
  220. package/build/server/chunks/{docker-NqrL9zHp.js.map → docker-CKOdzi6A.js.map} +1 -1
  221. package/build/server/chunks/{endpoints-Ci6CJJnc.js → endpoints-uSe3ORbp.js} +2 -2
  222. package/build/server/chunks/{endpoints-Ci6CJJnc.js.map → endpoints-uSe3ORbp.js.map} +1 -1
  223. package/build/server/chunks/{environment-Bpg55mjq.js → environment-CmkLMh24.js} +2 -2
  224. package/build/server/chunks/{environment-Bpg55mjq.js.map → environment-CmkLMh24.js.map} +1 -1
  225. package/build/server/chunks/{error.svelte-CpFwRtRX.js → error.svelte-B9_N1bPe.js} +4 -4
  226. package/build/server/chunks/{error.svelte-CpFwRtRX.js.map → error.svelte-B9_N1bPe.js.map} +1 -1
  227. package/build/server/chunks/{helpers-BqYJlSJg.js → helpers-D4ot6bJ_.js} +3 -3
  228. package/build/server/chunks/{helpers-BqYJlSJg.js.map → helpers-D4ot6bJ_.js.map} +1 -1
  229. package/build/server/chunks/{hooks.server-CRMfHyDz.js → hooks.server-CksTzt9Y.js} +5 -5
  230. package/build/server/chunks/{hooks.server-CRMfHyDz.js.map → hooks.server-CksTzt9Y.js.map} +1 -1
  231. package/build/server/chunks/{http-CghRhEH6.js → http-DWdG8RlO.js} +2 -2
  232. package/build/server/chunks/{http-CghRhEH6.js.map → http-DWdG8RlO.js.map} +1 -1
  233. package/build/server/chunks/{internal-W1HfYnMF.js → internal-BFPFXx52.js} +3 -3
  234. package/build/server/chunks/{internal-W1HfYnMF.js.map → internal-BFPFXx52.js.map} +1 -1
  235. package/build/server/chunks/{session-cookie-BGqzaS8B.js → session-cookie-CY2ZiP5t.js} +2 -2
  236. package/build/server/chunks/{session-cookie-BGqzaS8B.js.map → session-cookie-CY2ZiP5t.js.map} +1 -1
  237. package/build/server/chunks/{setup-deploy-Cg9faOlI.js → setup-deploy-CN1g3_cR.js} +2 -7
  238. package/build/server/chunks/setup-deploy-CN1g3_cR.js.map +1 -0
  239. package/build/server/chunks/{src-b3nBkyhY.js → src-DkGZ5D6n.js} +855 -855
  240. package/build/server/chunks/{src-b3nBkyhY.js.map → src-DkGZ5D6n.js.map} +1 -1
  241. package/build/server/chunks/{state-BIeW4-XD.js → state-CP5gULgb.js} +2 -2
  242. package/build/server/chunks/{state-BIeW4-XD.js.map → state-CP5gULgb.js.map} +1 -1
  243. package/build/server/index.js +2 -2
  244. package/build/server/manifest.js +79 -79
  245. package/build/server/manifest.js.map +1 -1
  246. package/package.json +2 -2
  247. package/build/client/_app/immutable/chunks/5ZqlzR7j.js +0 -3
  248. package/build/client/_app/immutable/chunks/5ZqlzR7j.js.br +0 -0
  249. package/build/client/_app/immutable/chunks/5ZqlzR7j.js.gz +0 -0
  250. package/build/client/_app/immutable/chunks/Bu0cBnLr.js +0 -1
  251. package/build/client/_app/immutable/chunks/Bu0cBnLr.js.br +0 -2
  252. package/build/client/_app/immutable/chunks/Bu0cBnLr.js.gz +0 -0
  253. package/build/client/_app/immutable/chunks/CEPSqAnS.js +0 -1
  254. package/build/client/_app/immutable/chunks/CEPSqAnS.js.br +0 -0
  255. package/build/client/_app/immutable/chunks/CEPSqAnS.js.gz +0 -0
  256. package/build/client/_app/immutable/chunks/ltAtEuyp.js +0 -5
  257. package/build/client/_app/immutable/chunks/ltAtEuyp.js.br +0 -0
  258. package/build/client/_app/immutable/chunks/ltAtEuyp.js.gz +0 -0
  259. package/build/client/_app/immutable/entry/app.jhM1F9Lz.js.br +0 -0
  260. package/build/client/_app/immutable/entry/app.jhM1F9Lz.js.gz +0 -0
  261. package/build/client/_app/immutable/entry/start.Dc1B22-x.js +0 -1
  262. package/build/client/_app/immutable/entry/start.Dc1B22-x.js.br +0 -1
  263. package/build/client/_app/immutable/entry/start.Dc1B22-x.js.gz +0 -0
  264. package/build/client/_app/immutable/nodes/1.CAM0_CnR.js.br +0 -1
  265. package/build/client/_app/immutable/nodes/1.CAM0_CnR.js.gz +0 -0
  266. package/build/client/_app/immutable/nodes/4.BInZ_Tt5.js.br +0 -0
  267. package/build/client/_app/immutable/nodes/5.e3eblL7D.js.br +0 -0
  268. package/build/client/_app/immutable/nodes/5.e3eblL7D.js.gz +0 -0
  269. package/build/client/_app/immutable/nodes/6.D6wSITV7.js.br +0 -0
  270. package/build/client/_app/immutable/nodes/6.D6wSITV7.js.gz +0 -0
  271. package/build/client/_app/immutable/nodes/7.C1W_OsSf.js.br +0 -0
  272. package/build/client/_app/immutable/nodes/8.9E6jSDDa.js.br +0 -0
  273. package/build/client/_app/immutable/nodes/8.9E6jSDDa.js.gz +0 -0
  274. package/build/client/_app/immutable/nodes/9.CutxJ3jN.js.br +0 -0
  275. package/build/client/_app/immutable/nodes/9.CutxJ3jN.js.gz +0 -0
  276. package/build/server/chunks/1-DGZd-zFK.js +0 -9
  277. package/build/server/chunks/4-D9UtUsJp.js +0 -9
  278. package/build/server/chunks/5-B_4lRh2I.js +0 -9
  279. package/build/server/chunks/7-Ce9mKDNS.js +0 -9
  280. package/build/server/chunks/Navbar-BHPXjl1A.js.map +0 -1
  281. package/build/server/chunks/_server.ts-5pMviGH3.js.map +0 -1
  282. package/build/server/chunks/_server.ts-C901uAGV.js.map +0 -1
  283. package/build/server/chunks/_server.ts-C90P5trG.js.map +0 -1
  284. package/build/server/chunks/setup-deploy-Cg9faOlI.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { k as jsonResponse, d as getRequestId } from './helpers-BqYJlSJg.js';
2
- import './src-b3nBkyhY.js';
1
+ import { k as jsonResponse, d as getRequestId } from './helpers-D4ot6bJ_.js';
2
+ import './src-DkGZ5D6n.js';
3
3
  import './chunk-CLZ62Ad-.js';
4
4
  import 'node:module';
5
5
  import 'node:fs';
@@ -19,7 +19,7 @@ import 'assert';
19
19
  import 'zlib';
20
20
  import 'node:assert';
21
21
  import 'node:fs/promises';
22
- import './endpoints-Ci6CJJnc.js';
22
+ import './endpoints-uSe3ORbp.js';
23
23
 
24
24
  //#region src/routes/health/+server.ts
25
25
  var GET = async (event) => {
@@ -30,4 +30,4 @@ var GET = async (event) => {
30
30
  };
31
31
 
32
32
  export { GET };
33
- //# sourceMappingURL=_server.ts-OVKLVpsS.js.map
33
+ //# sourceMappingURL=_server.ts-3bIOrNCW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-OVKLVpsS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/health/_server.ts.js"],"sourcesContent":["import { o as getRequestId, u as jsonResponse } from \"../../../chunks/helpers.js\";\n//#region src/routes/health/+server.ts\nvar GET = async (event) => {\n\treturn jsonResponse(200, {\n\t\tstatus: \"ok\",\n\t\tservice: \"admin\"\n\t}, getRequestId(event));\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACxB;;;;"}
1
+ {"version":3,"file":"_server.ts-3bIOrNCW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/health/_server.ts.js"],"sourcesContent":["import { o as getRequestId, u as jsonResponse } from \"../../../chunks/helpers.js\";\n//#region src/routes/health/+server.ts\nvar GET = async (event) => {\n\treturn jsonResponse(200, {\n\t\tstatus: \"ok\",\n\t\tservice: \"admin\"\n\t}, getRequestId(event));\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACxB;;;;"}
@@ -1,7 +1,7 @@
1
- import { w as withAdminBody, k as jsonResponse } from './helpers-BqYJlSJg.js';
2
- import { o as opencodeFetch } from './http-CghRhEH6.js';
1
+ import { w as withAdminBody, k as jsonResponse } from './helpers-D4ot6bJ_.js';
2
+ import { o as opencodeFetch } from './http-DWdG8RlO.js';
3
3
  import { a as asStringOrEmpty } from './_helpers-B_lb4-jB.js';
4
- import './src-b3nBkyhY.js';
4
+ import './src-DkGZ5D6n.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import 'node:fs';
@@ -21,7 +21,7 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-Ci6CJJnc.js';
24
+ import './endpoints-uSe3ORbp.js';
25
25
  import './coercion-TNFJisCC.js';
26
26
 
27
27
  //#region src/routes/admin/providers/oauth/finish/+server.ts
@@ -62,4 +62,4 @@ var POST = (event) => withAdminBody(event, async ({ requestId, body }) => {
62
62
  });
63
63
 
64
64
  export { POST };
65
- //# sourceMappingURL=_server.ts-IJ68pRcj.js.map
65
+ //# sourceMappingURL=_server.ts-6j35W-bb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-IJ68pRcj.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { m as withAdminBody, u as jsonResponse } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/finish/+server.ts\n/**\n* POST /admin/providers/oauth/finish — Complete an OAuth code-mode\n* sign-in by exchanging the operator-pasted authorization code with the\n* assistant OpenCode instance.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tconst code = asStringOrEmpty(body.code);\n\t\tif (!providerId || Number.isNaN(methodIndex) || !code) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Paste the authorization code before finishing sign-in.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\tcode\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth connection completed.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AACzC,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAClF,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,wDAAwD;AACpE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI;AACJ,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,6BAA6B;AACzC,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
1
+ {"version":3,"file":"_server.ts-6j35W-bb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { m as withAdminBody, u as jsonResponse } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/finish/+server.ts\n/**\n* POST /admin/providers/oauth/finish — Complete an OAuth code-mode\n* sign-in by exchanging the operator-pasted authorization code with the\n* assistant OpenCode instance.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tconst code = asStringOrEmpty(body.code);\n\t\tif (!providerId || Number.isNaN(methodIndex) || !code) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Paste the authorization code before finishing sign-in.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\tcode\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth connection completed.\",\n\t\t\tselectedProviderId: providerId\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AACzC,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAClF,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,wDAAwD;AACpE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACpF,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI;AACJ,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,6BAA6B;AACzC,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
- import { am as removeTaskFile, ai as readTaskFile, aA as writeTaskFile, h as assertSafeTaskFilename } from './src-b3nBkyhY.js';
2
- import { b as getState } from './endpoints-Ci6CJJnc.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-BqYJlSJg.js';
1
+ import { am as removeTaskFile, ai as readTaskFile, aA as writeTaskFile, h as assertSafeTaskFilename } from './src-DkGZ5D6n.js';
2
+ import { b as getState } from './endpoints-uSe3ORbp.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, e as errorResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-D4ot6bJ_.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -76,4 +76,4 @@ var DELETE = async (event) => {
76
76
  };
77
77
 
78
78
  export { DELETE, GET, PUT };
79
- //# sourceMappingURL=_server.ts-Cix_DzOZ.js.map
79
+ //# sourceMappingURL=_server.ts-7Wf3G6xc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Cix_DzOZ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/file/_server.ts.js"],"sourcesContent":["import { $ as readTaskFile, Q as assertSafeTaskFilename, et as removeTaskFile, tt as writeTaskFile } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/[name]/file/+server.ts\nfunction guard(name, requestId) {\n\ttry {\n\t\tassertSafeTaskFilename(name);\n\t\treturn null;\n\t} catch (err) {\n\t\treturn errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst content = readTaskFile(getState().stashDir, name);\n\tif (content === null) return errorResponse(404, \"not_found\", `Task file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tcontent\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst content = result.data.content;\n\tif (typeof content !== \"string\") return errorResponse(400, \"bad_request\", \"content must be a string\", {}, requestId);\n\twriteTaskFile(getState().stashDir, name, content);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tremoveTaskFile(getState().stashDir, name);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-7Wf3G6xc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/automations/_name_/file/_server.ts.js"],"sourcesContent":["import { $ as readTaskFile, Q as assertSafeTaskFilename, et as removeTaskFile, tt as writeTaskFile } from \"../../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../../chunks/endpoints.js\";\nimport { d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/automations/[name]/file/+server.ts\nfunction guard(name, requestId) {\n\ttry {\n\t\tassertSafeTaskFilename(name);\n\t\treturn null;\n\t} catch (err) {\n\t\treturn errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t}\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst content = readTaskFile(getState().stashDir, name);\n\tif (content === null) return errorResponse(404, \"not_found\", `Task file not found: ${name}`, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tcontent\n\t}, requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst content = result.data.content;\n\tif (typeof content !== \"string\") return errorResponse(400, \"bad_request\", \"content must be a string\", {}, requestId);\n\twriteTaskFile(getState().stashDir, name, content);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst name = event.params.name;\n\tconst bad = guard(name, requestId);\n\tif (bad) return bad;\n\tremoveTaskFile(getState().stashDir, name);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tname\n\t}, requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { d as getRequestId, k as jsonResponse } from './helpers-BqYJlSJg.js';
1
+ import { a5 as listEnabledAddonIds } from './src-DkGZ5D6n.js';
2
+ import { b as getState } from './endpoints-uSe3ORbp.js';
3
+ import { d as getRequestId, k as jsonResponse } from './helpers-D4ot6bJ_.js';
2
4
  import { execFile } from 'node:child_process';
3
5
  import { promisify } from 'node:util';
4
- import './src-b3nBkyhY.js';
5
6
  import './chunk-CLZ62Ad-.js';
6
7
  import 'node:module';
7
8
  import 'node:fs';
@@ -20,10 +21,15 @@ import 'assert';
20
21
  import 'zlib';
21
22
  import 'node:assert';
22
23
  import 'node:fs/promises';
23
- import './endpoints-Ci6CJJnc.js';
24
24
 
25
25
  //#region src/routes/guardian/health/+server.ts
26
26
  var execFileAsync = promisify(execFile);
27
+ var CHANNEL_ADDON_IDS = [
28
+ "api",
29
+ "chat",
30
+ "discord",
31
+ "slack"
32
+ ];
27
33
  /**
28
34
  * Guardian health — queries the running container directly.
29
35
  *
@@ -40,6 +46,12 @@ var execFileAsync = promisify(execFile);
40
46
  */
41
47
  var GET = async (event) => {
42
48
  const requestId = getRequestId(event);
49
+ try {
50
+ if (!listEnabledAddonIds(getState().homeDir).some((a) => CHANNEL_ADDON_IDS.includes(a))) return jsonResponse(200, {
51
+ status: "not_deployed",
52
+ service: "guardian"
53
+ }, requestId);
54
+ } catch {}
43
55
  try {
44
56
  const { stdout } = await execFileAsync("docker", [
45
57
  "container",
@@ -67,4 +79,4 @@ var GET = async (event) => {
67
79
  };
68
80
 
69
81
  export { GET };
70
- //# sourceMappingURL=_server.ts-5pMviGH3.js.map
82
+ //# sourceMappingURL=_server.ts-B3DUJf6P.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-B3DUJf6P.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/guardian/health/_server.ts.js"],"sourcesContent":["import { ut as listEnabledAddonIds } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\nimport { execFile } from \"node:child_process\";\nimport { promisify } from \"node:util\";\n//#region src/routes/guardian/health/+server.ts\nvar execFileAsync = promisify(execFile);\nvar CHANNEL_ADDON_IDS = [\n\t\"api\",\n\t\"chat\",\n\t\"discord\",\n\t\"slack\"\n];\n/**\n* Guardian health — queries the running container directly.\n*\n* Guardian has no host port mapping in the 0.11.0+ layout (it's reachable\n* only on the internal channel_lan/assistant_net networks). The previous\n* implementation read the UI's in-memory ControlPlaneState, which is stale\n* whenever the stack was started by something other than the UI itself\n* (CLI, docker compose directly, AppImage on a pre-existing stack).\n*\n* `docker container inspect ... --format '{{.State.Health.Status}}'` is the\n* authoritative source: it reads the compose-defined healthcheck the\n* guardian container already runs internally. Same approach as the\n* admin-tools-plugin host-side health-check tool.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\ttry {\n\t\tif (!listEnabledAddonIds(getState().homeDir).some((a) => CHANNEL_ADDON_IDS.includes(a))) return jsonResponse(200, {\n\t\t\tstatus: \"not_deployed\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t} catch {}\n\ttry {\n\t\tconst { stdout } = await execFileAsync(\"docker\", [\n\t\t\t\"container\",\n\t\t\t\"inspect\",\n\t\t\t\"openpalm-guardian-1\",\n\t\t\t\"--format\",\n\t\t\t\"{{.State.Health.Status}}\"\n\t\t], { timeout: 5e3 });\n\t\tconst status = stdout.trim();\n\t\tif (status === \"healthy\") return jsonResponse(200, {\n\t\t\tstatus: \"ok\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t\treturn jsonResponse(503, {\n\t\t\tstatus: status || \"unknown\",\n\t\t\tservice: \"guardian\"\n\t\t}, requestId);\n\t} catch (err) {\n\t\treturn jsonResponse(503, {\n\t\t\tstatus: \"unreachable\",\n\t\t\tservice: \"guardian\",\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t}, requestId);\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,IAAI,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC;AACvC,IAAI,iBAAiB,GAAG;AACxB,CAAC,KAAK;AACN,CAAC,MAAM;AACP,CAAC,SAAS;AACV,CAAC;AACD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI;AACL,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACpH,GAAG,MAAM,EAAE,cAAc;AACzB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE;AACnD,GAAG,WAAW;AACd,GAAG,SAAS;AACZ,GAAG,qBAAqB;AACxB,GAAG,UAAU;AACb,GAAG;AACH,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACtB,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE;AAC9B,EAAE,IAAI,MAAM,KAAK,SAAS,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACrD,GAAG,MAAM,EAAE,IAAI;AACf,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,MAAM,IAAI,SAAS;AAC9B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,MAAM,EAAE,aAAa;AACxB,GAAG,OAAO,EAAE,UAAU;AACtB,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { r as requireAdmin, d as getRequestId } from './helpers-BqYJlSJg.js';
2
+ import { r as requireAdmin, d as getRequestId } from './helpers-D4ot6bJ_.js';
3
3
  import './utils-BSRjJDrZ.js';
4
- import './src-b3nBkyhY.js';
4
+ import './src-DkGZ5D6n.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import 'node:fs';
@@ -21,7 +21,7 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-Ci6CJJnc.js';
24
+ import './endpoints-uSe3ORbp.js';
25
25
 
26
26
  //#region src/routes/admin/versions/releases/+server.ts
27
27
  var GET = async (event) => {
@@ -53,4 +53,4 @@ var GET = async (event) => {
53
53
  };
54
54
 
55
55
  export { GET };
56
- //# sourceMappingURL=_server.ts-DuJ8w3d8.js.map
56
+ //# sourceMappingURL=_server.ts-B8V8xLOX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DuJ8w3d8.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/releases/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { f as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/versions/releases/+server.ts\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\ttry {\n\t\tconst res = await fetch(\"https://api.github.com/repos/itlackey/openpalm/releases?per_page=20\", {\n\t\t\theaders: {\n\t\t\t\t\"User-Agent\": \"openpalm-admin/1.0\",\n\t\t\t\tAccept: \"application/vnd.github+json\"\n\t\t\t},\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return json({\n\t\t\treleases: [],\n\t\t\terror: `GitHub API ${res.status}`\n\t\t});\n\t\treturn json({ releases: (await res.json()).map((r) => ({\n\t\t\ttag: r.tag_name.replace(/^v/, \"\"),\n\t\t\tprerelease: r.prerelease,\n\t\t\tpublishedAt: r.published_at\n\t\t})) });\n\t} catch (err) {\n\t\treturn json({\n\t\t\treleases: [],\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,qEAAqE,EAAE;AACjG,GAAG,OAAO,EAAE;AACZ,IAAI,YAAY,EAAE,oBAAoB;AACtC,IAAI,MAAM,EAAE;AACZ,IAAI;AACJ,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC3B,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC;AACnC,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM;AACzD,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACpC,GAAG,UAAU,EAAE,CAAC,CAAC,UAAU;AAC3B,GAAG,WAAW,EAAE,CAAC,CAAC;AAClB,GAAG,CAAC,CAAC,EAAE,CAAC;AACR,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-B8V8xLOX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/releases/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { f as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/versions/releases/+server.ts\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\ttry {\n\t\tconst res = await fetch(\"https://api.github.com/repos/itlackey/openpalm/releases?per_page=20\", {\n\t\t\theaders: {\n\t\t\t\t\"User-Agent\": \"openpalm-admin/1.0\",\n\t\t\t\tAccept: \"application/vnd.github+json\"\n\t\t\t},\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (!res.ok) return json({\n\t\t\treleases: [],\n\t\t\terror: `GitHub API ${res.status}`\n\t\t});\n\t\treturn json({ releases: (await res.json()).map((r) => ({\n\t\t\ttag: r.tag_name.replace(/^v/, \"\"),\n\t\t\tprerelease: r.prerelease,\n\t\t\tpublishedAt: r.published_at\n\t\t})) });\n\t} catch (err) {\n\t\treturn json({\n\t\t\treleases: [],\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,qEAAqE,EAAE;AACjG,GAAG,OAAO,EAAE;AACZ,IAAI,YAAY,EAAE,oBAAoB;AACtC,IAAI,MAAM,EAAE;AACZ,IAAI;AACJ,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC3B,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC;AACnC,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM;AACzD,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACpC,GAAG,UAAU,EAAE,CAAC,CAAC,UAAU;AAC3B,GAAG,WAAW,EAAE,CAAC,CAAC;AAClB,GAAG,CAAC,CAAC,EAAE,CAAC;AACR,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
@@ -1,5 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-BqYJlSJg.js';
2
- import './src-b3nBkyhY.js';
1
+ import { af as readStackEnv } from './src-DkGZ5D6n.js';
2
+ import { b as getState } from './endpoints-uSe3ORbp.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-D4ot6bJ_.js';
3
4
  import './chunk-CLZ62Ad-.js';
4
5
  import 'node:module';
5
6
  import 'node:fs';
@@ -19,7 +20,6 @@ import 'assert';
19
20
  import 'zlib';
20
21
  import 'node:assert';
21
22
  import 'node:fs/promises';
22
- import './endpoints-Ci6CJJnc.js';
23
23
 
24
24
  //#region src/routes/api/transcribe/+server.ts
25
25
  var DEFAULT_MODEL = "whisper-1";
@@ -31,9 +31,10 @@ var POST = async (event) => {
31
31
  const requestId = getRequestId(event);
32
32
  const authError = requireAdmin(event, requestId);
33
33
  if (authError) return authError;
34
- const sttBaseURL = (process.env.OP_STT_BASE_URL ?? "").trim();
35
- const sttModel = (process.env.OP_STT_MODEL ?? "").trim() || DEFAULT_MODEL;
36
- const sttLanguageEnv = (process.env.OP_STT_LANGUAGE ?? "").trim();
34
+ const stackEnv = readStackEnv(getState().stackDir);
35
+ const sttBaseURL = (stackEnv.OP_STT_BASE_URL ?? process.env.OP_STT_BASE_URL ?? "").trim();
36
+ const sttModel = (stackEnv.OP_STT_MODEL ?? process.env.OP_STT_MODEL ?? "").trim() || DEFAULT_MODEL;
37
+ const sttLanguageEnv = (stackEnv.OP_STT_LANGUAGE ?? process.env.OP_STT_LANGUAGE ?? "").trim();
37
38
  const sttApiKey = (process.env.OP_STT_API_KEY ?? "").trim();
38
39
  if (!sttBaseURL) return errorResponse(503, "stt_not_configured", "Configure an STT engine in Admin → Voice settings.", {}, requestId);
39
40
  let inboundForm;
@@ -85,4 +86,4 @@ var POST = async (event) => {
85
86
  };
86
87
 
87
88
  export { POST };
88
- //# sourceMappingURL=_server.ts-C901uAGV.js.map
89
+ //# sourceMappingURL=_server.ts-BGZDhLXh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts-BGZDhLXh.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { yt as readStackEnv } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, i as errorResponse, o as getRequestId, u as jsonResponse } 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,6 +1,6 @@
1
- import { g as getActiveEndpoint } from './endpoints-Ci6CJJnc.js';
2
- import { d as getRequestId, r as requireAdmin } from './helpers-BqYJlSJg.js';
3
- import './src-b3nBkyhY.js';
1
+ import { g as getActiveEndpoint } from './endpoints-uSe3ORbp.js';
2
+ import { d as getRequestId, r as requireAdmin } from './helpers-D4ot6bJ_.js';
3
+ import './src-DkGZ5D6n.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -106,4 +106,4 @@ var PUT = handler;
106
106
  var DELETE = handler;
107
107
 
108
108
  export { DELETE, GET, POST, PUT };
109
- //# sourceMappingURL=_server.ts-CyUtNvIJ.js.map
109
+ //# sourceMappingURL=_server.ts-BOha2L_A.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CyUtNvIJ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/proxy/assistant/_...path_/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/proxy/assistant/[...path]/+server.ts\n/**\n* Proxy route: forward /proxy/assistant/[...path] → assistant OpenCode server.\n*\n* Auth: requires the operator's `op_session` cookie (cookie-only since\n* Phase 2 of the auth/proxy refactor — the `x-admin-token` header fallback\n* was removed).\n* Forwards the full request body and method unchanged.\n* The target URL and per-endpoint Basic-auth password are resolved per-request\n* from the active endpoint store, so switching endpoints in the UI takes\n* effect immediately without restarting the server.\n*\n* Streaming: the upstream response body is forwarded as-is (no buffering) so\n* SSE responses (text/event-stream) pass through chunk-by-chunk. We do not\n* impose a fixed timeout on the upstream fetch — OpenCode SSE streams can run\n* for minutes. Instead the per-request AbortController is wired to the client\n* disconnect signal (`event.request.signal`); when the browser aborts (tab\n* close, navigation away), we propagate the abort to upstream.\n*/\nfunction buildForwardHeaders(incomingContentType, username, password) {\n\tconst headers = {};\n\tif (incomingContentType) headers[\"content-type\"] = incomingContentType;\n\tif (password) headers[\"authorization\"] = `Basic ${btoa(`${username || \"openpalm\"}:${password}`)}`;\n\treturn headers;\n}\nfunction buildResponseHeaders(upstream, requestId, endpointId, endpointLabel) {\n\tconst headers = new Headers();\n\theaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"application/json\");\n\tconst cacheControl = upstream.headers.get(\"cache-control\");\n\tif (cacheControl) headers.set(\"cache-control\", cacheControl);\n\tconst transferEncoding = upstream.headers.get(\"transfer-encoding\");\n\tif (transferEncoding) headers.set(\"transfer-encoding\", transferEncoding);\n\theaders.set(\"x-request-id\", requestId);\n\theaders.set(\"x-endpoint-id\", endpointId);\n\theaders.set(\"x-endpoint-label\", encodeURIComponent(endpointLabel));\n\treturn headers;\n}\nvar handler = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tconst { path } = event.params;\n\tconst targetUrl = `${endpoint.url}/${path}${event.url.search}`;\n\tconst method = event.request.method;\n\tconst contentType = event.request.headers.get(\"content-type\");\n\tconst body = method !== \"GET\" && method !== \"HEAD\" ? await event.request.arrayBuffer() : void 0;\n\tconst controller = new AbortController();\n\tconst onClientAbort = () => controller.abort();\n\tevent.request.signal.addEventListener(\"abort\", onClientAbort, { once: true });\n\ttry {\n\t\tconst upstream = await fetch(targetUrl, {\n\t\t\tmethod,\n\t\t\theaders: buildForwardHeaders(contentType, endpoint.username, endpoint.password),\n\t\t\tbody,\n\t\t\tsignal: controller.signal\n\t\t});\n\t\treturn new Response(upstream.body, {\n\t\t\tstatus: upstream.status,\n\t\t\theaders: buildResponseHeaders(upstream, requestId, endpoint.id, endpoint.label)\n\t\t});\n\t} catch (e) {\n\t\tevent.request.signal.removeEventListener(\"abort\", onClientAbort);\n\t\tconsole.warn(\"[proxy/assistant] Upstream request failed:\", e);\n\t\treturn new Response(JSON.stringify({\n\t\t\terror: \"endpoint_unreachable\",\n\t\t\tmessage: `Assistant endpoint \"${endpoint.label}\" is not reachable`,\n\t\t\tendpointId: endpoint.id,\n\t\t\tendpointLabel: endpoint.label,\n\t\t\turl: endpoint.url\n\t\t}), {\n\t\t\tstatus: 503,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\nvar GET = handler;\nvar POST = handler;\nvar PUT = handler;\nvar DELETE = handler;\n//#endregion\nexport { DELETE, GET, POST, PUT };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-BOha2L_A.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/proxy/assistant/_...path_/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/proxy/assistant/[...path]/+server.ts\n/**\n* Proxy route: forward /proxy/assistant/[...path] → assistant OpenCode server.\n*\n* Auth: requires the operator's `op_session` cookie (cookie-only since\n* Phase 2 of the auth/proxy refactor — the `x-admin-token` header fallback\n* was removed).\n* Forwards the full request body and method unchanged.\n* The target URL and per-endpoint Basic-auth password are resolved per-request\n* from the active endpoint store, so switching endpoints in the UI takes\n* effect immediately without restarting the server.\n*\n* Streaming: the upstream response body is forwarded as-is (no buffering) so\n* SSE responses (text/event-stream) pass through chunk-by-chunk. We do not\n* impose a fixed timeout on the upstream fetch — OpenCode SSE streams can run\n* for minutes. Instead the per-request AbortController is wired to the client\n* disconnect signal (`event.request.signal`); when the browser aborts (tab\n* close, navigation away), we propagate the abort to upstream.\n*/\nfunction buildForwardHeaders(incomingContentType, username, password) {\n\tconst headers = {};\n\tif (incomingContentType) headers[\"content-type\"] = incomingContentType;\n\tif (password) headers[\"authorization\"] = `Basic ${btoa(`${username || \"openpalm\"}:${password}`)}`;\n\treturn headers;\n}\nfunction buildResponseHeaders(upstream, requestId, endpointId, endpointLabel) {\n\tconst headers = new Headers();\n\theaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"application/json\");\n\tconst cacheControl = upstream.headers.get(\"cache-control\");\n\tif (cacheControl) headers.set(\"cache-control\", cacheControl);\n\tconst transferEncoding = upstream.headers.get(\"transfer-encoding\");\n\tif (transferEncoding) headers.set(\"transfer-encoding\", transferEncoding);\n\theaders.set(\"x-request-id\", requestId);\n\theaders.set(\"x-endpoint-id\", endpointId);\n\theaders.set(\"x-endpoint-label\", encodeURIComponent(endpointLabel));\n\treturn headers;\n}\nvar handler = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tconst { path } = event.params;\n\tconst targetUrl = `${endpoint.url}/${path}${event.url.search}`;\n\tconst method = event.request.method;\n\tconst contentType = event.request.headers.get(\"content-type\");\n\tconst body = method !== \"GET\" && method !== \"HEAD\" ? await event.request.arrayBuffer() : void 0;\n\tconst controller = new AbortController();\n\tconst onClientAbort = () => controller.abort();\n\tevent.request.signal.addEventListener(\"abort\", onClientAbort, { once: true });\n\ttry {\n\t\tconst upstream = await fetch(targetUrl, {\n\t\t\tmethod,\n\t\t\theaders: buildForwardHeaders(contentType, endpoint.username, endpoint.password),\n\t\t\tbody,\n\t\t\tsignal: controller.signal\n\t\t});\n\t\treturn new Response(upstream.body, {\n\t\t\tstatus: upstream.status,\n\t\t\theaders: buildResponseHeaders(upstream, requestId, endpoint.id, endpoint.label)\n\t\t});\n\t} catch (e) {\n\t\tevent.request.signal.removeEventListener(\"abort\", onClientAbort);\n\t\tconsole.warn(\"[proxy/assistant] Upstream request failed:\", e);\n\t\treturn new Response(JSON.stringify({\n\t\t\terror: \"endpoint_unreachable\",\n\t\t\tmessage: `Assistant endpoint \"${endpoint.label}\" is not reachable`,\n\t\t\tendpointId: endpoint.id,\n\t\t\tendpointLabel: endpoint.label,\n\t\t\turl: endpoint.url\n\t\t}), {\n\t\t\tstatus: 503,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\nvar GET = handler;\nvar POST = handler;\nvar PUT = handler;\nvar DELETE = handler;\n//#endregion\nexport { DELETE, GET, POST, PUT };\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { i as authJsonPath } from './src-b3nBkyhY.js';
2
- import { b as getState } from './endpoints-Ci6CJJnc.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-BqYJlSJg.js';
1
+ import { i as authJsonPath } from './src-DkGZ5D6n.js';
2
+ import { b as getState } from './endpoints-uSe3ORbp.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-D4ot6bJ_.js';
4
4
  import { b as asRecord, c as asString, a as asNumber, e as asStringRecord, d as asStringArray } from './coercion-TNFJisCC.js';
5
- import { o as opencodeFetch } from './http-CghRhEH6.js';
6
- import { g as getCurrentConfig } from './config-CjX55Ht6.js';
5
+ import { o as opencodeFetch } from './http-DWdG8RlO.js';
6
+ import { g as getCurrentConfig } from './config-0V4UPT81.js';
7
7
  import { existsSync, readFileSync } from 'node:fs';
8
8
  import './chunk-CLZ62Ad-.js';
9
9
  import 'node:module';
@@ -201,4 +201,4 @@ var GET = async (event) => {
201
201
  };
202
202
 
203
203
  export { GET };
204
- //# sourceMappingURL=_server.ts-6KmCyX4_.js.map
204
+ //# sourceMappingURL=_server.ts-BPBMdkDE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-6KmCyX4_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/_server.ts.js"],"sourcesContent":["import { kt as authJsonPath } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\nimport { a as asStringRecord, i as asStringArray, n as asRecord, r as asString, t as asNumber } from \"../../../../chunks/coercion.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/lib/server/opencode/catalog.ts\n/**\n* Provider catalog assembly.\n*\n* Pulls catalog/auth/config/configured-provider data from the OpenCode server\n* (and the on-disk config), merges them, and emits ProviderView records the\n* UI renders directly.\n*/\n/**\n* Map of provider ID → credential type, as found in OpenCode's auth.json.\n* OpenCode's /provider response only reports env-var-detected providers in\n* `connected`; auth.json-stored credentials (API keys + OAuth tokens) are\n* loaded on-demand and don't appear there. We surface them here so the UI\n* can treat them as connected and show the right badge.\n*/\nfunction readAuthedProviders() {\n\tconst out = /* @__PURE__ */ new Map();\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return out;\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tfor (const [id, entry] of Object.entries(data ?? {})) {\n\t\t\tconst type = entry?.type === \"oauth\" ? \"oauth\" : \"api\";\n\t\t\tout.set(id, type);\n\t\t}\n\t} catch {}\n\treturn out;\n}\nasync function loadProviderPage() {\n\ttry {\n\t\tconst [catalog, auth, ocConfig, configured] = await Promise.all([\n\t\t\topencodeFetch(\"/provider\"),\n\t\t\topencodeFetch(\"/provider/auth\"),\n\t\t\topencodeFetch(\"/config\"),\n\t\t\topencodeFetch(\"/config/providers\")\n\t\t]);\n\t\tconst diskConfig = await getCurrentConfig();\n\t\tconst config = {\n\t\t\t...ocConfig,\n\t\t\tprovider: {\n\t\t\t\t...ocConfig.provider ?? {},\n\t\t\t\t...diskConfig.provider ?? {}\n\t\t\t},\n\t\t\tdisabled_providers: diskConfig.disabled_providers ?? ocConfig.disabled_providers,\n\t\t\tenabled_providers: diskConfig.enabled_providers ?? ocConfig.enabled_providers\n\t\t};\n\t\tconst views = buildProviderViews(catalog, auth, config, configured, readAuthedProviders());\n\t\treturn {\n\t\t\tavailable: true,\n\t\t\tproviders: views,\n\t\t\tcurrentModel: config.model,\n\t\t\tcurrentSmallModel: config.small_model,\n\t\t\tdefaultModels: catalog.default,\n\t\t\tallowlistActive: Array.isArray(config.enabled_providers) && config.enabled_providers.length > 0,\n\t\t\tproviderCountLabel: `${views.length} providers indexed from OpenCode`,\n\t\t\tstats: {\n\t\t\t\ttotal: views.length,\n\t\t\t\tconnected: views.filter((p) => p.connected).length,\n\t\t\t\tconfigured: views.filter((p) => p.configured).length,\n\t\t\t\tdisabled: views.filter((p) => p.disabled).length\n\t\t\t}\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tavailable: false,\n\t\t\terror: error instanceof Error ? error.message : \"Unable to reach the OpenCode server.\",\n\t\t\tproviders: [],\n\t\t\tdefaultModels: {},\n\t\t\tallowlistActive: false,\n\t\t\tproviderCountLabel: \"The OpenCode server is currently unavailable.\",\n\t\t\tstats: {\n\t\t\t\ttotal: 0,\n\t\t\t\tconnected: 0,\n\t\t\t\tconfigured: 0,\n\t\t\t\tdisabled: 0\n\t\t\t}\n\t\t};\n\t}\n}\nfunction extractAndSortModels(...sources) {\n\tlet entries = {};\n\tfor (const source of sources) {\n\t\tconst record = asModelRecord(source);\n\t\tif (record) {\n\t\t\tentries = record;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn Object.entries(entries).map(([id, model]) => ({\n\t\tid,\n\t\tname: model.name ?? id\n\t})).sort((left, right) => left.name.localeCompare(right.name));\n}\nfunction buildProviderViews(catalog, auth, config, configured, authed) {\n\tconst catalogMap = new Map(catalog.all.map((p) => [p.id, p]));\n\tconst envConnected = new Set(catalog.connected);\n\tconst connected = new Set([...envConnected, ...authed.keys()]);\n\tconst disabled = new Set(config.disabled_providers ?? []);\n\tconst allowlist = config.enabled_providers ? new Set(config.enabled_providers) : void 0;\n\tconst configuredMap = new Map(configured.providers.map((p) => [p.id, p]));\n\tconst providerIds = new Set([\n\t\t...catalog.all.map((p) => p.id),\n\t\t...Object.keys(config.provider ?? {}),\n\t\t...configured.providers.map((p) => p.id)\n\t]);\n\treturn Array.from(providerIds).map((providerId) => {\n\t\tconst entry = catalogMap.get(providerId);\n\t\tconst configEntry = asRecord(config.provider?.[providerId]);\n\t\tconst resolvedEntry = configuredMap.get(providerId);\n\t\tconst rawOptions = {\n\t\t\t...asRecord(resolvedEntry?.options),\n\t\t\t...asRecord(configEntry?.options)\n\t\t};\n\t\tconst authMethods = (auth[providerId] ?? []).map((method, index) => ({\n\t\t\tindex,\n\t\t\ttype: method.type,\n\t\t\tlabel: method.label,\n\t\t\tprompts: method.prompts ?? []\n\t\t}));\n\t\tconst models = extractAndSortModels(resolvedEntry?.models, configEntry?.models, entry?.models);\n\t\tconst currentModelId = splitModel(config.model, providerId);\n\t\tconst currentSmallModelId = splitModel(config.small_model, providerId);\n\t\tconst enabled = allowlist ? allowlist.has(providerId) && !disabled.has(providerId) : !disabled.has(providerId);\n\t\tconst isConnected = connected.has(providerId);\n\t\tconst isEnvConnected = envConnected.has(providerId);\n\t\tconst authedType = authed.get(providerId);\n\t\tconst credentialType = !isConnected ? void 0 : isEnvConnected ? \"env\" : authedType ? authedType : configEntry ? \"config\" : \"custom\";\n\t\treturn {\n\t\t\tid: providerId,\n\t\t\tname: resolvedEntry?.name ?? asString(configEntry?.name) ?? entry?.name ?? providerId,\n\t\t\tsource: resolvedEntry?.source ?? (entry ? configEntry ? \"config\" : \"catalog\" : \"custom\"),\n\t\t\tenv: resolvedEntry?.env ?? asStringArray(configEntry?.env) ?? entry?.env ?? [],\n\t\t\tconnected: isConnected,\n\t\t\tconfigured: Boolean(resolvedEntry || configEntry),\n\t\t\tdisabled: !enabled,\n\t\t\tactiveMainModel: Boolean(currentModelId),\n\t\t\tactiveSmallModel: Boolean(currentSmallModelId),\n\t\t\trecommendedModelId: currentModelId ?? configured.default[providerId] ?? catalog.default[providerId] ?? models[0]?.id ?? \"\",\n\t\t\tmodelCount: models.length,\n\t\t\tmodels,\n\t\t\tauthMethods,\n\t\t\tcredentialType,\n\t\t\toptions: {\n\t\t\t\tbaseURL: asString(rawOptions.baseURL),\n\t\t\t\theaders: asStringRecord(rawOptions.headers),\n\t\t\t\ttimeout: asNumber(rawOptions.timeout),\n\t\t\t\tsetCacheKey: rawOptions.setCacheKey === true,\n\t\t\t\tenterpriseUrl: asString(rawOptions.enterpriseUrl)\n\t\t\t},\n\t\t\tsupportsOauth: authMethods.some((m) => m.type === \"oauth\"),\n\t\t\tsupportsApiAuth: authMethods.some((m) => m.type === \"api\")\n\t\t};\n\t}).sort((left, right) => {\n\t\tif (left.connected !== right.connected) return left.connected ? -1 : 1;\n\t\tif (left.activeMainModel !== right.activeMainModel) return left.activeMainModel ? -1 : 1;\n\t\tif (left.configured !== right.configured) return left.configured ? -1 : 1;\n\t\tif (left.disabled !== right.disabled) return left.disabled ? 1 : -1;\n\t\treturn left.name.localeCompare(right.name);\n\t});\n}\nfunction splitModel(model, providerId) {\n\tif (!model?.startsWith(`${providerId}/`)) return void 0;\n\treturn model.slice(providerId.length + 1);\n}\nfunction asModelRecord(value) {\n\treturn value && typeof value === \"object\" && !Array.isArray(value) ? value : void 0;\n}\n//#endregion\n//#region src/routes/admin/providers/+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, await loadProviderPage(), requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,GAAG;AAC/B,CAAC,MAAM,GAAG,mBAAmB,IAAI,GAAG,EAAE;AACtC,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AACvC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG;AACnC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;AACxD,GAAG,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,KAAK;AACzD,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;AACpB,EAAE;AACF,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,GAAG;AACX;AACA,eAAe,gBAAgB,GAAG;AAClC,CAAC,IAAI;AACL,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAClE,GAAG,aAAa,CAAC,WAAW,CAAC;AAC7B,GAAG,aAAa,CAAC,gBAAgB,CAAC;AAClC,GAAG,aAAa,CAAC,SAAS,CAAC;AAC3B,GAAG,aAAa,CAAC,mBAAmB;AACpC,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM,gBAAgB,EAAE;AAC7C,EAAE,MAAM,MAAM,GAAG;AACjB,GAAG,GAAG,QAAQ;AACd,GAAG,QAAQ,EAAE;AACb,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE;AAC9B,IAAI,GAAG,UAAU,CAAC,QAAQ,IAAI;AAC9B,IAAI;AACJ,GAAG,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB;AACnF,GAAG,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,IAAI,QAAQ,CAAC;AAC/D,GAAG;AACH,EAAE,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;AAC5F,EAAE,OAAO;AACT,GAAG,SAAS,EAAE,IAAI;AAClB,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,YAAY,EAAE,MAAM,CAAC,KAAK;AAC7B,GAAG,iBAAiB,EAAE,MAAM,CAAC,WAAW;AACxC,GAAG,aAAa,EAAE,OAAO,CAAC,OAAO;AACjC,GAAG,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;AAClG,GAAG,kBAAkB,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC;AACxE,GAAG,KAAK,EAAE;AACV,IAAI,KAAK,EAAE,KAAK,CAAC,MAAM;AACvB,IAAI,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;AACtD,IAAI,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM;AACxD,IAAI,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9C;AACA,GAAG;AACH,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO;AACT,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,KAAK,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,sCAAsC;AACzF,GAAG,SAAS,EAAE,EAAE;AAChB,GAAG,aAAa,EAAE,EAAE;AACpB,GAAG,eAAe,EAAE,KAAK;AACzB,GAAG,kBAAkB,EAAE,+CAA+C;AACtE,GAAG,KAAK,EAAE;AACV,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,SAAS,EAAE,CAAC;AAChB,IAAI,UAAU,EAAE,CAAC;AACjB,IAAI,QAAQ,EAAE;AACd;AACA,GAAG;AACH,CAAC;AACD;AACA,SAAS,oBAAoB,CAAC,GAAG,OAAO,EAAE;AAC1C,CAAC,IAAI,OAAO,GAAG,EAAE;AACjB,CAAC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;AACtC,EAAE,IAAI,MAAM,EAAE;AACd,GAAG,OAAO,GAAG,MAAM;AACnB,GAAG;AACH,EAAE;AACF,CAAC;AACD,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM;AACtD,EAAE,EAAE;AACJ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI;AACtB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC/D;AACA,SAAS,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;AACvE,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;AAChD,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;AAC1D,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM;AACxF,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;AAC7B,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACjC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;AACvC,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACzC,EAAE,CAAC;AACH,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK;AACpD,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;AAC1C,EAAE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;AAC7D,EAAE,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,UAAU,GAAG;AACrB,GAAG,GAAG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;AACtC,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,OAAO;AACnC,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,MAAM;AACvE,GAAG,KAAK;AACR,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI;AACpB,GAAG,KAAK,EAAE,MAAM,CAAC,KAAK;AACtB,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI;AAC9B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,MAAM,GAAG,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AAChG,EAAE,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;AAC7D,EAAE,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC;AACxE,EAAE,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;AAChH,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;AAC/C,EAAE,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AAC3C,EAAE,MAAM,cAAc,GAAG,CAAC,WAAW,GAAG,MAAM,GAAG,cAAc,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ;AACrI,EAAE,OAAO;AACT,GAAG,EAAE,EAAE,UAAU;AACjB,GAAG,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,UAAU;AACxF,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC3F,GAAG,GAAG,EAAE,aAAa,EAAE,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,IAAI,EAAE;AACjF,GAAG,SAAS,EAAE,WAAW;AACzB,GAAG,UAAU,EAAE,OAAO,CAAC,aAAa,IAAI,WAAW,CAAC;AACpD,GAAG,QAAQ,EAAE,CAAC,OAAO;AACrB,GAAG,eAAe,EAAE,OAAO,CAAC,cAAc,CAAC;AAC3C,GAAG,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CAAC;AACjD,GAAG,kBAAkB,EAAE,cAAc,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE;AAC7H,GAAG,UAAU,EAAE,MAAM,CAAC,MAAM;AAC5B,GAAG,MAAM;AACT,GAAG,WAAW;AACd,GAAG,cAAc;AACjB,GAAG,OAAO,EAAE;AACZ,IAAI,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;AACzC,IAAI,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC;AAC/C,IAAI,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;AACzC,IAAI,WAAW,EAAE,UAAU,CAAC,WAAW,KAAK,IAAI;AAChD,IAAI,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa;AACpD,IAAI;AACJ,GAAG,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;AAC7D,GAAG,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK;AAC5D,GAAG;AACH,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AAC1B,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC;AACxE,EAAE,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe,EAAE,OAAO,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,CAAC;AAC1F,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,CAAC;AAC3E,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE;AACrE,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;AAC5C,CAAC,CAAC,CAAC;AACH;AACA,SAAS,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE;AACvC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,MAAM;AACxD,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1C;AACA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,CAAC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM;AACpF;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,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,gBAAgB,EAAE,EAAE,SAAS,CAAC;AAC9D;;;;"}
1
+ {"version":3,"file":"_server.ts-BPBMdkDE.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/_server.ts.js"],"sourcesContent":["import { kt as authJsonPath } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\nimport { a as asStringRecord, i as asStringArray, n as asRecord, r as asString, t as asNumber } from \"../../../../chunks/coercion.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/lib/server/opencode/catalog.ts\n/**\n* Provider catalog assembly.\n*\n* Pulls catalog/auth/config/configured-provider data from the OpenCode server\n* (and the on-disk config), merges them, and emits ProviderView records the\n* UI renders directly.\n*/\n/**\n* Map of provider ID → credential type, as found in OpenCode's auth.json.\n* OpenCode's /provider response only reports env-var-detected providers in\n* `connected`; auth.json-stored credentials (API keys + OAuth tokens) are\n* loaded on-demand and don't appear there. We surface them here so the UI\n* can treat them as connected and show the right badge.\n*/\nfunction readAuthedProviders() {\n\tconst out = /* @__PURE__ */ new Map();\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return out;\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tfor (const [id, entry] of Object.entries(data ?? {})) {\n\t\t\tconst type = entry?.type === \"oauth\" ? \"oauth\" : \"api\";\n\t\t\tout.set(id, type);\n\t\t}\n\t} catch {}\n\treturn out;\n}\nasync function loadProviderPage() {\n\ttry {\n\t\tconst [catalog, auth, ocConfig, configured] = await Promise.all([\n\t\t\topencodeFetch(\"/provider\"),\n\t\t\topencodeFetch(\"/provider/auth\"),\n\t\t\topencodeFetch(\"/config\"),\n\t\t\topencodeFetch(\"/config/providers\")\n\t\t]);\n\t\tconst diskConfig = await getCurrentConfig();\n\t\tconst config = {\n\t\t\t...ocConfig,\n\t\t\tprovider: {\n\t\t\t\t...ocConfig.provider ?? {},\n\t\t\t\t...diskConfig.provider ?? {}\n\t\t\t},\n\t\t\tdisabled_providers: diskConfig.disabled_providers ?? ocConfig.disabled_providers,\n\t\t\tenabled_providers: diskConfig.enabled_providers ?? ocConfig.enabled_providers\n\t\t};\n\t\tconst views = buildProviderViews(catalog, auth, config, configured, readAuthedProviders());\n\t\treturn {\n\t\t\tavailable: true,\n\t\t\tproviders: views,\n\t\t\tcurrentModel: config.model,\n\t\t\tcurrentSmallModel: config.small_model,\n\t\t\tdefaultModels: catalog.default,\n\t\t\tallowlistActive: Array.isArray(config.enabled_providers) && config.enabled_providers.length > 0,\n\t\t\tproviderCountLabel: `${views.length} providers indexed from OpenCode`,\n\t\t\tstats: {\n\t\t\t\ttotal: views.length,\n\t\t\t\tconnected: views.filter((p) => p.connected).length,\n\t\t\t\tconfigured: views.filter((p) => p.configured).length,\n\t\t\t\tdisabled: views.filter((p) => p.disabled).length\n\t\t\t}\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tavailable: false,\n\t\t\terror: error instanceof Error ? error.message : \"Unable to reach the OpenCode server.\",\n\t\t\tproviders: [],\n\t\t\tdefaultModels: {},\n\t\t\tallowlistActive: false,\n\t\t\tproviderCountLabel: \"The OpenCode server is currently unavailable.\",\n\t\t\tstats: {\n\t\t\t\ttotal: 0,\n\t\t\t\tconnected: 0,\n\t\t\t\tconfigured: 0,\n\t\t\t\tdisabled: 0\n\t\t\t}\n\t\t};\n\t}\n}\nfunction extractAndSortModels(...sources) {\n\tlet entries = {};\n\tfor (const source of sources) {\n\t\tconst record = asModelRecord(source);\n\t\tif (record) {\n\t\t\tentries = record;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn Object.entries(entries).map(([id, model]) => ({\n\t\tid,\n\t\tname: model.name ?? id\n\t})).sort((left, right) => left.name.localeCompare(right.name));\n}\nfunction buildProviderViews(catalog, auth, config, configured, authed) {\n\tconst catalogMap = new Map(catalog.all.map((p) => [p.id, p]));\n\tconst envConnected = new Set(catalog.connected);\n\tconst connected = new Set([...envConnected, ...authed.keys()]);\n\tconst disabled = new Set(config.disabled_providers ?? []);\n\tconst allowlist = config.enabled_providers ? new Set(config.enabled_providers) : void 0;\n\tconst configuredMap = new Map(configured.providers.map((p) => [p.id, p]));\n\tconst providerIds = new Set([\n\t\t...catalog.all.map((p) => p.id),\n\t\t...Object.keys(config.provider ?? {}),\n\t\t...configured.providers.map((p) => p.id)\n\t]);\n\treturn Array.from(providerIds).map((providerId) => {\n\t\tconst entry = catalogMap.get(providerId);\n\t\tconst configEntry = asRecord(config.provider?.[providerId]);\n\t\tconst resolvedEntry = configuredMap.get(providerId);\n\t\tconst rawOptions = {\n\t\t\t...asRecord(resolvedEntry?.options),\n\t\t\t...asRecord(configEntry?.options)\n\t\t};\n\t\tconst authMethods = (auth[providerId] ?? []).map((method, index) => ({\n\t\t\tindex,\n\t\t\ttype: method.type,\n\t\t\tlabel: method.label,\n\t\t\tprompts: method.prompts ?? []\n\t\t}));\n\t\tconst models = extractAndSortModels(resolvedEntry?.models, configEntry?.models, entry?.models);\n\t\tconst currentModelId = splitModel(config.model, providerId);\n\t\tconst currentSmallModelId = splitModel(config.small_model, providerId);\n\t\tconst enabled = allowlist ? allowlist.has(providerId) && !disabled.has(providerId) : !disabled.has(providerId);\n\t\tconst isConnected = connected.has(providerId);\n\t\tconst isEnvConnected = envConnected.has(providerId);\n\t\tconst authedType = authed.get(providerId);\n\t\tconst credentialType = !isConnected ? void 0 : isEnvConnected ? \"env\" : authedType ? authedType : configEntry ? \"config\" : \"custom\";\n\t\treturn {\n\t\t\tid: providerId,\n\t\t\tname: resolvedEntry?.name ?? asString(configEntry?.name) ?? entry?.name ?? providerId,\n\t\t\tsource: resolvedEntry?.source ?? (entry ? configEntry ? \"config\" : \"catalog\" : \"custom\"),\n\t\t\tenv: resolvedEntry?.env ?? asStringArray(configEntry?.env) ?? entry?.env ?? [],\n\t\t\tconnected: isConnected,\n\t\t\tconfigured: Boolean(resolvedEntry || configEntry),\n\t\t\tdisabled: !enabled,\n\t\t\tactiveMainModel: Boolean(currentModelId),\n\t\t\tactiveSmallModel: Boolean(currentSmallModelId),\n\t\t\trecommendedModelId: currentModelId ?? configured.default[providerId] ?? catalog.default[providerId] ?? models[0]?.id ?? \"\",\n\t\t\tmodelCount: models.length,\n\t\t\tmodels,\n\t\t\tauthMethods,\n\t\t\tcredentialType,\n\t\t\toptions: {\n\t\t\t\tbaseURL: asString(rawOptions.baseURL),\n\t\t\t\theaders: asStringRecord(rawOptions.headers),\n\t\t\t\ttimeout: asNumber(rawOptions.timeout),\n\t\t\t\tsetCacheKey: rawOptions.setCacheKey === true,\n\t\t\t\tenterpriseUrl: asString(rawOptions.enterpriseUrl)\n\t\t\t},\n\t\t\tsupportsOauth: authMethods.some((m) => m.type === \"oauth\"),\n\t\t\tsupportsApiAuth: authMethods.some((m) => m.type === \"api\")\n\t\t};\n\t}).sort((left, right) => {\n\t\tif (left.connected !== right.connected) return left.connected ? -1 : 1;\n\t\tif (left.activeMainModel !== right.activeMainModel) return left.activeMainModel ? -1 : 1;\n\t\tif (left.configured !== right.configured) return left.configured ? -1 : 1;\n\t\tif (left.disabled !== right.disabled) return left.disabled ? 1 : -1;\n\t\treturn left.name.localeCompare(right.name);\n\t});\n}\nfunction splitModel(model, providerId) {\n\tif (!model?.startsWith(`${providerId}/`)) return void 0;\n\treturn model.slice(providerId.length + 1);\n}\nfunction asModelRecord(value) {\n\treturn value && typeof value === \"object\" && !Array.isArray(value) ? value : void 0;\n}\n//#endregion\n//#region src/routes/admin/providers/+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, await loadProviderPage(), requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { g as getOpenCodeClient } from './helpers-BqYJlSJg.js';
2
+ import { g as getOpenCodeClient } from './helpers-D4ot6bJ_.js';
3
3
  import './utils-BSRjJDrZ.js';
4
- import './src-b3nBkyhY.js';
4
+ import './src-DkGZ5D6n.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import 'node:fs';
@@ -21,7 +21,7 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-Ci6CJJnc.js';
24
+ import './endpoints-uSe3ORbp.js';
25
25
 
26
26
  //#region src/routes/api/setup/opencode/provider/[provider]/oauth/callback/+server.ts
27
27
  var PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;
@@ -52,4 +52,4 @@ var POST = async ({ params, request }) => {
52
52
  };
53
53
 
54
54
  export { POST };
55
- //# sourceMappingURL=_server.ts-BJqeSuwW.js.map
55
+ //# sourceMappingURL=_server.ts-BTFkcp50.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BJqeSuwW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/provider/_provider_/oauth/callback/_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/provider/[provider]/oauth/callback/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar POST = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst body = await request.json();\n\t\tconst method = Number.isInteger(body.method) ? body.method : 0;\n\t\tconst code = typeof body.code === \"string\" ? body.code.slice(0, 1024) : void 0;\n\t\tconst result = await getOpenCodeClient().completeProviderOAuth(params.provider, method, code);\n\t\tif (!result.ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 400 });\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tcomplete: result.data\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;AAChF,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;AAC/F,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC9B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,QAAQ,EAAE,MAAM,CAAC;AACpB,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-BTFkcp50.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/provider/_provider_/oauth/callback/_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/provider/[provider]/oauth/callback/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar POST = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst body = await request.json();\n\t\tconst method = Number.isInteger(body.method) ? body.method : 0;\n\t\tconst code = typeof body.code === \"string\" ? body.code.slice(0, 1024) : void 0;\n\t\tconst result = await getOpenCodeClient().completeProviderOAuth(params.provider, method, code);\n\t\tif (!result.ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 400 });\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tcomplete: result.data\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;AAChF,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;AAC/F,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC9B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,QAAQ,EAAE,MAAM,CAAC;AACpB,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
@@ -1,7 +1,7 @@
1
- import { w as withAdminBody, k as jsonResponse } from './helpers-BqYJlSJg.js';
2
- import { o as opencodeFetch } from './http-CghRhEH6.js';
1
+ import { w as withAdminBody, k as jsonResponse } from './helpers-D4ot6bJ_.js';
2
+ import { o as opencodeFetch } from './http-DWdG8RlO.js';
3
3
  import { a as asStringOrEmpty, e as extractInputs } from './_helpers-B_lb4-jB.js';
4
- import './src-b3nBkyhY.js';
4
+ import './src-DkGZ5D6n.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import 'node:fs';
@@ -21,7 +21,7 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-Ci6CJJnc.js';
24
+ import './endpoints-uSe3ORbp.js';
25
25
  import './coercion-TNFJisCC.js';
26
26
 
27
27
  //#region src/routes/admin/providers/oauth/start/+server.ts
@@ -74,4 +74,4 @@ var POST = (event) => withAdminBody(event, async ({ requestId, body }) => {
74
74
  });
75
75
 
76
76
  export { POST };
77
- //# sourceMappingURL=_server.ts-D5gUeFJE.js.map
77
+ //# sourceMappingURL=_server.ts-BU9Dy6Ga.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D5gUeFJE.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/start/_server.ts.js"],"sourcesContent":["import { m as withAdminBody, u as jsonResponse } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { r as extractInputs, t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/start/+server.ts\n/**\n* POST /admin/providers/oauth/start — Begin an OpenCode-mediated OAuth\n* sign-in for a provider. Returns the authorization URL and any extra\n* inputs the operator needs to confirm in the UI.\n*\n* Forwards directly to the running assistant's OpenCode at\n* OP_OPENCODE_URL, which holds the OAuth methods map needed to issue\n* the authorize request.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tif (!providerId || Number.isNaN(methodIndex)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider sign-in method first.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tconst inputs = extractInputs(body);\n\t\tconst oauth = await opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/authorize`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\t...inputs ? { inputs } : {}\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth flow prepared. Open the link below to continue.\",\n\t\t\tselectedProviderId: providerId,\n\t\t\toauth: {\n\t\t\t\tproviderId,\n\t\t\t\tmethodIndex,\n\t\t\t\turl: oauth.url,\n\t\t\t\tmode: oauth.method,\n\t\t\t\tinstructions: oauth.instructions,\n\t\t\t\tinputs\n\t\t\t}\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACzE,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,yCAAyC;AACrD,GAAG,kBAAkB,EAAE,KAAK;AAC5B,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,EAAE;AACnG,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,GAAG,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG;AAC7B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,uDAAuD;AACnE,GAAG,kBAAkB,EAAE,UAAU;AACjC,GAAG,KAAK,EAAE;AACV,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM;AACtB,IAAI,YAAY,EAAE,KAAK,CAAC,YAAY;AACpC,IAAI;AACJ;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
1
+ {"version":3,"file":"_server.ts-BU9Dy6Ga.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/start/_server.ts.js"],"sourcesContent":["import { m as withAdminBody, u as jsonResponse } from \"../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../chunks/http.js\";\nimport { r as extractInputs, t as asStringOrEmpty } from \"../../../../../../chunks/_helpers.js\";\n//#region src/routes/admin/providers/oauth/start/+server.ts\n/**\n* POST /admin/providers/oauth/start — Begin an OpenCode-mediated OAuth\n* sign-in for a provider. Returns the authorization URL and any extra\n* inputs the operator needs to confirm in the UI.\n*\n* Forwards directly to the running assistant's OpenCode at\n* OP_OPENCODE_URL, which holds the OAuth methods map needed to issue\n* the authorize request.\n*/\nvar POST = (event) => withAdminBody(event, async ({ requestId, body }) => {\n\ttry {\n\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\tif (!providerId || Number.isNaN(methodIndex)) return jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: \"Choose a provider sign-in method first.\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t\tconst inputs = extractInputs(body);\n\t\tconst oauth = await opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/authorize`, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmethod: methodIndex,\n\t\t\t\t...inputs ? { inputs } : {}\n\t\t\t})\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmessage: \"OAuth flow prepared. Open the link below to continue.\",\n\t\t\tselectedProviderId: providerId,\n\t\t\toauth: {\n\t\t\t\tproviderId,\n\t\t\t\tmethodIndex,\n\t\t\t\turl: oauth.url,\n\t\t\t\tmode: oauth.method,\n\t\t\t\tinstructions: oauth.instructions,\n\t\t\t\tinputs\n\t\t\t}\n\t\t}, requestId);\n\t} catch (error) {\n\t\treturn jsonResponse(200, {\n\t\t\tok: false,\n\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\tselectedProviderId: void 0\n\t\t}, requestId);\n\t}\n});\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC1E,CAAC,IAAI;AACL,EAAE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,EAAE,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACzE,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,yCAAyC;AACrD,GAAG,kBAAkB,EAAE,KAAK;AAC5B,GAAG,EAAE,SAAS,CAAC;AACf,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,EAAE;AACnG,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,GAAG,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG;AAC7B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO,EAAE,uDAAuD;AACnE,GAAG,kBAAkB,EAAE,UAAU;AACjC,GAAG,KAAK,EAAE;AACV,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG;AAClB,IAAI,IAAI,EAAE,KAAK,CAAC,MAAM;AACtB,IAAI,YAAY,EAAE,KAAK,CAAC,YAAY;AACpC,IAAI;AACJ;AACA,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACrE,GAAG,kBAAkB,EAAE;AACvB,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
- import { a6 as listSecretFiles } from './src-b3nBkyhY.js';
2
- import { b as getState } from './endpoints-Ci6CJJnc.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-BqYJlSJg.js';
1
+ import { a6 as listSecretFiles } from './src-DkGZ5D6n.js';
2
+ import { b as getState } from './endpoints-uSe3ORbp.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-D4ot6bJ_.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -30,4 +30,4 @@ var GET = async (event) => {
30
30
  };
31
31
 
32
32
  export { GET };
33
- //# sourceMappingURL=_server.ts-DiJOVzSl.js.map
33
+ //# sourceMappingURL=_server.ts-B_PD1-BE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DiJOVzSl.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/secrets/_server.ts.js"],"sourcesContent":["import { wt as listSecretFiles } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/secrets/+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, { files: listSecretFiles(getState().stackDir) }, 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,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;AACrF;;;;"}
1
+ {"version":3,"file":"_server.ts-B_PD1-BE.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/secrets/_server.ts.js"],"sourcesContent":["import { wt as listSecretFiles } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/secrets/+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, { files: listSecretFiles(getState().stackDir) }, 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,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;AACrF;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-BqYJlSJg.js';
2
- import { s as sessionCookieHeader } from './session-cookie-BGqzaS8B.js';
3
- import './src-b3nBkyhY.js';
1
+ import { d as getRequestId, e as errorResponse, f as getUiLoginPassword, s as safeTokenCompare, b as createSession } from './helpers-D4ot6bJ_.js';
2
+ import { s as sessionCookieHeader } from './session-cookie-CY2ZiP5t.js';
3
+ import './src-DkGZ5D6n.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -20,7 +20,7 @@ import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
- import './endpoints-Ci6CJJnc.js';
23
+ import './endpoints-uSe3ORbp.js';
24
24
 
25
25
  //#region src/routes/admin/auth/session/+server.ts
26
26
  /**
@@ -58,4 +58,4 @@ var POST = async (event) => {
58
58
  };
59
59
 
60
60
  export { POST };
61
- //# sourceMappingURL=_server.ts-crIb-8QZ.js.map
61
+ //# sourceMappingURL=_server.ts-BbzfnU5x.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-crIb-8QZ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/session/_server.ts.js"],"sourcesContent":["import { g as createSession, i as errorResponse, o as getRequestId, p as safeTokenCompare, s as getUiLoginPassword } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/session/+server.ts\n/**\n* POST /admin/auth/session\n*\n* Issues an `op_session` cookie after verifying the operator-supplied password\n* against `process.env.OP_UI_LOGIN_PASSWORD`.\n*\n* The cookie value is a random UUID session token — NOT the plaintext password.\n* Kept alongside `/admin/auth/login` as an alias; both verify the same\n* `password` body field and issue the `op_session` cookie.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-BbzfnU5x.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/session/_server.ts.js"],"sourcesContent":["import { g as createSession, i as errorResponse, o as getRequestId, p as safeTokenCompare, s as getUiLoginPassword } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/session/+server.ts\n/**\n* POST /admin/auth/session\n*\n* Issues an `op_session` cookie after verifying the operator-supplied password\n* against `process.env.OP_UI_LOGIN_PASSWORD`.\n*\n* The cookie value is a random UUID session token — NOT the plaintext password.\n* Kept alongside `/admin/auth/login` as an alias; both verify the same\n* `password` body field and issue the `op_session` cookie.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst password = typeof body.password === \"string\" ? body.password : \"\";\n\tif (!password) return errorResponse(400, \"bad_request\", \"password is required\", {}, requestId);\n\tconst configured = getUiLoginPassword();\n\tif (!configured) return errorResponse(503, \"admin_not_configured\", \"OP_UI_LOGIN_PASSWORD has not been set. Complete setup first.\", {}, requestId);\n\tif (!safeTokenCompare(password, configured)) return errorResponse(401, \"unauthorized\", \"Invalid password\", {}, requestId);\n\tconst sessionToken = createSession();\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": sessionCookieHeader(sessionToken, event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE;AACxE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC/F,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE;AACxC,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,sBAAsB,EAAE,8DAA8D,EAAE,EAAE,EAAE,SAAS,CAAC;AAClJ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1H,CAAC,MAAM,YAAY,GAAG,aAAa,EAAE;AACrC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,mBAAmB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;AACjE,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}