@openpalm/ui 0.11.0-rc.2 → 0.11.0-rc.3

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 (285) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/0.BoT18krG.css +1 -0
  3. package/build/client/_app/immutable/assets/0.BoT18krG.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.BoT18krG.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/AuthGate.DKS99Rrq.css +1 -0
  6. package/build/client/_app/immutable/assets/AuthGate.DKS99Rrq.css.br +0 -0
  7. package/build/client/_app/immutable/assets/AuthGate.DKS99Rrq.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{ak2ISc8B.js → BH5NAaCV.js} +1 -1
  9. package/build/client/_app/immutable/chunks/BH5NAaCV.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/BH5NAaCV.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/CF3TKiGr.js +5 -0
  12. package/build/client/_app/immutable/chunks/CF3TKiGr.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/CF3TKiGr.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/DXseS2Vw.js +1 -0
  15. package/build/client/_app/immutable/chunks/DXseS2Vw.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/DXseS2Vw.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{CzXGhlNF.js → DtBQ-3uX.js} +1 -1
  18. package/build/client/_app/immutable/chunks/DtBQ-3uX.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/DtBQ-3uX.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/{app.C_eSlUyi.js → app.D0MBBfeD.js} +2 -2
  21. package/build/client/_app/immutable/entry/app.D0MBBfeD.js.br +0 -0
  22. package/build/client/_app/immutable/entry/app.D0MBBfeD.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/start.CG9MKItr.js +1 -0
  24. package/build/client/_app/immutable/entry/start.CG9MKItr.js.br +0 -0
  25. package/build/client/_app/immutable/entry/start.CG9MKItr.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/0.C-6HAZZl.js +1 -0
  27. package/build/client/_app/immutable/nodes/0.C-6HAZZl.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/0.C-6HAZZl.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{1.qjZsjpWC.js → 1.BL-nh2RB.js} +1 -1
  30. package/build/client/_app/immutable/nodes/1.BL-nh2RB.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/1.BL-nh2RB.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/4.DVARHw9M.js +19 -0
  33. package/build/client/_app/immutable/nodes/4.DVARHw9M.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/4.DVARHw9M.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{5.ChSoAFFd.js → 5.BqSl_ppl.js} +1 -1
  36. package/build/client/_app/immutable/nodes/5.BqSl_ppl.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/5.BqSl_ppl.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{6.BRG0vYmH.js → 6.75q8hd55.js} +1 -1
  39. package/build/client/_app/immutable/nodes/6.75q8hd55.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/6.75q8hd55.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{7.BVvy1f_p.js → 7.CJwMJZue.js} +1 -1
  42. package/build/client/_app/immutable/nodes/7.CJwMJZue.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/7.CJwMJZue.js.gz +0 -0
  44. package/build/client/_app/version.json +1 -1
  45. package/build/client/_app/version.json.br +0 -0
  46. package/build/client/_app/version.json.gz +0 -0
  47. package/build/server/chunks/{0-Dk6RRhi2.js → 0-BSfigTUQ.js} +4 -4
  48. package/build/server/chunks/{0-Dk6RRhi2.js.map → 0-BSfigTUQ.js.map} +1 -1
  49. package/build/server/chunks/1-CMQKOdKD.js +9 -0
  50. package/build/server/chunks/{1-CWcY3PRs.js.map → 1-CMQKOdKD.js.map} +1 -1
  51. package/build/server/chunks/4-DLPu7Zn2.js +9 -0
  52. package/build/server/chunks/{4-DeAt_mYc.js.map → 4-DLPu7Zn2.js.map} +1 -1
  53. package/build/server/chunks/5-D2qJw2oW.js +9 -0
  54. package/build/server/chunks/{5-qTXiNPEM.js.map → 5-D2qJw2oW.js.map} +1 -1
  55. package/build/server/chunks/6-Dtj1x2xS.js +9 -0
  56. package/build/server/chunks/{6-C444Mr69.js.map → 6-Dtj1x2xS.js.map} +1 -1
  57. package/build/server/chunks/7-DmB_gD85.js +9 -0
  58. package/build/server/chunks/{7-Dg_sVly5.js.map → 7-DmB_gD85.js.map} +1 -1
  59. package/build/server/chunks/{AuthGate-keg7G6rX.js → AuthGate-DCzipUOa.js} +23 -4
  60. package/build/server/chunks/AuthGate-DCzipUOa.js.map +1 -0
  61. package/build/server/chunks/{_layout.svelte-BNWepgTx.js → _layout.svelte-CWc5uRoo.js} +11 -9
  62. package/build/server/chunks/{_layout.svelte-BNWepgTx.js.map → _layout.svelte-CWc5uRoo.js.map} +1 -1
  63. package/build/server/chunks/{_page.svelte-CtX_8pMq.js → _page.svelte-B9uFpwlC.js} +6 -6
  64. package/build/server/chunks/{_page.svelte-CtX_8pMq.js.map → _page.svelte-B9uFpwlC.js.map} +1 -1
  65. package/build/server/chunks/{_page.svelte-BiKY57wg.js → _page.svelte-CLlVK06N.js} +32 -18
  66. package/build/server/chunks/_page.svelte-CLlVK06N.js.map +1 -0
  67. package/build/server/chunks/{_page.svelte-DwMiUmq6.js → _page.svelte-CXnzFLVM.js} +6 -6
  68. package/build/server/chunks/{_page.svelte-DwMiUmq6.js.map → _page.svelte-CXnzFLVM.js.map} +1 -1
  69. package/build/server/chunks/{_page.svelte-BdYSYjmj.js → _page.svelte-D6iSQwSa.js} +6 -6
  70. package/build/server/chunks/{_page.svelte-BdYSYjmj.js.map → _page.svelte-D6iSQwSa.js.map} +1 -1
  71. package/build/server/chunks/{_server.ts-DwXd92Ow.js → _server.ts--lBTTJTc.js} +5 -5
  72. package/build/server/chunks/{_server.ts-DwXd92Ow.js.map → _server.ts--lBTTJTc.js.map} +1 -1
  73. package/build/server/chunks/{_server.ts-l_HoZ2_I.js → _server.ts-3Q27Je1p.js} +4 -4
  74. package/build/server/chunks/{_server.ts-l_HoZ2_I.js.map → _server.ts-3Q27Je1p.js.map} +1 -1
  75. package/build/server/chunks/{_server.ts-DsEzCr9k.js → _server.ts-4KkJ4SW0.js} +4 -4
  76. package/build/server/chunks/{_server.ts-DsEzCr9k.js.map → _server.ts-4KkJ4SW0.js.map} +1 -1
  77. package/build/server/chunks/{_server.ts-CHVs0yya.js → _server.ts-8W7d7SoL.js} +4 -4
  78. package/build/server/chunks/{_server.ts-CHVs0yya.js.map → _server.ts-8W7d7SoL.js.map} +1 -1
  79. package/build/server/chunks/{_server.ts-CGqrfNlv.js → _server.ts-9rxck4Bq.js} +4 -4
  80. package/build/server/chunks/{_server.ts-CGqrfNlv.js.map → _server.ts-9rxck4Bq.js.map} +1 -1
  81. package/build/server/chunks/{_server.ts-WbY7XmtT.js → _server.ts-B0Fde1SO.js} +6 -6
  82. package/build/server/chunks/{_server.ts-WbY7XmtT.js.map → _server.ts-B0Fde1SO.js.map} +1 -1
  83. package/build/server/chunks/{_server.ts-BEeaI665.js → _server.ts-B1F39kvX.js} +4 -4
  84. package/build/server/chunks/{_server.ts-BEeaI665.js.map → _server.ts-B1F39kvX.js.map} +1 -1
  85. package/build/server/chunks/{_server.ts-0FuXkx70.js → _server.ts-B3IxKvYj.js} +4 -4
  86. package/build/server/chunks/{_server.ts-0FuXkx70.js.map → _server.ts-B3IxKvYj.js.map} +1 -1
  87. package/build/server/chunks/{_server.ts-CWwgmo8z.js → _server.ts-BDRe9Abk.js} +2 -2
  88. package/build/server/chunks/{_server.ts-CWwgmo8z.js.map → _server.ts-BDRe9Abk.js.map} +1 -1
  89. package/build/server/chunks/{_server.ts-CS73tiTY.js → _server.ts-BG1Q5Cg7.js} +4 -4
  90. package/build/server/chunks/{_server.ts-CS73tiTY.js.map → _server.ts-BG1Q5Cg7.js.map} +1 -1
  91. package/build/server/chunks/{_server.ts-Ci-q0BiD.js → _server.ts-BGOf6ZAe.js} +4 -4
  92. package/build/server/chunks/{_server.ts-Ci-q0BiD.js.map → _server.ts-BGOf6ZAe.js.map} +1 -1
  93. package/build/server/chunks/{_server.ts-JItoNB1Z.js → _server.ts-BGo79CrH.js} +5 -6
  94. package/build/server/chunks/_server.ts-BGo79CrH.js.map +1 -0
  95. package/build/server/chunks/{_server.ts-ByyRcwFy.js → _server.ts-BHY6pU_t.js} +4 -4
  96. package/build/server/chunks/{_server.ts-ByyRcwFy.js.map → _server.ts-BHY6pU_t.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-BDBJ6fxs.js → _server.ts-BKUT0g1w.js} +4 -4
  98. package/build/server/chunks/{_server.ts-BDBJ6fxs.js.map → _server.ts-BKUT0g1w.js.map} +1 -1
  99. package/build/server/chunks/{_server.ts-CGwYZUuw.js → _server.ts-BMxPCfPF.js} +4 -4
  100. package/build/server/chunks/{_server.ts-CGwYZUuw.js.map → _server.ts-BMxPCfPF.js.map} +1 -1
  101. package/build/server/chunks/{_server.ts-DffjWMNC.js → _server.ts-BOZ6j_Dh.js} +4 -4
  102. package/build/server/chunks/{_server.ts-DffjWMNC.js.map → _server.ts-BOZ6j_Dh.js.map} +1 -1
  103. package/build/server/chunks/{_server.ts-BdnJF23z.js → _server.ts-BOZd9IEG.js} +4 -4
  104. package/build/server/chunks/{_server.ts-BdnJF23z.js.map → _server.ts-BOZd9IEG.js.map} +1 -1
  105. package/build/server/chunks/{_server.ts-CD6LeslU.js → _server.ts-BQIKbZE5.js} +4 -4
  106. package/build/server/chunks/{_server.ts-CD6LeslU.js.map → _server.ts-BQIKbZE5.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-BjiyoKWK.js → _server.ts-BQuqaIiA.js} +4 -4
  108. package/build/server/chunks/{_server.ts-BjiyoKWK.js.map → _server.ts-BQuqaIiA.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-Di-8UJYw.js → _server.ts-BR50MxK6.js} +4 -4
  110. package/build/server/chunks/{_server.ts-Di-8UJYw.js.map → _server.ts-BR50MxK6.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-Bq2dkWvj.js → _server.ts-BX6vXBw6.js} +4 -4
  112. package/build/server/chunks/{_server.ts-Bq2dkWvj.js.map → _server.ts-BX6vXBw6.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-KpT_vKKo.js → _server.ts-BY8Bwuii.js} +5 -5
  114. package/build/server/chunks/{_server.ts-KpT_vKKo.js.map → _server.ts-BY8Bwuii.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-D1cb1hmF.js → _server.ts-BZ-j5EzC.js} +4 -4
  116. package/build/server/chunks/{_server.ts-D1cb1hmF.js.map → _server.ts-BZ-j5EzC.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-Yy0BWsSd.js → _server.ts-BaVWFrdS.js} +4 -4
  118. package/build/server/chunks/{_server.ts-Yy0BWsSd.js.map → _server.ts-BaVWFrdS.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-BnEeEd9g.js → _server.ts-BbgQGbyq.js} +4 -4
  120. package/build/server/chunks/{_server.ts-BnEeEd9g.js.map → _server.ts-BbgQGbyq.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-Br16AqpO.js → _server.ts-BgsLpMRV.js} +6 -6
  122. package/build/server/chunks/{_server.ts-Br16AqpO.js.map → _server.ts-BgsLpMRV.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-DXNJ2LJu.js → _server.ts-BgvH4tTI.js} +4 -4
  124. package/build/server/chunks/{_server.ts-DXNJ2LJu.js.map → _server.ts-BgvH4tTI.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-Btbzy89u.js → _server.ts-BmanVk6i.js} +2 -2
  126. package/build/server/chunks/{_server.ts-Btbzy89u.js.map → _server.ts-BmanVk6i.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-C_kseo_y.js → _server.ts-ByWgyQWs.js} +4 -4
  128. package/build/server/chunks/{_server.ts-C_kseo_y.js.map → _server.ts-ByWgyQWs.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-Bhh33s6N.js → _server.ts-C-Elv1Q4.js} +2 -2
  130. package/build/server/chunks/{_server.ts-Bhh33s6N.js.map → _server.ts-C-Elv1Q4.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-BxPYakCb.js → _server.ts-C2ePDxiK.js} +2 -2
  132. package/build/server/chunks/{_server.ts-BxPYakCb.js.map → _server.ts-C2ePDxiK.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-D33gvU5B.js → _server.ts-C5dSIi-F.js} +5 -5
  134. package/build/server/chunks/{_server.ts-D33gvU5B.js.map → _server.ts-C5dSIi-F.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-BudQlGOx.js → _server.ts-CMXy3OdG.js} +4 -4
  136. package/build/server/chunks/{_server.ts-BudQlGOx.js.map → _server.ts-CMXy3OdG.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-CMEY6oQe.js → _server.ts-CQL1JlrR.js} +4 -4
  138. package/build/server/chunks/{_server.ts-CMEY6oQe.js.map → _server.ts-CQL1JlrR.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-C7rtn3mH.js → _server.ts-CT_87l-n.js} +4 -4
  140. package/build/server/chunks/{_server.ts-C7rtn3mH.js.map → _server.ts-CT_87l-n.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-BM4QuGQf.js → _server.ts-CUJncs7u.js} +4 -4
  142. package/build/server/chunks/{_server.ts-BM4QuGQf.js.map → _server.ts-CUJncs7u.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-DHXmcRrP.js → _server.ts-CUYnnr4e.js} +4 -4
  144. package/build/server/chunks/{_server.ts-DHXmcRrP.js.map → _server.ts-CUYnnr4e.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-D-UAqhor.js → _server.ts-CXxVw4DS.js} +4 -4
  146. package/build/server/chunks/{_server.ts-D-UAqhor.js.map → _server.ts-CXxVw4DS.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-DwjjO7L5.js → _server.ts-CZNebjxj.js} +4 -4
  148. package/build/server/chunks/{_server.ts-DwjjO7L5.js.map → _server.ts-CZNebjxj.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-CyFZ9OZQ.js → _server.ts-CZtZD9XA.js} +4 -4
  150. package/build/server/chunks/{_server.ts-CyFZ9OZQ.js.map → _server.ts-CZtZD9XA.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-HxcM6xQA.js → _server.ts-CjD_N1lk.js} +4 -4
  152. package/build/server/chunks/{_server.ts-HxcM6xQA.js.map → _server.ts-CjD_N1lk.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-BiSuK8jN.js → _server.ts-CqaBfyP8.js} +2 -2
  154. package/build/server/chunks/{_server.ts-BiSuK8jN.js.map → _server.ts-CqaBfyP8.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-B0N2Nj7L.js → _server.ts-Cx5w0uV8.js} +4 -4
  156. package/build/server/chunks/{_server.ts-B0N2Nj7L.js.map → _server.ts-Cx5w0uV8.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-b9yNYKW6.js → _server.ts-D0VWz3Eu.js} +4 -4
  158. package/build/server/chunks/{_server.ts-b9yNYKW6.js.map → _server.ts-D0VWz3Eu.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-hMTx0DC3.js → _server.ts-D79sBzeS.js} +4 -4
  160. package/build/server/chunks/{_server.ts-hMTx0DC3.js.map → _server.ts-D79sBzeS.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-DQxY-pHZ.js → _server.ts-DDw-3STN.js} +4 -4
  162. package/build/server/chunks/{_server.ts-DQxY-pHZ.js.map → _server.ts-DDw-3STN.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-CboRRTK1.js → _server.ts-DG8rrhwk.js} +5 -5
  164. package/build/server/chunks/{_server.ts-CboRRTK1.js.map → _server.ts-DG8rrhwk.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-BV-6Mum8.js → _server.ts-DHvirvMi.js} +4 -4
  166. package/build/server/chunks/{_server.ts-BV-6Mum8.js.map → _server.ts-DHvirvMi.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-DyEbcQS0.js → _server.ts-DQFt8uqd.js} +4 -4
  168. package/build/server/chunks/{_server.ts-DyEbcQS0.js.map → _server.ts-DQFt8uqd.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-Cbk-UThV.js → _server.ts-DRITlKJZ.js} +5 -5
  170. package/build/server/chunks/{_server.ts-Cbk-UThV.js.map → _server.ts-DRITlKJZ.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-DDwiNChJ.js → _server.ts-DUIcweGe.js} +4 -4
  172. package/build/server/chunks/{_server.ts-DDwiNChJ.js.map → _server.ts-DUIcweGe.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-Cy36-qGT.js → _server.ts-DVcfUcfK.js} +4 -4
  174. package/build/server/chunks/{_server.ts-Cy36-qGT.js.map → _server.ts-DVcfUcfK.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-Dbly1Fe-.js → _server.ts-DXZGlkbn.js} +5 -5
  176. package/build/server/chunks/{_server.ts-Dbly1Fe-.js.map → _server.ts-DXZGlkbn.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-5Q0J3F4-.js → _server.ts-DXkkp8dY.js} +4 -4
  178. package/build/server/chunks/{_server.ts-5Q0J3F4-.js.map → _server.ts-DXkkp8dY.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-uWfb47S6.js → _server.ts-DfGAcelA.js} +6 -6
  180. package/build/server/chunks/{_server.ts-uWfb47S6.js.map → _server.ts-DfGAcelA.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-CDlWxA5S.js → _server.ts-DhZYsdNy.js} +4 -4
  182. package/build/server/chunks/{_server.ts-CDlWxA5S.js.map → _server.ts-DhZYsdNy.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-C88qd-ju.js → _server.ts-DlAVNe3N.js} +3 -3
  184. package/build/server/chunks/{_server.ts-C88qd-ju.js.map → _server.ts-DlAVNe3N.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-cwRl-tZ-.js → _server.ts-DtxwCTTn.js} +4 -4
  186. package/build/server/chunks/{_server.ts-cwRl-tZ-.js.map → _server.ts-DtxwCTTn.js.map} +1 -1
  187. package/build/server/chunks/_server.ts-E0fukP1O.js +82 -0
  188. package/build/server/chunks/_server.ts-E0fukP1O.js.map +1 -0
  189. package/build/server/chunks/{_server.ts-CXzZeGlQ.js → _server.ts-EQcQPIxU.js} +4 -4
  190. package/build/server/chunks/{_server.ts-CXzZeGlQ.js.map → _server.ts-EQcQPIxU.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-Cn7ahHlk.js → _server.ts-GPzYT0sb.js} +4 -4
  192. package/build/server/chunks/{_server.ts-Cn7ahHlk.js.map → _server.ts-GPzYT0sb.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-CgD8-EFl.js → _server.ts-I35XVwCd.js} +5 -5
  194. package/build/server/chunks/{_server.ts-CgD8-EFl.js.map → _server.ts-I35XVwCd.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-AQe1PIYE.js → _server.ts-PxpDZztC.js} +4 -4
  196. package/build/server/chunks/{_server.ts-AQe1PIYE.js.map → _server.ts-PxpDZztC.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-AJk0xBLJ.js → _server.ts-RXSRu6ve.js} +4 -4
  198. package/build/server/chunks/{_server.ts-AJk0xBLJ.js.map → _server.ts-RXSRu6ve.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-DEnxvwcJ.js → _server.ts-Z9Mn2O3V.js} +4 -4
  200. package/build/server/chunks/{_server.ts-DEnxvwcJ.js.map → _server.ts-Z9Mn2O3V.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-BsZrddQT.js → _server.ts-aEcRsOln.js} +6 -6
  202. package/build/server/chunks/{_server.ts-BsZrddQT.js.map → _server.ts-aEcRsOln.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-Bfy4RFhe.js → _server.ts-g6AfW6Yv.js} +4 -4
  204. package/build/server/chunks/{_server.ts-Bfy4RFhe.js.map → _server.ts-g6AfW6Yv.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-bAJXjaCc.js → _server.ts-kjqHYD8N.js} +4 -4
  206. package/build/server/chunks/{_server.ts-bAJXjaCc.js.map → _server.ts-kjqHYD8N.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-BSIZMZVn.js → _server.ts-lKesIiS8.js} +4 -4
  208. package/build/server/chunks/{_server.ts-BSIZMZVn.js.map → _server.ts-lKesIiS8.js.map} +1 -1
  209. package/build/server/chunks/{addon-helpers-Bnj3aKJ2.js → addon-helpers-8efgpHMX.js} +2 -2
  210. package/build/server/chunks/{addon-helpers-Bnj3aKJ2.js.map → addon-helpers-8efgpHMX.js.map} +1 -1
  211. package/build/server/chunks/{config-CEYPfvQh.js → config-1dyh_9h4.js} +2 -2
  212. package/build/server/chunks/{config-CEYPfvQh.js.map → config-1dyh_9h4.js.map} +1 -1
  213. package/build/server/chunks/{docker-sGFTjRfy.js → docker-DggffvOl.js} +2 -2
  214. package/build/server/chunks/{docker-sGFTjRfy.js.map → docker-DggffvOl.js.map} +1 -1
  215. package/build/server/chunks/{endpoints-L7Wjvq44.js → endpoints-kaPFORka.js} +2 -2
  216. package/build/server/chunks/{endpoints-L7Wjvq44.js.map → endpoints-kaPFORka.js.map} +1 -1
  217. package/build/server/chunks/{environment-BnT49Gi3.js → environment-9I43EDnv.js} +2 -2
  218. package/build/server/chunks/{environment-BnT49Gi3.js.map → environment-9I43EDnv.js.map} +1 -1
  219. package/build/server/chunks/{error.svelte-PJnhZZCy.js → error.svelte-BhAtOJnJ.js} +3 -3
  220. package/build/server/chunks/{error.svelte-PJnhZZCy.js.map → error.svelte-BhAtOJnJ.js.map} +1 -1
  221. package/build/server/chunks/{helpers-5jd3ccud.js → helpers-B8h4zchW.js} +3 -3
  222. package/build/server/chunks/{helpers-5jd3ccud.js.map → helpers-B8h4zchW.js.map} +1 -1
  223. package/build/server/chunks/{hooks.server-Al9-eO5K.js → hooks.server-DERyGNuF.js} +4 -4
  224. package/build/server/chunks/{hooks.server-Al9-eO5K.js.map → hooks.server-DERyGNuF.js.map} +1 -1
  225. package/build/server/chunks/{http-D5xo_m60.js → http-8UL6GfDM.js} +2 -2
  226. package/build/server/chunks/{http-D5xo_m60.js.map → http-8UL6GfDM.js.map} +1 -1
  227. package/build/server/chunks/{internal-CJBOAkaQ.js → internal-CGO6-n-l.js} +4 -4
  228. package/build/server/chunks/{internal-CJBOAkaQ.js.map → internal-CGO6-n-l.js.map} +1 -1
  229. package/build/server/chunks/{setup-deploy-UKTSVAC0.js → setup-deploy-M7it9qqu.js} +2 -2
  230. package/build/server/chunks/{setup-deploy-UKTSVAC0.js.map → setup-deploy-M7it9qqu.js.map} +1 -1
  231. package/build/server/chunks/{src-FpMyngcw.js → src-BsgfqG_-.js} +24 -9
  232. package/build/server/chunks/src-BsgfqG_-.js.map +1 -0
  233. package/build/server/chunks/{state-BI-lJPhE.js → state-CxWVaiQ-.js} +2 -2
  234. package/build/server/chunks/{state-BI-lJPhE.js.map → state-CxWVaiQ-.js.map} +1 -1
  235. package/build/server/chunks/{voice-state.svelte-CQp8u0bn.js → theme-state.svelte-wqhXqgCA.js} +100 -2
  236. package/build/server/chunks/theme-state.svelte-wqhXqgCA.js.map +1 -0
  237. package/build/server/index.js +2 -2
  238. package/build/server/manifest.js +82 -75
  239. package/build/server/manifest.js.map +1 -1
  240. package/package.json +1 -1
  241. package/build/client/_app/immutable/assets/0.BK7X4bPu.css +0 -1
  242. package/build/client/_app/immutable/assets/0.BK7X4bPu.css.br +0 -0
  243. package/build/client/_app/immutable/assets/0.BK7X4bPu.css.gz +0 -0
  244. package/build/client/_app/immutable/assets/AuthGate.BtJV-xXj.css +0 -1
  245. package/build/client/_app/immutable/assets/AuthGate.BtJV-xXj.css.br +0 -0
  246. package/build/client/_app/immutable/assets/AuthGate.BtJV-xXj.css.gz +0 -0
  247. package/build/client/_app/immutable/chunks/C8qMxft1.js +0 -1
  248. package/build/client/_app/immutable/chunks/C8qMxft1.js.br +0 -0
  249. package/build/client/_app/immutable/chunks/C8qMxft1.js.gz +0 -0
  250. package/build/client/_app/immutable/chunks/CzXGhlNF.js.br +0 -0
  251. package/build/client/_app/immutable/chunks/CzXGhlNF.js.gz +0 -0
  252. package/build/client/_app/immutable/chunks/DYskO3Sk.js +0 -5
  253. package/build/client/_app/immutable/chunks/DYskO3Sk.js.br +0 -0
  254. package/build/client/_app/immutable/chunks/DYskO3Sk.js.gz +0 -0
  255. package/build/client/_app/immutable/chunks/ak2ISc8B.js.br +0 -0
  256. package/build/client/_app/immutable/chunks/ak2ISc8B.js.gz +0 -0
  257. package/build/client/_app/immutable/entry/app.C_eSlUyi.js.br +0 -0
  258. package/build/client/_app/immutable/entry/app.C_eSlUyi.js.gz +0 -0
  259. package/build/client/_app/immutable/entry/start.BAta_Cih.js +0 -1
  260. package/build/client/_app/immutable/entry/start.BAta_Cih.js.br +0 -0
  261. package/build/client/_app/immutable/entry/start.BAta_Cih.js.gz +0 -0
  262. package/build/client/_app/immutable/nodes/0.Bi_of0So.js +0 -1
  263. package/build/client/_app/immutable/nodes/0.Bi_of0So.js.br +0 -0
  264. package/build/client/_app/immutable/nodes/0.Bi_of0So.js.gz +0 -0
  265. package/build/client/_app/immutable/nodes/1.qjZsjpWC.js.br +0 -0
  266. package/build/client/_app/immutable/nodes/1.qjZsjpWC.js.gz +0 -0
  267. package/build/client/_app/immutable/nodes/4.BYtA2xx-.js +0 -19
  268. package/build/client/_app/immutable/nodes/4.BYtA2xx-.js.br +0 -0
  269. package/build/client/_app/immutable/nodes/4.BYtA2xx-.js.gz +0 -0
  270. package/build/client/_app/immutable/nodes/5.ChSoAFFd.js.br +0 -0
  271. package/build/client/_app/immutable/nodes/5.ChSoAFFd.js.gz +0 -0
  272. package/build/client/_app/immutable/nodes/6.BRG0vYmH.js.br +0 -0
  273. package/build/client/_app/immutable/nodes/6.BRG0vYmH.js.gz +0 -0
  274. package/build/client/_app/immutable/nodes/7.BVvy1f_p.js.br +0 -0
  275. package/build/client/_app/immutable/nodes/7.BVvy1f_p.js.gz +0 -0
  276. package/build/server/chunks/1-CWcY3PRs.js +0 -9
  277. package/build/server/chunks/4-DeAt_mYc.js +0 -9
  278. package/build/server/chunks/5-qTXiNPEM.js +0 -9
  279. package/build/server/chunks/6-C444Mr69.js +0 -9
  280. package/build/server/chunks/7-Dg_sVly5.js +0 -9
  281. package/build/server/chunks/AuthGate-keg7G6rX.js.map +0 -1
  282. package/build/server/chunks/_page.svelte-BiKY57wg.js.map +0 -1
  283. package/build/server/chunks/_server.ts-JItoNB1Z.js.map +0 -1
  284. package/build/server/chunks/src-FpMyngcw.js.map +0 -1
  285. package/build/server/chunks/voice-state.svelte-CQp8u0bn.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-DwMiUmq6.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/endpoints/_page.svelte.js"],"sourcesContent":["import { B as attr, V as escape_html, a as ensure_array_like, i as derived, n as attr_class, o as head } from \"../../../../chunks/dev.js\";\nimport \"../../../../chunks/index-server.js\";\nimport { n as Navbar, r as endpointsService, t as AuthGate } from \"../../../../chunks/AuthGate.js\";\n//#region src/routes/admin/endpoints/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet authLocked = true;\n\t\tlet authLoading = false;\n\t\tlet authError = \"\";\n\t\tlet deletingId = null;\n\t\tconst endpoints = derived(() => endpointsService.endpoints);\n\t\tconst active = derived(() => endpointsService.active);\n\t\tasync function handleAuthSuccess(token) {\n\t\t\tif (authLoading) return false;\n\t\t\tauthLoading = true;\n\t\t\tauthError = \"\";\n\t\t\ttry {\n\t\t\t\tif (!(await fetch(\"/admin/auth/login\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({ password: token }),\n\t\t\t\t\tcredentials: \"include\"\n\t\t\t\t})).ok) {\n\t\t\t\t\tauthError = \"Invalid password.\";\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tauthLocked = false;\n\t\t\t\tawait endpointsService.load(true);\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\tauthError = \"Unable to reach admin API.\";\n\t\t\t\treturn false;\n\t\t\t} finally {\n\t\t\t\tauthLoading = false;\n\t\t\t}\n\t\t}\n\t\thead(\"m7qpzt\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Assistant Endpoints — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tif (authLocked) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tAuthGate($$renderer, {\n\t\t\t\tonSuccess: handleAuthSuccess,\n\t\t\t\tloading: authLoading,\n\t\t\t\terror: authError\n\t\t\t});\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tNavbar($$renderer, {});\n\t\t\t$$renderer.push(`<!----> <main class=\"page svelte-m7qpzt\"><header class=\"page-header svelte-m7qpzt\"><h1 class=\"svelte-m7qpzt\">Assistant Endpoints</h1> <p class=\"lede svelte-m7qpzt\">Connect to local or remote OpenPalm assistants. The <strong>Default</strong> entry comes\n from the environment (set by the launcher) and cannot be deleted. Add more endpoints to\n switch between stacks at any time.</p></header> `);\n\t\t\tif (endpointsService.error) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"alert error svelte-m7qpzt\" role=\"alert\">${escape_html(endpointsService.error)}</div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <section class=\"endpoints-list svelte-m7qpzt\" aria-label=\"Configured endpoints\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(endpoints());\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet ep = each_array[$$index];\n\t\t\t\t$$renderer.push(`<article${attr_class(\"endpoint-card svelte-m7qpzt\", void 0, { \"active\": ep.id === active()?.id })}><div class=\"endpoint-main svelte-m7qpzt\"><div class=\"endpoint-title svelte-m7qpzt\"><span class=\"endpoint-label svelte-m7qpzt\">${escape_html(ep.label)}</span> `);\n\t\t\t\tif (ep.isDefault) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"badge default svelte-m7qpzt\">Default</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (ep.id === active()?.id) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"badge active svelte-m7qpzt\">Active</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (ep.hasPassword) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"badge password svelte-m7qpzt\" title=\"Server password configured\">🔒</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div> <div class=\"endpoint-url svelte-m7qpzt\">${escape_html(ep.url)}</div></div> <div class=\"endpoint-actions svelte-m7qpzt\">`);\n\t\t\t\tif (ep.id !== active()?.id) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-primary btn-sm\">Use this</button>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (!ep.isDefault) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-secondary btn-sm\">Edit</button> <button type=\"button\" class=\"btn btn-danger btn-sm svelte-m7qpzt\"${attr(\"disabled\", deletingId === ep.id, true)}>${escape_html(deletingId === ep.id ? \"Removing…\" : \"Remove\")}</button>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div></article>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></section> `);\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-primary\">+ Add endpoint</button>`);\n\t\t\t$$renderer.push(`<!--]--></main>`);\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_page.svelte-CXnzFLVM.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/admin/endpoints/_page.svelte.js"],"sourcesContent":["import { B as attr, V as escape_html, a as ensure_array_like, i as derived, n as attr_class, o as head } from \"../../../../chunks/dev.js\";\nimport \"../../../../chunks/index-server.js\";\nimport { n as Navbar, r as endpointsService, t as AuthGate } from \"../../../../chunks/AuthGate.js\";\n//#region src/routes/admin/endpoints/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet authLocked = true;\n\t\tlet authLoading = false;\n\t\tlet authError = \"\";\n\t\tlet deletingId = null;\n\t\tconst endpoints = derived(() => endpointsService.endpoints);\n\t\tconst active = derived(() => endpointsService.active);\n\t\tasync function handleAuthSuccess(token) {\n\t\t\tif (authLoading) return false;\n\t\t\tauthLoading = true;\n\t\t\tauthError = \"\";\n\t\t\ttry {\n\t\t\t\tif (!(await fetch(\"/admin/auth/login\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({ password: token }),\n\t\t\t\t\tcredentials: \"include\"\n\t\t\t\t})).ok) {\n\t\t\t\t\tauthError = \"Invalid password.\";\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tauthLocked = false;\n\t\t\t\tawait endpointsService.load(true);\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\tauthError = \"Unable to reach admin API.\";\n\t\t\t\treturn false;\n\t\t\t} finally {\n\t\t\t\tauthLoading = false;\n\t\t\t}\n\t\t}\n\t\thead(\"m7qpzt\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Assistant Endpoints — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tif (authLocked) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tAuthGate($$renderer, {\n\t\t\t\tonSuccess: handleAuthSuccess,\n\t\t\t\tloading: authLoading,\n\t\t\t\terror: authError\n\t\t\t});\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tNavbar($$renderer, {});\n\t\t\t$$renderer.push(`<!----> <main class=\"page svelte-m7qpzt\"><header class=\"page-header svelte-m7qpzt\"><h1 class=\"svelte-m7qpzt\">Assistant Endpoints</h1> <p class=\"lede svelte-m7qpzt\">Connect to local or remote OpenPalm assistants. The <strong>Default</strong> entry comes\n from the environment (set by the launcher) and cannot be deleted. Add more endpoints to\n switch between stacks at any time.</p></header> `);\n\t\t\tif (endpointsService.error) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"alert error svelte-m7qpzt\" role=\"alert\">${escape_html(endpointsService.error)}</div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <section class=\"endpoints-list svelte-m7qpzt\" aria-label=\"Configured endpoints\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(endpoints());\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet ep = each_array[$$index];\n\t\t\t\t$$renderer.push(`<article${attr_class(\"endpoint-card svelte-m7qpzt\", void 0, { \"active\": ep.id === active()?.id })}><div class=\"endpoint-main svelte-m7qpzt\"><div class=\"endpoint-title svelte-m7qpzt\"><span class=\"endpoint-label svelte-m7qpzt\">${escape_html(ep.label)}</span> `);\n\t\t\t\tif (ep.isDefault) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"badge default svelte-m7qpzt\">Default</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (ep.id === active()?.id) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"badge active svelte-m7qpzt\">Active</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (ep.hasPassword) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"badge password svelte-m7qpzt\" title=\"Server password configured\">🔒</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div> <div class=\"endpoint-url svelte-m7qpzt\">${escape_html(ep.url)}</div></div> <div class=\"endpoint-actions svelte-m7qpzt\">`);\n\t\t\t\tif (ep.id !== active()?.id) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-primary btn-sm\">Use this</button>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (!ep.isDefault) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-secondary btn-sm\">Edit</button> <button type=\"button\" class=\"btn btn-danger btn-sm svelte-m7qpzt\"${attr(\"disabled\", deletingId === ep.id, true)}>${escape_html(deletingId === ep.id ? \"Removing…\" : \"Remove\")}</button>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div></article>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></section> `);\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-primary\">+ Add endpoint</button>`);\n\t\t\t$$renderer.push(`<!--]--></main>`);\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { B as head, d as attr, m as derived } from './dev-DjANv7AF.js';
2
2
  import 'node:module';
3
- import { A as AuthGate, e as endpointsService, N as Navbar } from './AuthGate-keg7G6rX.js';
4
- import './environment-BnT49Gi3.js';
5
- import './state-BI-lJPhE.js';
6
- import './internal-CJBOAkaQ.js';
3
+ import { A as AuthGate, e as endpointsService, N as Navbar } from './AuthGate-DCzipUOa.js';
4
+ import './environment-9I43EDnv.js';
5
+ import './state-CxWVaiQ-.js';
6
+ import './internal-CGO6-n-l.js';
7
7
  import './utils-BSRjJDrZ.js';
8
8
  import './chunk-CLZ62Ad-.js';
9
- import './voice-state.svelte-CQp8u0bn.js';
9
+ import './theme-state.svelte-wqhXqgCA.js';
10
10
 
11
11
  //#region src/routes/advanced/+page.svelte
12
12
  function _page($$renderer, $$props) {
@@ -64,4 +64,4 @@ function _page($$renderer, $$props) {
64
64
  }
65
65
 
66
66
  export { _page as default };
67
- //# sourceMappingURL=_page.svelte-BdYSYjmj.js.map
67
+ //# sourceMappingURL=_page.svelte-D6iSQwSa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-BdYSYjmj.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/advanced/_page.svelte.js"],"sourcesContent":["import { B as attr, i as derived, o as head } from \"../../../chunks/dev.js\";\nimport \"../../../chunks/index-server.js\";\nimport { n as Navbar, r as endpointsService, t as AuthGate } from \"../../../chunks/AuthGate.js\";\n//#region src/routes/advanced/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet authLocked = true;\n\t\tlet authLoading = false;\n\t\tlet authError = \"\";\n\t\tlet openCodeUrl = derived(() => endpointsService.active?.url ?? \"http://localhost:3800\");\n\t\tasync function handleAuthSuccess(token) {\n\t\t\tif (authLoading) return false;\n\t\t\tauthLoading = true;\n\t\t\tauthError = \"\";\n\t\t\ttry {\n\t\t\t\tif (!(await fetch(\"/admin/auth/login\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({ password: token }),\n\t\t\t\t\tcredentials: \"include\"\n\t\t\t\t})).ok) {\n\t\t\t\t\tauthLocked = true;\n\t\t\t\t\tauthError = \"Invalid password.\";\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tauthLocked = false;\n\t\t\t\tauthError = \"\";\n\t\t\t\tawait endpointsService.load();\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\tauthLocked = true;\n\t\t\t\tauthError = \"Could not reach the server.\";\n\t\t\t\treturn false;\n\t\t\t} finally {\n\t\t\t\tauthLoading = false;\n\t\t\t}\n\t\t}\n\t\thead(\"1z0msvj\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Advanced Chat — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tif (authLocked) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tAuthGate($$renderer, {\n\t\t\t\tonSuccess: handleAuthSuccess,\n\t\t\t\tloading: authLoading,\n\t\t\t\terror: authError\n\t\t\t});\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tNavbar($$renderer, {});\n\t\t\t$$renderer.push(`<!----> <div class=\"advanced-layout svelte-1z0msvj\"><iframe class=\"opencode-frame svelte-1z0msvj\"${attr(\"src\", openCodeUrl())} title=\"OpenCode — Advanced Chat\" allow=\"clipboard-read; clipboard-write; microphone\"></iframe></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;;;;;;;AAGA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,UAAU,GAAG,IAAI;AACvB,EAAE,IAAI,WAAW,GAAG,KAAK;AACzB,EAAE,IAAI,SAAS,GAAG,EAAE;AACpB,EAAE,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,IAAI,uBAAuB,CAAC;AAC1F,EAAE,eAAe,iBAAiB,CAAC,KAAK,EAAE;AAC1C,GAAG,IAAI,WAAW,EAAE,OAAO,KAAK;AAChC,GAAG,WAAW,GAAG,IAAI;AACrB,GAAG,SAAS,GAAG,EAAE;AACjB,GAAG,IAAI;AACP,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,mBAAmB,EAAE;AAC3C,KAAK,MAAM,EAAE,MAAM;AACnB,KAAK,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;AACpD,KAAK,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC9C,KAAK,WAAW,EAAE;AAClB,KAAK,CAAC,EAAE,EAAE,EAAE;AACZ,KAAK,UAAU,GAAG,IAAI;AACtB,KAAK,SAAS,GAAG,mBAAmB;AACpC,KAAK,OAAO,KAAK;AACjB,IAAI;AACJ,IAAI,UAAU,GAAG,KAAK;AACtB,IAAI,SAAS,GAAG,EAAE;AAClB,IAAI,MAAM,gBAAgB,CAAC,IAAI,EAAE;AACjC,IAAI,OAAO,IAAI;AACf,GAAG,CAAC,CAAC,MAAM;AACX,IAAI,UAAU,GAAG,IAAI;AACrB,IAAI,SAAS,GAAG,6BAA6B;AAC7C,IAAI,OAAO,KAAK;AAChB,GAAG,CAAC,SAAS;AACb,IAAI,WAAW,GAAG,KAAK;AACvB,GAAG;AACH,EAAE;AACF,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,UAAU,KAAK;AAC9C,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,KAAK;AACpC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,uCAAuC,CAAC,CAAC;AAC9D,GAAG,CAAC,CAAC;AACL,EAAE,CAAC,CAAC;AACJ,EAAE,IAAI,UAAU,EAAE;AAClB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,QAAQ,CAAC,UAAU,EAAE;AACxB,IAAI,SAAS,EAAE,iBAAiB;AAChC,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,EAAE,CAAC,MAAM;AACT,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAChC,GAAG,MAAM,CAAC,UAAc,CAAC;AACzB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,iGAAiG,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,qGAAqG,CAAC,CAAC;AACzP,EAAE;AACF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_page.svelte-D6iSQwSa.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/advanced/_page.svelte.js"],"sourcesContent":["import { B as attr, i as derived, o as head } from \"../../../chunks/dev.js\";\nimport \"../../../chunks/index-server.js\";\nimport { n as Navbar, r as endpointsService, t as AuthGate } from \"../../../chunks/AuthGate.js\";\n//#region src/routes/advanced/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet authLocked = true;\n\t\tlet authLoading = false;\n\t\tlet authError = \"\";\n\t\tlet openCodeUrl = derived(() => endpointsService.active?.url ?? \"http://localhost:3800\");\n\t\tasync function handleAuthSuccess(token) {\n\t\t\tif (authLoading) return false;\n\t\t\tauthLoading = true;\n\t\t\tauthError = \"\";\n\t\t\ttry {\n\t\t\t\tif (!(await fetch(\"/admin/auth/login\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({ password: token }),\n\t\t\t\t\tcredentials: \"include\"\n\t\t\t\t})).ok) {\n\t\t\t\t\tauthLocked = true;\n\t\t\t\t\tauthError = \"Invalid password.\";\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tauthLocked = false;\n\t\t\t\tauthError = \"\";\n\t\t\t\tawait endpointsService.load();\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\tauthLocked = true;\n\t\t\t\tauthError = \"Could not reach the server.\";\n\t\t\t\treturn false;\n\t\t\t} finally {\n\t\t\t\tauthLoading = false;\n\t\t\t}\n\t\t}\n\t\thead(\"1z0msvj\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Advanced Chat — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tif (authLocked) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tAuthGate($$renderer, {\n\t\t\t\tonSuccess: handleAuthSuccess,\n\t\t\t\tloading: authLoading,\n\t\t\t\terror: authError\n\t\t\t});\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tNavbar($$renderer, {});\n\t\t\t$$renderer.push(`<!----> <div class=\"advanced-layout svelte-1z0msvj\"><iframe class=\"opencode-frame svelte-1z0msvj\"${attr(\"src\", openCodeUrl())} title=\"OpenCode — Advanced Chat\" allow=\"clipboard-read; clipboard-write; microphone\"></iframe></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;;;;;;;AAGA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,UAAU,GAAG,IAAI;AACvB,EAAE,IAAI,WAAW,GAAG,KAAK;AACzB,EAAE,IAAI,SAAS,GAAG,EAAE;AACpB,EAAE,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,IAAI,uBAAuB,CAAC;AAC1F,EAAE,eAAe,iBAAiB,CAAC,KAAK,EAAE;AAC1C,GAAG,IAAI,WAAW,EAAE,OAAO,KAAK;AAChC,GAAG,WAAW,GAAG,IAAI;AACrB,GAAG,SAAS,GAAG,EAAE;AACjB,GAAG,IAAI;AACP,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,mBAAmB,EAAE;AAC3C,KAAK,MAAM,EAAE,MAAM;AACnB,KAAK,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;AACpD,KAAK,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC9C,KAAK,WAAW,EAAE;AAClB,KAAK,CAAC,EAAE,EAAE,EAAE;AACZ,KAAK,UAAU,GAAG,IAAI;AACtB,KAAK,SAAS,GAAG,mBAAmB;AACpC,KAAK,OAAO,KAAK;AACjB,IAAI;AACJ,IAAI,UAAU,GAAG,KAAK;AACtB,IAAI,SAAS,GAAG,EAAE;AAClB,IAAI,MAAM,gBAAgB,CAAC,IAAI,EAAE;AACjC,IAAI,OAAO,IAAI;AACf,GAAG,CAAC,CAAC,MAAM;AACX,IAAI,UAAU,GAAG,IAAI;AACrB,IAAI,SAAS,GAAG,6BAA6B;AAC7C,IAAI,OAAO,KAAK;AAChB,GAAG,CAAC,SAAS;AACb,IAAI,WAAW,GAAG,KAAK;AACvB,GAAG;AACH,EAAE;AACF,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,UAAU,KAAK;AAC9C,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,KAAK;AACpC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,uCAAuC,CAAC,CAAC;AAC9D,GAAG,CAAC,CAAC;AACL,EAAE,CAAC,CAAC;AACJ,EAAE,IAAI,UAAU,EAAE;AAClB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,QAAQ,CAAC,UAAU,EAAE;AACxB,IAAI,SAAS,EAAE,iBAAiB;AAChC,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,EAAE,CAAC,MAAM;AACT,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAChC,GAAG,MAAM,CAAC,UAAc,CAAC;AACzB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,iGAAiG,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,qGAAqG,CAAC,CAAC;AACzP,EAAE;AACF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,7 +1,7 @@
1
- import { a0 as listEnabledAddonIds, $ as listAvailableAddonIds } from './src-FpMyngcw.js';
2
- import { b as getState } from './endpoints-L7Wjvq44.js';
3
- import { d as getRequestId, r as requireAdmin, h as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-5jd3ccud.js';
4
- import { p as performAddonToggle } from './addon-helpers-Bnj3aKJ2.js';
1
+ import { a0 as listEnabledAddonIds, $ as listAvailableAddonIds } from './src-BsgfqG_-.js';
2
+ import { b as getState } from './endpoints-kaPFORka.js';
3
+ import { d as getRequestId, r as requireAdmin, h as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-B8h4zchW.js';
4
+ import { p as performAddonToggle } from './addon-helpers-8efgpHMX.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import 'node:fs';
@@ -60,4 +60,4 @@ var POST = async (event) => {
60
60
  };
61
61
 
62
62
  export { GET, POST };
63
- //# sourceMappingURL=_server.ts-DwXd92Ow.js.map
63
+ //# sourceMappingURL=_server.ts--lBTTJTc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DwXd92Ow.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_server.ts.js"],"sourcesContent":["import { ot as listAvailableAddonIds, st as listEnabledAddonIds } 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 performAddonToggle } from \"../../../../chunks/addon-helpers.js\";\n//#region src/routes/admin/addons/+server.ts\nfunction buildAddonList(availableIds, enabledIds) {\n\tconst enabledSet = new Set(enabledIds);\n\treturn availableIds.map((name) => ({\n\t\tname,\n\t\tenabled: enabledSet.has(name),\n\t\tavailable: true\n\t}));\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\treturn jsonResponse(200, { addons: buildAddonList(listAvailableAddonIds(), listEnabledAddonIds(state.homeDir)) }, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst name = typeof body.name === \"string\" ? body.name.trim() : \"\";\n\tif (!name) return errorResponse(400, \"bad_request\", \"name is required\", {}, requestId);\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst toggle = await performAddonToggle(state, name, typeof body.enabled === \"boolean\" ? body.enabled : void 0, requestId);\n\tif (!toggle.ok) return errorResponse(500, \"internal_error\", toggle.error, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\taddon: name,\n\t\tenabled: toggle.enabled,\n\t\tchanged: toggle.changed\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,SAAS,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE;AAClD,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC;AACvC,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACpC,EAAE,IAAI;AACN,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/B,EAAE,SAAS,EAAE;AACb,EAAE,CAAC,CAAC;AACJ;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,qBAAqB,EAAE,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAC7H;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;AACnE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AAC7I,CAAC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,CAAC;AAC3H,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC;AACzF,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,KAAK,EAAE,IAAI;AACb,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;AACzB,EAAE,OAAO,EAAE,MAAM,CAAC;AAClB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts--lBTTJTc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_server.ts.js"],"sourcesContent":["import { ot as listAvailableAddonIds, st as listEnabledAddonIds } 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 performAddonToggle } from \"../../../../chunks/addon-helpers.js\";\n//#region src/routes/admin/addons/+server.ts\nfunction buildAddonList(availableIds, enabledIds) {\n\tconst enabledSet = new Set(enabledIds);\n\treturn availableIds.map((name) => ({\n\t\tname,\n\t\tenabled: enabledSet.has(name),\n\t\tavailable: true\n\t}));\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\treturn jsonResponse(200, { addons: buildAddonList(listAvailableAddonIds(), listEnabledAddonIds(state.homeDir)) }, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst name = typeof body.name === \"string\" ? body.name.trim() : \"\";\n\tif (!name) return errorResponse(400, \"bad_request\", \"name is required\", {}, requestId);\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst toggle = await performAddonToggle(state, name, typeof body.enabled === \"boolean\" ? body.enabled : void 0, requestId);\n\tif (!toggle.ok) return errorResponse(500, \"internal_error\", toggle.error, {}, requestId);\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\taddon: name,\n\t\tenabled: toggle.enabled,\n\t\tchanged: toggle.changed\n\t}, requestId);\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,SAAS,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE;AAClD,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC;AACvC,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACpC,EAAE,IAAI;AACN,EAAE,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/B,EAAE,SAAS,EAAE;AACb,EAAE,CAAC,CAAC;AACJ;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,qBAAqB,EAAE,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAC7H;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;AACnE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,CAAC;AACvF,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC;AAC7I,CAAC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,CAAC;AAC3H,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,CAAC;AACzF,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,KAAK,EAAE,IAAI;AACb,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO;AACzB,EAAE,OAAO,EAAE,MAAM,CAAC;AAClB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,5 +1,5 @@
1
- import { y as createLogger } from './src-FpMyngcw.js';
2
- import { d as getRequestId, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, h as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-5jd3ccud.js';
1
+ import { y as createLogger } from './src-BsgfqG_-.js';
2
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, h as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-B8h4zchW.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-L7Wjvq44.js';
22
+ import './endpoints-kaPFORka.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-l_HoZ2_I.js.map
163
+ //# sourceMappingURL=_server.ts-3Q27Je1p.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-l_HoZ2_I.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { Nt 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-3Q27Je1p.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { Nt as createLogger } from \"../../../../../../../chunks/src.js\";\nimport { a as getOpenCodeClient, c as jsonBodyError, d as requireAdmin, i as errorResponse, l as jsonResponse, o as getRequestId, u as parseJsonBody } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /admin/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { g as getActiveEndpoint } from './endpoints-L7Wjvq44.js';
2
- import { d as getRequestId, r as requireAdmin } from './helpers-5jd3ccud.js';
3
- import './src-FpMyngcw.js';
1
+ import { g as getActiveEndpoint } from './endpoints-kaPFORka.js';
2
+ import { d as getRequestId, r as requireAdmin } from './helpers-B8h4zchW.js';
3
+ import './src-BsgfqG_-.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -106,4 +106,4 @@ var PUT = handler;
106
106
  var DELETE = handler;
107
107
 
108
108
  export { DELETE, GET, POST, PUT };
109
- //# sourceMappingURL=_server.ts-DsEzCr9k.js.map
109
+ //# sourceMappingURL=_server.ts-4KkJ4SW0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DsEzCr9k.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/proxy/assistant/_...path_/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/proxy/assistant/[...path]/+server.ts\n/**\n* Proxy route: forward /proxy/assistant/[...path] → assistant OpenCode server.\n*\n* Auth: requires the operator's `op_session` cookie (cookie-only since\n* Phase 2 of the auth/proxy refactor — the `x-admin-token` header fallback\n* was removed).\n* Forwards the full request body and method unchanged.\n* The target URL and per-endpoint Basic-auth password are resolved per-request\n* from the active endpoint store, so switching endpoints in the UI takes\n* effect immediately without restarting the server.\n*\n* Streaming: the upstream response body is forwarded as-is (no buffering) so\n* SSE responses (text/event-stream) pass through chunk-by-chunk. We do not\n* impose a fixed timeout on the upstream fetch — OpenCode SSE streams can run\n* for minutes. Instead the per-request AbortController is wired to the client\n* disconnect signal (`event.request.signal`); when the browser aborts (tab\n* close, navigation away), we propagate the abort to upstream.\n*/\nfunction buildForwardHeaders(incomingContentType, username, password) {\n\tconst headers = {};\n\tif (incomingContentType) headers[\"content-type\"] = incomingContentType;\n\tif (password) headers[\"authorization\"] = `Basic ${btoa(`${username || \"openpalm\"}:${password}`)}`;\n\treturn headers;\n}\nfunction buildResponseHeaders(upstream, requestId, endpointId, endpointLabel) {\n\tconst headers = new Headers();\n\theaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"application/json\");\n\tconst cacheControl = upstream.headers.get(\"cache-control\");\n\tif (cacheControl) headers.set(\"cache-control\", cacheControl);\n\tconst transferEncoding = upstream.headers.get(\"transfer-encoding\");\n\tif (transferEncoding) headers.set(\"transfer-encoding\", transferEncoding);\n\theaders.set(\"x-request-id\", requestId);\n\theaders.set(\"x-endpoint-id\", endpointId);\n\theaders.set(\"x-endpoint-label\", encodeURIComponent(endpointLabel));\n\treturn headers;\n}\nvar handler = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tconst { path } = event.params;\n\tconst targetUrl = `${endpoint.url}/${path}${event.url.search}`;\n\tconst method = event.request.method;\n\tconst contentType = event.request.headers.get(\"content-type\");\n\tconst body = method !== \"GET\" && method !== \"HEAD\" ? await event.request.arrayBuffer() : void 0;\n\tconst controller = new AbortController();\n\tconst onClientAbort = () => controller.abort();\n\tevent.request.signal.addEventListener(\"abort\", onClientAbort, { once: true });\n\ttry {\n\t\tconst upstream = await fetch(targetUrl, {\n\t\t\tmethod,\n\t\t\theaders: buildForwardHeaders(contentType, endpoint.username, endpoint.password),\n\t\t\tbody,\n\t\t\tsignal: controller.signal\n\t\t});\n\t\treturn new Response(upstream.body, {\n\t\t\tstatus: upstream.status,\n\t\t\theaders: buildResponseHeaders(upstream, requestId, endpoint.id, endpoint.label)\n\t\t});\n\t} catch (e) {\n\t\tevent.request.signal.removeEventListener(\"abort\", onClientAbort);\n\t\tconsole.warn(\"[proxy/assistant] Upstream request failed:\", e);\n\t\treturn new Response(JSON.stringify({\n\t\t\terror: \"endpoint_unreachable\",\n\t\t\tmessage: `Assistant endpoint \"${endpoint.label}\" is not reachable`,\n\t\t\tendpointId: endpoint.id,\n\t\t\tendpointLabel: endpoint.label,\n\t\t\turl: endpoint.url\n\t\t}), {\n\t\t\tstatus: 503,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\nvar GET = handler;\nvar POST = handler;\nvar PUT = handler;\nvar DELETE = handler;\n//#endregion\nexport { DELETE, GET, POST, PUT };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-4KkJ4SW0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/proxy/assistant/_...path_/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../../chunks/endpoints.js\";\nimport { d as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/proxy/assistant/[...path]/+server.ts\n/**\n* Proxy route: forward /proxy/assistant/[...path] → assistant OpenCode server.\n*\n* Auth: requires the operator's `op_session` cookie (cookie-only since\n* Phase 2 of the auth/proxy refactor — the `x-admin-token` header fallback\n* was removed).\n* Forwards the full request body and method unchanged.\n* The target URL and per-endpoint Basic-auth password are resolved per-request\n* from the active endpoint store, so switching endpoints in the UI takes\n* effect immediately without restarting the server.\n*\n* Streaming: the upstream response body is forwarded as-is (no buffering) so\n* SSE responses (text/event-stream) pass through chunk-by-chunk. We do not\n* impose a fixed timeout on the upstream fetch — OpenCode SSE streams can run\n* for minutes. Instead the per-request AbortController is wired to the client\n* disconnect signal (`event.request.signal`); when the browser aborts (tab\n* close, navigation away), we propagate the abort to upstream.\n*/\nfunction buildForwardHeaders(incomingContentType, username, password) {\n\tconst headers = {};\n\tif (incomingContentType) headers[\"content-type\"] = incomingContentType;\n\tif (password) headers[\"authorization\"] = `Basic ${btoa(`${username || \"openpalm\"}:${password}`)}`;\n\treturn headers;\n}\nfunction buildResponseHeaders(upstream, requestId, endpointId, endpointLabel) {\n\tconst headers = new Headers();\n\theaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"application/json\");\n\tconst cacheControl = upstream.headers.get(\"cache-control\");\n\tif (cacheControl) headers.set(\"cache-control\", cacheControl);\n\tconst transferEncoding = upstream.headers.get(\"transfer-encoding\");\n\tif (transferEncoding) headers.set(\"transfer-encoding\", transferEncoding);\n\theaders.set(\"x-request-id\", requestId);\n\theaders.set(\"x-endpoint-id\", endpointId);\n\theaders.set(\"x-endpoint-label\", encodeURIComponent(endpointLabel));\n\treturn headers;\n}\nvar handler = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst endpoint = getActiveEndpoint();\n\tconst { path } = event.params;\n\tconst targetUrl = `${endpoint.url}/${path}${event.url.search}`;\n\tconst method = event.request.method;\n\tconst contentType = event.request.headers.get(\"content-type\");\n\tconst body = method !== \"GET\" && method !== \"HEAD\" ? await event.request.arrayBuffer() : void 0;\n\tconst controller = new AbortController();\n\tconst onClientAbort = () => controller.abort();\n\tevent.request.signal.addEventListener(\"abort\", onClientAbort, { once: true });\n\ttry {\n\t\tconst upstream = await fetch(targetUrl, {\n\t\t\tmethod,\n\t\t\theaders: buildForwardHeaders(contentType, endpoint.username, endpoint.password),\n\t\t\tbody,\n\t\t\tsignal: controller.signal\n\t\t});\n\t\treturn new Response(upstream.body, {\n\t\t\tstatus: upstream.status,\n\t\t\theaders: buildResponseHeaders(upstream, requestId, endpoint.id, endpoint.label)\n\t\t});\n\t} catch (e) {\n\t\tevent.request.signal.removeEventListener(\"abort\", onClientAbort);\n\t\tconsole.warn(\"[proxy/assistant] Upstream request failed:\", e);\n\t\treturn new Response(JSON.stringify({\n\t\t\terror: \"endpoint_unreachable\",\n\t\t\tmessage: `Assistant endpoint \"${endpoint.label}\" is not reachable`,\n\t\t\tendpointId: endpoint.id,\n\t\t\tendpointLabel: endpoint.label,\n\t\t\turl: endpoint.url\n\t\t}), {\n\t\t\tstatus: 503,\n\t\t\theaders: {\n\t\t\t\t\"content-type\": \"application/json\",\n\t\t\t\t\"x-request-id\": requestId\n\t\t\t}\n\t\t});\n\t}\n};\nvar GET = handler;\nvar POST = handler;\nvar PUT = handler;\nvar DELETE = handler;\n//#endregion\nexport { DELETE, GET, POST, PUT };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Y as isAllowedService, m as checkDocker, u as composeStart, k as buildComposeOptions, y as createLogger } from './src-FpMyngcw.js';
2
- import { b as getState } from './endpoints-L7Wjvq44.js';
3
- import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, h as jsonResponse } from './helpers-5jd3ccud.js';
1
+ import { Y as isAllowedService, m as checkDocker, u as composeStart, k as buildComposeOptions, y as createLogger } from './src-BsgfqG_-.js';
2
+ import { b as getState } from './endpoints-kaPFORka.js';
3
+ import { d as getRequestId, r as requireAdmin, p as parseJsonBody, j as jsonBodyError, e as errorResponse, h as jsonResponse } from './helpers-B8h4zchW.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -51,4 +51,4 @@ var POST = async (event) => {
51
51
  };
52
52
 
53
53
  export { POST };
54
- //# sourceMappingURL=_server.ts-CHVs0yya.js.map
54
+ //# sourceMappingURL=_server.ts-8W7d7SoL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CHVs0yya.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/up/_server.ts.js"],"sourcesContent":["import { N as composeStart, Nt as createLogger, T as checkDocker, q as isAllowedService, w as buildComposeOptions } 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\";\n//#region src/routes/admin/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container start request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\tlogger.info(\"starting service\", {\n\t\trequestId,\n\t\tservice\n\t});\n\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\tif ((await checkDocker()).ok) {\n\t\tconst result = await composeStart([service], buildComposeOptions(state));\n\t\tif (result.ok) state.services[service] = \"running\";\n\t\telse return errorResponse(500, \"docker_error\", `Failed to start service: ${result.stderr}`, { service }, requestId);\n\t} else state.services[service] = \"running\";\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tservice,\n\t\tstatus: state.services[service]\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACjC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,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;AACrJ,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACpD,OAAO,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC3C,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AAChC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-8W7d7SoL.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/up/_server.ts.js"],"sourcesContent":["import { N as composeStart, Nt as createLogger, T as checkDocker, q as isAllowedService, w as buildComposeOptions } 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\";\n//#region src/routes/admin/containers/up/+server.ts\nvar logger = createLogger(\"containers-up\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"container start request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst service = typeof body.service === \"string\" ? body.service : \"\";\n\tlogger.info(\"starting service\", {\n\t\trequestId,\n\t\tservice\n\t});\n\tif (!isAllowedService(service, state.configDir)) return errorResponse(400, \"invalid_service\", \"Service is not in allowlist\", { service }, requestId);\n\tif ((await checkDocker()).ok) {\n\t\tconst result = await composeStart([service], buildComposeOptions(state));\n\t\tif (result.ok) state.services[service] = \"running\";\n\t\telse return errorResponse(500, \"docker_error\", `Failed to start service: ${result.stderr}`, { service }, requestId);\n\t} else state.services[service] = \"running\";\n\treturn jsonResponse(200, {\n\t\tok: true,\n\t\tservice,\n\t\tstatus: state.services[service]\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACvC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,CAAC;AAC/D,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;AAClD,CAAC,IAAI,OAAO,IAAI,MAAM,EAAE,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC;AAC/D,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI;AACzB,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AACjC,EAAE,SAAS;AACX,EAAE;AACF,EAAE,CAAC;AACH,CAAC,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;AACrJ,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,EAAE,EAAE,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC1E,EAAE,IAAI,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AACpD,OAAO,OAAO,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;AACrH,CAAC,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS;AAC3C,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,OAAO;AACT,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO;AAChC,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { aq as writeFileAtomic } from './src-FpMyngcw.js';
2
- import { b as getState } from './endpoints-L7Wjvq44.js';
3
- import { d as getRequestId, r as requireAdmin, h as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-5jd3ccud.js';
1
+ import { aq as writeFileAtomic } from './src-BsgfqG_-.js';
2
+ import { b as getState } from './endpoints-kaPFORka.js';
3
+ import { d as getRequestId, r as requireAdmin, h as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-B8h4zchW.js';
4
4
  import { mkdirSync, existsSync, readFileSync } from 'node:fs';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -511,4 +511,4 @@ var PATCH = async (event) => {
511
511
  };
512
512
 
513
513
  export { GET, PATCH };
514
- //# sourceMappingURL=_server.ts-CGqrfNlv.js.map
514
+ //# sourceMappingURL=_server.ts-9rxck4Bq.js.map