@openpalm/ui 0.11.3-rc.8 → 0.11.4

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 (307) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/{4.DPfzakrS.css → 4.BFLRjZM9.css} +1 -1
  3. package/build/client/_app/immutable/assets/4.BFLRjZM9.css.br +0 -0
  4. package/build/client/_app/immutable/assets/4.BFLRjZM9.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/C-9oV3QK.js +1 -0
  6. package/build/client/_app/immutable/chunks/C-9oV3QK.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/C-9oV3QK.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/C1cDpTIW.js +1 -0
  9. package/build/client/_app/immutable/chunks/C1cDpTIW.js.br +2 -0
  10. package/build/client/_app/immutable/chunks/C1cDpTIW.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{BdiA07Cr.js → C8_Ecceb.js} +2 -2
  12. package/build/client/_app/immutable/chunks/C8_Ecceb.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/C8_Ecceb.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{BrWfMke-.js → D4px_ogp.js} +1 -1
  15. package/build/client/_app/immutable/chunks/D4px_ogp.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/D4px_ogp.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{BGteD5HD.js → DGd1H7f6.js} +2 -2
  18. package/build/client/_app/immutable/chunks/DGd1H7f6.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/DGd1H7f6.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/{app.n2WxkaaX.js → app.CQ9gBfwB.js} +2 -2
  21. package/build/client/_app/immutable/entry/app.CQ9gBfwB.js.br +0 -0
  22. package/build/client/_app/immutable/entry/app.CQ9gBfwB.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/start.DPkYTFB4.js +1 -0
  24. package/build/client/_app/immutable/entry/start.DPkYTFB4.js.br +1 -0
  25. package/build/client/_app/immutable/entry/start.DPkYTFB4.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{0.7SpSN_Ip.js → 0.C7eQ_ow9.js} +1 -1
  27. package/build/client/_app/immutable/nodes/0.C7eQ_ow9.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/0.C7eQ_ow9.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{1.Bb0Ip5FV.js → 1.DL1L6mjC.js} +1 -1
  30. package/build/client/_app/immutable/nodes/1.DL1L6mjC.js.br +1 -0
  31. package/build/client/_app/immutable/nodes/1.DL1L6mjC.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/4.D7fUTUOY.js +19 -0
  33. package/build/client/_app/immutable/nodes/4.D7fUTUOY.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/4.D7fUTUOY.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{5.CFDs7Dy0.js → 5.X9_kKaDU.js} +2 -2
  36. package/build/client/_app/immutable/nodes/5.X9_kKaDU.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/5.X9_kKaDU.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{6.DKHV_Lbm.js → 6.D_uq77l6.js} +1 -1
  39. package/build/client/_app/immutable/nodes/6.D_uq77l6.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/6.D_uq77l6.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{7.CpYANMeV.js → 7.CoVE7LQv.js} +1 -1
  42. package/build/client/_app/immutable/nodes/7.CoVE7LQv.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/7.CoVE7LQv.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{8.B3hK7dCg.js → 8.cwDhKdYI.js} +1 -1
  45. package/build/client/_app/immutable/nodes/8.cwDhKdYI.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/8.cwDhKdYI.js.gz +0 -0
  47. package/build/client/_app/version.json +1 -1
  48. package/build/client/_app/version.json.br +1 -1
  49. package/build/client/_app/version.json.gz +0 -0
  50. package/build/server/chunks/{0-D0XrV9ke.js → 0-BGsPZcaQ.js} +3 -3
  51. package/build/server/chunks/{0-D0XrV9ke.js.map → 0-BGsPZcaQ.js.map} +1 -1
  52. package/build/server/chunks/1-DD15wvsg.js +9 -0
  53. package/build/server/chunks/{1-sHYqow-o.js.map → 1-DD15wvsg.js.map} +1 -1
  54. package/build/server/chunks/4-CMm_D91E.js +9 -0
  55. package/build/server/chunks/{4-D0bsxEuU.js.map → 4-CMm_D91E.js.map} +1 -1
  56. package/build/server/chunks/5-C1zJagm7.js +9 -0
  57. package/build/server/chunks/{5-DmMvznoc.js.map → 5-C1zJagm7.js.map} +1 -1
  58. package/build/server/chunks/6-DgrQ593d.js +9 -0
  59. package/build/server/chunks/{6-D_6ZnOUn.js.map → 6-DgrQ593d.js.map} +1 -1
  60. package/build/server/chunks/7-3SQOqtpC.js +9 -0
  61. package/build/server/chunks/{7-BDQEzJqj.js.map → 7-3SQOqtpC.js.map} +1 -1
  62. package/build/server/chunks/{8--SjCfJ_W.js → 8-Cs2Pvzlw.js} +3 -3
  63. package/build/server/chunks/{8--SjCfJ_W.js.map → 8-Cs2Pvzlw.js.map} +1 -1
  64. package/build/server/chunks/{Navbar-eH-OnRXt.js → Navbar-DDD0LQ9P.js} +4 -4
  65. package/build/server/chunks/{Navbar-eH-OnRXt.js.map → Navbar-DDD0LQ9P.js.map} +1 -1
  66. package/build/server/chunks/{_layout.svelte-COQuY-BN.js → _layout.svelte-DCfzq18z.js} +2 -2
  67. package/build/server/chunks/{_layout.svelte-COQuY-BN.js.map → _layout.svelte-DCfzq18z.js.map} +1 -1
  68. package/build/server/chunks/{_page.svelte-JKwUdwX7.js → _page.svelte-CtcFDP60.js} +6 -6
  69. package/build/server/chunks/{_page.svelte-JKwUdwX7.js.map → _page.svelte-CtcFDP60.js.map} +1 -1
  70. package/build/server/chunks/{_page.svelte-DdfNz3ND.js → _page.svelte-DVfK0-WT.js} +6 -6
  71. package/build/server/chunks/{_page.svelte-DdfNz3ND.js.map → _page.svelte-DVfK0-WT.js.map} +1 -1
  72. package/build/server/chunks/{_page.svelte-Cva6sfY9.js → _page.svelte-DsdJc3Sa.js} +6 -6
  73. package/build/server/chunks/{_page.svelte-Cva6sfY9.js.map → _page.svelte-DsdJc3Sa.js.map} +1 -1
  74. package/build/server/chunks/{_page.svelte-DBT6m2Fy.js → _page.svelte-mld1jqX5.js} +73 -13
  75. package/build/server/chunks/_page.svelte-mld1jqX5.js.map +1 -0
  76. package/build/server/chunks/{_page.svelte-CcvUi89z.js → _page.svelte-xSUqX0a7.js} +3 -3
  77. package/build/server/chunks/{_page.svelte-CcvUi89z.js.map → _page.svelte-xSUqX0a7.js.map} +1 -1
  78. package/build/server/chunks/_server.ts-1mdOjWEN.js +40 -0
  79. package/build/server/chunks/_server.ts-1mdOjWEN.js.map +1 -0
  80. package/build/server/chunks/{_server.ts-7D-Rc6vR.js → _server.ts-3JO3CKsE.js} +4 -4
  81. package/build/server/chunks/{_server.ts-7D-Rc6vR.js.map → _server.ts-3JO3CKsE.js.map} +1 -1
  82. package/build/server/chunks/{_server.ts-C73JZxNS.js → _server.ts-4HorMS2R.js} +4 -4
  83. package/build/server/chunks/{_server.ts-C73JZxNS.js.map → _server.ts-4HorMS2R.js.map} +1 -1
  84. package/build/server/chunks/{_server.ts-Dfoak6lb.js → _server.ts-B1Jl9Grz.js} +4 -4
  85. package/build/server/chunks/{_server.ts-Dfoak6lb.js.map → _server.ts-B1Jl9Grz.js.map} +1 -1
  86. package/build/server/chunks/{_server.ts-DrySD7h9.js → _server.ts-B31I037d.js} +6 -6
  87. package/build/server/chunks/{_server.ts-DrySD7h9.js.map → _server.ts-B31I037d.js.map} +1 -1
  88. package/build/server/chunks/{_server.ts-BYeJhgFH.js → _server.ts-B3ntDGZM.js} +5 -5
  89. package/build/server/chunks/{_server.ts-BYeJhgFH.js.map → _server.ts-B3ntDGZM.js.map} +1 -1
  90. package/build/server/chunks/{_server.ts-CtPbD9jt.js → _server.ts-B79PxL9c.js} +4 -4
  91. package/build/server/chunks/{_server.ts-CtPbD9jt.js.map → _server.ts-B79PxL9c.js.map} +1 -1
  92. package/build/server/chunks/{_server.ts-BkYAvAn4.js → _server.ts-B8EZxkK3.js} +5 -5
  93. package/build/server/chunks/{_server.ts-BkYAvAn4.js.map → _server.ts-B8EZxkK3.js.map} +1 -1
  94. package/build/server/chunks/{_server.ts-B262_mM_.js → _server.ts-B8YF9aVx.js} +4 -4
  95. package/build/server/chunks/{_server.ts-B262_mM_.js.map → _server.ts-B8YF9aVx.js.map} +1 -1
  96. package/build/server/chunks/{_server.ts-C8y5k5IZ.js → _server.ts-BEjyvkVV.js} +4 -4
  97. package/build/server/chunks/{_server.ts-C8y5k5IZ.js.map → _server.ts-BEjyvkVV.js.map} +1 -1
  98. package/build/server/chunks/{_server.ts-COKTksXS.js → _server.ts-BGqa6Laa.js} +4 -4
  99. package/build/server/chunks/_server.ts-BGqa6Laa.js.map +1 -0
  100. package/build/server/chunks/{_server.ts-B6xTnPJR.js → _server.ts-BHmCir74.js} +4 -4
  101. package/build/server/chunks/{_server.ts-B6xTnPJR.js.map → _server.ts-BHmCir74.js.map} +1 -1
  102. package/build/server/chunks/{_server.ts-Bdc1yveI.js → _server.ts-BLUm8wAq.js} +4 -4
  103. package/build/server/chunks/{_server.ts-Bdc1yveI.js.map → _server.ts-BLUm8wAq.js.map} +1 -1
  104. package/build/server/chunks/{_server.ts-zyxUGoYW.js → _server.ts-BNJn20vV.js} +4 -4
  105. package/build/server/chunks/{_server.ts-zyxUGoYW.js.map → _server.ts-BNJn20vV.js.map} +1 -1
  106. package/build/server/chunks/{_server.ts-0XsihZif.js → _server.ts-BTvZB-WH.js} +4 -4
  107. package/build/server/chunks/{_server.ts-0XsihZif.js.map → _server.ts-BTvZB-WH.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-CbHU1vkN.js → _server.ts-BUIWPYRF.js} +4 -4
  109. package/build/server/chunks/{_server.ts-CbHU1vkN.js.map → _server.ts-BUIWPYRF.js.map} +1 -1
  110. package/build/server/chunks/{_server.ts-XvDJ5OtB.js → _server.ts-BWtTOsFi.js} +4 -4
  111. package/build/server/chunks/{_server.ts-XvDJ5OtB.js.map → _server.ts-BWtTOsFi.js.map} +1 -1
  112. package/build/server/chunks/{_server.ts-CAdmGw2l.js → _server.ts-BY7nR9Ev.js} +4 -4
  113. package/build/server/chunks/{_server.ts-CAdmGw2l.js.map → _server.ts-BY7nR9Ev.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-BjKendRn.js → _server.ts-BdLKHRnY.js} +6 -6
  115. package/build/server/chunks/{_server.ts-BjKendRn.js.map → _server.ts-BdLKHRnY.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-DRFb9TfV.js → _server.ts-BhRtn8Xn.js} +4 -4
  117. package/build/server/chunks/{_server.ts-DRFb9TfV.js.map → _server.ts-BhRtn8Xn.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-DFpwWuLU.js → _server.ts-Bq4Oko-2.js} +4 -4
  119. package/build/server/chunks/{_server.ts-DFpwWuLU.js.map → _server.ts-Bq4Oko-2.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-CVEG3K9b.js → _server.ts-Bu_7eQaL.js} +5 -5
  121. package/build/server/chunks/{_server.ts-CVEG3K9b.js.map → _server.ts-Bu_7eQaL.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-B8yF8yr3.js → _server.ts-BvbnbZsl.js} +4 -4
  123. package/build/server/chunks/{_server.ts-B8yF8yr3.js.map → _server.ts-BvbnbZsl.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-DK_yszHc.js → _server.ts-C4pf3VKi.js} +4 -4
  125. package/build/server/chunks/{_server.ts-DK_yszHc.js.map → _server.ts-C4pf3VKi.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-DzFwsF9j.js → _server.ts-C7K7bv8w.js} +5 -5
  127. package/build/server/chunks/{_server.ts-DzFwsF9j.js.map → _server.ts-C7K7bv8w.js.map} +1 -1
  128. package/build/server/chunks/_server.ts-C8BrkC8T.js +36 -0
  129. package/build/server/chunks/_server.ts-C8BrkC8T.js.map +1 -0
  130. package/build/server/chunks/{_server.ts-BjzBsC6w.js → _server.ts-C8zFV8J3.js} +4 -4
  131. package/build/server/chunks/{_server.ts-BjzBsC6w.js.map → _server.ts-C8zFV8J3.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-C1KzS6xc.js → _server.ts-CD-Cddqe.js} +5 -5
  133. package/build/server/chunks/{_server.ts-C1KzS6xc.js.map → _server.ts-CD-Cddqe.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-BnjrP3ks.js → _server.ts-CExwMomX.js} +4 -4
  135. package/build/server/chunks/{_server.ts-BnjrP3ks.js.map → _server.ts-CExwMomX.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-DkLhIF73.js → _server.ts-CH8uRkxq.js} +4 -4
  137. package/build/server/chunks/{_server.ts-DkLhIF73.js.map → _server.ts-CH8uRkxq.js.map} +1 -1
  138. package/build/server/chunks/_server.ts-CHQmAGEC.js +51 -0
  139. package/build/server/chunks/_server.ts-CHQmAGEC.js.map +1 -0
  140. package/build/server/chunks/{_server.ts-CmzKw1o3.js → _server.ts-CIEz-ybk.js} +4 -4
  141. package/build/server/chunks/{_server.ts-CmzKw1o3.js.map → _server.ts-CIEz-ybk.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-BesHLxS2.js → _server.ts-CNLz6iJ7.js} +4 -4
  143. package/build/server/chunks/{_server.ts-BesHLxS2.js.map → _server.ts-CNLz6iJ7.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-ek6MwdUK.js → _server.ts-CVxiERfc.js} +4 -4
  145. package/build/server/chunks/{_server.ts-ek6MwdUK.js.map → _server.ts-CVxiERfc.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-DvrTAImV.js → _server.ts-CX2sHcZR.js} +4 -4
  147. package/build/server/chunks/{_server.ts-DvrTAImV.js.map → _server.ts-CX2sHcZR.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-ClrUP4an.js → _server.ts-CXI7k8hl.js} +4 -4
  149. package/build/server/chunks/{_server.ts-ClrUP4an.js.map → _server.ts-CXI7k8hl.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-Bi0VeyRr.js → _server.ts-CXmwf1pu.js} +2 -2
  151. package/build/server/chunks/{_server.ts-Bi0VeyRr.js.map → _server.ts-CXmwf1pu.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-COzEgPgm.js → _server.ts-C_EnHMEu.js} +4 -4
  153. package/build/server/chunks/{_server.ts-COzEgPgm.js.map → _server.ts-C_EnHMEu.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-D_RT5a88.js → _server.ts-CbOKfJ3v.js} +6 -6
  155. package/build/server/chunks/{_server.ts-D_RT5a88.js.map → _server.ts-CbOKfJ3v.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-xZeGGokt.js → _server.ts-CciSVwzg.js} +5 -5
  157. package/build/server/chunks/{_server.ts-xZeGGokt.js.map → _server.ts-CciSVwzg.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-DjFhNlGz.js → _server.ts-CdB1K2M6.js} +2 -2
  159. package/build/server/chunks/{_server.ts-DjFhNlGz.js.map → _server.ts-CdB1K2M6.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-pmjwexpo.js → _server.ts-CeeR1W32.js} +4 -4
  161. package/build/server/chunks/{_server.ts-pmjwexpo.js.map → _server.ts-CeeR1W32.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-DpL6zI13.js → _server.ts-CpJ08_Lw.js} +4 -4
  163. package/build/server/chunks/{_server.ts-DpL6zI13.js.map → _server.ts-CpJ08_Lw.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-CY2txcrO.js → _server.ts-CqH3nv-S.js} +5 -5
  165. package/build/server/chunks/{_server.ts-CY2txcrO.js.map → _server.ts-CqH3nv-S.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-B19b36Eo.js → _server.ts-CreuvDch.js} +4 -4
  167. package/build/server/chunks/{_server.ts-B19b36Eo.js.map → _server.ts-CreuvDch.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-DZ3Z2xUm.js → _server.ts-CtltE_T-.js} +2 -2
  169. package/build/server/chunks/{_server.ts-DZ3Z2xUm.js.map → _server.ts-CtltE_T-.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-DhHNXH2Y.js → _server.ts-CzoE8edN.js} +11 -46
  171. package/build/server/chunks/_server.ts-CzoE8edN.js.map +1 -0
  172. package/build/server/chunks/{_server.ts-B4xZ8oA3.js → _server.ts-D-Vwef5C.js} +4 -4
  173. package/build/server/chunks/{_server.ts-B4xZ8oA3.js.map → _server.ts-D-Vwef5C.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-BPI-RcmG.js → _server.ts-D3QPUpDc.js} +4 -4
  175. package/build/server/chunks/{_server.ts-BPI-RcmG.js.map → _server.ts-D3QPUpDc.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-BstRFodf.js → _server.ts-D8cp-Em3.js} +4 -4
  177. package/build/server/chunks/{_server.ts-BstRFodf.js.map → _server.ts-D8cp-Em3.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-4-UC6SEV.js → _server.ts-DAW24-9-.js} +4 -4
  179. package/build/server/chunks/{_server.ts-4-UC6SEV.js.map → _server.ts-DAW24-9-.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-D3JrqMf5.js → _server.ts-DHBX6Ary.js} +5 -5
  181. package/build/server/chunks/{_server.ts-D3JrqMf5.js.map → _server.ts-DHBX6Ary.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-DcTyFyDW.js → _server.ts-DL9hlvL8.js} +4 -4
  183. package/build/server/chunks/{_server.ts-DcTyFyDW.js.map → _server.ts-DL9hlvL8.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-BzSa91Mu.js → _server.ts-DLVGDzlE.js} +4 -4
  185. package/build/server/chunks/{_server.ts-BzSa91Mu.js.map → _server.ts-DLVGDzlE.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-CsN4U0jo.js → _server.ts-DPC8qYUD.js} +4 -4
  187. package/build/server/chunks/{_server.ts-CsN4U0jo.js.map → _server.ts-DPC8qYUD.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-D41uKHXF.js → _server.ts-DVRyf5BI.js} +4 -4
  189. package/build/server/chunks/{_server.ts-D41uKHXF.js.map → _server.ts-DVRyf5BI.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-Bb6_g6bb.js → _server.ts-DY3ZDXdA.js} +4 -4
  191. package/build/server/chunks/{_server.ts-Bb6_g6bb.js.map → _server.ts-DY3ZDXdA.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-DVtd0Eah.js → _server.ts-Dc9XEMmF.js} +4 -4
  193. package/build/server/chunks/{_server.ts-DVtd0Eah.js.map → _server.ts-Dc9XEMmF.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-LPclMhOg.js → _server.ts-Dd4Mh0JV.js} +4 -4
  195. package/build/server/chunks/{_server.ts-LPclMhOg.js.map → _server.ts-Dd4Mh0JV.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-CB9981qx.js → _server.ts-DlwXpopR.js} +3 -3
  197. package/build/server/chunks/{_server.ts-CB9981qx.js.map → _server.ts-DlwXpopR.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-BvhZYj4O.js → _server.ts-Do5L_4tt.js} +4 -4
  199. package/build/server/chunks/{_server.ts-BvhZYj4O.js.map → _server.ts-Do5L_4tt.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-Bs9prWkw.js → _server.ts-DsTUwnu1.js} +4 -4
  201. package/build/server/chunks/{_server.ts-Bs9prWkw.js.map → _server.ts-DsTUwnu1.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-Wb18-UPz.js → _server.ts-DzIilMO5.js} +2 -2
  203. package/build/server/chunks/{_server.ts-Wb18-UPz.js.map → _server.ts-DzIilMO5.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-KrHLZ41l.js → _server.ts-E5YqcwqQ.js} +4 -4
  205. package/build/server/chunks/{_server.ts-KrHLZ41l.js.map → _server.ts-E5YqcwqQ.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-CEM2Bhrp.js → _server.ts-Gbkg-oto.js} +4 -4
  207. package/build/server/chunks/{_server.ts-CEM2Bhrp.js.map → _server.ts-Gbkg-oto.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-JrZ2T0x3.js → _server.ts-IzD0bafW.js} +5 -5
  209. package/build/server/chunks/{_server.ts-JrZ2T0x3.js.map → _server.ts-IzD0bafW.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-2VQoZ57d.js → _server.ts-Lzz9ashZ.js} +4 -4
  211. package/build/server/chunks/{_server.ts-2VQoZ57d.js.map → _server.ts-Lzz9ashZ.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-C-iybQg_.js → _server.ts-MGn-MXr5.js} +4 -4
  213. package/build/server/chunks/{_server.ts-C-iybQg_.js.map → _server.ts-MGn-MXr5.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-CJyYri21.js → _server.ts-QvBpEIYu.js} +4 -4
  215. package/build/server/chunks/{_server.ts-CJyYri21.js.map → _server.ts-QvBpEIYu.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-CeUZgHnR.js → _server.ts-SLlbT28g.js} +2 -2
  217. package/build/server/chunks/{_server.ts-CeUZgHnR.js.map → _server.ts-SLlbT28g.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-D6GjjoAA.js → _server.ts-j5xF-dJX.js} +4 -4
  219. package/build/server/chunks/{_server.ts-D6GjjoAA.js.map → _server.ts-j5xF-dJX.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-DN6e9aZX.js → _server.ts-pQ9okj_b.js} +6 -6
  221. package/build/server/chunks/{_server.ts-DN6e9aZX.js.map → _server.ts-pQ9okj_b.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-B-e9YBGN.js → _server.ts-yWBMi6sn.js} +6 -6
  223. package/build/server/chunks/{_server.ts-B-e9YBGN.js.map → _server.ts-yWBMi6sn.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-CgIBSa2W.js → _server.ts-ykNeG8km.js} +4 -4
  225. package/build/server/chunks/{_server.ts-CgIBSa2W.js.map → _server.ts-ykNeG8km.js.map} +1 -1
  226. package/build/server/chunks/{addon-helpers-KNw7tctP.js → addon-helpers-DBJL8kvq.js} +3 -3
  227. package/build/server/chunks/{addon-helpers-KNw7tctP.js.map → addon-helpers-DBJL8kvq.js.map} +1 -1
  228. package/build/server/chunks/akm-hO0p79ZE.js +174 -0
  229. package/build/server/chunks/akm-hO0p79ZE.js.map +1 -0
  230. package/build/server/chunks/{client-Bf7oPIoX.js → client-BhIdOLuN.js} +2 -2
  231. package/build/server/chunks/{client-Bf7oPIoX.js.map → client-BhIdOLuN.js.map} +1 -1
  232. package/build/server/chunks/{config-D5SE6Awc.js → config-5vfdWPGq.js} +2 -2
  233. package/build/server/chunks/{config-D5SE6Awc.js.map → config-5vfdWPGq.js.map} +1 -1
  234. package/build/server/chunks/{docker-BVtcOSzA.js → docker-DYeytgDI.js} +2 -2
  235. package/build/server/chunks/{docker-BVtcOSzA.js.map → docker-DYeytgDI.js.map} +1 -1
  236. package/build/server/chunks/{endpoints-zfo5Ad6e.js → endpoints-pIoXJCW6.js} +2 -2
  237. package/build/server/chunks/{endpoints-zfo5Ad6e.js.map → endpoints-pIoXJCW6.js.map} +1 -1
  238. package/build/server/chunks/{environment-BDzGWNJ1.js → environment-BSan9M-f.js} +2 -2
  239. package/build/server/chunks/{environment-BDzGWNJ1.js.map → environment-BSan9M-f.js.map} +1 -1
  240. package/build/server/chunks/{error.svelte-CgQy3bD5.js → error.svelte-w3vTPWqR.js} +4 -4
  241. package/build/server/chunks/{error.svelte-CgQy3bD5.js.map → error.svelte-w3vTPWqR.js.map} +1 -1
  242. package/build/server/chunks/{helpers-DHbBmb0V.js → helpers-CVirrNSz.js} +3 -3
  243. package/build/server/chunks/{helpers-DHbBmb0V.js.map → helpers-CVirrNSz.js.map} +1 -1
  244. package/build/server/chunks/{hooks.server-BcB7DyJ7.js → hooks.server-pc-TSpQy.js} +5 -5
  245. package/build/server/chunks/{hooks.server-BcB7DyJ7.js.map → hooks.server-pc-TSpQy.js.map} +1 -1
  246. package/build/server/chunks/{http-B6HcMA7S.js → http-DGsfa0DV.js} +2 -2
  247. package/build/server/chunks/{http-B6HcMA7S.js.map → http-DGsfa0DV.js.map} +1 -1
  248. package/build/server/chunks/{internal-B9RpODEl.js → internal-Df9GLXoC.js} +3 -3
  249. package/build/server/chunks/{internal-B9RpODEl.js.map → internal-Df9GLXoC.js.map} +1 -1
  250. package/build/server/chunks/{session-cookie-Do-csnSL.js → session-cookie-DEuOwtHY.js} +2 -2
  251. package/build/server/chunks/{session-cookie-Do-csnSL.js.map → session-cookie-DEuOwtHY.js.map} +1 -1
  252. package/build/server/chunks/{setup-deploy-BgLVwmhY.js → setup-deploy-D4bnmfpV.js} +2 -2
  253. package/build/server/chunks/{setup-deploy-BgLVwmhY.js.map → setup-deploy-D4bnmfpV.js.map} +1 -1
  254. package/build/server/chunks/{src-56XoMiXa.js → src-CyeWH4Df.js} +70 -14
  255. package/build/server/chunks/src-CyeWH4Df.js.map +1 -0
  256. package/build/server/chunks/{state-qSvDCPCW.js → state-oTjIGK6_.js} +2 -2
  257. package/build/server/chunks/{state-qSvDCPCW.js.map → state-oTjIGK6_.js.map} +1 -1
  258. package/build/server/chunks/{theme-state.svelte-CE13yM0n.js → theme-state.svelte-CeABRes-.js} +8 -2
  259. package/build/server/chunks/theme-state.svelte-CeABRes-.js.map +1 -0
  260. package/build/server/index.js +2 -2
  261. package/build/server/manifest.js +100 -79
  262. package/build/server/manifest.js.map +1 -1
  263. package/package.json +2 -2
  264. package/build/client/_app/immutable/assets/4.DPfzakrS.css.br +0 -0
  265. package/build/client/_app/immutable/assets/4.DPfzakrS.css.gz +0 -0
  266. package/build/client/_app/immutable/chunks/BGteD5HD.js.br +0 -0
  267. package/build/client/_app/immutable/chunks/BGteD5HD.js.gz +0 -0
  268. package/build/client/_app/immutable/chunks/BdiA07Cr.js.br +0 -0
  269. package/build/client/_app/immutable/chunks/BdiA07Cr.js.gz +0 -0
  270. package/build/client/_app/immutable/chunks/BrWfMke-.js.br +0 -0
  271. package/build/client/_app/immutable/chunks/BrWfMke-.js.gz +0 -0
  272. package/build/client/_app/immutable/chunks/CxdjKjms.js +0 -1
  273. package/build/client/_app/immutable/chunks/CxdjKjms.js.br +0 -2
  274. package/build/client/_app/immutable/chunks/CxdjKjms.js.gz +0 -0
  275. package/build/client/_app/immutable/chunks/JXKXFmZF.js +0 -1
  276. package/build/client/_app/immutable/chunks/JXKXFmZF.js.br +0 -0
  277. package/build/client/_app/immutable/chunks/JXKXFmZF.js.gz +0 -0
  278. package/build/client/_app/immutable/entry/app.n2WxkaaX.js.br +0 -0
  279. package/build/client/_app/immutable/entry/app.n2WxkaaX.js.gz +0 -0
  280. package/build/client/_app/immutable/entry/start.BJuDKNgA.js +0 -1
  281. package/build/client/_app/immutable/entry/start.BJuDKNgA.js.br +0 -1
  282. package/build/client/_app/immutable/entry/start.BJuDKNgA.js.gz +0 -0
  283. package/build/client/_app/immutable/nodes/0.7SpSN_Ip.js.br +0 -0
  284. package/build/client/_app/immutable/nodes/0.7SpSN_Ip.js.gz +0 -0
  285. package/build/client/_app/immutable/nodes/1.Bb0Ip5FV.js.br +0 -1
  286. package/build/client/_app/immutable/nodes/1.Bb0Ip5FV.js.gz +0 -0
  287. package/build/client/_app/immutable/nodes/4.C8Z85GGd.js +0 -19
  288. package/build/client/_app/immutable/nodes/4.C8Z85GGd.js.br +0 -0
  289. package/build/client/_app/immutable/nodes/4.C8Z85GGd.js.gz +0 -0
  290. package/build/client/_app/immutable/nodes/5.CFDs7Dy0.js.br +0 -0
  291. package/build/client/_app/immutable/nodes/5.CFDs7Dy0.js.gz +0 -0
  292. package/build/client/_app/immutable/nodes/6.DKHV_Lbm.js.br +0 -0
  293. package/build/client/_app/immutable/nodes/6.DKHV_Lbm.js.gz +0 -0
  294. package/build/client/_app/immutable/nodes/7.CpYANMeV.js.br +0 -0
  295. package/build/client/_app/immutable/nodes/7.CpYANMeV.js.gz +0 -0
  296. package/build/client/_app/immutable/nodes/8.B3hK7dCg.js.br +0 -0
  297. package/build/client/_app/immutable/nodes/8.B3hK7dCg.js.gz +0 -0
  298. package/build/server/chunks/1-sHYqow-o.js +0 -9
  299. package/build/server/chunks/4-D0bsxEuU.js +0 -9
  300. package/build/server/chunks/5-DmMvznoc.js +0 -9
  301. package/build/server/chunks/6-D_6ZnOUn.js +0 -9
  302. package/build/server/chunks/7-BDQEzJqj.js +0 -9
  303. package/build/server/chunks/_page.svelte-DBT6m2Fy.js.map +0 -1
  304. package/build/server/chunks/_server.ts-COKTksXS.js.map +0 -1
  305. package/build/server/chunks/_server.ts-DhHNXH2Y.js.map +0 -1
  306. package/build/server/chunks/src-56XoMiXa.js.map +0 -1
  307. package/build/server/chunks/theme-state.svelte-CE13yM0n.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CEM2Bhrp.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/auth/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../../chunks/exports.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/auth/[provider]/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar PUT = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst { key } = await request.json();\n\t\tif (!(await getOpenCodeClient().setProviderApiKey(params.provider, typeof key === \"string\" ? key : \"\")).ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 400 });\n\t\treturn json({ ok: true });\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AACzC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACtC,EAAE,IAAI,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC;AAC1H,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-Gbkg-oto.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/auth/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../../chunks/exports.js\";\nimport { a as getOpenCodeClient } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/auth/[provider]/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar PUT = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst { key } = await request.json();\n\t\tif (!(await getOpenCodeClient().setProviderApiKey(params.provider, typeof key === \"string\" ? key : \"\")).ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 400 });\n\t\treturn json({ ok: true });\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"Failed to set provider credentials\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AACzC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACtC,EAAE,IAAI,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC;AAC1H,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
@@ -1,7 +1,7 @@
1
- import { w as withAdminBody, k as jsonResponse } from './helpers-DHbBmb0V.js';
2
- import { o as opencodeFetch } from './http-B6HcMA7S.js';
1
+ import { w as withAdminBody, k as jsonResponse } from './helpers-CVirrNSz.js';
2
+ import { o as opencodeFetch } from './http-DGsfa0DV.js';
3
3
  import { a as asStringOrEmpty } from './_helpers-B_lb4-jB.js';
4
- import './src-56XoMiXa.js';
4
+ import './src-CyeWH4Df.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-zfo5Ad6e.js';
24
+ import './endpoints-pIoXJCW6.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-JrZ2T0x3.js.map
65
+ //# sourceMappingURL=_server.ts-IzD0bafW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-JrZ2T0x3.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, p as withAdminBody } 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-IzD0bafW.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { l as jsonResponse, p as withAdminBody } 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 { y as createLogger, a1 as isAllowedService, m as checkDocker, w as composeStop, k as buildComposeOptions } from './src-56XoMiXa.js';
2
- import { b as getState } from './endpoints-zfo5Ad6e.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-DHbBmb0V.js';
1
+ import { z as createLogger, a2 as isAllowedService, n as checkDocker, x as composeStop, l as buildComposeOptions } from './src-CyeWH4Df.js';
2
+ import { b as getState } from './endpoints-pIoXJCW6.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, k as jsonResponse } from './helpers-CVirrNSz.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -50,4 +50,4 @@ var POST = async (event) => {
50
50
  };
51
51
 
52
52
  export { POST };
53
- //# sourceMappingURL=_server.ts-2VQoZ57d.js.map
53
+ //# sourceMappingURL=_server.ts-Lzz9ashZ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-2VQoZ57d.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/down/_server.ts.js"],"sourcesContent":["import { E as buildComposeOptions, F as isAllowedService, I as checkDocker, K as composeStop, Rt as createLogger } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/down/+server.ts\nvar logger = createLogger(\"containers-down\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container stop request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:down\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeStop([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"stopped\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to stop service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"stopped\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-Lzz9ashZ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/down/_server.ts.js"],"sourcesContent":["import { E as buildComposeOptions, I as isAllowedService, L as checkDocker, q as composeStop, zt as createLogger } from \"../../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../../chunks/endpoints.js\";\nimport { c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/down/+server.ts\nvar logger = createLogger(\"containers-down\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container stop request\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:down\", async () => {\n\t\tconst state = getState();\n\t\tconst result = await parseJsonBody(event.request);\n\t\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\t\tconst body = result.data;\n\t\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\t\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\t\tif ((await checkDocker()).ok) {\n\t\t\tconst result = await composeStop([service], buildComposeOptions(state));\n\t\t\tif (result.ok) state.services[service] = \"stopped\";\n\t\t\telse return errorResponse(500, \"docker_error\", `Failed to stop service: ${result.stderr}`, { service }, requestId);\n\t\t} else state.services[service] = \"stopped\";\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tservice,\n\t\t\tstatus: state.services[service]\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AACnD,EAAE,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AAC1B,EAAE,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACtE,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACtJ,EAAE,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAChC,GAAG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACrD,QAAQ,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,EAAE,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC5C,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AACjC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { g as getActiveEndpoint } from './endpoints-zfo5Ad6e.js';
2
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-DHbBmb0V.js';
3
- import './src-56XoMiXa.js';
1
+ import { g as getActiveEndpoint } from './endpoints-pIoXJCW6.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-CVirrNSz.js';
3
+ import './src-CyeWH4Df.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -52,4 +52,4 @@ var GET = async (event) => {
52
52
  };
53
53
 
54
54
  export { GET };
55
- //# sourceMappingURL=_server.ts-C-iybQg_.js.map
55
+ //# sourceMappingURL=_server.ts-MGn-MXr5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C-iybQg_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/health/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tlet opencode = false;\n\ttry {\n\t\tconst headers = {};\n\t\tif (endpoint.password) {\n\t\t\tconst user = endpoint.username || \"openpalm\";\n\t\t\theaders[\"authorization\"] = `Basic ${btoa(`${user}:${endpoint.password}`)}`;\n\t\t}\n\t\topencode = (await fetch(`${endpoint.url}/health`, {\n\t\t\theaders,\n\t\t\tsignal: AbortSignal.timeout(2e3)\n\t\t})).ok;\n\t} catch {}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\topencode,\n\t\tendpoint: {\n\t\t\tid: endpoint.id,\n\t\t\tlabel: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tisDefault: endpoint.isDefault\n\t\t}\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,iBAAiB,EAAE;AACrC,CAAC,IAAI,QAAQ,GAAG,KAAK;AACrB,CAAC,IAAI;AACL,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACzB,GAAG,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU;AAC/C,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,EAAE;AACF,EAAE,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACpD,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC,EAAE,EAAE;AACR,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ,EAAE;AACZ,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE;AAClB,GAAG,KAAK,EAAE,QAAQ,CAAC,KAAK;AACxB,GAAG,GAAG,EAAE,QAAQ,CAAC,GAAG;AACpB,GAAG,SAAS,EAAE,QAAQ,CAAC;AACvB;AACA,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-MGn-MXr5.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/health/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, l as jsonResponse, o as getRequestId } from \"../../../../chunks/helpers.js\";\n//#region src/routes/admin/health/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tlet opencode = false;\n\ttry {\n\t\tconst headers = {};\n\t\tif (endpoint.password) {\n\t\t\tconst user = endpoint.username || \"openpalm\";\n\t\t\theaders[\"authorization\"] = `Basic ${btoa(`${user}:${endpoint.password}`)}`;\n\t\t}\n\t\topencode = (await fetch(`${endpoint.url}/health`, {\n\t\t\theaders,\n\t\t\tsignal: AbortSignal.timeout(2e3)\n\t\t})).ok;\n\t} catch {}\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\topencode,\n\t\tendpoint: {\n\t\t\tid: endpoint.id,\n\t\t\tlabel: endpoint.label,\n\t\t\turl: endpoint.url,\n\t\t\tisDefault: endpoint.isDefault\n\t\t}\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,iBAAiB,EAAE;AACrC,CAAC,IAAI,QAAQ,GAAG,KAAK;AACrB,CAAC,IAAI;AACL,EAAE,MAAM,OAAO,GAAG,EAAE;AACpB,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACzB,GAAG,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,UAAU;AAC/C,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,EAAE;AACF,EAAE,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACpD,GAAG,OAAO;AACV,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC,EAAE,EAAE;AACR,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,QAAQ;AACV,EAAE,QAAQ,EAAE;AACZ,GAAG,EAAE,EAAE,QAAQ,CAAC,EAAE;AAClB,GAAG,KAAK,EAAE,QAAQ,CAAC,KAAK;AACxB,GAAG,GAAG,EAAE,QAAQ,CAAC,GAAG;AACpB,GAAG,SAAS,EAAE,QAAQ,CAAC;AACvB;AACA,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, g as getOpenCodeClient, e as errorResponse, k as jsonResponse } from './helpers-DHbBmb0V.js';
1
+ import { d as getRequestId, r as requireAdmin, g as getOpenCodeClient, e as errorResponse, k as jsonResponse } from './helpers-CVirrNSz.js';
2
2
  import { b as asRecord } from './coercion-TNFJisCC.js';
3
- import './src-56XoMiXa.js';
3
+ import './src-CyeWH4Df.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-zfo5Ad6e.js';
23
+ import './endpoints-pIoXJCW6.js';
24
24
 
25
25
  //#region src/lib/opencode/provider-models.ts
26
26
  function sanitizeOpenCodeModels(models, fallbackProviderId) {
@@ -53,4 +53,4 @@ var GET = async (event) => {
53
53
  };
54
54
 
55
55
  export { GET };
56
- //# sourceMappingURL=_server.ts-CJyYri21.js.map
56
+ //# sourceMappingURL=_server.ts-QvBpEIYu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CJyYri21.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/models/_server.ts.js"],"sourcesContent":["import { a as getOpenCodeClient, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../../../chunks/helpers.js\";\nimport { n as asRecord } from \"../../../../../../../chunks/coercion.js\";\n//#region src/lib/opencode/provider-models.ts\nfunction sanitizeOpenCodeModels(models, fallbackProviderId) {\n\tif (!models || typeof models !== \"object\") return [];\n\treturn Object.values(models).map((value) => asRecord(value)).filter((model) => typeof model?.id === \"string\").map((model) => {\n\t\tconst id = model.id;\n\t\treturn {\n\t\t\tid,\n\t\t\tname: typeof model.name === \"string\" ? model.name : id,\n\t\t\tfamily: typeof model.family === \"string\" ? model.family : \"\",\n\t\t\tproviderID: typeof model.providerID === \"string\" ? model.providerID : fallbackProviderId,\n\t\t\tstatus: typeof model.status === \"string\" ? model.status : \"active\",\n\t\t\tcapabilities: asRecord(model.capabilities) ?? {}\n\t\t};\n\t});\n}\n//#endregion\n//#region src/routes/admin/opencode/providers/[id]/models/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id;\n\tconst result = await getOpenCodeClient().proxy(\"/provider\");\n\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\tconst provider = result.data.all?.find((p) => p.id === providerId);\n\tif (!provider) return errorResponse(404, \"not_found\", `Provider \"${providerId}\" not found`, {}, requestId);\n\tif (!provider.models) return jsonResponse(200, { models: [] }, requestId);\n\treturn jsonResponse(200, { models: sanitizeOpenCodeModels(provider.models, providerId) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE;AAC5D,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,OAAO,EAAE;AACrD,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,OAAO,KAAK,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC9H,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE;AACrB,EAAE,OAAO;AACT,GAAG,EAAE;AACL,GAAG,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE;AACzD,GAAG,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE;AAC/D,GAAG,UAAU,EAAE,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,GAAG,KAAK,CAAC,UAAU,GAAG,kBAAkB;AAC3F,GAAG,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ;AACrE,GAAG,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI;AACjD,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AACnC,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;AAC5D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AAChG,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC;AACnE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3G,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1E,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC;AACrG;;;;"}
1
+ {"version":3,"file":"_server.ts-QvBpEIYu.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/models/_server.ts.js"],"sourcesContent":["import { a as getOpenCodeClient, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId } from \"../../../../../../../chunks/helpers.js\";\nimport { n as asRecord } from \"../../../../../../../chunks/coercion.js\";\n//#region src/lib/opencode/provider-models.ts\nfunction sanitizeOpenCodeModels(models, fallbackProviderId) {\n\tif (!models || typeof models !== \"object\") return [];\n\treturn Object.values(models).map((value) => asRecord(value)).filter((model) => typeof model?.id === \"string\").map((model) => {\n\t\tconst id = model.id;\n\t\treturn {\n\t\t\tid,\n\t\t\tname: typeof model.name === \"string\" ? model.name : id,\n\t\t\tfamily: typeof model.family === \"string\" ? model.family : \"\",\n\t\t\tproviderID: typeof model.providerID === \"string\" ? model.providerID : fallbackProviderId,\n\t\t\tstatus: typeof model.status === \"string\" ? model.status : \"active\",\n\t\t\tcapabilities: asRecord(model.capabilities) ?? {}\n\t\t};\n\t});\n}\n//#endregion\n//#region src/routes/admin/opencode/providers/[id]/models/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id;\n\tconst result = await getOpenCodeClient().proxy(\"/provider\");\n\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\tconst provider = result.data.all?.find((p) => p.id === providerId);\n\tif (!provider) return errorResponse(404, \"not_found\", `Provider \"${providerId}\" not found`, {}, requestId);\n\tif (!provider.models) return jsonResponse(200, { models: [] }, requestId);\n\treturn jsonResponse(200, { models: sanitizeOpenCodeModels(provider.models, providerId) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE;AAC5D,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,OAAO,EAAE;AACrD,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,OAAO,KAAK,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC9H,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE;AACrB,EAAE,OAAO;AACT,GAAG,EAAE;AACL,GAAG,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE;AACzD,GAAG,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE;AAC/D,GAAG,UAAU,EAAE,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,GAAG,KAAK,CAAC,UAAU,GAAG,kBAAkB;AAC3F,GAAG,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ;AACrE,GAAG,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI;AACjD,GAAG;AACH,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE;AACnC,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;AAC5D,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC;AAChG,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC;AACnE,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3G,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC;AAC1E,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC;AACrG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { H as detectLocalProviders } from './src-56XoMiXa.js';
2
+ import { I as detectLocalProviders } from './src-CyeWH4Df.js';
3
3
  import './utils-BSRjJDrZ.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
@@ -38,4 +38,4 @@ var GET = async () => {
38
38
  };
39
39
 
40
40
  export { GET };
41
- //# sourceMappingURL=_server.ts-CeUZgHnR.js.map
41
+ //# sourceMappingURL=_server.ts-SLlbT28g.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CeUZgHnR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/detect-providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { l as detectLocalProviders } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/detect-providers/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tproviders: await detectLocalProviders()\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"detection_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,MAAM,oBAAoB;AACxC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,kBAAkB;AAC5B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-SLlbT28g.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/detect-providers/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { l as detectLocalProviders } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/detect-providers/+server.ts\nvar GET = async () => {\n\ttry {\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tproviders: await detectLocalProviders()\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"detection_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,YAAY;AACtB,CAAC,IAAI;AACL,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,SAAS,EAAE,MAAM,oBAAoB;AACxC,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,kBAAkB;AAC5B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
@@ -1,5 +1,5 @@
1
- import { y as createLogger } from './src-56XoMiXa.js';
2
- import { d as getRequestId, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-DHbBmb0V.js';
1
+ import { z as createLogger } from './src-CyeWH4Df.js';
2
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CVirrNSz.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-zfo5Ad6e.js';
22
+ import './endpoints-pIoXJCW6.js';
23
23
 
24
24
  //#region src/routes/admin/opencode/providers/[id]/auth/+server.ts
25
25
  var logger = createLogger("opencode.auth");
@@ -160,4 +160,4 @@ var DELETE = async (event) => {
160
160
  };
161
161
 
162
162
  export { DELETE, GET, POST };
163
- //# sourceMappingURL=_server.ts-D6GjjoAA.js.map
163
+ //# sourceMappingURL=_server.ts-j5xF-dJX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D6GjjoAA.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { Rt as createLogger } from \"../../../../../../../chunks/src.js\";\nimport { a as getOpenCodeClient, c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /admin/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-j5xF-dJX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { zt as createLogger } from \"../../../../../../../chunks/src.js\";\nimport { a as getOpenCodeClient, c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /admin/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { a3 as isSetupComplete, aq as resolveStackDir, aa as performSetup, m as checkDocker } from './src-56XoMiXa.js';
3
- import { b as getState, r as resetState } from './endpoints-zfo5Ad6e.js';
4
- import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-DHbBmb0V.js';
5
- import { s as sessionCookieHeader } from './session-cookie-Do-csnSL.js';
6
- import { s as startDeploy, r as resetDeployState } from './setup-deploy-BgLVwmhY.js';
2
+ import { a4 as isSetupComplete, as as resolveStackDir, ac as performSetup, n as checkDocker } from './src-CyeWH4Df.js';
3
+ import { b as getState, r as resetState } from './endpoints-pIoXJCW6.js';
4
+ import { r as requireAdmin, d as getRequestId, f as getUiLoginPassword, b as createSession } from './helpers-CVirrNSz.js';
5
+ import { s as sessionCookieHeader } from './session-cookie-DEuOwtHY.js';
6
+ import { s as startDeploy, r as resetDeployState } from './setup-deploy-D4bnmfpV.js';
7
7
  import './utils-BSRjJDrZ.js';
8
8
  import './chunk-CLZ62Ad-.js';
9
9
  import 'node:module';
@@ -102,4 +102,4 @@ var POST = async (event) => {
102
102
  };
103
103
 
104
104
  export { POST };
105
- //# sourceMappingURL=_server.ts-DN6e9aZX.js.map
105
+ //# sourceMappingURL=_server.ts-pQ9okj_b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DN6e9aZX.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { I as checkDocker, It as resolveStackDir, Z as isSetupComplete, r as performSetup } from \"../../../../../chunks/src.js\";\nimport { c as getState, l as resetState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, g as getUiLoginPassword, h as createSession, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\nimport { n as resetDeployState, r as startDeploy } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/complete/+server.ts\nvar POST = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst { request } = event;\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst dryRun = body.dryRun === true;\n\tlet result;\n\ttry {\n\t\tresult = await performSetup(body);\n\t} catch (err) {\n\t\tconst msg = String(err);\n\t\tif (/ENOSPC/i.test(msg)) return json({\n\t\t\tok: false,\n\t\t\terror: \"no_space\",\n\t\t\tmessage: \"Your disk is full. Free up some space and try again.\"\n\t\t}, { status: 500 });\n\t\tif (/EACCES|EPERM/i.test(msg)) return json({\n\t\t\tok: false,\n\t\t\terror: \"permission_denied\",\n\t\t\tmessage: \"OpenPalm couldn't write to ~/.openpalm. Check that your user owns that directory.\"\n\t\t}, { status: 500 });\n\t\tif (/ENOTDIR|EISDIR/i.test(msg)) return json({\n\t\t\tok: false,\n\t\t\terror: \"bad_path\",\n\t\t\tmessage: \"An OpenPalm config path is wrong. Try a fresh install.\"\n\t\t}, { status: 500 });\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"setup_failed\",\n\t\t\tmessage: msg\n\t\t}, { status: 500 });\n\t}\n\tif (!result.ok) return json(result, { status: 400 });\n\tresetState();\n\tconst state = getState();\n\tresetDeployState();\n\tlet dockerCheck = null;\n\tif (!dryRun) {\n\t\tdockerCheck = await checkDocker();\n\t\tif (dockerCheck.ok) startDeploy(state);\n\t\telse return json({\n\t\t\tok: false,\n\t\t\terror: \"docker_unavailable\",\n\t\t\tmessage: \"Docker isn't running. Start Docker Desktop or OrbStack, then try again.\"\n\t\t}, {\n\t\t\tstatus: 503,\n\t\t\theaders: { \"content-type\": \"application/json\" }\n\t\t});\n\t}\n\tconst headers = new Headers({ \"content-type\": \"application/json\" });\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword || getUiLoginPassword()) {\n\t\tconst sessionToken = createSession();\n\t\theaders.set(\"set-cookie\", sessionCookieHeader(sessionToken, event.request));\n\t}\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\tdockerAvailable: dockerCheck?.ok ?? false,\n\t\tdryRun\n\t}), {\n\t\tstatus: 200,\n\t\theaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-pQ9okj_b.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/complete/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { L as checkDocker, Lt as resolveStackDir, Q as isSetupComplete, r as performSetup } from \"../../../../../chunks/src.js\";\nimport { c as getState, l as resetState } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, g as getUiLoginPassword, h as createSession, o as getRequestId } from \"../../../../../chunks/helpers.js\";\nimport { r as sessionCookieHeader } from \"../../../../../chunks/session-cookie.js\";\nimport { n as resetDeployState, r as startDeploy } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/complete/+server.ts\nvar POST = async (event) => {\n\tif (isSetupComplete(resolveStackDir())) {\n\t\tconst authError = requireAdmin(event, getRequestId(event));\n\t\tif (authError) return authError;\n\t}\n\tconst { request } = event;\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst dryRun = body.dryRun === true;\n\tlet result;\n\ttry {\n\t\tresult = await performSetup(body);\n\t} catch (err) {\n\t\tconst msg = String(err);\n\t\tif (/ENOSPC/i.test(msg)) return json({\n\t\t\tok: false,\n\t\t\terror: \"no_space\",\n\t\t\tmessage: \"Your disk is full. Free up some space and try again.\"\n\t\t}, { status: 500 });\n\t\tif (/EACCES|EPERM/i.test(msg)) return json({\n\t\t\tok: false,\n\t\t\terror: \"permission_denied\",\n\t\t\tmessage: \"OpenPalm couldn't write to ~/.openpalm. Check that your user owns that directory.\"\n\t\t}, { status: 500 });\n\t\tif (/ENOTDIR|EISDIR/i.test(msg)) return json({\n\t\t\tok: false,\n\t\t\terror: \"bad_path\",\n\t\t\tmessage: \"An OpenPalm config path is wrong. Try a fresh install.\"\n\t\t}, { status: 500 });\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"setup_failed\",\n\t\t\tmessage: msg\n\t\t}, { status: 500 });\n\t}\n\tif (!result.ok) return json(result, { status: 400 });\n\tresetState();\n\tconst state = getState();\n\tresetDeployState();\n\tlet dockerCheck = null;\n\tif (!dryRun) {\n\t\tdockerCheck = await checkDocker();\n\t\tif (dockerCheck.ok) startDeploy(state);\n\t\telse return json({\n\t\t\tok: false,\n\t\t\terror: \"docker_unavailable\",\n\t\t\tmessage: \"Docker isn't running. Start Docker Desktop or OrbStack, then try again.\"\n\t\t}, {\n\t\t\tstatus: 503,\n\t\t\theaders: { \"content-type\": \"application/json\" }\n\t\t});\n\t}\n\tconst headers = new Headers({ \"content-type\": \"application/json\" });\n\tif (typeof body.security?.uiLoginPassword === \"string\" && body.security.uiLoginPassword || getUiLoginPassword()) {\n\t\tconst sessionToken = createSession();\n\t\theaders.set(\"set-cookie\", sessionCookieHeader(sessionToken, event.request));\n\t}\n\treturn new Response(JSON.stringify({\n\t\tok: true,\n\t\tdockerAvailable: dockerCheck?.ok ?? false,\n\t\tdryRun\n\t}), {\n\t\tstatus: 200,\n\t\theaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, r as requireAdmin, g as getOpenCodeClient, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-DHbBmb0V.js';
2
- import { u as unsetMainModel, s as setMainModel } from './config-D5SE6Awc.js';
3
- import './src-56XoMiXa.js';
1
+ import { d as getRequestId, r as requireAdmin, g as getOpenCodeClient, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CVirrNSz.js';
2
+ import { u as unsetMainModel, s as setMainModel } from './config-5vfdWPGq.js';
3
+ import './src-CyeWH4Df.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -20,9 +20,9 @@ import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
- import './endpoints-zfo5Ad6e.js';
23
+ import './endpoints-pIoXJCW6.js';
24
24
  import './coercion-TNFJisCC.js';
25
- import './http-B6HcMA7S.js';
25
+ import './http-DGsfa0DV.js';
26
26
 
27
27
  //#region src/routes/admin/opencode/model/+server.ts
28
28
  var GET = async (event) => {
@@ -79,4 +79,4 @@ var POST = async (event) => {
79
79
  };
80
80
 
81
81
  export { GET, POST };
82
- //# sourceMappingURL=_server.ts-B-e9YBGN.js.map
82
+ //# sourceMappingURL=_server.ts-yWBMi6sn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B-e9YBGN.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/model/_server.ts.js"],"sourcesContent":["import { a as getOpenCodeClient, c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { i as setMainModel, s as unsetMainModel } from \"../../../../../chunks/config.js\";\n//#region src/routes/admin/opencode/model/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst config = await getOpenCodeClient().getConfig();\n\tif (!config) return errorResponse(503, \"opencode_unavailable\", \"OpenCode is not reachable\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tmodel: config.model ?? \"\",\n\t\tsmall_model: config.small_model ?? \"\"\n\t}, requestId);\n};\n/** Parse a \"provider/model\" string. Returns null if the input is empty or malformed. */\nfunction parseProviderModel(raw) {\n\tif (typeof raw !== \"string\") return null;\n\tconst trimmed = raw.trim();\n\tif (!trimmed) return null;\n\tconst slash = trimmed.indexOf(\"/\");\n\tif (slash <= 0 || slash === trimmed.length - 1) return null;\n\treturn {\n\t\tprovider: trimmed.slice(0, slash),\n\t\tmodel: trimmed.slice(slash + 1)\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst hasModel = \"model\" in body;\n\tconst hasSmallModel = \"small_model\" in body;\n\tif (!hasModel && !hasSmallModel) return errorResponse(400, \"bad_request\", \"model or small_model is required\", {}, requestId);\n\ttry {\n\t\tif (hasModel) if (body.model === null || body.model === \"\") await unsetMainModel(\"model\");\n\t\telse {\n\t\t\tconst parsed = parseProviderModel(body.model);\n\t\t\tif (!parsed) return errorResponse(400, \"bad_request\", \"model must be in \\\"provider/model\\\" format\", {}, requestId);\n\t\t\tawait setMainModel(parsed.provider, parsed.model, \"model\");\n\t\t}\n\t\tif (hasSmallModel) if (body.small_model === null || body.small_model === \"\") await unsetMainModel(\"small_model\");\n\t\telse {\n\t\t\tconst parsed = parseProviderModel(body.small_model);\n\t\t\tif (!parsed) return errorResponse(400, \"bad_request\", \"small_model must be in \\\"provider/model\\\" format\", {}, requestId);\n\t\t\tawait setMainModel(parsed.provider, parsed.model, \"small_model\");\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(\"[opencode.model] Failed to persist model selection\", e);\n\t\treturn errorResponse(500, \"internal_error\", \"Failed to persist model selection\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-yWBMi6sn.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/model/_server.ts.js"],"sourcesContent":["import { a as getOpenCodeClient, c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../chunks/helpers.js\";\nimport { i as setMainModel, s as unsetMainModel } from \"../../../../../chunks/config.js\";\n//#region src/routes/admin/opencode/model/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst config = await getOpenCodeClient().getConfig();\n\tif (!config) return errorResponse(503, \"opencode_unavailable\", \"OpenCode is not reachable\", {}, requestId);\n\treturn jsonResponse(200, {\n\t\tmodel: config.model ?? \"\",\n\t\tsmall_model: config.small_model ?? \"\"\n\t}, requestId);\n};\n/** Parse a \"provider/model\" string. Returns null if the input is empty or malformed. */\nfunction parseProviderModel(raw) {\n\tif (typeof raw !== \"string\") return null;\n\tconst trimmed = raw.trim();\n\tif (!trimmed) return null;\n\tconst slash = trimmed.indexOf(\"/\");\n\tif (slash <= 0 || slash === trimmed.length - 1) return null;\n\treturn {\n\t\tprovider: trimmed.slice(0, slash),\n\t\tmodel: trimmed.slice(slash + 1)\n\t};\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst hasModel = \"model\" in body;\n\tconst hasSmallModel = \"small_model\" in body;\n\tif (!hasModel && !hasSmallModel) return errorResponse(400, \"bad_request\", \"model or small_model is required\", {}, requestId);\n\ttry {\n\t\tif (hasModel) if (body.model === null || body.model === \"\") await unsetMainModel(\"model\");\n\t\telse {\n\t\t\tconst parsed = parseProviderModel(body.model);\n\t\t\tif (!parsed) return errorResponse(400, \"bad_request\", \"model must be in \\\"provider/model\\\" format\", {}, requestId);\n\t\t\tawait setMainModel(parsed.provider, parsed.model, \"model\");\n\t\t}\n\t\tif (hasSmallModel) if (body.small_model === null || body.small_model === \"\") await unsetMainModel(\"small_model\");\n\t\telse {\n\t\t\tconst parsed = parseProviderModel(body.small_model);\n\t\t\tif (!parsed) return errorResponse(400, \"bad_request\", \"small_model must be in \\\"provider/model\\\" format\", {}, requestId);\n\t\t\tawait setMainModel(parsed.provider, parsed.model, \"small_model\");\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(\"[opencode.model] Failed to persist model selection\", e);\n\t\treturn errorResponse(500, \"internal_error\", \"Failed to persist model selection\", {}, requestId);\n\t}\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { g as getOpenCodeClient } from './helpers-DHbBmb0V.js';
2
+ import { g as getOpenCodeClient } from './helpers-CVirrNSz.js';
3
3
  import './utils-BSRjJDrZ.js';
4
- import './src-56XoMiXa.js';
4
+ import './src-CyeWH4Df.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-zfo5Ad6e.js';
24
+ import './endpoints-pIoXJCW6.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-CgIBSa2W.js.map
55
+ //# sourceMappingURL=_server.ts-ykNeG8km.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CgIBSa2W.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-ykNeG8km.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,5 +1,5 @@
1
- import { a5 as listEnabledAddonIds, X as getAddonServiceNames, m as checkDocker, w as composeStop, k as buildComposeOptions, as as setAddonEnabled, y as createLogger } from './src-56XoMiXa.js';
2
- import { r as resetState } from './endpoints-zfo5Ad6e.js';
1
+ import { a6 as listEnabledAddonIds, Y as getAddonServiceNames, n as checkDocker, x as composeStop, l as buildComposeOptions, au as setAddonEnabled, z as createLogger } from './src-CyeWH4Df.js';
2
+ import { r as resetState } from './endpoints-pIoXJCW6.js';
3
3
 
4
4
  //#region src/lib/server/addon-helpers.ts
5
5
  /**
@@ -48,4 +48,4 @@ async function performAddonToggle(state, name, requestedEnabled, requestId) {
48
48
  }
49
49
 
50
50
  export { performAddonToggle as p };
51
- //# sourceMappingURL=addon-helpers-KNw7tctP.js.map
51
+ //# sourceMappingURL=addon-helpers-DBJL8kvq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addon-helpers-KNw7tctP.js","sources":["../../../.svelte-kit/adapter-node/chunks/addon-helpers.js"],"sourcesContent":["import { E as buildComposeOptions, I as checkDocker, K as composeStop, Rt as createLogger, dt as setAddonEnabled, st as getAddonServiceNames, ut as listEnabledAddonIds } from \"./src.js\";\nimport { l as resetState } from \"./endpoints.js\";\n//#region src/lib/server/addon-helpers.ts\n/**\n* Shared addon enable/disable logic for admin route handlers.\n*\n* Both /admin/addons and /admin/addons/:name share the same POST flow:\n* validate → stop running services if disabling → mutate state → audit.\n* This module houses the shared mutation step so neither route duplicates it.\n*/\nvar logger = createLogger(\"addon-helpers\");\n/**\n* Stop running services if disabling, then call setAddonEnabled.\n* Returns the mutation result with the final enabled state.\n*/\nasync function performAddonToggle(state, name, requestedEnabled, requestId) {\n\tconst wasEnabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tconst nextEnabled = requestedEnabled !== void 0 ? requestedEnabled : wasEnabled;\n\tif (!nextEnabled && wasEnabled) {\n\t\tconst serviceNames = getAddonServiceNames(state.homeDir, name);\n\t\tif (serviceNames.length > 0) {\n\t\t\tif ((await checkDocker()).ok) try {\n\t\t\t\tawait composeStop(serviceNames, buildComposeOptions(state));\n\t\t\t\tlogger.info(\"stopped addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tlogger.warn(\"failed to stop addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\terror: String(err),\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tconst mutation = setAddonEnabled(state.homeDir, state.stackDir, name, nextEnabled, state);\n\tif (!mutation.ok) return mutation;\n\tif (mutation.changed) resetState();\n\treturn {\n\t\tok: true,\n\t\tenabled: listEnabledAddonIds(state.homeDir).includes(name),\n\t\tchanged: mutation.changed\n\t};\n}\n//#endregion\nexport { performAddonToggle as t };\n"],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA,eAAe,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE;AAC5E,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AACrE,CAAC,MAAM,WAAW,GAAG,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,GAAG,UAAU;AAChF,CAAC,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE;AACjC,EAAE,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AAChE,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,GAAG,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI;AACrC,IAAI,MAAM,WAAW,CAAC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;AACzD,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK;AACL,KAAK,CAAC;AACN,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE;AACjB,IAAI,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;AAChE,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;AACvB,KAAK;AACL,KAAK,CAAC;AACN,GAAG;AACH,EAAE;AACF,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC;AAC1F,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,QAAQ;AAClC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE;AACnC,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5D,EAAE,OAAO,EAAE,QAAQ,CAAC;AACpB,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"addon-helpers-DBJL8kvq.js","sources":["../../../.svelte-kit/adapter-node/chunks/addon-helpers.js"],"sourcesContent":["import { E as buildComposeOptions, L as checkDocker, ct as getAddonServiceNames, dt as listEnabledAddonIds, ft as setAddonEnabled, q as composeStop, zt as createLogger } from \"./src.js\";\nimport { l as resetState } from \"./endpoints.js\";\n//#region src/lib/server/addon-helpers.ts\n/**\n* Shared addon enable/disable logic for admin route handlers.\n*\n* Both /admin/addons and /admin/addons/:name share the same POST flow:\n* validate → stop running services if disabling → mutate state → audit.\n* This module houses the shared mutation step so neither route duplicates it.\n*/\nvar logger = createLogger(\"addon-helpers\");\n/**\n* Stop running services if disabling, then call setAddonEnabled.\n* Returns the mutation result with the final enabled state.\n*/\nasync function performAddonToggle(state, name, requestedEnabled, requestId) {\n\tconst wasEnabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tconst nextEnabled = requestedEnabled !== void 0 ? requestedEnabled : wasEnabled;\n\tif (!nextEnabled && wasEnabled) {\n\t\tconst serviceNames = getAddonServiceNames(state.homeDir, name);\n\t\tif (serviceNames.length > 0) {\n\t\t\tif ((await checkDocker()).ok) try {\n\t\t\t\tawait composeStop(serviceNames, buildComposeOptions(state));\n\t\t\t\tlogger.info(\"stopped addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tlogger.warn(\"failed to stop addon services before disable\", {\n\t\t\t\t\tname,\n\t\t\t\t\tservices: serviceNames,\n\t\t\t\t\terror: String(err),\n\t\t\t\t\trequestId\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\tconst mutation = setAddonEnabled(state.homeDir, state.stackDir, name, nextEnabled, state);\n\tif (!mutation.ok) return mutation;\n\tif (mutation.changed) resetState();\n\treturn {\n\t\tok: true,\n\t\tenabled: listEnabledAddonIds(state.homeDir).includes(name),\n\t\tchanged: mutation.changed\n\t};\n}\n//#endregion\nexport { performAddonToggle as t };\n"],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AAC1C;AACA;AACA;AACA;AACA,eAAe,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE;AAC5E,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AACrE,CAAC,MAAM,WAAW,GAAG,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,GAAG,UAAU;AAChF,CAAC,IAAI,CAAC,WAAW,IAAI,UAAU,EAAE;AACjC,EAAE,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AAChE,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,GAAG,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI;AACrC,IAAI,MAAM,WAAW,CAAC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;AACzD,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK;AACL,KAAK,CAAC;AACN,GAAG,CAAC,CAAC,OAAO,GAAG,EAAE;AACjB,IAAI,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;AAChE,KAAK,IAAI;AACT,KAAK,QAAQ,EAAE,YAAY;AAC3B,KAAK,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;AACvB,KAAK;AACL,KAAK,CAAC;AACN,GAAG;AACH,EAAE;AACF,CAAC;AACD,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC;AAC1F,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,QAAQ;AAClC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE;AACnC,CAAC,OAAO;AACR,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5D,EAAE,OAAO,EAAE,QAAQ,CAAC;AACpB,EAAE;AACF;;;;"}