@openpalm/ui 0.11.3-rc.5 → 0.11.3-rc.7

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 (261) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/chunks/{DcHkTA20.js → 8GwYYoh1.js} +1 -1
  3. package/build/client/_app/immutable/chunks/8GwYYoh1.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/8GwYYoh1.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/Ch3mxygo.js +5 -0
  6. package/build/client/_app/immutable/chunks/Ch3mxygo.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/Ch3mxygo.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/CzZcY46L.js +1 -0
  9. package/build/client/_app/immutable/chunks/CzZcY46L.js.br +2 -0
  10. package/build/client/_app/immutable/chunks/CzZcY46L.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{CEqzvhO-.js → Dk0tygQU.js} +2 -2
  12. package/build/client/_app/immutable/chunks/Dk0tygQU.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/Dk0tygQU.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/JXKXFmZF.js +1 -0
  15. package/build/client/_app/immutable/chunks/JXKXFmZF.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/JXKXFmZF.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/{app.BLfgN972.js → app.BsCMRrYb.js} +2 -2
  18. package/build/client/_app/immutable/entry/app.BsCMRrYb.js.br +0 -0
  19. package/build/client/_app/immutable/entry/app.BsCMRrYb.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/start.BYcI0uOq.js +1 -0
  21. package/build/client/_app/immutable/entry/start.BYcI0uOq.js.br +0 -0
  22. package/build/client/_app/immutable/entry/start.BYcI0uOq.js.gz +0 -0
  23. package/build/client/_app/immutable/nodes/{0.0pi4RS6G.js → 0.7SpSN_Ip.js} +1 -1
  24. package/build/client/_app/immutable/nodes/0.7SpSN_Ip.js.br +0 -0
  25. package/build/client/_app/immutable/nodes/0.7SpSN_Ip.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{1.B78CJ2xh.js → 1.JckcqvUc.js} +1 -1
  27. package/build/client/_app/immutable/nodes/1.JckcqvUc.js.br +1 -0
  28. package/build/client/_app/immutable/nodes/1.JckcqvUc.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{4.C2iJavvX.js → 4.Td4VWhKZ.js} +1 -1
  30. package/build/client/_app/immutable/nodes/4.Td4VWhKZ.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/4.Td4VWhKZ.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{5.CPRINhYB.js → 5.6Z-Sb6Kz.js} +1 -1
  33. package/build/client/_app/immutable/nodes/5.6Z-Sb6Kz.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/5.6Z-Sb6Kz.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{6.p_Qb17Ld.js → 6.DSY3eG2t.js} +1 -1
  36. package/build/client/_app/immutable/nodes/6.DSY3eG2t.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/6.DSY3eG2t.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{7.Dack5dCm.js → 7.DlFye_fu.js} +1 -1
  39. package/build/client/_app/immutable/nodes/7.DlFye_fu.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/7.DlFye_fu.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{8.BrlGV8ym.js → 8.IfoQxyZG.js} +1 -1
  42. package/build/client/_app/immutable/nodes/8.IfoQxyZG.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/8.IfoQxyZG.js.gz +0 -0
  44. package/build/client/_app/version.json +1 -1
  45. package/build/client/_app/version.json.br +1 -1
  46. package/build/client/_app/version.json.gz +0 -0
  47. package/build/server/chunks/{0-BK7D9z9V.js → 0-D0XrV9ke.js} +2 -2
  48. package/build/server/chunks/{0-BK7D9z9V.js.map → 0-D0XrV9ke.js.map} +1 -1
  49. package/build/server/chunks/1-BIjMZ-Bk.js +9 -0
  50. package/build/server/chunks/{1-DbUBGFDj.js.map → 1-BIjMZ-Bk.js.map} +1 -1
  51. package/build/server/chunks/4-C_-w1ytD.js +9 -0
  52. package/build/server/chunks/{4-bnAPqQi_.js.map → 4-C_-w1ytD.js.map} +1 -1
  53. package/build/server/chunks/5-mSscLbm1.js +9 -0
  54. package/build/server/chunks/{5-BdH_KJHB.js.map → 5-mSscLbm1.js.map} +1 -1
  55. package/build/server/chunks/6-B1lBdjh9.js +9 -0
  56. package/build/server/chunks/{6-BMGTf-1O.js.map → 6-B1lBdjh9.js.map} +1 -1
  57. package/build/server/chunks/7-xLOqOd6x.js +9 -0
  58. package/build/server/chunks/{7-DD6Y6pxP.js.map → 7-xLOqOd6x.js.map} +1 -1
  59. package/build/server/chunks/{8-CJcLkxR3.js → 8-BpRVP1QQ.js} +3 -3
  60. package/build/server/chunks/{8-CJcLkxR3.js.map → 8-BpRVP1QQ.js.map} +1 -1
  61. package/build/server/chunks/{Navbar-gUPeJtoM.js → Navbar-lk8oBizZ.js} +4 -4
  62. package/build/server/chunks/Navbar-lk8oBizZ.js.map +1 -0
  63. package/build/server/chunks/{_page.svelte-C9kkHb2t.js → _page.svelte-BX1oHlIt.js} +3 -3
  64. package/build/server/chunks/{_page.svelte-C9kkHb2t.js.map → _page.svelte-BX1oHlIt.js.map} +1 -1
  65. package/build/server/chunks/{_page.svelte-CeLE4oFs.js → _page.svelte-CAGFUL1n.js} +5 -5
  66. package/build/server/chunks/{_page.svelte-CeLE4oFs.js.map → _page.svelte-CAGFUL1n.js.map} +1 -1
  67. package/build/server/chunks/{_page.svelte-DDi_YhQE.js → _page.svelte-CxVGj1pa.js} +5 -5
  68. package/build/server/chunks/{_page.svelte-DDi_YhQE.js.map → _page.svelte-CxVGj1pa.js.map} +1 -1
  69. package/build/server/chunks/{_page.svelte-Bbf63ApH.js → _page.svelte-CybkWQLJ.js} +6 -6
  70. package/build/server/chunks/{_page.svelte-Bbf63ApH.js.map → _page.svelte-CybkWQLJ.js.map} +1 -1
  71. package/build/server/chunks/{_page.svelte-ysKvxNNa.js → _page.svelte-D3udTbqw.js} +5 -5
  72. package/build/server/chunks/{_page.svelte-ysKvxNNa.js.map → _page.svelte-D3udTbqw.js.map} +1 -1
  73. package/build/server/chunks/{_server.ts-z0PmzkfL.js → _server.ts-25h8BWdu.js} +2 -2
  74. package/build/server/chunks/{_server.ts-z0PmzkfL.js.map → _server.ts-25h8BWdu.js.map} +1 -1
  75. package/build/server/chunks/{_server.ts-CAfoA1Pr.js → _server.ts-3ws7fULm.js} +2 -2
  76. package/build/server/chunks/{_server.ts-CAfoA1Pr.js.map → _server.ts-3ws7fULm.js.map} +1 -1
  77. package/build/server/chunks/{_server.ts-Bd8hqSox.js → _server.ts-7LlHRa7q.js} +2 -2
  78. package/build/server/chunks/{_server.ts-Bd8hqSox.js.map → _server.ts-7LlHRa7q.js.map} +1 -1
  79. package/build/server/chunks/{_server.ts-B0imnxP9.js → _server.ts-B-R6YamC.js} +2 -2
  80. package/build/server/chunks/{_server.ts-B0imnxP9.js.map → _server.ts-B-R6YamC.js.map} +1 -1
  81. package/build/server/chunks/{_server.ts-DqRkEj17.js → _server.ts-B1fmdcBV.js} +2 -2
  82. package/build/server/chunks/{_server.ts-DqRkEj17.js.map → _server.ts-B1fmdcBV.js.map} +1 -1
  83. package/build/server/chunks/{_server.ts-C1ABS942.js → _server.ts-BA2qNiaQ.js} +2 -2
  84. package/build/server/chunks/{_server.ts-C1ABS942.js.map → _server.ts-BA2qNiaQ.js.map} +1 -1
  85. package/build/server/chunks/{_server.ts-gdEDaQDp.js → _server.ts-BAVYt5Fo.js} +2 -2
  86. package/build/server/chunks/{_server.ts-gdEDaQDp.js.map → _server.ts-BAVYt5Fo.js.map} +1 -1
  87. package/build/server/chunks/{_server.ts-15VqT_Jb.js → _server.ts-BDeYSzjl.js} +2 -2
  88. package/build/server/chunks/{_server.ts-15VqT_Jb.js.map → _server.ts-BDeYSzjl.js.map} +1 -1
  89. package/build/server/chunks/{_server.ts-BNZuAXqS.js → _server.ts-BM_LtlVD.js} +2 -2
  90. package/build/server/chunks/{_server.ts-BNZuAXqS.js.map → _server.ts-BM_LtlVD.js.map} +1 -1
  91. package/build/server/chunks/{_server.ts-DyCzb6fl.js → _server.ts-BMycg9Mr.js} +2 -2
  92. package/build/server/chunks/{_server.ts-DyCzb6fl.js.map → _server.ts-BMycg9Mr.js.map} +1 -1
  93. package/build/server/chunks/{_server.ts-BaCk-hri.js → _server.ts-BR6fu5Fc.js} +2 -2
  94. package/build/server/chunks/{_server.ts-BaCk-hri.js.map → _server.ts-BR6fu5Fc.js.map} +1 -1
  95. package/build/server/chunks/{_server.ts-DOWqoGI0.js → _server.ts-BTznNbRE.js} +2 -2
  96. package/build/server/chunks/{_server.ts-DOWqoGI0.js.map → _server.ts-BTznNbRE.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-lMtUnonw.js → _server.ts-BYjh1Zoy.js} +2 -2
  98. package/build/server/chunks/{_server.ts-lMtUnonw.js.map → _server.ts-BYjh1Zoy.js.map} +1 -1
  99. package/build/server/chunks/{_server.ts-BxKP4jLf.js → _server.ts-B_wU_JZs.js} +2 -2
  100. package/build/server/chunks/{_server.ts-BxKP4jLf.js.map → _server.ts-B_wU_JZs.js.map} +1 -1
  101. package/build/server/chunks/{_server.ts-BIXVslsf.js → _server.ts-BaihC-wh.js} +2 -2
  102. package/build/server/chunks/{_server.ts-BIXVslsf.js.map → _server.ts-BaihC-wh.js.map} +1 -1
  103. package/build/server/chunks/{_server.ts-BAN1sm6n.js → _server.ts-Bct7Ygc7.js} +2 -2
  104. package/build/server/chunks/{_server.ts-BAN1sm6n.js.map → _server.ts-Bct7Ygc7.js.map} +1 -1
  105. package/build/server/chunks/{_server.ts-dhwK36f6.js → _server.ts-Bg9KNWBH.js} +2 -2
  106. package/build/server/chunks/{_server.ts-dhwK36f6.js.map → _server.ts-Bg9KNWBH.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-CQlNpKTo.js → _server.ts-Bk_5F1eg.js} +2 -2
  108. package/build/server/chunks/{_server.ts-CQlNpKTo.js.map → _server.ts-Bk_5F1eg.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-jTA4jrOf.js → _server.ts-BqMdWp7p.js} +2 -2
  110. package/build/server/chunks/{_server.ts-jTA4jrOf.js.map → _server.ts-BqMdWp7p.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-CiXuQ2is.js → _server.ts-BtD49pDt.js} +2 -2
  112. package/build/server/chunks/{_server.ts-CiXuQ2is.js.map → _server.ts-BtD49pDt.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-ClHuEBLy.js → _server.ts-BvFf6tJN.js} +2 -2
  114. package/build/server/chunks/{_server.ts-ClHuEBLy.js.map → _server.ts-BvFf6tJN.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-CyKI_ClV.js → _server.ts-CC4PAiW5.js} +2 -2
  116. package/build/server/chunks/{_server.ts-CyKI_ClV.js.map → _server.ts-CC4PAiW5.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-Bcp7EM9D.js → _server.ts-CDiy7p3c.js} +2 -2
  118. package/build/server/chunks/{_server.ts-Bcp7EM9D.js.map → _server.ts-CDiy7p3c.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-DZ3lzk7n.js → _server.ts-CFUrkKjI.js} +2 -2
  120. package/build/server/chunks/{_server.ts-DZ3lzk7n.js.map → _server.ts-CFUrkKjI.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-_ICQlZcp.js → _server.ts-CIBDBP5l.js} +2 -2
  122. package/build/server/chunks/{_server.ts-_ICQlZcp.js.map → _server.ts-CIBDBP5l.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-BxWJQkU-.js → _server.ts-CIsDWvMc.js} +2 -2
  124. package/build/server/chunks/{_server.ts-BxWJQkU-.js.map → _server.ts-CIsDWvMc.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-C-HPyIZw.js → _server.ts-CP998tWl.js} +2 -2
  126. package/build/server/chunks/{_server.ts-C-HPyIZw.js.map → _server.ts-CP998tWl.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-xi-ffOBs.js → _server.ts-CPkbn9Vi.js} +3 -3
  128. package/build/server/chunks/{_server.ts-xi-ffOBs.js.map → _server.ts-CPkbn9Vi.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-BIjuokoJ.js → _server.ts-CTvOmZnO.js} +2 -2
  130. package/build/server/chunks/{_server.ts-BIjuokoJ.js.map → _server.ts-CTvOmZnO.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-BTuOQ7x4.js → _server.ts-C_9QtU4r.js} +2 -2
  132. package/build/server/chunks/{_server.ts-BTuOQ7x4.js.map → _server.ts-C_9QtU4r.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-BsrVWvpm.js → _server.ts-C_pheGBh.js} +2 -2
  134. package/build/server/chunks/{_server.ts-BsrVWvpm.js.map → _server.ts-C_pheGBh.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-C8vS2haQ.js → _server.ts-CkMWwYdK.js} +2 -2
  136. package/build/server/chunks/{_server.ts-C8vS2haQ.js.map → _server.ts-CkMWwYdK.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-CrxUYoQV.js → _server.ts-CzTRfYjE.js} +2 -2
  138. package/build/server/chunks/{_server.ts-CrxUYoQV.js.map → _server.ts-CzTRfYjE.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-BxLiIFz7.js → _server.ts-D5DGFhsH.js} +2 -2
  140. package/build/server/chunks/{_server.ts-BxLiIFz7.js.map → _server.ts-D5DGFhsH.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-CoPt6PD9.js → _server.ts-DBETx0v5.js} +2 -2
  142. package/build/server/chunks/{_server.ts-CoPt6PD9.js.map → _server.ts-DBETx0v5.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-CMw5tbT7.js → _server.ts-DETHIaqd.js} +2 -2
  144. package/build/server/chunks/{_server.ts-CMw5tbT7.js.map → _server.ts-DETHIaqd.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-CtzxrKSy.js → _server.ts-DFhKj9_I.js} +2 -2
  146. package/build/server/chunks/{_server.ts-CtzxrKSy.js.map → _server.ts-DFhKj9_I.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-uYQRMkTW.js → _server.ts-DLY1PkBV.js} +2 -2
  148. package/build/server/chunks/{_server.ts-uYQRMkTW.js.map → _server.ts-DLY1PkBV.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-CGvTJQ8h.js → _server.ts-DQQKiqAk.js} +2 -2
  150. package/build/server/chunks/{_server.ts-CGvTJQ8h.js.map → _server.ts-DQQKiqAk.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-CMp-1wWu.js → _server.ts-DWHfVWXw.js} +3 -3
  152. package/build/server/chunks/{_server.ts-CMp-1wWu.js.map → _server.ts-DWHfVWXw.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-DCCysSXb.js → _server.ts-DbCK6l5Q.js} +2 -2
  154. package/build/server/chunks/{_server.ts-DCCysSXb.js.map → _server.ts-DbCK6l5Q.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-38dfZOLk.js → _server.ts-Dh2kTeDa.js} +3 -3
  156. package/build/server/chunks/{_server.ts-38dfZOLk.js.map → _server.ts-Dh2kTeDa.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-DOgEbaFQ.js → _server.ts-Dka3sDi4.js} +2 -2
  158. package/build/server/chunks/{_server.ts-DOgEbaFQ.js.map → _server.ts-Dka3sDi4.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-BoxXXgBz.js → _server.ts-DmmiNv44.js} +2 -2
  160. package/build/server/chunks/{_server.ts-BoxXXgBz.js.map → _server.ts-DmmiNv44.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-CUZvOej5.js → _server.ts-FL0Nq15G.js} +2 -2
  162. package/build/server/chunks/{_server.ts-CUZvOej5.js.map → _server.ts-FL0Nq15G.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-LQ7wfjqL.js → _server.ts-H7hcexYF.js} +2 -2
  164. package/build/server/chunks/{_server.ts-LQ7wfjqL.js.map → _server.ts-H7hcexYF.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-DVHV_VOT.js → _server.ts-JJiwGX-I.js} +2 -2
  166. package/build/server/chunks/{_server.ts-DVHV_VOT.js.map → _server.ts-JJiwGX-I.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-Dec0IUvQ.js → _server.ts-QywDsPEW.js} +2 -2
  168. package/build/server/chunks/{_server.ts-Dec0IUvQ.js.map → _server.ts-QywDsPEW.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-CINeCY7O.js → _server.ts-XyCiDeVn.js} +2 -2
  170. package/build/server/chunks/{_server.ts-CINeCY7O.js.map → _server.ts-XyCiDeVn.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-0cLG5sLR.js → _server.ts-YstA0SiN.js} +2 -2
  172. package/build/server/chunks/{_server.ts-0cLG5sLR.js.map → _server.ts-YstA0SiN.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-CmornXJ-.js → _server.ts-YxrlXy1y.js} +2 -2
  174. package/build/server/chunks/{_server.ts-CmornXJ-.js.map → _server.ts-YxrlXy1y.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-Cxl62pjF.js → _server.ts-_U4W_57y.js} +2 -2
  176. package/build/server/chunks/{_server.ts-Cxl62pjF.js.map → _server.ts-_U4W_57y.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-Dogq9fZp.js → _server.ts-dvQt4QSz.js} +2 -2
  178. package/build/server/chunks/{_server.ts-Dogq9fZp.js.map → _server.ts-dvQt4QSz.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-CHPAl8hi.js → _server.ts-k66up4gn.js} +2 -2
  180. package/build/server/chunks/{_server.ts-CHPAl8hi.js.map → _server.ts-k66up4gn.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-a1DNp3Om.js → _server.ts-kbgiaQ3k.js} +2 -2
  182. package/build/server/chunks/{_server.ts-a1DNp3Om.js.map → _server.ts-kbgiaQ3k.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-DAiHcq5L.js → _server.ts-mShZAFPW.js} +2 -2
  184. package/build/server/chunks/{_server.ts-DAiHcq5L.js.map → _server.ts-mShZAFPW.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-ccIITPgy.js → _server.ts-qUIjjSKS.js} +2 -2
  186. package/build/server/chunks/{_server.ts-ccIITPgy.js.map → _server.ts-qUIjjSKS.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-C2dwqXa9.js → _server.ts-s3Xlvw8e.js} +3 -3
  188. package/build/server/chunks/{_server.ts-C2dwqXa9.js.map → _server.ts-s3Xlvw8e.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-De-Iejg3.js → _server.ts-sySLYaRP.js} +2 -2
  190. package/build/server/chunks/{_server.ts-De-Iejg3.js.map → _server.ts-sySLYaRP.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-CjZLFa8D.js → _server.ts-tJPIvAPJ.js} +2 -2
  192. package/build/server/chunks/{_server.ts-CjZLFa8D.js.map → _server.ts-tJPIvAPJ.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-BoaCMJ-r.js → _server.ts-uUHkM5Mz.js} +2 -2
  194. package/build/server/chunks/{_server.ts-BoaCMJ-r.js.map → _server.ts-uUHkM5Mz.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-TuPM3XZC.js → _server.ts-wd1lrJrd.js} +2 -2
  196. package/build/server/chunks/{_server.ts-TuPM3XZC.js.map → _server.ts-wd1lrJrd.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-DjXVixT3.js → _server.ts-wkwY04Ge.js} +2 -2
  198. package/build/server/chunks/{_server.ts-DjXVixT3.js.map → _server.ts-wkwY04Ge.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-CrxtaF8F.js → _server.ts-xGWRRx7r.js} +2 -2
  200. package/build/server/chunks/{_server.ts-CrxtaF8F.js.map → _server.ts-xGWRRx7r.js.map} +1 -1
  201. package/build/server/chunks/{client-Dsbca-ak.js → client-qMhDM3hE.js} +2 -2
  202. package/build/server/chunks/{client-Dsbca-ak.js.map → client-qMhDM3hE.js.map} +1 -1
  203. package/build/server/chunks/{environment-CTvhscFx.js → environment-qUZpU1kk.js} +2 -2
  204. package/build/server/chunks/{environment-CTvhscFx.js.map → environment-qUZpU1kk.js.map} +1 -1
  205. package/build/server/chunks/{error.svelte-DEEQTC29.js → error.svelte-C0rps-sm.js} +4 -4
  206. package/build/server/chunks/{error.svelte-DEEQTC29.js.map → error.svelte-C0rps-sm.js.map} +1 -1
  207. package/build/server/chunks/{helpers-DF0o-MBx.js → helpers--0A5yqid.js} +43 -74
  208. package/build/server/chunks/helpers--0A5yqid.js.map +1 -0
  209. package/build/server/chunks/{hooks.server-Dh-bEPPO.js → hooks.server-DkKp22aH.js} +5 -4
  210. package/build/server/chunks/hooks.server-DkKp22aH.js.map +1 -0
  211. package/build/server/chunks/{internal-DSrdAGwB.js → internal-BOu4TTqQ.js} +3 -3
  212. package/build/server/chunks/{internal-DSrdAGwB.js.map → internal-BOu4TTqQ.js.map} +1 -1
  213. package/build/server/chunks/{session-cookie-o1RbFNok.js → session-cookie-CF02T7RX.js} +2 -2
  214. package/build/server/chunks/{session-cookie-o1RbFNok.js.map → session-cookie-CF02T7RX.js.map} +1 -1
  215. package/build/server/chunks/{state-oJdM7425.js → state-L3aPP9Av.js} +2 -2
  216. package/build/server/chunks/{state-oJdM7425.js.map → state-L3aPP9Av.js.map} +1 -1
  217. package/build/server/chunks/theme-state.svelte-CE13yM0n.js.map +1 -1
  218. package/build/server/index.js +2 -2
  219. package/build/server/manifest.js +72 -72
  220. package/build/server/manifest.js.map +1 -1
  221. package/package.json +2 -2
  222. package/build/client/_app/immutable/chunks/BBdT9Cjm.js +0 -1
  223. package/build/client/_app/immutable/chunks/BBdT9Cjm.js.br +0 -0
  224. package/build/client/_app/immutable/chunks/BBdT9Cjm.js.gz +0 -0
  225. package/build/client/_app/immutable/chunks/C6XGYBgP.js +0 -5
  226. package/build/client/_app/immutable/chunks/C6XGYBgP.js.br +0 -0
  227. package/build/client/_app/immutable/chunks/C6XGYBgP.js.gz +0 -0
  228. package/build/client/_app/immutable/chunks/CEqzvhO-.js.br +0 -0
  229. package/build/client/_app/immutable/chunks/CEqzvhO-.js.gz +0 -0
  230. package/build/client/_app/immutable/chunks/DcHkTA20.js.br +0 -0
  231. package/build/client/_app/immutable/chunks/DcHkTA20.js.gz +0 -0
  232. package/build/client/_app/immutable/chunks/R8_d_W4C.js +0 -1
  233. package/build/client/_app/immutable/chunks/R8_d_W4C.js.br +0 -2
  234. package/build/client/_app/immutable/chunks/R8_d_W4C.js.gz +0 -0
  235. package/build/client/_app/immutable/entry/app.BLfgN972.js.br +0 -0
  236. package/build/client/_app/immutable/entry/app.BLfgN972.js.gz +0 -0
  237. package/build/client/_app/immutable/entry/start.BE_hk2iR.js +0 -1
  238. package/build/client/_app/immutable/entry/start.BE_hk2iR.js.br +0 -0
  239. package/build/client/_app/immutable/entry/start.BE_hk2iR.js.gz +0 -0
  240. package/build/client/_app/immutable/nodes/0.0pi4RS6G.js.br +0 -0
  241. package/build/client/_app/immutable/nodes/0.0pi4RS6G.js.gz +0 -0
  242. package/build/client/_app/immutable/nodes/1.B78CJ2xh.js.br +0 -0
  243. package/build/client/_app/immutable/nodes/1.B78CJ2xh.js.gz +0 -0
  244. package/build/client/_app/immutable/nodes/4.C2iJavvX.js.br +0 -0
  245. package/build/client/_app/immutable/nodes/4.C2iJavvX.js.gz +0 -0
  246. package/build/client/_app/immutable/nodes/5.CPRINhYB.js.br +0 -0
  247. package/build/client/_app/immutable/nodes/5.CPRINhYB.js.gz +0 -0
  248. package/build/client/_app/immutable/nodes/6.p_Qb17Ld.js.br +0 -0
  249. package/build/client/_app/immutable/nodes/6.p_Qb17Ld.js.gz +0 -0
  250. package/build/client/_app/immutable/nodes/7.Dack5dCm.js.br +0 -0
  251. package/build/client/_app/immutable/nodes/7.Dack5dCm.js.gz +0 -0
  252. package/build/client/_app/immutable/nodes/8.BrlGV8ym.js.br +0 -0
  253. package/build/client/_app/immutable/nodes/8.BrlGV8ym.js.gz +0 -0
  254. package/build/server/chunks/1-DbUBGFDj.js +0 -9
  255. package/build/server/chunks/4-bnAPqQi_.js +0 -9
  256. package/build/server/chunks/5-BdH_KJHB.js +0 -9
  257. package/build/server/chunks/6-BMGTf-1O.js +0 -9
  258. package/build/server/chunks/7-DD6Y6pxP.js +0 -9
  259. package/build/server/chunks/Navbar-gUPeJtoM.js.map +0 -1
  260. package/build/server/chunks/helpers-DF0o-MBx.js.map +0 -1
  261. package/build/server/chunks/hooks.server-Dh-bEPPO.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BNZuAXqS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/_server.ts.js"],"sourcesContent":["import { N as writeFileAtomic } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\nimport { existsSync, mkdirSync, readFileSync } from \"node:fs\";\n//#region src/routes/admin/akm/+server.ts\nfunction akmConfigPath(configDir) {\n\treturn `${configDir}/akm/config.json`;\n}\nfunction readAkmConfig(configDir) {\n\tconst path = akmConfigPath(configDir);\n\tif (!existsSync(path)) return {};\n\ttry {\n\t\treturn JSON.parse(readFileSync(path, \"utf-8\"));\n\t} catch {\n\t\treturn {};\n\t}\n}\nfunction isRec(v) {\n\treturn typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction expectStr(v, field) {\n\treturn typeof v === \"string\" ? v : /* @__PURE__ */ new Error(`${field} must be a string`);\n}\nfunction expectBool(v, field) {\n\treturn typeof v === \"boolean\" ? v : /* @__PURE__ */ new Error(`${field} must be a boolean`);\n}\nfunction expectPosInt(v, field) {\n\treturn typeof v === \"number\" && Number.isInteger(v) && v > 0 ? v : /* @__PURE__ */ new Error(`${field} must be a positive integer`);\n}\nfunction expectNum(v, field, min, max) {\n\treturn typeof v === \"number\" && v >= min && v <= max ? v : /* @__PURE__ */ new Error(`${field} must be a number between ${min} and ${max}`);\n}\nfunction validateLlmProfile(raw, prefix) {\n\tif (\"endpoint\" in raw) {\n\t\tconst r = expectStr(raw.endpoint, `${prefix}.endpoint`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"model\" in raw) {\n\t\tconst r = expectStr(raw.model, `${prefix}.model`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"provider\" in raw) {\n\t\tconst r = expectStr(raw.provider, `${prefix}.provider`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"apiKey\" in raw) {\n\t\tconst r = expectStr(raw.apiKey, `${prefix}.apiKey`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"judgeModel\" in raw) {\n\t\tconst r = expectStr(raw.judgeModel, `${prefix}.judgeModel`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"temperature\" in raw) {\n\t\tconst r = expectNum(raw.temperature, `${prefix}.temperature`, 0, 2);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxTokens\" in raw) {\n\t\tconst r = expectPosInt(raw.maxTokens, `${prefix}.maxTokens`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"timeoutMs\" in raw) {\n\t\tconst r = expectPosInt(raw.timeoutMs, `${prefix}.timeoutMs`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"concurrency\" in raw) {\n\t\tconst r = expectPosInt(raw.concurrency, `${prefix}.concurrency`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"contextLength\" in raw) {\n\t\tconst r = expectPosInt(raw.contextLength, `${prefix}.contextLength`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"supportsJsonSchema\" in raw) {\n\t\tconst r = expectBool(raw.supportsJsonSchema, `${prefix}.supportsJsonSchema`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"enableThinking\" in raw) {\n\t\tconst r = expectBool(raw.enableThinking, `${prefix}.enableThinking`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"capabilities\" in raw) {\n\t\tif (!isRec(raw.capabilities)) return /* @__PURE__ */ new Error(`${prefix}.capabilities must be an object`);\n\t\tif (\"structuredOutput\" in raw.capabilities) {\n\t\t\tconst r = expectBool(raw.capabilities.structuredOutput, `${prefix}.capabilities.structuredOutput`);\n\t\t\tif (r instanceof Error) return r;\n\t\t}\n\t}\n\tif (\"extraParams\" in raw && !isRec(raw.extraParams)) return /* @__PURE__ */ new Error(`${prefix}.extraParams must be an object`);\n\treturn null;\n}\nfunction pickLlmProfile(raw) {\n\tconst out = {};\n\tfor (const f of [\n\t\t\"endpoint\",\n\t\t\"model\",\n\t\t\"provider\",\n\t\t\"judgeModel\"\n\t]) if (f in raw && raw[f]) out[f] = raw[f];\n\tif (\"apiKey\" in raw) {\n\t\tif (raw.apiKey) out.apiKey = raw.apiKey;\n\t}\n\tfor (const f of [\n\t\t\"temperature\",\n\t\t\"maxTokens\",\n\t\t\"timeoutMs\",\n\t\t\"concurrency\",\n\t\t\"contextLength\"\n\t]) if (f in raw && raw[f] !== void 0) out[f] = raw[f];\n\tif (\"supportsJsonSchema\" in raw) out.supportsJsonSchema = raw.supportsJsonSchema;\n\tif (\"enableThinking\" in raw) out.enableThinking = raw.enableThinking;\n\tif (isRec(raw.capabilities) && Object.keys(raw.capabilities).length) out.capabilities = raw.capabilities;\n\tif (isRec(raw.extraParams) && Object.keys(raw.extraParams).length) out.extraParams = raw.extraParams;\n\treturn out;\n}\nvar ALLOWED_IMPROVE_PROCESSES = new Set([\n\t\"reflect\",\n\t\"distill\",\n\t\"consolidate\",\n\t\"memoryInference\",\n\t\"graphExtraction\",\n\t\"validation\",\n\t\"extract\",\n\t\"triage\"\n]);\nvar APPLY_MODES = new Set([\"queue\", \"promote\"]);\nvar FEAT_MODES = new Set([\n\t\"llm\",\n\t\"agent\",\n\t\"sdk\"\n]);\nvar AGENT_PLATFORMS = new Set([\n\t\"opencode\",\n\t\"claude\",\n\t\"opencode-sdk\"\n]);\nvar SEMANTIC_SEARCH_MODES = new Set([\"auto\", \"off\"]);\nvar OUTPUT_FORMATS = new Set([\n\t\"json\",\n\t\"yaml\",\n\t\"text\"\n]);\nvar OUTPUT_DETAILS = new Set([\n\t\"brief\",\n\t\"normal\",\n\t\"full\"\n]);\nfunction validateEnabledGate(v, path) {\n\tif (!isRec(v)) return /* @__PURE__ */ new Error(`${path} must be an object`);\n\tif (\"enabled\" in v) {\n\t\tconst r = expectBool(v.enabled, `${path}.enabled`);\n\t\tif (r instanceof Error) return r;\n\t}\n\treturn null;\n}\nfunction validateImproveProcess(proc, path) {\n\tif (\"enabled\" in proc) {\n\t\tconst r = expectBool(proc.enabled, `${path}.enabled`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"mode\" in proc && (typeof proc.mode !== \"string\" || !FEAT_MODES.has(proc.mode))) return /* @__PURE__ */ new Error(`${path}.mode must be llm, agent, or sdk`);\n\tif (\"profile\" in proc) {\n\t\tconst r = expectStr(proc.profile, `${path}.profile`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"timeoutMs\" in proc && proc.timeoutMs !== null) {\n\t\tconst r = expectPosInt(proc.timeoutMs, `${path}.timeoutMs`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"allowedTypes\" in proc) {\n\t\tif (!Array.isArray(proc.allowedTypes) || !proc.allowedTypes.every((t) => typeof t === \"string\" && t.length > 0)) return /* @__PURE__ */ new Error(`${path}.allowedTypes must be an array of non-empty strings`);\n\t}\n\tif (\"qualityGate\" in proc) {\n\t\tconst r = validateEnabledGate(proc.qualityGate, `${path}.qualityGate`);\n\t\tif (r) return r;\n\t}\n\tif (\"contradictionDetection\" in proc) {\n\t\tconst r = validateEnabledGate(proc.contradictionDetection, `${path}.contradictionDetection`);\n\t\tif (r) return r;\n\t}\n\tif (\"defaultSince\" in proc) {\n\t\tconst r = expectStr(proc.defaultSince, `${path}.defaultSince`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxTotalChars\" in proc) {\n\t\tconst r = expectPosInt(proc.maxTotalChars, `${path}.maxTotalChars`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxChunkSize\" in proc) {\n\t\tif (typeof proc.maxChunkSize !== \"number\" || !Number.isInteger(proc.maxChunkSize) || proc.maxChunkSize < 1 || proc.maxChunkSize > 50) return /* @__PURE__ */ new Error(`${path}.maxChunkSize must be an integer 1–50`);\n\t}\n\tif (\"applyMode\" in proc && (typeof proc.applyMode !== \"string\" || !APPLY_MODES.has(proc.applyMode))) return /* @__PURE__ */ new Error(`${path}.applyMode must be queue or promote`);\n\tif (\"policy\" in proc) {\n\t\tconst r = expectStr(proc.policy, `${path}.policy`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxAcceptsPerRun\" in proc) {\n\t\tconst r = expectPosInt(proc.maxAcceptsPerRun, `${path}.maxAcceptsPerRun`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxDiffLines\" in proc) {\n\t\tconst r = expectPosInt(proc.maxDiffLines, `${path}.maxDiffLines`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"rejectEmpty\" in proc) {\n\t\tconst r = expectBool(proc.rejectEmpty, `${path}.rejectEmpty`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"judgment\" in proc) {\n\t\tif (!isRec(proc.judgment)) return /* @__PURE__ */ new Error(`${path}.judgment must be an object`);\n\t\tconst j = proc.judgment;\n\t\tif (\"mode\" in j && (typeof j.mode !== \"string\" || !FEAT_MODES.has(j.mode))) return /* @__PURE__ */ new Error(`${path}.judgment.mode must be llm, agent, or sdk`);\n\t\tif (\"profile\" in j) {\n\t\t\tconst r = expectStr(j.profile, `${path}.judgment.profile`);\n\t\t\tif (r instanceof Error) return r;\n\t\t}\n\t\tif (\"timeoutMs\" in j && j.timeoutMs !== null) {\n\t\t\tconst r = expectPosInt(j.timeoutMs, `${path}.judgment.timeoutMs`);\n\t\t\tif (r instanceof Error) return r;\n\t\t}\n\t}\n\treturn null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, { config: readAkmConfig(getState().configDir) }, requestId);\n};\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\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 profilesBody = body.profiles;\n\tif (profilesBody !== void 0 && !isRec(profilesBody)) return errorResponse(400, \"bad_request\", \"profiles must be an object\", {}, requestId);\n\tconst profilesLlmBody = profilesBody?.llm;\n\tif (profilesLlmBody !== void 0) {\n\t\tif (!isRec(profilesLlmBody)) return errorResponse(400, \"bad_request\", \"profiles.llm must be an object\", {}, requestId);\n\t\tfor (const [name, entry] of Object.entries(profilesLlmBody)) {\n\t\t\tif (!isRec(entry)) return errorResponse(400, \"bad_request\", `profiles.llm.${name} must be an object`, {}, requestId);\n\t\t\tconst err = validateLlmProfile(entry, `profiles.llm.${name}`);\n\t\t\tif (err) return errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t\t}\n\t}\n\tconst profilesAgentBody = profilesBody?.agent;\n\tif (profilesAgentBody !== void 0) {\n\t\tif (!isRec(profilesAgentBody)) return errorResponse(400, \"bad_request\", \"profiles.agent must be an object\", {}, requestId);\n\t\tfor (const [name, entry] of Object.entries(profilesAgentBody)) {\n\t\t\tif (!isRec(entry)) return errorResponse(400, \"bad_request\", `profiles.agent.${name} must be an object`, {}, requestId);\n\t\t\tif (\"platform\" in entry && (typeof entry.platform !== \"string\" || !AGENT_PLATFORMS.has(entry.platform))) return errorResponse(400, \"bad_request\", `profiles.agent.${name}.platform must be opencode, claude, or opencode-sdk`, {}, requestId);\n\t\t\tif (\"bin\" in entry) {\n\t\t\t\tconst r = expectStr(entry.bin, `profiles.agent.${name}.bin`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"workspace\" in entry) {\n\t\t\t\tconst r = expectStr(entry.workspace, `profiles.agent.${name}.workspace`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"model\" in entry) {\n\t\t\t\tconst r = expectStr(entry.model, `profiles.agent.${name}.model`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"args\" in entry && !Array.isArray(entry.args)) return errorResponse(400, \"bad_request\", `profiles.agent.${name}.args must be an array`, {}, requestId);\n\t\t}\n\t}\n\tconst profilesImproveBody = profilesBody?.improve;\n\tif (profilesImproveBody !== void 0) {\n\t\tif (!isRec(profilesImproveBody)) return errorResponse(400, \"bad_request\", \"profiles.improve must be an object\", {}, requestId);\n\t\tfor (const [name, entry] of Object.entries(profilesImproveBody)) {\n\t\t\tif (!isRec(entry)) return errorResponse(400, \"bad_request\", `profiles.improve.${name} must be an object`, {}, requestId);\n\t\t\tif (\"description\" in entry) {\n\t\t\t\tconst r = expectStr(entry.description, `profiles.improve.${name}.description`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"limit\" in entry) {\n\t\t\t\tconst r = expectPosInt(entry.limit, `profiles.improve.${name}.limit`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"autoAccept\" in entry && (typeof entry.autoAccept !== \"number\" || entry.autoAccept < 0)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.autoAccept must be a non-negative number`, {}, requestId);\n\t\t\tif (\"processes\" in entry) {\n\t\t\t\tif (!isRec(entry.processes)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.processes must be an object`, {}, requestId);\n\t\t\t\tfor (const [procName, proc] of Object.entries(entry.processes)) {\n\t\t\t\t\tif (!ALLOWED_IMPROVE_PROCESSES.has(procName)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.processes.${procName} is not a recognized process name`, {}, requestId);\n\t\t\t\t\tif (!isRec(proc)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.processes.${procName} must be an object`, {}, requestId);\n\t\t\t\t\tconst err = validateImproveProcess(proc, `profiles.improve.${name}.processes.${procName}`);\n\t\t\t\t\tif (err) return errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\"sync\" in entry) {\n\t\t\t\tif (!isRec(entry.sync)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.sync must be an object`, {}, requestId);\n\t\t\t\tconst sync = entry.sync;\n\t\t\t\tif (\"enabled\" in sync) {\n\t\t\t\t\tconst r = expectBool(sync.enabled, `profiles.improve.${name}.sync.enabled`);\n\t\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t\t}\n\t\t\t\tif (\"push\" in sync) {\n\t\t\t\t\tconst r = expectBool(sync.push, `profiles.improve.${name}.sync.push`);\n\t\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t\t}\n\t\t\t\tif (\"message\" in sync) {\n\t\t\t\t\tconst r = expectStr(sync.message, `profiles.improve.${name}.sync.message`);\n\t\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tconst defaultsBody = body.defaults;\n\tif (defaultsBody !== void 0 && !isRec(defaultsBody)) return errorResponse(400, \"bad_request\", \"defaults must be an object\", {}, requestId);\n\tif (defaultsBody?.llm !== void 0) {\n\t\tconst r = expectStr(defaultsBody.llm, \"defaults.llm\");\n\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t}\n\tif (defaultsBody?.agent !== void 0) {\n\t\tconst r = expectStr(defaultsBody.agent, \"defaults.agent\");\n\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t}\n\tif (defaultsBody?.improve !== void 0) {\n\t\tconst r = expectStr(defaultsBody.improve, \"defaults.improve\");\n\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t}\n\tconst embBody = body.embedding;\n\tif (embBody !== void 0) {\n\t\tif (!isRec(embBody)) return errorResponse(400, \"bad_request\", \"embedding must be an object\", {}, requestId);\n\t\tfor (const f of [\n\t\t\t\"endpoint\",\n\t\t\t\"model\",\n\t\t\t\"provider\",\n\t\t\t\"apiKey\",\n\t\t\t\"localModel\"\n\t\t]) if (f in embBody) {\n\t\t\tconst r = expectStr(embBody[f], `embedding.${f}`);\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tif (\"dimension\" in embBody) {\n\t\t\tconst r = expectPosInt(embBody.dimension, \"embedding.dimension\");\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tfor (const f of [\n\t\t\t\"maxTokens\",\n\t\t\t\"batchSize\",\n\t\t\t\"chunkSize\",\n\t\t\t\"contextLength\"\n\t\t]) if (f in embBody) {\n\t\t\tconst r = expectPosInt(embBody[f], `embedding.${f}`);\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tif (isRec(embBody.ollamaOptions) && \"num_ctx\" in embBody.ollamaOptions) {\n\t\t\tconst r = expectPosInt(embBody.ollamaOptions.num_ctx, \"embedding.ollamaOptions.num_ctx\");\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t}\n\tif (\"semanticSearchMode\" in body && (typeof body.semanticSearchMode !== \"string\" || !SEMANTIC_SEARCH_MODES.has(body.semanticSearchMode))) return errorResponse(400, \"bad_request\", \"semanticSearchMode must be \\\"auto\\\" or \\\"off\\\"\", {}, requestId);\n\tconst outputBody = body.output;\n\tif (outputBody !== void 0) {\n\t\tif (!isRec(outputBody)) return errorResponse(400, \"bad_request\", \"output must be an object\", {}, requestId);\n\t\tif (\"format\" in outputBody && (typeof outputBody.format !== \"string\" || !OUTPUT_FORMATS.has(outputBody.format))) return errorResponse(400, \"bad_request\", \"output.format must be json, yaml, or text\", {}, requestId);\n\t\tif (\"detail\" in outputBody && (typeof outputBody.detail !== \"string\" || !OUTPUT_DETAILS.has(outputBody.detail))) return errorResponse(400, \"bad_request\", \"output.detail must be brief, normal, or full\", {}, requestId);\n\t}\n\tconst improveTopBody = body.improve;\n\tif (improveTopBody !== void 0) {\n\t\tif (!isRec(improveTopBody)) return errorResponse(400, \"bad_request\", \"improve must be an object\", {}, requestId);\n\t\tif (\"utilityDecay\" in improveTopBody) {\n\t\t\tif (!isRec(improveTopBody.utilityDecay)) return errorResponse(400, \"bad_request\", \"improve.utilityDecay must be an object\", {}, requestId);\n\t\t\tconst d = improveTopBody.utilityDecay;\n\t\t\tif (\"halfLifeDays\" in d && (typeof d.halfLifeDays !== \"number\" || d.halfLifeDays < .1)) return errorResponse(400, \"bad_request\", \"improve.utilityDecay.halfLifeDays must be a number ≥ 0.1\", {}, requestId);\n\t\t\tif (\"feedbackStabilityBoost\" in d && (typeof d.feedbackStabilityBoost !== \"number\" || d.feedbackStabilityBoost < 1)) return errorResponse(400, \"bad_request\", \"improve.utilityDecay.feedbackStabilityBoost must be a number ≥ 1\", {}, requestId);\n\t\t}\n\t\tif (\"eventRetentionDays\" in improveTopBody && (typeof improveTopBody.eventRetentionDays !== \"number\" || improveTopBody.eventRetentionDays < 0)) return errorResponse(400, \"bad_request\", \"improve.eventRetentionDays must be a non-negative number\", {}, requestId);\n\t}\n\tconst searchBody = body.search;\n\tif (searchBody !== void 0) {\n\t\tif (!isRec(searchBody)) return errorResponse(400, \"bad_request\", \"search must be an object\", {}, requestId);\n\t\tif (\"minScore\" in searchBody && (typeof searchBody.minScore !== \"number\" || searchBody.minScore < 0)) return errorResponse(400, \"bad_request\", \"search.minScore must be a non-negative number\", {}, requestId);\n\t\tif (\"curateRerank\" in searchBody) {\n\t\t\tconst r = validateEnabledGate(searchBody.curateRerank, \"search.curateRerank\");\n\t\t\tif (r) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t}\n\tconst feedbackBody = body.feedback;\n\tif (feedbackBody !== void 0) {\n\t\tif (!isRec(feedbackBody)) return errorResponse(400, \"bad_request\", \"feedback must be an object\", {}, requestId);\n\t\tif (\"requireReason\" in feedbackBody) {\n\t\t\tconst r = expectBool(feedbackBody.requireReason, \"feedback.requireReason\");\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tif (\"allowedFailureModes\" in feedbackBody && (!Array.isArray(feedbackBody.allowedFailureModes) || !feedbackBody.allowedFailureModes.every((m) => typeof m === \"string\" && m.length > 0))) return errorResponse(400, \"bad_request\", \"feedback.allowedFailureModes must be an array of non-empty strings\", {}, requestId);\n\t}\n\tconst indexBody = body.index;\n\tif (indexBody !== void 0 && !isRec(indexBody)) return errorResponse(400, \"bad_request\", \"index must be an object keyed by pass name\", {}, requestId);\n\ttry {\n\t\tconst existing = readAkmConfig(state.configDir);\n\t\tconst updated = { ...existing };\n\t\tif (profilesBody !== void 0) {\n\t\t\tconst existingProfiles = existing.profiles ?? {};\n\t\t\tconst newProfiles = { ...existingProfiles };\n\t\t\tif (profilesLlmBody !== void 0) {\n\t\t\t\tconst built = {};\n\t\t\t\tfor (const [name, entry] of Object.entries(profilesLlmBody)) built[name] = pickLlmProfile(entry);\n\t\t\t\tnewProfiles.llm = built;\n\t\t\t}\n\t\t\tif (profilesAgentBody !== void 0) {\n\t\t\t\tconst built = {};\n\t\t\t\tfor (const [name, entry] of Object.entries(profilesAgentBody)) {\n\t\t\t\t\tconst raw = entry;\n\t\t\t\t\tconst agentEntry = {};\n\t\t\t\t\tif (\"platform\" in raw) agentEntry.platform = raw.platform;\n\t\t\t\t\tif (\"bin\" in raw && raw.bin) agentEntry.bin = raw.bin;\n\t\t\t\t\tif (\"args\" in raw && Array.isArray(raw.args) && raw.args.length) agentEntry.args = raw.args;\n\t\t\t\t\tif (\"workspace\" in raw && raw.workspace) agentEntry.workspace = raw.workspace;\n\t\t\t\t\tif (\"model\" in raw && raw.model) agentEntry.model = raw.model;\n\t\t\t\t\tbuilt[name] = agentEntry;\n\t\t\t\t}\n\t\t\t\tnewProfiles.agent = built;\n\t\t\t}\n\t\t\tif (profilesImproveBody !== void 0) {\n\t\t\t\tconst existingImprove = existingProfiles.improve ?? {};\n\t\t\t\tconst builtImprove = {};\n\t\t\t\tfor (const [name, entry] of Object.entries(profilesImproveBody)) {\n\t\t\t\t\tconst raw = entry;\n\t\t\t\t\tconst existingProfile = existingImprove[name] ?? {};\n\t\t\t\t\tconst profileEntry = { ...existingProfile };\n\t\t\t\t\tif (\"description\" in raw && raw.description) profileEntry.description = raw.description;\n\t\t\t\t\tif (\"limit\" in raw) profileEntry.limit = raw.limit;\n\t\t\t\t\tif (\"autoAccept\" in raw) profileEntry.autoAccept = raw.autoAccept;\n\t\t\t\t\tif (\"processes\" in raw && isRec(raw.processes)) {\n\t\t\t\t\t\tconst newProcs = { ...existingProfile.processes ?? {} };\n\t\t\t\t\t\tfor (const [procName, proc] of Object.entries(raw.processes)) newProcs[procName] = proc;\n\t\t\t\t\t\tprofileEntry.processes = newProcs;\n\t\t\t\t\t}\n\t\t\t\t\tif (\"sync\" in raw) if (isRec(raw.sync)) profileEntry.sync = raw.sync;\n\t\t\t\t\telse delete profileEntry.sync;\n\t\t\t\t\tbuiltImprove[name] = profileEntry;\n\t\t\t\t}\n\t\t\t\tnewProfiles.improve = builtImprove;\n\t\t\t}\n\t\t\tupdated.profiles = newProfiles;\n\t\t}\n\t\tif (defaultsBody !== void 0) updated.defaults = {\n\t\t\t...existing.defaults ?? {},\n\t\t\t...\"llm\" in defaultsBody ? { llm: defaultsBody.llm } : {},\n\t\t\t...\"agent\" in defaultsBody ? { agent: defaultsBody.agent } : {},\n\t\t\t...\"improve\" in defaultsBody ? { improve: defaultsBody.improve } : {}\n\t\t};\n\t\tif (embBody !== void 0) {\n\t\t\tconst merged = { ...existing.embedding ?? {} };\n\t\t\tfor (const f of [\n\t\t\t\t\"endpoint\",\n\t\t\t\t\"model\",\n\t\t\t\t\"provider\",\n\t\t\t\t\"localModel\"\n\t\t\t]) if (f in embBody) if (embBody[f]) merged[f] = embBody[f];\n\t\t\telse delete merged[f];\n\t\t\tif (\"apiKey\" in embBody) if (embBody.apiKey) merged.apiKey = embBody.apiKey;\n\t\t\telse delete merged.apiKey;\n\t\t\tif (\"dimension\" in embBody) merged.dimension = embBody.dimension;\n\t\t\tfor (const f of [\n\t\t\t\t\"maxTokens\",\n\t\t\t\t\"batchSize\",\n\t\t\t\t\"chunkSize\",\n\t\t\t\t\"contextLength\"\n\t\t\t]) if (f in embBody) merged[f] = embBody[f];\n\t\t\tif (isRec(embBody.ollamaOptions) && \"num_ctx\" in embBody.ollamaOptions) merged.ollamaOptions = {\n\t\t\t\t...existing.embedding?.[\"ollamaOptions\"] ?? {},\n\t\t\t\tnum_ctx: embBody.ollamaOptions.num_ctx\n\t\t\t};\n\t\t\tupdated.embedding = merged;\n\t\t}\n\t\tif (\"semanticSearchMode\" in body) updated.semanticSearchMode = body.semanticSearchMode;\n\t\tupdated.stashDir = \"/stash\";\n\t\tif (outputBody !== void 0) updated.output = {\n\t\t\t...existing.output ?? {},\n\t\t\t...\"format\" in outputBody ? { format: outputBody.format } : {},\n\t\t\t...\"detail\" in outputBody ? { detail: outputBody.detail } : {}\n\t\t};\n\t\tif (improveTopBody !== void 0) updated.improve = improveTopBody;\n\t\tif (searchBody !== void 0) updated.search = searchBody;\n\t\tif (feedbackBody !== void 0) updated.feedback = feedbackBody;\n\t\tif (indexBody !== void 0) updated.index = indexBody;\n\t\tmkdirSync(`${state.configDir}/akm`, { recursive: true });\n\t\twriteFileAtomic(akmConfigPath(state.configDir), JSON.stringify(updated, null, 2), 384);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tconfig: updated\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"internal_error\", `Failed to persist akm config: ${String(e)}`, {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, PATCH };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-BM_LtlVD.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/_server.ts.js"],"sourcesContent":["import { N as writeFileAtomic } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\nimport { existsSync, mkdirSync, readFileSync } from \"node:fs\";\n//#region src/routes/admin/akm/+server.ts\nfunction akmConfigPath(configDir) {\n\treturn `${configDir}/akm/config.json`;\n}\nfunction readAkmConfig(configDir) {\n\tconst path = akmConfigPath(configDir);\n\tif (!existsSync(path)) return {};\n\ttry {\n\t\treturn JSON.parse(readFileSync(path, \"utf-8\"));\n\t} catch {\n\t\treturn {};\n\t}\n}\nfunction isRec(v) {\n\treturn typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction expectStr(v, field) {\n\treturn typeof v === \"string\" ? v : /* @__PURE__ */ new Error(`${field} must be a string`);\n}\nfunction expectBool(v, field) {\n\treturn typeof v === \"boolean\" ? v : /* @__PURE__ */ new Error(`${field} must be a boolean`);\n}\nfunction expectPosInt(v, field) {\n\treturn typeof v === \"number\" && Number.isInteger(v) && v > 0 ? v : /* @__PURE__ */ new Error(`${field} must be a positive integer`);\n}\nfunction expectNum(v, field, min, max) {\n\treturn typeof v === \"number\" && v >= min && v <= max ? v : /* @__PURE__ */ new Error(`${field} must be a number between ${min} and ${max}`);\n}\nfunction validateLlmProfile(raw, prefix) {\n\tif (\"endpoint\" in raw) {\n\t\tconst r = expectStr(raw.endpoint, `${prefix}.endpoint`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"model\" in raw) {\n\t\tconst r = expectStr(raw.model, `${prefix}.model`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"provider\" in raw) {\n\t\tconst r = expectStr(raw.provider, `${prefix}.provider`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"apiKey\" in raw) {\n\t\tconst r = expectStr(raw.apiKey, `${prefix}.apiKey`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"judgeModel\" in raw) {\n\t\tconst r = expectStr(raw.judgeModel, `${prefix}.judgeModel`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"temperature\" in raw) {\n\t\tconst r = expectNum(raw.temperature, `${prefix}.temperature`, 0, 2);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxTokens\" in raw) {\n\t\tconst r = expectPosInt(raw.maxTokens, `${prefix}.maxTokens`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"timeoutMs\" in raw) {\n\t\tconst r = expectPosInt(raw.timeoutMs, `${prefix}.timeoutMs`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"concurrency\" in raw) {\n\t\tconst r = expectPosInt(raw.concurrency, `${prefix}.concurrency`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"contextLength\" in raw) {\n\t\tconst r = expectPosInt(raw.contextLength, `${prefix}.contextLength`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"supportsJsonSchema\" in raw) {\n\t\tconst r = expectBool(raw.supportsJsonSchema, `${prefix}.supportsJsonSchema`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"enableThinking\" in raw) {\n\t\tconst r = expectBool(raw.enableThinking, `${prefix}.enableThinking`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"capabilities\" in raw) {\n\t\tif (!isRec(raw.capabilities)) return /* @__PURE__ */ new Error(`${prefix}.capabilities must be an object`);\n\t\tif (\"structuredOutput\" in raw.capabilities) {\n\t\t\tconst r = expectBool(raw.capabilities.structuredOutput, `${prefix}.capabilities.structuredOutput`);\n\t\t\tif (r instanceof Error) return r;\n\t\t}\n\t}\n\tif (\"extraParams\" in raw && !isRec(raw.extraParams)) return /* @__PURE__ */ new Error(`${prefix}.extraParams must be an object`);\n\treturn null;\n}\nfunction pickLlmProfile(raw) {\n\tconst out = {};\n\tfor (const f of [\n\t\t\"endpoint\",\n\t\t\"model\",\n\t\t\"provider\",\n\t\t\"judgeModel\"\n\t]) if (f in raw && raw[f]) out[f] = raw[f];\n\tif (\"apiKey\" in raw) {\n\t\tif (raw.apiKey) out.apiKey = raw.apiKey;\n\t}\n\tfor (const f of [\n\t\t\"temperature\",\n\t\t\"maxTokens\",\n\t\t\"timeoutMs\",\n\t\t\"concurrency\",\n\t\t\"contextLength\"\n\t]) if (f in raw && raw[f] !== void 0) out[f] = raw[f];\n\tif (\"supportsJsonSchema\" in raw) out.supportsJsonSchema = raw.supportsJsonSchema;\n\tif (\"enableThinking\" in raw) out.enableThinking = raw.enableThinking;\n\tif (isRec(raw.capabilities) && Object.keys(raw.capabilities).length) out.capabilities = raw.capabilities;\n\tif (isRec(raw.extraParams) && Object.keys(raw.extraParams).length) out.extraParams = raw.extraParams;\n\treturn out;\n}\nvar ALLOWED_IMPROVE_PROCESSES = new Set([\n\t\"reflect\",\n\t\"distill\",\n\t\"consolidate\",\n\t\"memoryInference\",\n\t\"graphExtraction\",\n\t\"validation\",\n\t\"extract\",\n\t\"triage\"\n]);\nvar APPLY_MODES = new Set([\"queue\", \"promote\"]);\nvar FEAT_MODES = new Set([\n\t\"llm\",\n\t\"agent\",\n\t\"sdk\"\n]);\nvar AGENT_PLATFORMS = new Set([\n\t\"opencode\",\n\t\"claude\",\n\t\"opencode-sdk\"\n]);\nvar SEMANTIC_SEARCH_MODES = new Set([\"auto\", \"off\"]);\nvar OUTPUT_FORMATS = new Set([\n\t\"json\",\n\t\"yaml\",\n\t\"text\"\n]);\nvar OUTPUT_DETAILS = new Set([\n\t\"brief\",\n\t\"normal\",\n\t\"full\"\n]);\nfunction validateEnabledGate(v, path) {\n\tif (!isRec(v)) return /* @__PURE__ */ new Error(`${path} must be an object`);\n\tif (\"enabled\" in v) {\n\t\tconst r = expectBool(v.enabled, `${path}.enabled`);\n\t\tif (r instanceof Error) return r;\n\t}\n\treturn null;\n}\nfunction validateImproveProcess(proc, path) {\n\tif (\"enabled\" in proc) {\n\t\tconst r = expectBool(proc.enabled, `${path}.enabled`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"mode\" in proc && (typeof proc.mode !== \"string\" || !FEAT_MODES.has(proc.mode))) return /* @__PURE__ */ new Error(`${path}.mode must be llm, agent, or sdk`);\n\tif (\"profile\" in proc) {\n\t\tconst r = expectStr(proc.profile, `${path}.profile`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"timeoutMs\" in proc && proc.timeoutMs !== null) {\n\t\tconst r = expectPosInt(proc.timeoutMs, `${path}.timeoutMs`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"allowedTypes\" in proc) {\n\t\tif (!Array.isArray(proc.allowedTypes) || !proc.allowedTypes.every((t) => typeof t === \"string\" && t.length > 0)) return /* @__PURE__ */ new Error(`${path}.allowedTypes must be an array of non-empty strings`);\n\t}\n\tif (\"qualityGate\" in proc) {\n\t\tconst r = validateEnabledGate(proc.qualityGate, `${path}.qualityGate`);\n\t\tif (r) return r;\n\t}\n\tif (\"contradictionDetection\" in proc) {\n\t\tconst r = validateEnabledGate(proc.contradictionDetection, `${path}.contradictionDetection`);\n\t\tif (r) return r;\n\t}\n\tif (\"defaultSince\" in proc) {\n\t\tconst r = expectStr(proc.defaultSince, `${path}.defaultSince`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxTotalChars\" in proc) {\n\t\tconst r = expectPosInt(proc.maxTotalChars, `${path}.maxTotalChars`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxChunkSize\" in proc) {\n\t\tif (typeof proc.maxChunkSize !== \"number\" || !Number.isInteger(proc.maxChunkSize) || proc.maxChunkSize < 1 || proc.maxChunkSize > 50) return /* @__PURE__ */ new Error(`${path}.maxChunkSize must be an integer 1–50`);\n\t}\n\tif (\"applyMode\" in proc && (typeof proc.applyMode !== \"string\" || !APPLY_MODES.has(proc.applyMode))) return /* @__PURE__ */ new Error(`${path}.applyMode must be queue or promote`);\n\tif (\"policy\" in proc) {\n\t\tconst r = expectStr(proc.policy, `${path}.policy`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxAcceptsPerRun\" in proc) {\n\t\tconst r = expectPosInt(proc.maxAcceptsPerRun, `${path}.maxAcceptsPerRun`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"maxDiffLines\" in proc) {\n\t\tconst r = expectPosInt(proc.maxDiffLines, `${path}.maxDiffLines`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"rejectEmpty\" in proc) {\n\t\tconst r = expectBool(proc.rejectEmpty, `${path}.rejectEmpty`);\n\t\tif (r instanceof Error) return r;\n\t}\n\tif (\"judgment\" in proc) {\n\t\tif (!isRec(proc.judgment)) return /* @__PURE__ */ new Error(`${path}.judgment must be an object`);\n\t\tconst j = proc.judgment;\n\t\tif (\"mode\" in j && (typeof j.mode !== \"string\" || !FEAT_MODES.has(j.mode))) return /* @__PURE__ */ new Error(`${path}.judgment.mode must be llm, agent, or sdk`);\n\t\tif (\"profile\" in j) {\n\t\t\tconst r = expectStr(j.profile, `${path}.judgment.profile`);\n\t\t\tif (r instanceof Error) return r;\n\t\t}\n\t\tif (\"timeoutMs\" in j && j.timeoutMs !== null) {\n\t\t\tconst r = expectPosInt(j.timeoutMs, `${path}.judgment.timeoutMs`);\n\t\t\tif (r instanceof Error) return r;\n\t\t}\n\t}\n\treturn null;\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, { config: readAkmConfig(getState().configDir) }, requestId);\n};\nvar PATCH = async (event) => {\n\tconst requestId = getRequestId(event);\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 profilesBody = body.profiles;\n\tif (profilesBody !== void 0 && !isRec(profilesBody)) return errorResponse(400, \"bad_request\", \"profiles must be an object\", {}, requestId);\n\tconst profilesLlmBody = profilesBody?.llm;\n\tif (profilesLlmBody !== void 0) {\n\t\tif (!isRec(profilesLlmBody)) return errorResponse(400, \"bad_request\", \"profiles.llm must be an object\", {}, requestId);\n\t\tfor (const [name, entry] of Object.entries(profilesLlmBody)) {\n\t\t\tif (!isRec(entry)) return errorResponse(400, \"bad_request\", `profiles.llm.${name} must be an object`, {}, requestId);\n\t\t\tconst err = validateLlmProfile(entry, `profiles.llm.${name}`);\n\t\t\tif (err) return errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t\t}\n\t}\n\tconst profilesAgentBody = profilesBody?.agent;\n\tif (profilesAgentBody !== void 0) {\n\t\tif (!isRec(profilesAgentBody)) return errorResponse(400, \"bad_request\", \"profiles.agent must be an object\", {}, requestId);\n\t\tfor (const [name, entry] of Object.entries(profilesAgentBody)) {\n\t\t\tif (!isRec(entry)) return errorResponse(400, \"bad_request\", `profiles.agent.${name} must be an object`, {}, requestId);\n\t\t\tif (\"platform\" in entry && (typeof entry.platform !== \"string\" || !AGENT_PLATFORMS.has(entry.platform))) return errorResponse(400, \"bad_request\", `profiles.agent.${name}.platform must be opencode, claude, or opencode-sdk`, {}, requestId);\n\t\t\tif (\"bin\" in entry) {\n\t\t\t\tconst r = expectStr(entry.bin, `profiles.agent.${name}.bin`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"workspace\" in entry) {\n\t\t\t\tconst r = expectStr(entry.workspace, `profiles.agent.${name}.workspace`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"model\" in entry) {\n\t\t\t\tconst r = expectStr(entry.model, `profiles.agent.${name}.model`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"args\" in entry && !Array.isArray(entry.args)) return errorResponse(400, \"bad_request\", `profiles.agent.${name}.args must be an array`, {}, requestId);\n\t\t}\n\t}\n\tconst profilesImproveBody = profilesBody?.improve;\n\tif (profilesImproveBody !== void 0) {\n\t\tif (!isRec(profilesImproveBody)) return errorResponse(400, \"bad_request\", \"profiles.improve must be an object\", {}, requestId);\n\t\tfor (const [name, entry] of Object.entries(profilesImproveBody)) {\n\t\t\tif (!isRec(entry)) return errorResponse(400, \"bad_request\", `profiles.improve.${name} must be an object`, {}, requestId);\n\t\t\tif (\"description\" in entry) {\n\t\t\t\tconst r = expectStr(entry.description, `profiles.improve.${name}.description`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"limit\" in entry) {\n\t\t\t\tconst r = expectPosInt(entry.limit, `profiles.improve.${name}.limit`);\n\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t}\n\t\t\tif (\"autoAccept\" in entry && (typeof entry.autoAccept !== \"number\" || entry.autoAccept < 0)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.autoAccept must be a non-negative number`, {}, requestId);\n\t\t\tif (\"processes\" in entry) {\n\t\t\t\tif (!isRec(entry.processes)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.processes must be an object`, {}, requestId);\n\t\t\t\tfor (const [procName, proc] of Object.entries(entry.processes)) {\n\t\t\t\t\tif (!ALLOWED_IMPROVE_PROCESSES.has(procName)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.processes.${procName} is not a recognized process name`, {}, requestId);\n\t\t\t\t\tif (!isRec(proc)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.processes.${procName} must be an object`, {}, requestId);\n\t\t\t\t\tconst err = validateImproveProcess(proc, `profiles.improve.${name}.processes.${procName}`);\n\t\t\t\t\tif (err) return errorResponse(400, \"bad_request\", err.message, {}, requestId);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\"sync\" in entry) {\n\t\t\t\tif (!isRec(entry.sync)) return errorResponse(400, \"bad_request\", `profiles.improve.${name}.sync must be an object`, {}, requestId);\n\t\t\t\tconst sync = entry.sync;\n\t\t\t\tif (\"enabled\" in sync) {\n\t\t\t\t\tconst r = expectBool(sync.enabled, `profiles.improve.${name}.sync.enabled`);\n\t\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t\t}\n\t\t\t\tif (\"push\" in sync) {\n\t\t\t\t\tconst r = expectBool(sync.push, `profiles.improve.${name}.sync.push`);\n\t\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t\t}\n\t\t\t\tif (\"message\" in sync) {\n\t\t\t\t\tconst r = expectStr(sync.message, `profiles.improve.${name}.sync.message`);\n\t\t\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tconst defaultsBody = body.defaults;\n\tif (defaultsBody !== void 0 && !isRec(defaultsBody)) return errorResponse(400, \"bad_request\", \"defaults must be an object\", {}, requestId);\n\tif (defaultsBody?.llm !== void 0) {\n\t\tconst r = expectStr(defaultsBody.llm, \"defaults.llm\");\n\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t}\n\tif (defaultsBody?.agent !== void 0) {\n\t\tconst r = expectStr(defaultsBody.agent, \"defaults.agent\");\n\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t}\n\tif (defaultsBody?.improve !== void 0) {\n\t\tconst r = expectStr(defaultsBody.improve, \"defaults.improve\");\n\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t}\n\tconst embBody = body.embedding;\n\tif (embBody !== void 0) {\n\t\tif (!isRec(embBody)) return errorResponse(400, \"bad_request\", \"embedding must be an object\", {}, requestId);\n\t\tfor (const f of [\n\t\t\t\"endpoint\",\n\t\t\t\"model\",\n\t\t\t\"provider\",\n\t\t\t\"apiKey\",\n\t\t\t\"localModel\"\n\t\t]) if (f in embBody) {\n\t\t\tconst r = expectStr(embBody[f], `embedding.${f}`);\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tif (\"dimension\" in embBody) {\n\t\t\tconst r = expectPosInt(embBody.dimension, \"embedding.dimension\");\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tfor (const f of [\n\t\t\t\"maxTokens\",\n\t\t\t\"batchSize\",\n\t\t\t\"chunkSize\",\n\t\t\t\"contextLength\"\n\t\t]) if (f in embBody) {\n\t\t\tconst r = expectPosInt(embBody[f], `embedding.${f}`);\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tif (isRec(embBody.ollamaOptions) && \"num_ctx\" in embBody.ollamaOptions) {\n\t\t\tconst r = expectPosInt(embBody.ollamaOptions.num_ctx, \"embedding.ollamaOptions.num_ctx\");\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t}\n\tif (\"semanticSearchMode\" in body && (typeof body.semanticSearchMode !== \"string\" || !SEMANTIC_SEARCH_MODES.has(body.semanticSearchMode))) return errorResponse(400, \"bad_request\", \"semanticSearchMode must be \\\"auto\\\" or \\\"off\\\"\", {}, requestId);\n\tconst outputBody = body.output;\n\tif (outputBody !== void 0) {\n\t\tif (!isRec(outputBody)) return errorResponse(400, \"bad_request\", \"output must be an object\", {}, requestId);\n\t\tif (\"format\" in outputBody && (typeof outputBody.format !== \"string\" || !OUTPUT_FORMATS.has(outputBody.format))) return errorResponse(400, \"bad_request\", \"output.format must be json, yaml, or text\", {}, requestId);\n\t\tif (\"detail\" in outputBody && (typeof outputBody.detail !== \"string\" || !OUTPUT_DETAILS.has(outputBody.detail))) return errorResponse(400, \"bad_request\", \"output.detail must be brief, normal, or full\", {}, requestId);\n\t}\n\tconst improveTopBody = body.improve;\n\tif (improveTopBody !== void 0) {\n\t\tif (!isRec(improveTopBody)) return errorResponse(400, \"bad_request\", \"improve must be an object\", {}, requestId);\n\t\tif (\"utilityDecay\" in improveTopBody) {\n\t\t\tif (!isRec(improveTopBody.utilityDecay)) return errorResponse(400, \"bad_request\", \"improve.utilityDecay must be an object\", {}, requestId);\n\t\t\tconst d = improveTopBody.utilityDecay;\n\t\t\tif (\"halfLifeDays\" in d && (typeof d.halfLifeDays !== \"number\" || d.halfLifeDays < .1)) return errorResponse(400, \"bad_request\", \"improve.utilityDecay.halfLifeDays must be a number ≥ 0.1\", {}, requestId);\n\t\t\tif (\"feedbackStabilityBoost\" in d && (typeof d.feedbackStabilityBoost !== \"number\" || d.feedbackStabilityBoost < 1)) return errorResponse(400, \"bad_request\", \"improve.utilityDecay.feedbackStabilityBoost must be a number ≥ 1\", {}, requestId);\n\t\t}\n\t\tif (\"eventRetentionDays\" in improveTopBody && (typeof improveTopBody.eventRetentionDays !== \"number\" || improveTopBody.eventRetentionDays < 0)) return errorResponse(400, \"bad_request\", \"improve.eventRetentionDays must be a non-negative number\", {}, requestId);\n\t}\n\tconst searchBody = body.search;\n\tif (searchBody !== void 0) {\n\t\tif (!isRec(searchBody)) return errorResponse(400, \"bad_request\", \"search must be an object\", {}, requestId);\n\t\tif (\"minScore\" in searchBody && (typeof searchBody.minScore !== \"number\" || searchBody.minScore < 0)) return errorResponse(400, \"bad_request\", \"search.minScore must be a non-negative number\", {}, requestId);\n\t\tif (\"curateRerank\" in searchBody) {\n\t\t\tconst r = validateEnabledGate(searchBody.curateRerank, \"search.curateRerank\");\n\t\t\tif (r) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t}\n\tconst feedbackBody = body.feedback;\n\tif (feedbackBody !== void 0) {\n\t\tif (!isRec(feedbackBody)) return errorResponse(400, \"bad_request\", \"feedback must be an object\", {}, requestId);\n\t\tif (\"requireReason\" in feedbackBody) {\n\t\t\tconst r = expectBool(feedbackBody.requireReason, \"feedback.requireReason\");\n\t\t\tif (r instanceof Error) return errorResponse(400, \"bad_request\", r.message, {}, requestId);\n\t\t}\n\t\tif (\"allowedFailureModes\" in feedbackBody && (!Array.isArray(feedbackBody.allowedFailureModes) || !feedbackBody.allowedFailureModes.every((m) => typeof m === \"string\" && m.length > 0))) return errorResponse(400, \"bad_request\", \"feedback.allowedFailureModes must be an array of non-empty strings\", {}, requestId);\n\t}\n\tconst indexBody = body.index;\n\tif (indexBody !== void 0 && !isRec(indexBody)) return errorResponse(400, \"bad_request\", \"index must be an object keyed by pass name\", {}, requestId);\n\ttry {\n\t\tconst existing = readAkmConfig(state.configDir);\n\t\tconst updated = { ...existing };\n\t\tif (profilesBody !== void 0) {\n\t\t\tconst existingProfiles = existing.profiles ?? {};\n\t\t\tconst newProfiles = { ...existingProfiles };\n\t\t\tif (profilesLlmBody !== void 0) {\n\t\t\t\tconst built = {};\n\t\t\t\tfor (const [name, entry] of Object.entries(profilesLlmBody)) built[name] = pickLlmProfile(entry);\n\t\t\t\tnewProfiles.llm = built;\n\t\t\t}\n\t\t\tif (profilesAgentBody !== void 0) {\n\t\t\t\tconst built = {};\n\t\t\t\tfor (const [name, entry] of Object.entries(profilesAgentBody)) {\n\t\t\t\t\tconst raw = entry;\n\t\t\t\t\tconst agentEntry = {};\n\t\t\t\t\tif (\"platform\" in raw) agentEntry.platform = raw.platform;\n\t\t\t\t\tif (\"bin\" in raw && raw.bin) agentEntry.bin = raw.bin;\n\t\t\t\t\tif (\"args\" in raw && Array.isArray(raw.args) && raw.args.length) agentEntry.args = raw.args;\n\t\t\t\t\tif (\"workspace\" in raw && raw.workspace) agentEntry.workspace = raw.workspace;\n\t\t\t\t\tif (\"model\" in raw && raw.model) agentEntry.model = raw.model;\n\t\t\t\t\tbuilt[name] = agentEntry;\n\t\t\t\t}\n\t\t\t\tnewProfiles.agent = built;\n\t\t\t}\n\t\t\tif (profilesImproveBody !== void 0) {\n\t\t\t\tconst existingImprove = existingProfiles.improve ?? {};\n\t\t\t\tconst builtImprove = {};\n\t\t\t\tfor (const [name, entry] of Object.entries(profilesImproveBody)) {\n\t\t\t\t\tconst raw = entry;\n\t\t\t\t\tconst existingProfile = existingImprove[name] ?? {};\n\t\t\t\t\tconst profileEntry = { ...existingProfile };\n\t\t\t\t\tif (\"description\" in raw && raw.description) profileEntry.description = raw.description;\n\t\t\t\t\tif (\"limit\" in raw) profileEntry.limit = raw.limit;\n\t\t\t\t\tif (\"autoAccept\" in raw) profileEntry.autoAccept = raw.autoAccept;\n\t\t\t\t\tif (\"processes\" in raw && isRec(raw.processes)) {\n\t\t\t\t\t\tconst newProcs = { ...existingProfile.processes ?? {} };\n\t\t\t\t\t\tfor (const [procName, proc] of Object.entries(raw.processes)) newProcs[procName] = proc;\n\t\t\t\t\t\tprofileEntry.processes = newProcs;\n\t\t\t\t\t}\n\t\t\t\t\tif (\"sync\" in raw) if (isRec(raw.sync)) profileEntry.sync = raw.sync;\n\t\t\t\t\telse delete profileEntry.sync;\n\t\t\t\t\tbuiltImprove[name] = profileEntry;\n\t\t\t\t}\n\t\t\t\tnewProfiles.improve = builtImprove;\n\t\t\t}\n\t\t\tupdated.profiles = newProfiles;\n\t\t}\n\t\tif (defaultsBody !== void 0) updated.defaults = {\n\t\t\t...existing.defaults ?? {},\n\t\t\t...\"llm\" in defaultsBody ? { llm: defaultsBody.llm } : {},\n\t\t\t...\"agent\" in defaultsBody ? { agent: defaultsBody.agent } : {},\n\t\t\t...\"improve\" in defaultsBody ? { improve: defaultsBody.improve } : {}\n\t\t};\n\t\tif (embBody !== void 0) {\n\t\t\tconst merged = { ...existing.embedding ?? {} };\n\t\t\tfor (const f of [\n\t\t\t\t\"endpoint\",\n\t\t\t\t\"model\",\n\t\t\t\t\"provider\",\n\t\t\t\t\"localModel\"\n\t\t\t]) if (f in embBody) if (embBody[f]) merged[f] = embBody[f];\n\t\t\telse delete merged[f];\n\t\t\tif (\"apiKey\" in embBody) if (embBody.apiKey) merged.apiKey = embBody.apiKey;\n\t\t\telse delete merged.apiKey;\n\t\t\tif (\"dimension\" in embBody) merged.dimension = embBody.dimension;\n\t\t\tfor (const f of [\n\t\t\t\t\"maxTokens\",\n\t\t\t\t\"batchSize\",\n\t\t\t\t\"chunkSize\",\n\t\t\t\t\"contextLength\"\n\t\t\t]) if (f in embBody) merged[f] = embBody[f];\n\t\t\tif (isRec(embBody.ollamaOptions) && \"num_ctx\" in embBody.ollamaOptions) merged.ollamaOptions = {\n\t\t\t\t...existing.embedding?.[\"ollamaOptions\"] ?? {},\n\t\t\t\tnum_ctx: embBody.ollamaOptions.num_ctx\n\t\t\t};\n\t\t\tupdated.embedding = merged;\n\t\t}\n\t\tif (\"semanticSearchMode\" in body) updated.semanticSearchMode = body.semanticSearchMode;\n\t\tupdated.stashDir = \"/stash\";\n\t\tif (outputBody !== void 0) updated.output = {\n\t\t\t...existing.output ?? {},\n\t\t\t...\"format\" in outputBody ? { format: outputBody.format } : {},\n\t\t\t...\"detail\" in outputBody ? { detail: outputBody.detail } : {}\n\t\t};\n\t\tif (improveTopBody !== void 0) updated.improve = improveTopBody;\n\t\tif (searchBody !== void 0) updated.search = searchBody;\n\t\tif (feedbackBody !== void 0) updated.feedback = feedbackBody;\n\t\tif (indexBody !== void 0) updated.index = indexBody;\n\t\tmkdirSync(`${state.configDir}/akm`, { recursive: true });\n\t\twriteFileAtomic(akmConfigPath(state.configDir), JSON.stringify(updated, null, 2), 384);\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tconfig: updated\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"internal_error\", `Failed to persist akm config: ${String(e)}`, {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, PATCH };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { af as readStackEnv } from './src-56XoMiXa.js';
2
2
  import { b as getState } from './endpoints-zfo5Ad6e.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-DF0o-MBx.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers--0A5yqid.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import 'node:fs';
@@ -86,4 +86,4 @@ var POST = async (event) => {
86
86
  };
87
87
 
88
88
  export { POST };
89
- //# sourceMappingURL=_server.ts-DyCzb6fl.js.map
89
+ //# sourceMappingURL=_server.ts-BMycg9Mr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DyCzb6fl.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { yt as readStackEnv } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, i as errorResponse, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\n//#region src/routes/api/transcribe/+server.ts\nvar DEFAULT_MODEL = \"whisper-1\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(hf_[A-Za-z0-9_-]{4,})/gi, \"hf_***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst sttBaseURL = (stackEnv.OP_STT_BASE_URL || process.env.OP_STT_BASE_URL || \"\").trim();\n\tconst sttModel = (stackEnv.OP_STT_MODEL || process.env.OP_STT_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst sttLanguageEnv = (stackEnv.OP_STT_LANGUAGE || process.env.OP_STT_LANGUAGE || \"\").trim();\n\tconst sttApiKey = (process.env.OP_STT_API_KEY ?? \"\").trim();\n\tif (!sttBaseURL) return errorResponse(503, \"stt_not_configured\", \"Configure an STT engine in Admin → Voice settings.\", {}, requestId);\n\tlet inboundForm;\n\ttry {\n\t\tinboundForm = await event.request.formData();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Body must be multipart/form-data\", {}, requestId);\n\t}\n\tconst audio = inboundForm.get(\"audio\");\n\tif (!(audio instanceof Blob)) return errorResponse(400, \"bad_request\", \"Missing \\\"audio\\\" field (Blob)\", {}, requestId);\n\tconst languageReq = inboundForm.get(\"language\");\n\tconst promptReq = inboundForm.get(\"prompt\");\n\tconst language = typeof languageReq === \"string\" && languageReq.trim() ? languageReq.trim() : sttLanguageEnv;\n\tconst outForm = new FormData();\n\tconst filename = audio.name || \"recording.webm\";\n\toutForm.append(\"file\", audio, filename);\n\toutForm.append(\"model\", sttModel);\n\toutForm.append(\"response_format\", \"json\");\n\tif (language) outForm.append(\"language\", language);\n\tif (typeof promptReq === \"string\" && promptReq.trim()) outForm.append(\"prompt\", promptReq.trim());\n\tconst upstreamUrl = sttBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/transcriptions\";\n\tconst headers = {};\n\tif (sttApiKey) headers[\"authorization\"] = `Bearer ${sttApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: outForm,\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach STT endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst snippet = redactKey(await upstream.text().catch(() => \"\")).slice(0, 500);\n\t\treturn errorResponse(502, \"upstream_error\", `STT endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: snippet\n\t\t}, requestId);\n\t}\n\tlet payload;\n\ttry {\n\t\tpayload = await upstream.json();\n\t} catch {\n\t\treturn errorResponse(502, \"upstream_error\", \"STT endpoint returned a non-JSON response\", { upstreamStatus: upstream.status }, requestId);\n\t}\n\treturn jsonResponse(200, { text: typeof payload?.text === \"string\" ? payload.text : \"\" }, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-BMycg9Mr.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/transcribe/_server.ts.js"],"sourcesContent":["import { yt as readStackEnv } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, i as errorResponse, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\n//#region src/routes/api/transcribe/+server.ts\nvar DEFAULT_MODEL = \"whisper-1\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(hf_[A-Za-z0-9_-]{4,})/gi, \"hf_***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().stackDir);\n\tconst sttBaseURL = (stackEnv.OP_STT_BASE_URL || process.env.OP_STT_BASE_URL || \"\").trim();\n\tconst sttModel = (stackEnv.OP_STT_MODEL || process.env.OP_STT_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst sttLanguageEnv = (stackEnv.OP_STT_LANGUAGE || process.env.OP_STT_LANGUAGE || \"\").trim();\n\tconst sttApiKey = (process.env.OP_STT_API_KEY ?? \"\").trim();\n\tif (!sttBaseURL) return errorResponse(503, \"stt_not_configured\", \"Configure an STT engine in Admin → Voice settings.\", {}, requestId);\n\tlet inboundForm;\n\ttry {\n\t\tinboundForm = await event.request.formData();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Body must be multipart/form-data\", {}, requestId);\n\t}\n\tconst audio = inboundForm.get(\"audio\");\n\tif (!(audio instanceof Blob)) return errorResponse(400, \"bad_request\", \"Missing \\\"audio\\\" field (Blob)\", {}, requestId);\n\tconst languageReq = inboundForm.get(\"language\");\n\tconst promptReq = inboundForm.get(\"prompt\");\n\tconst language = typeof languageReq === \"string\" && languageReq.trim() ? languageReq.trim() : sttLanguageEnv;\n\tconst outForm = new FormData();\n\tconst filename = audio.name || \"recording.webm\";\n\toutForm.append(\"file\", audio, filename);\n\toutForm.append(\"model\", sttModel);\n\toutForm.append(\"response_format\", \"json\");\n\tif (language) outForm.append(\"language\", language);\n\tif (typeof promptReq === \"string\" && promptReq.trim()) outForm.append(\"prompt\", promptReq.trim());\n\tconst upstreamUrl = sttBaseURL.replace(/\\/+$/, \"\") + \"/v1/audio/transcriptions\";\n\tconst headers = {};\n\tif (sttApiKey) headers[\"authorization\"] = `Bearer ${sttApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: outForm,\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach STT endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst snippet = redactKey(await upstream.text().catch(() => \"\")).slice(0, 500);\n\t\treturn errorResponse(502, \"upstream_error\", `STT endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: snippet\n\t\t}, requestId);\n\t}\n\tlet payload;\n\ttry {\n\t\tpayload = await upstream.json();\n\t} catch {\n\t\treturn errorResponse(502, \"upstream_error\", \"STT endpoint returned a non-JSON response\", { upstreamStatus: upstream.status }, requestId);\n\t}\n\treturn jsonResponse(200, { text: typeof payload?.text === \"string\" ? payload.text : \"\" }, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { a5 as listEnabledAddonIds, a4 as listAvailableAddonIds } from './src-56XoMiXa.js';
2
2
  import { b as getState } from './endpoints-zfo5Ad6e.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers-DF0o-MBx.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse, p as parseJsonBody, j as jsonBodyError, e as errorResponse } from './helpers--0A5yqid.js';
4
4
  import { p as performAddonToggle } from './addon-helpers-KNw7tctP.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -60,4 +60,4 @@ var POST = async (event) => {
60
60
  };
61
61
 
62
62
  export { GET, POST };
63
- //# sourceMappingURL=_server.ts-BaCk-hri.js.map
63
+ //# sourceMappingURL=_server.ts-BR6fu5Fc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BaCk-hri.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_server.ts.js"],"sourcesContent":["import { lt as listAvailableAddonIds, ut as listEnabledAddonIds } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\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-BR6fu5Fc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_server.ts.js"],"sourcesContent":["import { lt as listAvailableAddonIds, ut as listEnabledAddonIds } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\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
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { r as requireAdmin, d as getRequestId } from './helpers-DF0o-MBx.js';
2
+ import { r as requireAdmin, d as getRequestId } from './helpers--0A5yqid.js';
3
3
  import './utils-BSRjJDrZ.js';
4
4
  import './src-56XoMiXa.js';
5
5
  import './chunk-CLZ62Ad-.js';
@@ -79,4 +79,4 @@ var GET = async (event) => {
79
79
  };
80
80
 
81
81
  export { GET };
82
- //# sourceMappingURL=_server.ts-DOWqoGI0.js.map
82
+ //# sourceMappingURL=_server.ts-BTznNbRE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-DOWqoGI0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/ui/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { f as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/versions/ui/+server.ts\nvar UI_PACKAGE = \"@openpalm/ui\";\nvar NPM_REGISTRY = \"https://registry.npmjs.org\";\nvar MAX_VERSIONS = 20;\n/**\n* List published `@openpalm/ui` npm versions for the admin \"UI build\" picker.\n*\n* The UI is independently versioned and distributed via npm (not GitHub release\n* assets), so this is the authoritative source of installable UI builds — the\n* selected version is POSTed to /admin/ui-version, which seeds it from npm.\n* Returns newest-first; 404 (package not yet published) yields an empty list.\n*/\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\ttry {\n\t\tconst res = await fetch(`${NPM_REGISTRY}/${UI_PACKAGE}`, {\n\t\t\theaders: {\n\t\t\t\t\"User-Agent\": \"openpalm-admin/1.0\",\n\t\t\t\tAccept: \"application/json\"\n\t\t\t},\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (res.status === 404) return json({\n\t\t\tversions: [],\n\t\t\tdistTags: {}\n\t\t});\n\t\tif (!res.ok) return json({\n\t\t\tversions: [],\n\t\t\tdistTags: {},\n\t\t\terror: `npm registry ${res.status}`\n\t\t});\n\t\tconst packument = await res.json();\n\t\tconst distTags = packument[\"dist-tags\"] ?? {};\n\t\tconst versionToTag = /* @__PURE__ */ new Map();\n\t\tfor (const [tag, version] of Object.entries(distTags)) versionToTag.set(version, tag);\n\t\tconst time = packument.time ?? {};\n\t\treturn json({\n\t\t\tversions: Object.keys(packument.versions ?? {}).map((version) => ({\n\t\t\t\tversion,\n\t\t\t\tprerelease: version.includes(\"-\"),\n\t\t\t\tpublishedAt: time[version] ?? null,\n\t\t\t\tdistTag: versionToTag.get(version) ?? null\n\t\t\t})).sort((a, b) => (b.publishedAt ?? \"\").localeCompare(a.publishedAt ?? \"\")).slice(0, MAX_VERSIONS),\n\t\t\tdistTags\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tversions: [],\n\t\t\tdistTags: {},\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,UAAU,GAAG,cAAc;AAC/B,IAAI,YAAY,GAAG,4BAA4B;AAC/C,IAAI,YAAY,GAAG,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE;AAC3D,GAAG,OAAO,EAAE;AACZ,IAAI,YAAY,EAAE,oBAAoB;AACtC,IAAI,MAAM,EAAE;AACZ,IAAI;AACJ,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC;AACJ,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,OAAO,IAAI,CAAC;AACtC,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,QAAQ,EAAE;AACb,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC3B,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC;AACrC,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE;AACpC,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;AAC/C,EAAE,MAAM,YAAY,mBAAmB,IAAI,GAAG,EAAE;AAChD,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC;AACvF,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE;AACnC,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM;AACrE,IAAI,OAAO;AACX,IAAI,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrC,IAAI,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI;AACtC,IAAI,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;AAC1C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;AACtG,GAAG;AACH,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-BTznNbRE.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/ui/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { f as requireAdmin, o as getRequestId } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/admin/versions/ui/+server.ts\nvar UI_PACKAGE = \"@openpalm/ui\";\nvar NPM_REGISTRY = \"https://registry.npmjs.org\";\nvar MAX_VERSIONS = 20;\n/**\n* List published `@openpalm/ui` npm versions for the admin \"UI build\" picker.\n*\n* The UI is independently versioned and distributed via npm (not GitHub release\n* assets), so this is the authoritative source of installable UI builds — the\n* selected version is POSTed to /admin/ui-version, which seeds it from npm.\n* Returns newest-first; 404 (package not yet published) yields an empty list.\n*/\nvar GET = async (event) => {\n\tconst authError = requireAdmin(event, getRequestId(event));\n\tif (authError) return authError;\n\ttry {\n\t\tconst res = await fetch(`${NPM_REGISTRY}/${UI_PACKAGE}`, {\n\t\t\theaders: {\n\t\t\t\t\"User-Agent\": \"openpalm-admin/1.0\",\n\t\t\t\tAccept: \"application/json\"\n\t\t\t},\n\t\t\tsignal: AbortSignal.timeout(8e3)\n\t\t});\n\t\tif (res.status === 404) return json({\n\t\t\tversions: [],\n\t\t\tdistTags: {}\n\t\t});\n\t\tif (!res.ok) return json({\n\t\t\tversions: [],\n\t\t\tdistTags: {},\n\t\t\terror: `npm registry ${res.status}`\n\t\t});\n\t\tconst packument = await res.json();\n\t\tconst distTags = packument[\"dist-tags\"] ?? {};\n\t\tconst versionToTag = /* @__PURE__ */ new Map();\n\t\tfor (const [tag, version] of Object.entries(distTags)) versionToTag.set(version, tag);\n\t\tconst time = packument.time ?? {};\n\t\treturn json({\n\t\t\tversions: Object.keys(packument.versions ?? {}).map((version) => ({\n\t\t\t\tversion,\n\t\t\t\tprerelease: version.includes(\"-\"),\n\t\t\t\tpublishedAt: time[version] ?? null,\n\t\t\t\tdistTag: versionToTag.get(version) ?? null\n\t\t\t})).sort((a, b) => (b.publishedAt ?? \"\").localeCompare(a.publishedAt ?? \"\")).slice(0, MAX_VERSIONS),\n\t\t\tdistTags\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tversions: [],\n\t\t\tdistTags: {},\n\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t});\n\t}\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,UAAU,GAAG,cAAc;AAC/B,IAAI,YAAY,GAAG,4BAA4B;AAC/C,IAAI,YAAY,GAAG,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE;AAC3D,GAAG,OAAO,EAAE;AACZ,IAAI,YAAY,EAAE,oBAAoB;AACtC,IAAI,MAAM,EAAE;AACZ,IAAI;AACJ,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG;AAClC,GAAG,CAAC;AACJ,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,OAAO,IAAI,CAAC;AACtC,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,QAAQ,EAAE;AACb,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC3B,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC;AACrC,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE;AACpC,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;AAC/C,EAAE,MAAM,YAAY,mBAAmB,IAAI,GAAG,EAAE;AAChD,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC;AACvF,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE;AACnC,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM;AACrE,IAAI,OAAO;AACX,IAAI,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;AACrC,IAAI,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI;AACtC,IAAI,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;AAC1C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;AACtG,GAAG;AACH,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,QAAQ,EAAE,EAAE;AACf,GAAG,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG;AACzD,GAAG,CAAC;AACJ,CAAC;AACD;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { g as getActiveEndpoint } from './endpoints-zfo5Ad6e.js';
2
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-DF0o-MBx.js';
2
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers--0A5yqid.js';
3
3
  import './src-56XoMiXa.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
@@ -52,4 +52,4 @@ var GET = async (event) => {
52
52
  };
53
53
 
54
54
  export { GET };
55
- //# sourceMappingURL=_server.ts-lMtUnonw.js.map
55
+ //# sourceMappingURL=_server.ts-BYjh1Zoy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-lMtUnonw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/health/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, o as getRequestId, u as jsonResponse } 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-BYjh1Zoy.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/health/_server.ts.js"],"sourcesContent":["import { r as getActiveEndpoint } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, o as getRequestId, u as jsonResponse } 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
1
  import { i as authJsonPath } from './src-56XoMiXa.js';
2
2
  import { b as getState } from './endpoints-zfo5Ad6e.js';
3
- import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers-DF0o-MBx.js';
3
+ import { d as getRequestId, r as requireAdmin, k as jsonResponse } from './helpers--0A5yqid.js';
4
4
  import { b as asRecord, c as asString, a as asNumber, e as asStringRecord, d as asStringArray } from './coercion-TNFJisCC.js';
5
5
  import { o as opencodeFetch } from './http-B6HcMA7S.js';
6
6
  import { g as getCurrentConfig } from './config-D5SE6Awc.js';
@@ -201,4 +201,4 @@ var GET = async (event) => {
201
201
  };
202
202
 
203
203
  export { GET };
204
- //# sourceMappingURL=_server.ts-BxKP4jLf.js.map
204
+ //# sourceMappingURL=_server.ts-B_wU_JZs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BxKP4jLf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/_server.ts.js"],"sourcesContent":["import { kt as authJsonPath } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\nimport { a as asStringRecord, i as asStringArray, n as asRecord, r as asString, t as asNumber } from \"../../../../chunks/coercion.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/lib/server/opencode/catalog.ts\n/**\n* Provider catalog assembly.\n*\n* Pulls catalog/auth/config/configured-provider data from the OpenCode server\n* (and the on-disk config), merges them, and emits ProviderView records the\n* UI renders directly.\n*/\n/**\n* Map of provider ID → credential type, as found in OpenCode's auth.json.\n* OpenCode's /provider response only reports env-var-detected providers in\n* `connected`; auth.json-stored credentials (API keys + OAuth tokens) are\n* loaded on-demand and don't appear there. We surface them here so the UI\n* can treat them as connected and show the right badge.\n*/\nfunction readAuthedProviders() {\n\tconst out = /* @__PURE__ */ new Map();\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return out;\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tfor (const [id, entry] of Object.entries(data ?? {})) {\n\t\t\tconst type = entry?.type === \"oauth\" ? \"oauth\" : \"api\";\n\t\t\tout.set(id, type);\n\t\t}\n\t} catch {}\n\treturn out;\n}\nasync function loadProviderPage() {\n\ttry {\n\t\tconst [catalog, auth, ocConfig, configured] = await Promise.all([\n\t\t\topencodeFetch(\"/provider\"),\n\t\t\topencodeFetch(\"/provider/auth\"),\n\t\t\topencodeFetch(\"/config\"),\n\t\t\topencodeFetch(\"/config/providers\")\n\t\t]);\n\t\tconst diskConfig = await getCurrentConfig();\n\t\tconst config = {\n\t\t\t...ocConfig,\n\t\t\tprovider: {\n\t\t\t\t...ocConfig.provider ?? {},\n\t\t\t\t...diskConfig.provider ?? {}\n\t\t\t},\n\t\t\tdisabled_providers: diskConfig.disabled_providers ?? ocConfig.disabled_providers,\n\t\t\tenabled_providers: diskConfig.enabled_providers ?? ocConfig.enabled_providers\n\t\t};\n\t\tconst views = buildProviderViews(catalog, auth, config, configured, readAuthedProviders());\n\t\treturn {\n\t\t\tavailable: true,\n\t\t\tproviders: views,\n\t\t\tcurrentModel: config.model,\n\t\t\tcurrentSmallModel: config.small_model,\n\t\t\tdefaultModels: catalog.default,\n\t\t\tallowlistActive: Array.isArray(config.enabled_providers) && config.enabled_providers.length > 0,\n\t\t\tproviderCountLabel: `${views.length} providers indexed from OpenCode`,\n\t\t\tstats: {\n\t\t\t\ttotal: views.length,\n\t\t\t\tconnected: views.filter((p) => p.connected).length,\n\t\t\t\tconfigured: views.filter((p) => p.configured).length,\n\t\t\t\tdisabled: views.filter((p) => p.disabled).length\n\t\t\t}\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tavailable: false,\n\t\t\terror: error instanceof Error ? error.message : \"Unable to reach the OpenCode server.\",\n\t\t\tproviders: [],\n\t\t\tdefaultModels: {},\n\t\t\tallowlistActive: false,\n\t\t\tproviderCountLabel: \"The OpenCode server is currently unavailable.\",\n\t\t\tstats: {\n\t\t\t\ttotal: 0,\n\t\t\t\tconnected: 0,\n\t\t\t\tconfigured: 0,\n\t\t\t\tdisabled: 0\n\t\t\t}\n\t\t};\n\t}\n}\nfunction extractAndSortModels(...sources) {\n\tlet entries = {};\n\tfor (const source of sources) {\n\t\tconst record = asModelRecord(source);\n\t\tif (record) {\n\t\t\tentries = record;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn Object.entries(entries).map(([id, model]) => ({\n\t\tid,\n\t\tname: model.name ?? id\n\t})).sort((left, right) => left.name.localeCompare(right.name));\n}\nfunction buildProviderViews(catalog, auth, config, configured, authed) {\n\tconst catalogMap = new Map(catalog.all.map((p) => [p.id, p]));\n\tconst envConnected = new Set(catalog.connected);\n\tconst connected = new Set([...envConnected, ...authed.keys()]);\n\tconst disabled = new Set(config.disabled_providers ?? []);\n\tconst allowlist = config.enabled_providers ? new Set(config.enabled_providers) : void 0;\n\tconst configuredMap = new Map(configured.providers.map((p) => [p.id, p]));\n\tconst providerIds = new Set([\n\t\t...catalog.all.map((p) => p.id),\n\t\t...Object.keys(config.provider ?? {}),\n\t\t...configured.providers.map((p) => p.id)\n\t]);\n\treturn Array.from(providerIds).map((providerId) => {\n\t\tconst entry = catalogMap.get(providerId);\n\t\tconst configEntry = asRecord(config.provider?.[providerId]);\n\t\tconst resolvedEntry = configuredMap.get(providerId);\n\t\tconst rawOptions = {\n\t\t\t...asRecord(resolvedEntry?.options),\n\t\t\t...asRecord(configEntry?.options)\n\t\t};\n\t\tconst authMethods = (auth[providerId] ?? []).map((method, index) => ({\n\t\t\tindex,\n\t\t\ttype: method.type,\n\t\t\tlabel: method.label,\n\t\t\tprompts: method.prompts ?? []\n\t\t}));\n\t\tconst models = extractAndSortModels(resolvedEntry?.models, configEntry?.models, entry?.models);\n\t\tconst currentModelId = splitModel(config.model, providerId);\n\t\tconst currentSmallModelId = splitModel(config.small_model, providerId);\n\t\tconst enabled = allowlist ? allowlist.has(providerId) && !disabled.has(providerId) : !disabled.has(providerId);\n\t\tconst isConnected = connected.has(providerId);\n\t\tconst isEnvConnected = envConnected.has(providerId);\n\t\tconst authedType = authed.get(providerId);\n\t\tconst credentialType = !isConnected ? void 0 : isEnvConnected ? \"env\" : authedType ? authedType : configEntry ? \"config\" : \"custom\";\n\t\treturn {\n\t\t\tid: providerId,\n\t\t\tname: resolvedEntry?.name ?? asString(configEntry?.name) ?? entry?.name ?? providerId,\n\t\t\tsource: resolvedEntry?.source ?? (entry ? configEntry ? \"config\" : \"catalog\" : \"custom\"),\n\t\t\tenv: resolvedEntry?.env ?? asStringArray(configEntry?.env) ?? entry?.env ?? [],\n\t\t\tconnected: isConnected,\n\t\t\tconfigured: Boolean(resolvedEntry || configEntry),\n\t\t\tdisabled: !enabled,\n\t\t\tactiveMainModel: Boolean(currentModelId),\n\t\t\tactiveSmallModel: Boolean(currentSmallModelId),\n\t\t\trecommendedModelId: currentModelId ?? configured.default[providerId] ?? catalog.default[providerId] ?? models[0]?.id ?? \"\",\n\t\t\tmodelCount: models.length,\n\t\t\tmodels,\n\t\t\tauthMethods,\n\t\t\tcredentialType,\n\t\t\toptions: {\n\t\t\t\tbaseURL: asString(rawOptions.baseURL),\n\t\t\t\theaders: asStringRecord(rawOptions.headers),\n\t\t\t\ttimeout: asNumber(rawOptions.timeout),\n\t\t\t\tsetCacheKey: rawOptions.setCacheKey === true,\n\t\t\t\tenterpriseUrl: asString(rawOptions.enterpriseUrl)\n\t\t\t},\n\t\t\tsupportsOauth: authMethods.some((m) => m.type === \"oauth\"),\n\t\t\tsupportsApiAuth: authMethods.some((m) => m.type === \"api\")\n\t\t};\n\t}).sort((left, right) => {\n\t\tif (left.connected !== right.connected) return left.connected ? -1 : 1;\n\t\tif (left.activeMainModel !== right.activeMainModel) return left.activeMainModel ? -1 : 1;\n\t\tif (left.configured !== right.configured) return left.configured ? -1 : 1;\n\t\tif (left.disabled !== right.disabled) return left.disabled ? 1 : -1;\n\t\treturn left.name.localeCompare(right.name);\n\t});\n}\nfunction splitModel(model, providerId) {\n\tif (!model?.startsWith(`${providerId}/`)) return void 0;\n\treturn model.slice(providerId.length + 1);\n}\nfunction asModelRecord(value) {\n\treturn value && typeof value === \"object\" && !Array.isArray(value) ? value : void 0;\n}\n//#endregion\n//#region src/routes/admin/providers/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, await loadProviderPage(), requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-B_wU_JZs.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/providers/_server.ts.js"],"sourcesContent":["import { kt as authJsonPath } from \"../../../../chunks/src.js\";\nimport { c as getState } from \"../../../../chunks/endpoints.js\";\nimport { f as requireAdmin, o as getRequestId, u as jsonResponse } from \"../../../../chunks/helpers.js\";\nimport { a as asStringRecord, i as asStringArray, n as asRecord, r as asString, t as asNumber } from \"../../../../chunks/coercion.js\";\nimport { t as opencodeFetch } from \"../../../../chunks/http.js\";\nimport { t as getCurrentConfig } from \"../../../../chunks/config.js\";\nimport { existsSync, readFileSync } from \"node:fs\";\n//#region src/lib/server/opencode/catalog.ts\n/**\n* Provider catalog assembly.\n*\n* Pulls catalog/auth/config/configured-provider data from the OpenCode server\n* (and the on-disk config), merges them, and emits ProviderView records the\n* UI renders directly.\n*/\n/**\n* Map of provider ID → credential type, as found in OpenCode's auth.json.\n* OpenCode's /provider response only reports env-var-detected providers in\n* `connected`; auth.json-stored credentials (API keys + OAuth tokens) are\n* loaded on-demand and don't appear there. We surface them here so the UI\n* can treat them as connected and show the right badge.\n*/\nfunction readAuthedProviders() {\n\tconst out = /* @__PURE__ */ new Map();\n\ttry {\n\t\tconst path = authJsonPath(getState());\n\t\tif (!existsSync(path)) return out;\n\t\tconst data = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\tfor (const [id, entry] of Object.entries(data ?? {})) {\n\t\t\tconst type = entry?.type === \"oauth\" ? \"oauth\" : \"api\";\n\t\t\tout.set(id, type);\n\t\t}\n\t} catch {}\n\treturn out;\n}\nasync function loadProviderPage() {\n\ttry {\n\t\tconst [catalog, auth, ocConfig, configured] = await Promise.all([\n\t\t\topencodeFetch(\"/provider\"),\n\t\t\topencodeFetch(\"/provider/auth\"),\n\t\t\topencodeFetch(\"/config\"),\n\t\t\topencodeFetch(\"/config/providers\")\n\t\t]);\n\t\tconst diskConfig = await getCurrentConfig();\n\t\tconst config = {\n\t\t\t...ocConfig,\n\t\t\tprovider: {\n\t\t\t\t...ocConfig.provider ?? {},\n\t\t\t\t...diskConfig.provider ?? {}\n\t\t\t},\n\t\t\tdisabled_providers: diskConfig.disabled_providers ?? ocConfig.disabled_providers,\n\t\t\tenabled_providers: diskConfig.enabled_providers ?? ocConfig.enabled_providers\n\t\t};\n\t\tconst views = buildProviderViews(catalog, auth, config, configured, readAuthedProviders());\n\t\treturn {\n\t\t\tavailable: true,\n\t\t\tproviders: views,\n\t\t\tcurrentModel: config.model,\n\t\t\tcurrentSmallModel: config.small_model,\n\t\t\tdefaultModels: catalog.default,\n\t\t\tallowlistActive: Array.isArray(config.enabled_providers) && config.enabled_providers.length > 0,\n\t\t\tproviderCountLabel: `${views.length} providers indexed from OpenCode`,\n\t\t\tstats: {\n\t\t\t\ttotal: views.length,\n\t\t\t\tconnected: views.filter((p) => p.connected).length,\n\t\t\t\tconfigured: views.filter((p) => p.configured).length,\n\t\t\t\tdisabled: views.filter((p) => p.disabled).length\n\t\t\t}\n\t\t};\n\t} catch (error) {\n\t\treturn {\n\t\t\tavailable: false,\n\t\t\terror: error instanceof Error ? error.message : \"Unable to reach the OpenCode server.\",\n\t\t\tproviders: [],\n\t\t\tdefaultModels: {},\n\t\t\tallowlistActive: false,\n\t\t\tproviderCountLabel: \"The OpenCode server is currently unavailable.\",\n\t\t\tstats: {\n\t\t\t\ttotal: 0,\n\t\t\t\tconnected: 0,\n\t\t\t\tconfigured: 0,\n\t\t\t\tdisabled: 0\n\t\t\t}\n\t\t};\n\t}\n}\nfunction extractAndSortModels(...sources) {\n\tlet entries = {};\n\tfor (const source of sources) {\n\t\tconst record = asModelRecord(source);\n\t\tif (record) {\n\t\t\tentries = record;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn Object.entries(entries).map(([id, model]) => ({\n\t\tid,\n\t\tname: model.name ?? id\n\t})).sort((left, right) => left.name.localeCompare(right.name));\n}\nfunction buildProviderViews(catalog, auth, config, configured, authed) {\n\tconst catalogMap = new Map(catalog.all.map((p) => [p.id, p]));\n\tconst envConnected = new Set(catalog.connected);\n\tconst connected = new Set([...envConnected, ...authed.keys()]);\n\tconst disabled = new Set(config.disabled_providers ?? []);\n\tconst allowlist = config.enabled_providers ? new Set(config.enabled_providers) : void 0;\n\tconst configuredMap = new Map(configured.providers.map((p) => [p.id, p]));\n\tconst providerIds = new Set([\n\t\t...catalog.all.map((p) => p.id),\n\t\t...Object.keys(config.provider ?? {}),\n\t\t...configured.providers.map((p) => p.id)\n\t]);\n\treturn Array.from(providerIds).map((providerId) => {\n\t\tconst entry = catalogMap.get(providerId);\n\t\tconst configEntry = asRecord(config.provider?.[providerId]);\n\t\tconst resolvedEntry = configuredMap.get(providerId);\n\t\tconst rawOptions = {\n\t\t\t...asRecord(resolvedEntry?.options),\n\t\t\t...asRecord(configEntry?.options)\n\t\t};\n\t\tconst authMethods = (auth[providerId] ?? []).map((method, index) => ({\n\t\t\tindex,\n\t\t\ttype: method.type,\n\t\t\tlabel: method.label,\n\t\t\tprompts: method.prompts ?? []\n\t\t}));\n\t\tconst models = extractAndSortModels(resolvedEntry?.models, configEntry?.models, entry?.models);\n\t\tconst currentModelId = splitModel(config.model, providerId);\n\t\tconst currentSmallModelId = splitModel(config.small_model, providerId);\n\t\tconst enabled = allowlist ? allowlist.has(providerId) && !disabled.has(providerId) : !disabled.has(providerId);\n\t\tconst isConnected = connected.has(providerId);\n\t\tconst isEnvConnected = envConnected.has(providerId);\n\t\tconst authedType = authed.get(providerId);\n\t\tconst credentialType = !isConnected ? void 0 : isEnvConnected ? \"env\" : authedType ? authedType : configEntry ? \"config\" : \"custom\";\n\t\treturn {\n\t\t\tid: providerId,\n\t\t\tname: resolvedEntry?.name ?? asString(configEntry?.name) ?? entry?.name ?? providerId,\n\t\t\tsource: resolvedEntry?.source ?? (entry ? configEntry ? \"config\" : \"catalog\" : \"custom\"),\n\t\t\tenv: resolvedEntry?.env ?? asStringArray(configEntry?.env) ?? entry?.env ?? [],\n\t\t\tconnected: isConnected,\n\t\t\tconfigured: Boolean(resolvedEntry || configEntry),\n\t\t\tdisabled: !enabled,\n\t\t\tactiveMainModel: Boolean(currentModelId),\n\t\t\tactiveSmallModel: Boolean(currentSmallModelId),\n\t\t\trecommendedModelId: currentModelId ?? configured.default[providerId] ?? catalog.default[providerId] ?? models[0]?.id ?? \"\",\n\t\t\tmodelCount: models.length,\n\t\t\tmodels,\n\t\t\tauthMethods,\n\t\t\tcredentialType,\n\t\t\toptions: {\n\t\t\t\tbaseURL: asString(rawOptions.baseURL),\n\t\t\t\theaders: asStringRecord(rawOptions.headers),\n\t\t\t\ttimeout: asNumber(rawOptions.timeout),\n\t\t\t\tsetCacheKey: rawOptions.setCacheKey === true,\n\t\t\t\tenterpriseUrl: asString(rawOptions.enterpriseUrl)\n\t\t\t},\n\t\t\tsupportsOauth: authMethods.some((m) => m.type === \"oauth\"),\n\t\t\tsupportsApiAuth: authMethods.some((m) => m.type === \"api\")\n\t\t};\n\t}).sort((left, right) => {\n\t\tif (left.connected !== right.connected) return left.connected ? -1 : 1;\n\t\tif (left.activeMainModel !== right.activeMainModel) return left.activeMainModel ? -1 : 1;\n\t\tif (left.configured !== right.configured) return left.configured ? -1 : 1;\n\t\tif (left.disabled !== right.disabled) return left.disabled ? 1 : -1;\n\t\treturn left.name.localeCompare(right.name);\n\t});\n}\nfunction splitModel(model, providerId) {\n\tif (!model?.startsWith(`${providerId}/`)) return void 0;\n\treturn model.slice(providerId.length + 1);\n}\nfunction asModelRecord(value) {\n\treturn value && typeof value === \"object\" && !Array.isArray(value) ? value : void 0;\n}\n//#endregion\n//#region src/routes/admin/providers/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, await loadProviderPage(), requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,GAAG;AAC/B,CAAC,MAAM,GAAG,mBAAmB,IAAI,GAAG,EAAE;AACtC,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;AACvC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG;AACnC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;AACxD,GAAG,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,KAAK;AACzD,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;AACpB,EAAE;AACF,CAAC,CAAC,CAAC,MAAM,CAAC;AACV,CAAC,OAAO,GAAG;AACX;AACA,eAAe,gBAAgB,GAAG;AAClC,CAAC,IAAI;AACL,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAClE,GAAG,aAAa,CAAC,WAAW,CAAC;AAC7B,GAAG,aAAa,CAAC,gBAAgB,CAAC;AAClC,GAAG,aAAa,CAAC,SAAS,CAAC;AAC3B,GAAG,aAAa,CAAC,mBAAmB;AACpC,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM,gBAAgB,EAAE;AAC7C,EAAE,MAAM,MAAM,GAAG;AACjB,GAAG,GAAG,QAAQ;AACd,GAAG,QAAQ,EAAE;AACb,IAAI,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE;AAC9B,IAAI,GAAG,UAAU,CAAC,QAAQ,IAAI;AAC9B,IAAI;AACJ,GAAG,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB;AACnF,GAAG,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,IAAI,QAAQ,CAAC;AAC/D,GAAG;AACH,EAAE,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;AAC5F,EAAE,OAAO;AACT,GAAG,SAAS,EAAE,IAAI;AAClB,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,YAAY,EAAE,MAAM,CAAC,KAAK;AAC7B,GAAG,iBAAiB,EAAE,MAAM,CAAC,WAAW;AACxC,GAAG,aAAa,EAAE,OAAO,CAAC,OAAO;AACjC,GAAG,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;AAClG,GAAG,kBAAkB,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC;AACxE,GAAG,KAAK,EAAE;AACV,IAAI,KAAK,EAAE,KAAK,CAAC,MAAM;AACvB,IAAI,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;AACtD,IAAI,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM;AACxD,IAAI,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9C;AACA,GAAG;AACH,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE;AACjB,EAAE,OAAO;AACT,GAAG,SAAS,EAAE,KAAK;AACnB,GAAG,KAAK,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,sCAAsC;AACzF,GAAG,SAAS,EAAE,EAAE;AAChB,GAAG,aAAa,EAAE,EAAE;AACpB,GAAG,eAAe,EAAE,KAAK;AACzB,GAAG,kBAAkB,EAAE,+CAA+C;AACtE,GAAG,KAAK,EAAE;AACV,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,SAAS,EAAE,CAAC;AAChB,IAAI,UAAU,EAAE,CAAC;AACjB,IAAI,QAAQ,EAAE;AACd;AACA,GAAG;AACH,CAAC;AACD;AACA,SAAS,oBAAoB,CAAC,GAAG,OAAO,EAAE;AAC1C,CAAC,IAAI,OAAO,GAAG,EAAE;AACjB,CAAC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAC/B,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;AACtC,EAAE,IAAI,MAAM,EAAE;AACd,GAAG,OAAO,GAAG,MAAM;AACnB,GAAG;AACH,EAAE;AACF,CAAC;AACD,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM;AACtD,EAAE,EAAE;AACJ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI;AACtB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC/D;AACA,SAAS,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;AACvE,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;AAChD,CAAC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;AAC1D,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM;AACxF,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;AAC7B,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACjC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;AACvC,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACzC,EAAE,CAAC;AACH,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK;AACpD,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;AAC1C,EAAE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;AAC7D,EAAE,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,UAAU,GAAG;AACrB,GAAG,GAAG,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;AACtC,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,OAAO;AACnC,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,MAAM;AACvE,GAAG,KAAK;AACR,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI;AACpB,GAAG,KAAK,EAAE,MAAM,CAAC,KAAK;AACtB,GAAG,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI;AAC9B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,MAAM,GAAG,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AAChG,EAAE,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;AAC7D,EAAE,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC;AACxE,EAAE,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;AAChH,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;AAC/C,EAAE,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;AAC3C,EAAE,MAAM,cAAc,GAAG,CAAC,WAAW,GAAG,MAAM,GAAG,cAAc,GAAG,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ;AACrI,EAAE,OAAO;AACT,GAAG,EAAE,EAAE,UAAU;AACjB,GAAG,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,UAAU;AACxF,GAAG,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC3F,GAAG,GAAG,EAAE,aAAa,EAAE,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,IAAI,EAAE;AACjF,GAAG,SAAS,EAAE,WAAW;AACzB,GAAG,UAAU,EAAE,OAAO,CAAC,aAAa,IAAI,WAAW,CAAC;AACpD,GAAG,QAAQ,EAAE,CAAC,OAAO;AACrB,GAAG,eAAe,EAAE,OAAO,CAAC,cAAc,CAAC;AAC3C,GAAG,gBAAgB,EAAE,OAAO,CAAC,mBAAmB,CAAC;AACjD,GAAG,kBAAkB,EAAE,cAAc,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE;AAC7H,GAAG,UAAU,EAAE,MAAM,CAAC,MAAM;AAC5B,GAAG,MAAM;AACT,GAAG,WAAW;AACd,GAAG,cAAc;AACjB,GAAG,OAAO,EAAE;AACZ,IAAI,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;AACzC,IAAI,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC;AAC/C,IAAI,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;AACzC,IAAI,WAAW,EAAE,UAAU,CAAC,WAAW,KAAK,IAAI;AAChD,IAAI,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa;AACpD,IAAI;AACJ,GAAG,aAAa,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;AAC7D,GAAG,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK;AAC5D,GAAG;AACH,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AAC1B,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC;AACxE,EAAE,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe,EAAE,OAAO,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,CAAC;AAC1F,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,CAAC;AAC3E,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,EAAE;AACrE,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;AAC5C,CAAC,CAAC,CAAC;AACH;AACA,SAAS,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE;AACvC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,MAAM;AACxD,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1C;AACA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,CAAC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM;AACpF;AACA;AACA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,MAAM,gBAAgB,EAAE,EAAE,SAAS,CAAC;AAC9D;;;;"}
@@ -1,5 +1,5 @@
1
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-DF0o-MBx.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--0A5yqid.js';
3
3
  import './chunk-CLZ62Ad-.js';
4
4
  import 'node:module';
5
5
  import 'node:fs';
@@ -160,4 +160,4 @@ var DELETE = async (event) => {
160
160
  };
161
161
 
162
162
  export { DELETE, GET, POST };
163
- //# sourceMappingURL=_server.ts-BIXVslsf.js.map
163
+ //# sourceMappingURL=_server.ts-BaihC-wh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BIXVslsf.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, d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/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-BaihC-wh.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, d as parseJsonBody, f as requireAdmin, i as errorResponse, l as jsonBodyError, o as getRequestId, u as jsonResponse } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/admin/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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"}