@openpalm/ui 0.12.51 → 0.12.52

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 (350) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/assets/7.CcyzbXoG.css +1 -0
  3. package/build/client/_app/immutable/assets/7.CcyzbXoG.css.br +0 -0
  4. package/build/client/_app/immutable/assets/7.CcyzbXoG.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/BDvA7M6l.js +1 -0
  6. package/build/client/_app/immutable/chunks/BDvA7M6l.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BDvA7M6l.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{C3n4za32.js → BM4jJmEk.js} +1 -1
  9. package/build/client/_app/immutable/chunks/BM4jJmEk.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/BM4jJmEk.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/C4c5Y6rY.js +5 -0
  12. package/build/client/_app/immutable/chunks/C4c5Y6rY.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/C4c5Y6rY.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{DS38YEEh.js → C7x_T9zu.js} +2 -2
  15. package/build/client/_app/immutable/chunks/C7x_T9zu.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/C7x_T9zu.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/DoTCwfyJ.js +1 -0
  18. package/build/client/_app/immutable/chunks/DoTCwfyJ.js.br +2 -0
  19. package/build/client/_app/immutable/chunks/DoTCwfyJ.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{d5pHSbNd.js → DwEShcLP.js} +1 -1
  21. package/build/client/_app/immutable/chunks/DwEShcLP.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/DwEShcLP.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/{app.DehYJGqJ.js → app.D5lUGJr1.js} +2 -2
  24. package/build/client/_app/immutable/entry/app.D5lUGJr1.js.br +0 -0
  25. package/build/client/_app/immutable/entry/app.D5lUGJr1.js.gz +0 -0
  26. package/build/client/_app/immutable/entry/start.CKoCEnYJ.js +1 -0
  27. package/build/client/_app/immutable/entry/start.CKoCEnYJ.js.br +0 -0
  28. package/build/client/_app/immutable/entry/start.CKoCEnYJ.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{0.Cnp9ux9m.js → 0.anwXhDvm.js} +1 -1
  30. package/build/client/_app/immutable/nodes/0.anwXhDvm.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/0.anwXhDvm.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{1.BemXOvxs.js → 1.DrRwtvKf.js} +1 -1
  33. package/build/client/_app/immutable/nodes/1.DrRwtvKf.js.br +1 -0
  34. package/build/client/_app/immutable/nodes/1.DrRwtvKf.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{10.ZllEmpUV.js → 10.BLqUjjTI.js} +1 -1
  36. package/build/client/_app/immutable/nodes/10.BLqUjjTI.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/10.BLqUjjTI.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{4.DYNAraCN.js → 4.paHt3QH9.js} +10 -10
  39. package/build/client/_app/immutable/nodes/4.paHt3QH9.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/4.paHt3QH9.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{5.CKpwzpJZ.js → 5.bKLnh085.js} +1 -1
  42. package/build/client/_app/immutable/nodes/5.bKLnh085.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/5.bKLnh085.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{6.D5-ZIRjO.js → 6.DRi42KoD.js} +1 -1
  45. package/build/client/_app/immutable/nodes/6.DRi42KoD.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/6.DRi42KoD.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/7.BvgWYGnm.js +2 -0
  48. package/build/client/_app/immutable/nodes/7.BvgWYGnm.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/7.BvgWYGnm.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{8.BBUAt98J.js → 8.BKAKOw6V.js} +1 -1
  51. package/build/client/_app/immutable/nodes/8.BKAKOw6V.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/8.BKAKOw6V.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/{9.DOXxvfJX.js → 9.DwWxN6-k.js} +1 -1
  54. package/build/client/_app/immutable/nodes/9.DwWxN6-k.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/9.DwWxN6-k.js.gz +0 -0
  56. package/build/client/_app/version.json +1 -1
  57. package/build/client/_app/version.json.br +1 -1
  58. package/build/client/_app/version.json.gz +0 -0
  59. package/build/server/chunks/{0-Cgrn5hhk.js → 0-BiE1oF-J.js} +3 -3
  60. package/build/server/chunks/{0-Cgrn5hhk.js.map → 0-BiE1oF-J.js.map} +1 -1
  61. package/build/server/chunks/1-B-LNip7q.js +9 -0
  62. package/build/server/chunks/{1-CZn9SJHY.js.map → 1-B-LNip7q.js.map} +1 -1
  63. package/build/server/chunks/{10-CtFpKzhY.js → 10-CS2lFzh1.js} +6 -6
  64. package/build/server/chunks/{10-CtFpKzhY.js.map → 10-CS2lFzh1.js.map} +1 -1
  65. package/build/server/chunks/{4-BFceMUCr.js → 4-CliJOxWK.js} +3 -3
  66. package/build/server/chunks/{4-BFceMUCr.js.map → 4-CliJOxWK.js.map} +1 -1
  67. package/build/server/chunks/{5-DMSVfHW6.js → 5-DkkL3QsU.js} +3 -3
  68. package/build/server/chunks/{5-DMSVfHW6.js.map → 5-DkkL3QsU.js.map} +1 -1
  69. package/build/server/chunks/6-B6ZHxJZG.js +9 -0
  70. package/build/server/chunks/{6-DfKN8DgI.js.map → 6-B6ZHxJZG.js.map} +1 -1
  71. package/build/server/chunks/{7-DH54977X.js → 7-CIl66k8R.js} +4 -4
  72. package/build/server/chunks/{7-DH54977X.js.map → 7-CIl66k8R.js.map} +1 -1
  73. package/build/server/chunks/{8-DU3RlvqB.js → 8-Dbz3fLZs.js} +3 -3
  74. package/build/server/chunks/{8-DU3RlvqB.js.map → 8-Dbz3fLZs.js.map} +1 -1
  75. package/build/server/chunks/{9-CJj3CrWs.js → 9-CnaXNk2w.js} +3 -3
  76. package/build/server/chunks/{9-CJj3CrWs.js.map → 9-CnaXNk2w.js.map} +1 -1
  77. package/build/server/chunks/{IconMic-DLx3WSIu.js → IconMic-DMJf4zcn.js} +10 -6
  78. package/build/server/chunks/IconMic-DMJf4zcn.js.map +1 -0
  79. package/build/server/chunks/{Navbar-CY_SCLFB.js → Navbar-CbBudHU6.js} +6 -6
  80. package/build/server/chunks/{Navbar-CY_SCLFB.js.map → Navbar-CbBudHU6.js.map} +1 -1
  81. package/build/server/chunks/{_layout.svelte-D8yNnetP.js → _layout.svelte-B5opDXuf.js} +2 -2
  82. package/build/server/chunks/{_layout.svelte-D8yNnetP.js.map → _layout.svelte-B5opDXuf.js.map} +1 -1
  83. package/build/server/chunks/{_page.svelte-DAu9fGOD.js → _page.svelte-1VhBiAl_.js} +67 -38
  84. package/build/server/chunks/_page.svelte-1VhBiAl_.js.map +1 -0
  85. package/build/server/chunks/{_page.svelte-BfI94K0U.js → _page.svelte-6gpwjZv0.js} +3 -3
  86. package/build/server/chunks/{_page.svelte-BfI94K0U.js.map → _page.svelte-6gpwjZv0.js.map} +1 -1
  87. package/build/server/chunks/{_page.svelte-C3Ojg16l.js → _page.svelte-Bd16jege.js} +3 -3
  88. package/build/server/chunks/{_page.svelte-C3Ojg16l.js.map → _page.svelte-Bd16jege.js.map} +1 -1
  89. package/build/server/chunks/{_page.svelte-BCIeT4bO.js → _page.svelte-Boq5WJfs.js} +8 -8
  90. package/build/server/chunks/{_page.svelte-BCIeT4bO.js.map → _page.svelte-Boq5WJfs.js.map} +1 -1
  91. package/build/server/chunks/{_page.svelte-DCHynIvB.js → _page.svelte-DM-4V1_g.js} +8 -8
  92. package/build/server/chunks/{_page.svelte-DCHynIvB.js.map → _page.svelte-DM-4V1_g.js.map} +1 -1
  93. package/build/server/chunks/{_page.svelte-Dqk_OD73.js → _page.svelte-jdDbUptn.js} +8 -8
  94. package/build/server/chunks/{_page.svelte-Dqk_OD73.js.map → _page.svelte-jdDbUptn.js.map} +1 -1
  95. package/build/server/chunks/{_page.svelte-1DSc9sIW.js → _page.svelte-yAnFAnHi.js} +2 -2
  96. package/build/server/chunks/{_page.svelte-1DSc9sIW.js.map → _page.svelte-yAnFAnHi.js.map} +1 -1
  97. package/build/server/chunks/{_server.ts-C6qZPflw.js → _server.ts-0x3ZsRoq.js} +7 -7
  98. package/build/server/chunks/{_server.ts-C6qZPflw.js.map → _server.ts-0x3ZsRoq.js.map} +1 -1
  99. package/build/server/chunks/{_server.ts-BLozviCa.js → _server.ts-1fytrAUC.js} +5 -5
  100. package/build/server/chunks/{_server.ts-BLozviCa.js.map → _server.ts-1fytrAUC.js.map} +1 -1
  101. package/build/server/chunks/{_server.ts-CudpSCuq.js → _server.ts-2trnHYNR.js} +5 -5
  102. package/build/server/chunks/{_server.ts-CudpSCuq.js.map → _server.ts-2trnHYNR.js.map} +1 -1
  103. package/build/server/chunks/{_server.ts-BjSC3Crp.js → _server.ts-3IGr8J7j.js} +5 -5
  104. package/build/server/chunks/{_server.ts-BjSC3Crp.js.map → _server.ts-3IGr8J7j.js.map} +1 -1
  105. package/build/server/chunks/{_server.ts-CFjNoMgW.js → _server.ts-4HApbECL.js} +5 -5
  106. package/build/server/chunks/{_server.ts-CFjNoMgW.js.map → _server.ts-4HApbECL.js.map} +1 -1
  107. package/build/server/chunks/{_server.ts-I7AOxkUv.js → _server.ts-4cGCnV5A.js} +6 -6
  108. package/build/server/chunks/{_server.ts-I7AOxkUv.js.map → _server.ts-4cGCnV5A.js.map} +1 -1
  109. package/build/server/chunks/{_server.ts-C6ZTHZuH.js → _server.ts-5mKh6tgD.js} +5 -5
  110. package/build/server/chunks/{_server.ts-C6ZTHZuH.js.map → _server.ts-5mKh6tgD.js.map} +1 -1
  111. package/build/server/chunks/{_server.ts-C7jQrkiM.js → _server.ts-B-gZIXCx.js} +5 -5
  112. package/build/server/chunks/{_server.ts-C7jQrkiM.js.map → _server.ts-B-gZIXCx.js.map} +1 -1
  113. package/build/server/chunks/{_server.ts-DTwdzGLv.js → _server.ts-B1LApKwc.js} +5 -5
  114. package/build/server/chunks/{_server.ts-DTwdzGLv.js.map → _server.ts-B1LApKwc.js.map} +1 -1
  115. package/build/server/chunks/{_server.ts-1gIYETOG.js → _server.ts-B5s8k9IW.js} +5 -5
  116. package/build/server/chunks/{_server.ts-1gIYETOG.js.map → _server.ts-B5s8k9IW.js.map} +1 -1
  117. package/build/server/chunks/{_server.ts-D-7FqErp.js → _server.ts-B7oDgVRm.js} +7 -7
  118. package/build/server/chunks/{_server.ts-D-7FqErp.js.map → _server.ts-B7oDgVRm.js.map} +1 -1
  119. package/build/server/chunks/{_server.ts-Bc8yiTeq.js → _server.ts-BA7OxoAM.js} +6 -6
  120. package/build/server/chunks/{_server.ts-Bc8yiTeq.js.map → _server.ts-BA7OxoAM.js.map} +1 -1
  121. package/build/server/chunks/{_server.ts-DFqHg2Ht.js → _server.ts-BCqZP9mX.js} +7 -7
  122. package/build/server/chunks/{_server.ts-DFqHg2Ht.js.map → _server.ts-BCqZP9mX.js.map} +1 -1
  123. package/build/server/chunks/{_server.ts-tHdveSZl.js → _server.ts-BE9eO04W.js} +5 -5
  124. package/build/server/chunks/{_server.ts-tHdveSZl.js.map → _server.ts-BE9eO04W.js.map} +1 -1
  125. package/build/server/chunks/{_server.ts-D8IzPOEK.js → _server.ts-BUf-IIIm.js} +5 -5
  126. package/build/server/chunks/{_server.ts-D8IzPOEK.js.map → _server.ts-BUf-IIIm.js.map} +1 -1
  127. package/build/server/chunks/{_server.ts-DEieV6Jw.js → _server.ts-BW13CurN.js} +5 -5
  128. package/build/server/chunks/{_server.ts-DEieV6Jw.js.map → _server.ts-BW13CurN.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-OuMfyqbK.js → _server.ts-BWh3c-xu.js} +5 -5
  130. package/build/server/chunks/{_server.ts-OuMfyqbK.js.map → _server.ts-BWh3c-xu.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-LpqGWBGf.js → _server.ts-BYDgL8Wh.js} +6 -6
  132. package/build/server/chunks/{_server.ts-LpqGWBGf.js.map → _server.ts-BYDgL8Wh.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-BX5MvUV2.js → _server.ts-B_9-b1wk.js} +5 -5
  134. package/build/server/chunks/{_server.ts-BX5MvUV2.js.map → _server.ts-B_9-b1wk.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-Dp-M-qYf.js → _server.ts-Bbc4zzJy.js} +6 -6
  136. package/build/server/chunks/{_server.ts-Dp-M-qYf.js.map → _server.ts-Bbc4zzJy.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-B1moS46A.js → _server.ts-BhmHIGs6.js} +5 -5
  138. package/build/server/chunks/{_server.ts-B1moS46A.js.map → _server.ts-BhmHIGs6.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-PQR7rD7X.js → _server.ts-BhuoSeRy.js} +5 -5
  140. package/build/server/chunks/{_server.ts-PQR7rD7X.js.map → _server.ts-BhuoSeRy.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-C09yQI2v.js → _server.ts-BnL_ReBS.js} +4 -4
  142. package/build/server/chunks/{_server.ts-C09yQI2v.js.map → _server.ts-BnL_ReBS.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-ClfK8dTq.js → _server.ts-BoOQ7F2z.js} +8 -8
  144. package/build/server/chunks/{_server.ts-ClfK8dTq.js.map → _server.ts-BoOQ7F2z.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-BNxDIQAc.js → _server.ts-Bry3Z40C.js} +7 -7
  146. package/build/server/chunks/{_server.ts-BNxDIQAc.js.map → _server.ts-Bry3Z40C.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-GRGhe_9u.js → _server.ts-BtVLVJf0.js} +6 -6
  148. package/build/server/chunks/{_server.ts-GRGhe_9u.js.map → _server.ts-BtVLVJf0.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-Byf8QxAm.js → _server.ts-BzISiSHa.js} +5 -5
  150. package/build/server/chunks/{_server.ts-Byf8QxAm.js.map → _server.ts-BzISiSHa.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-PAwOtE1N.js → _server.ts-C7PeR-ll.js} +5 -5
  152. package/build/server/chunks/{_server.ts-PAwOtE1N.js.map → _server.ts-C7PeR-ll.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-Dwi62jBH.js → _server.ts-C8NW6VWR.js} +6 -6
  154. package/build/server/chunks/{_server.ts-Dwi62jBH.js.map → _server.ts-C8NW6VWR.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-DL04u4ie.js → _server.ts-CF0aKxAL.js} +2 -2
  156. package/build/server/chunks/{_server.ts-DL04u4ie.js.map → _server.ts-CF0aKxAL.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-D5d5Ai45.js → _server.ts-CH-OPdXJ.js} +5 -5
  158. package/build/server/chunks/{_server.ts-D5d5Ai45.js.map → _server.ts-CH-OPdXJ.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-DPbQT8Pw.js → _server.ts-CPsQ5aGi.js} +5 -5
  160. package/build/server/chunks/{_server.ts-DPbQT8Pw.js.map → _server.ts-CPsQ5aGi.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-j7LP7ugw.js → _server.ts-CQ8JX5O7.js} +5 -5
  162. package/build/server/chunks/{_server.ts-j7LP7ugw.js.map → _server.ts-CQ8JX5O7.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-CzmF1JGr.js → _server.ts-CQPRTbTX.js} +5 -5
  164. package/build/server/chunks/{_server.ts-CzmF1JGr.js.map → _server.ts-CQPRTbTX.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-B8ETN5kp.js → _server.ts-CTVpEmAc.js} +5 -5
  166. package/build/server/chunks/{_server.ts-B8ETN5kp.js.map → _server.ts-CTVpEmAc.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-E_FGVBJQ.js → _server.ts-CWVi9VhR.js} +5 -5
  168. package/build/server/chunks/{_server.ts-E_FGVBJQ.js.map → _server.ts-CWVi9VhR.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-Lm2k__lp.js → _server.ts-CXQd0L0u.js} +2 -2
  170. package/build/server/chunks/{_server.ts-Lm2k__lp.js.map → _server.ts-CXQd0L0u.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-C6TD8kSk.js → _server.ts-Cgg_3L-k.js} +6 -6
  172. package/build/server/chunks/{_server.ts-C6TD8kSk.js.map → _server.ts-Cgg_3L-k.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-tPvbvgV_.js → _server.ts-ChvbGMR6.js} +4 -4
  174. package/build/server/chunks/{_server.ts-tPvbvgV_.js.map → _server.ts-ChvbGMR6.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-D2ayVrtV.js → _server.ts-CnByyw9m.js} +2 -2
  176. package/build/server/chunks/{_server.ts-D2ayVrtV.js.map → _server.ts-CnByyw9m.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-Bt5bqJxH.js → _server.ts-Ct_0qiMK.js} +6 -6
  178. package/build/server/chunks/{_server.ts-Bt5bqJxH.js.map → _server.ts-Ct_0qiMK.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-Db_-LqfJ.js → _server.ts-Cu1u6Fq3.js} +5 -5
  180. package/build/server/chunks/{_server.ts-Db_-LqfJ.js.map → _server.ts-Cu1u6Fq3.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-CQUOqnix.js → _server.ts-Cuq4zRUh.js} +5 -5
  182. package/build/server/chunks/{_server.ts-CQUOqnix.js.map → _server.ts-Cuq4zRUh.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-DgnY_kk9.js → _server.ts-Cx8pH99_.js} +5 -5
  184. package/build/server/chunks/{_server.ts-DgnY_kk9.js.map → _server.ts-Cx8pH99_.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-BVJhOHAZ.js → _server.ts-D-eORdC8.js} +6 -6
  186. package/build/server/chunks/{_server.ts-BVJhOHAZ.js.map → _server.ts-D-eORdC8.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-RMOM33-7.js → _server.ts-D1cvo-nO.js} +5 -5
  188. package/build/server/chunks/{_server.ts-RMOM33-7.js.map → _server.ts-D1cvo-nO.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-CbTXB4zQ.js → _server.ts-D4nuqQNX.js} +7 -7
  190. package/build/server/chunks/{_server.ts-CbTXB4zQ.js.map → _server.ts-D4nuqQNX.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-CweZ_2Ka.js → _server.ts-D6aAJoCf.js} +5 -5
  192. package/build/server/chunks/{_server.ts-CweZ_2Ka.js.map → _server.ts-D6aAJoCf.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-ByhIQ3aO.js → _server.ts-D9PUEjiN.js} +5 -5
  194. package/build/server/chunks/{_server.ts-ByhIQ3aO.js.map → _server.ts-D9PUEjiN.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-iLNBPfy0.js → _server.ts-DAiD8z-P.js} +5 -5
  196. package/build/server/chunks/{_server.ts-iLNBPfy0.js.map → _server.ts-DAiD8z-P.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-Bl4VSlUo.js → _server.ts-DDKL_uuS.js} +7 -7
  198. package/build/server/chunks/{_server.ts-Bl4VSlUo.js.map → _server.ts-DDKL_uuS.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-Y4ykTmGx.js → _server.ts-DGkgd0uc.js} +5 -5
  200. package/build/server/chunks/{_server.ts-Y4ykTmGx.js.map → _server.ts-DGkgd0uc.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-whWggGP6.js → _server.ts-DHig-2Ii.js} +5 -5
  202. package/build/server/chunks/{_server.ts-whWggGP6.js.map → _server.ts-DHig-2Ii.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-ClthZEFZ.js → _server.ts-DJdHVo2c.js} +5 -5
  204. package/build/server/chunks/{_server.ts-ClthZEFZ.js.map → _server.ts-DJdHVo2c.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-B3MxMbHf.js → _server.ts-DLrsnGKc.js} +6 -6
  206. package/build/server/chunks/{_server.ts-B3MxMbHf.js.map → _server.ts-DLrsnGKc.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-Bs5cXrgG.js → _server.ts-DRYh6JJM.js} +5 -5
  208. package/build/server/chunks/{_server.ts-Bs5cXrgG.js.map → _server.ts-DRYh6JJM.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-WeGNeoTr.js → _server.ts-DUbqsB2y.js} +2 -2
  210. package/build/server/chunks/{_server.ts-WeGNeoTr.js.map → _server.ts-DUbqsB2y.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-DTh4mJ7C.js → _server.ts-DVRwJs1D.js} +5 -5
  212. package/build/server/chunks/{_server.ts-DTh4mJ7C.js.map → _server.ts-DVRwJs1D.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-Cyub8n-5.js → _server.ts-DYZ1SnMq.js} +5 -5
  214. package/build/server/chunks/{_server.ts-Cyub8n-5.js.map → _server.ts-DYZ1SnMq.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-BCRrWDdm.js → _server.ts-DdpgDdUI.js} +5 -5
  216. package/build/server/chunks/{_server.ts-BCRrWDdm.js.map → _server.ts-DdpgDdUI.js.map} +1 -1
  217. package/build/server/chunks/{_server.ts-DFbWfrL9.js → _server.ts-DhVR_dEn.js} +5 -5
  218. package/build/server/chunks/{_server.ts-DFbWfrL9.js.map → _server.ts-DhVR_dEn.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-DxPPZbk0.js → _server.ts-DorWUEnZ.js} +5 -5
  220. package/build/server/chunks/{_server.ts-DxPPZbk0.js.map → _server.ts-DorWUEnZ.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-0Vg6AJPt.js → _server.ts-DptdgCp1.js} +5 -5
  222. package/build/server/chunks/{_server.ts-0Vg6AJPt.js.map → _server.ts-DptdgCp1.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-CoeqCjOS.js → _server.ts-DyFhMY-d.js} +5 -5
  224. package/build/server/chunks/{_server.ts-CoeqCjOS.js.map → _server.ts-DyFhMY-d.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-BNpMpfbh.js → _server.ts-FBHhAciM.js} +5 -5
  226. package/build/server/chunks/{_server.ts-BNpMpfbh.js.map → _server.ts-FBHhAciM.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-C2LdQElH.js → _server.ts-H0_rl9HF.js} +6 -6
  228. package/build/server/chunks/{_server.ts-C2LdQElH.js.map → _server.ts-H0_rl9HF.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-DQOcjyqr.js → _server.ts-MGCXhBlP.js} +5 -5
  230. package/build/server/chunks/{_server.ts-DQOcjyqr.js.map → _server.ts-MGCXhBlP.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-Dp8R00NF.js → _server.ts-OXR06_zO.js} +2 -2
  232. package/build/server/chunks/{_server.ts-Dp8R00NF.js.map → _server.ts-OXR06_zO.js.map} +1 -1
  233. package/build/server/chunks/{_server.ts-COlWg-KN.js → _server.ts-QbGAW-It.js} +5 -5
  234. package/build/server/chunks/{_server.ts-COlWg-KN.js.map → _server.ts-QbGAW-It.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-y5zwjb1Y.js → _server.ts-TAvt1Rlb.js} +5 -5
  236. package/build/server/chunks/{_server.ts-y5zwjb1Y.js.map → _server.ts-TAvt1Rlb.js.map} +1 -1
  237. package/build/server/chunks/{_server.ts-BhgsoGpy.js → _server.ts-VXMfJF_F.js} +5 -5
  238. package/build/server/chunks/{_server.ts-BhgsoGpy.js.map → _server.ts-VXMfJF_F.js.map} +1 -1
  239. package/build/server/chunks/{_server.ts-Zvy5IRGD.js → _server.ts-XiInWDAF.js} +5 -5
  240. package/build/server/chunks/{_server.ts-Zvy5IRGD.js.map → _server.ts-XiInWDAF.js.map} +1 -1
  241. package/build/server/chunks/{_server.ts-C34ptFRI.js → _server.ts-d08IyVdj.js} +6 -6
  242. package/build/server/chunks/{_server.ts-C34ptFRI.js.map → _server.ts-d08IyVdj.js.map} +1 -1
  243. package/build/server/chunks/{_server.ts-Bt03j03I.js → _server.ts-dtw_InfP.js} +5 -5
  244. package/build/server/chunks/{_server.ts-Bt03j03I.js.map → _server.ts-dtw_InfP.js.map} +1 -1
  245. package/build/server/chunks/{_server.ts-DBSn4Gb6.js → _server.ts-eTP3NGlu.js} +5 -5
  246. package/build/server/chunks/{_server.ts-DBSn4Gb6.js.map → _server.ts-eTP3NGlu.js.map} +1 -1
  247. package/build/server/chunks/{_server.ts-D_zhSEAX.js → _server.ts-fm-L_1WH.js} +5 -5
  248. package/build/server/chunks/{_server.ts-D_zhSEAX.js.map → _server.ts-fm-L_1WH.js.map} +1 -1
  249. package/build/server/chunks/{_server.ts-2cFkndKX.js → _server.ts-g5H0gdQB.js} +5 -5
  250. package/build/server/chunks/{_server.ts-2cFkndKX.js.map → _server.ts-g5H0gdQB.js.map} +1 -1
  251. package/build/server/chunks/{_server.ts-BICdc86-.js → _server.ts-gBvSTaRH.js} +5 -5
  252. package/build/server/chunks/{_server.ts-BICdc86-.js.map → _server.ts-gBvSTaRH.js.map} +1 -1
  253. package/build/server/chunks/{_server.ts-Ch_BIGij.js → _server.ts-lMB9A2Vx.js} +5 -5
  254. package/build/server/chunks/{_server.ts-Ch_BIGij.js.map → _server.ts-lMB9A2Vx.js.map} +1 -1
  255. package/build/server/chunks/{_server.ts-CxydSIrH.js → _server.ts-tww34LXr.js} +5 -5
  256. package/build/server/chunks/{_server.ts-CxydSIrH.js.map → _server.ts-tww34LXr.js.map} +1 -1
  257. package/build/server/chunks/{_server.ts-BF8BIeRx.js → _server.ts-xgg0Rj1C.js} +5 -5
  258. package/build/server/chunks/{_server.ts-BF8BIeRx.js.map → _server.ts-xgg0Rj1C.js.map} +1 -1
  259. package/build/server/chunks/{_server.ts-u5l5oF5s.js → _server.ts-yO3j4YDH.js} +5 -5
  260. package/build/server/chunks/{_server.ts-u5l5oF5s.js.map → _server.ts-yO3j4YDH.js.map} +1 -1
  261. package/build/server/chunks/{addon-helpers-D5FxFtnl.js → addon-helpers-DnZ1IPC7.js} +3 -3
  262. package/build/server/chunks/{addon-helpers-D5FxFtnl.js.map → addon-helpers-DnZ1IPC7.js.map} +1 -1
  263. package/build/server/chunks/{akm-Bpp1kjYZ.js → akm-BVM3F-FY.js} +2 -2
  264. package/build/server/chunks/{akm-Bpp1kjYZ.js.map → akm-BVM3F-FY.js.map} +1 -1
  265. package/build/server/chunks/{catalog-DabIknB2.js → catalog-B_9Qf_Tj.js} +5 -5
  266. package/build/server/chunks/{catalog-DabIknB2.js.map → catalog-B_9Qf_Tj.js.map} +1 -1
  267. package/build/server/chunks/{client-CcgALx2z.js → client-CEfPhREO.js} +2 -2
  268. package/build/server/chunks/{client-CcgALx2z.js.map → client-CEfPhREO.js.map} +1 -1
  269. package/build/server/chunks/{config-C4Mb_Dmt.js → config-VJ5wAdKd.js} +2 -2
  270. package/build/server/chunks/{config-C4Mb_Dmt.js.map → config-VJ5wAdKd.js.map} +1 -1
  271. package/build/server/chunks/{docker-CJyb9Y6R.js → docker-7rKo0FDm.js} +2 -2
  272. package/build/server/chunks/{docker-CJyb9Y6R.js.map → docker-7rKo0FDm.js.map} +1 -1
  273. package/build/server/chunks/{endpoints-CxHHWeBz.js → endpoints-DUs5zmwI.js} +2 -2
  274. package/build/server/chunks/{endpoints-CxHHWeBz.js.map → endpoints-DUs5zmwI.js.map} +1 -1
  275. package/build/server/chunks/environment-DqfL567G.js.map +1 -1
  276. package/build/server/chunks/{error.svelte-CdezevWX.js → error.svelte-DXUxoirZ.js} +4 -4
  277. package/build/server/chunks/{error.svelte-CdezevWX.js.map → error.svelte-DXUxoirZ.js.map} +1 -1
  278. package/build/server/chunks/{helpers-CkhM6czg.js → helpers-GEmeDI6e.js} +3 -3
  279. package/build/server/chunks/{helpers-CkhM6czg.js.map → helpers-GEmeDI6e.js.map} +1 -1
  280. package/build/server/chunks/{hooks.server-CFTYjaVy.js → hooks.server-CwgeONEs.js} +6 -6
  281. package/build/server/chunks/{hooks.server-CFTYjaVy.js.map → hooks.server-CwgeONEs.js.map} +1 -1
  282. package/build/server/chunks/{http-zX6if5Eq.js → http-BzGcbSMh.js} +2 -2
  283. package/build/server/chunks/{http-zX6if5Eq.js.map → http-BzGcbSMh.js.map} +1 -1
  284. package/build/server/chunks/{internal-DfljBIKo.js → internal-CWT3-fy-.js} +3 -3
  285. package/build/server/chunks/{internal-DfljBIKo.js.map → internal-CWT3-fy-.js.map} +1 -1
  286. package/build/server/chunks/{paths-C_pbfQFE.js → paths-D8yGDgAD.js} +2 -2
  287. package/build/server/chunks/{paths-C_pbfQFE.js.map → paths-D8yGDgAD.js.map} +1 -1
  288. package/build/server/chunks/{session-cookie-P9GNpA5Y.js → session-cookie-IMj1chTO.js} +2 -2
  289. package/build/server/chunks/{session-cookie-P9GNpA5Y.js.map → session-cookie-IMj1chTO.js.map} +1 -1
  290. package/build/server/chunks/{setup-deploy-QhBTcEuB.js → setup-deploy-DhMA_slP.js} +2 -2
  291. package/build/server/chunks/{setup-deploy-QhBTcEuB.js.map → setup-deploy-DhMA_slP.js.map} +1 -1
  292. package/build/server/chunks/{src-KraOt0_c.js → src-DBYue8Tb.js} +2 -2
  293. package/build/server/chunks/{src-KraOt0_c.js.map → src-DBYue8Tb.js.map} +1 -1
  294. package/build/server/chunks/{state-ByHu_9PU.js → state-Bpt5dC1X.js} +2 -2
  295. package/build/server/chunks/{state-ByHu_9PU.js.map → state-Bpt5dC1X.js.map} +1 -1
  296. package/build/server/chunks/{state2-CmPLrPN5.js → state2-D20PkMjF.js} +2 -2
  297. package/build/server/chunks/{state2-CmPLrPN5.js.map → state2-D20PkMjF.js.map} +1 -1
  298. package/build/server/chunks/{theme-state.svelte-BCebCO8r.js → theme-state.svelte-DPdcwIRf.js} +158 -2
  299. package/build/server/chunks/theme-state.svelte-DPdcwIRf.js.map +1 -0
  300. package/build/server/index.js +1 -1
  301. package/build/server/manifest.js +92 -92
  302. package/build/server/manifest.js.map +1 -1
  303. package/package.json +2 -2
  304. package/build/client/_app/immutable/assets/7.C0_Oskm7.css +0 -1
  305. package/build/client/_app/immutable/assets/7.C0_Oskm7.css.br +0 -0
  306. package/build/client/_app/immutable/assets/7.C0_Oskm7.css.gz +0 -0
  307. package/build/client/_app/immutable/chunks/C3n4za32.js.br +0 -0
  308. package/build/client/_app/immutable/chunks/C3n4za32.js.gz +0 -0
  309. package/build/client/_app/immutable/chunks/DOah_AX9.js +0 -1
  310. package/build/client/_app/immutable/chunks/DOah_AX9.js.br +0 -2
  311. package/build/client/_app/immutable/chunks/DOah_AX9.js.gz +0 -0
  312. package/build/client/_app/immutable/chunks/DS38YEEh.js.br +0 -0
  313. package/build/client/_app/immutable/chunks/DS38YEEh.js.gz +0 -0
  314. package/build/client/_app/immutable/chunks/DoqDEOzg.js +0 -1
  315. package/build/client/_app/immutable/chunks/DoqDEOzg.js.br +0 -0
  316. package/build/client/_app/immutable/chunks/DoqDEOzg.js.gz +0 -0
  317. package/build/client/_app/immutable/chunks/d5pHSbNd.js.br +0 -0
  318. package/build/client/_app/immutable/chunks/d5pHSbNd.js.gz +0 -0
  319. package/build/client/_app/immutable/chunks/p-DX0ixp.js +0 -5
  320. package/build/client/_app/immutable/chunks/p-DX0ixp.js.br +0 -0
  321. package/build/client/_app/immutable/chunks/p-DX0ixp.js.gz +0 -0
  322. package/build/client/_app/immutable/entry/app.DehYJGqJ.js.br +0 -0
  323. package/build/client/_app/immutable/entry/app.DehYJGqJ.js.gz +0 -0
  324. package/build/client/_app/immutable/entry/start.wiUeco_y.js +0 -1
  325. package/build/client/_app/immutable/entry/start.wiUeco_y.js.br +0 -0
  326. package/build/client/_app/immutable/entry/start.wiUeco_y.js.gz +0 -0
  327. package/build/client/_app/immutable/nodes/0.Cnp9ux9m.js.br +0 -0
  328. package/build/client/_app/immutable/nodes/0.Cnp9ux9m.js.gz +0 -0
  329. package/build/client/_app/immutable/nodes/1.BemXOvxs.js.br +0 -1
  330. package/build/client/_app/immutable/nodes/1.BemXOvxs.js.gz +0 -0
  331. package/build/client/_app/immutable/nodes/10.ZllEmpUV.js.br +0 -0
  332. package/build/client/_app/immutable/nodes/10.ZllEmpUV.js.gz +0 -0
  333. package/build/client/_app/immutable/nodes/4.DYNAraCN.js.br +0 -0
  334. package/build/client/_app/immutable/nodes/4.DYNAraCN.js.gz +0 -0
  335. package/build/client/_app/immutable/nodes/5.CKpwzpJZ.js.br +0 -0
  336. package/build/client/_app/immutable/nodes/5.CKpwzpJZ.js.gz +0 -0
  337. package/build/client/_app/immutable/nodes/6.D5-ZIRjO.js.br +0 -0
  338. package/build/client/_app/immutable/nodes/6.D5-ZIRjO.js.gz +0 -0
  339. package/build/client/_app/immutable/nodes/7.BvOE8CuZ.js +0 -2
  340. package/build/client/_app/immutable/nodes/7.BvOE8CuZ.js.br +0 -0
  341. package/build/client/_app/immutable/nodes/7.BvOE8CuZ.js.gz +0 -0
  342. package/build/client/_app/immutable/nodes/8.BBUAt98J.js.br +0 -0
  343. package/build/client/_app/immutable/nodes/8.BBUAt98J.js.gz +0 -0
  344. package/build/client/_app/immutable/nodes/9.DOXxvfJX.js.br +0 -0
  345. package/build/client/_app/immutable/nodes/9.DOXxvfJX.js.gz +0 -0
  346. package/build/server/chunks/1-CZn9SJHY.js +0 -9
  347. package/build/server/chunks/6-DfKN8DgI.js +0 -9
  348. package/build/server/chunks/IconMic-DLx3WSIu.js.map +0 -1
  349. package/build/server/chunks/_page.svelte-DAu9fGOD.js.map +0 -1
  350. package/build/server/chunks/theme-state.svelte-BCebCO8r.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-B8ETN5kp.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/_server.ts.js"],"sourcesContent":["import { U as writeFileAtomic } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } 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-CTVpEmAc.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/akm/_server.ts.js"],"sourcesContent":["import { U as writeFileAtomic } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } 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
- import { F as createLogger, o as checkDocker, m as buildComposeOptions, x as composePull, n as buildManagedServices, E as composeUp } from './src-KraOt0_c.js';
2
- import { g as getState } from './state-ByHu_9PU.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CkhM6czg.js';
1
+ import { F as createLogger, o as checkDocker, m as buildComposeOptions, x as composePull, n as buildManagedServices, E as composeUp } from './src-DBYue8Tb.js';
2
+ import { g as getState } from './state-Bpt5dC1X.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-GEmeDI6e.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
@@ -23,7 +23,7 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-CxHHWeBz.js';
26
+ import './endpoints-DUs5zmwI.js';
27
27
 
28
28
  //#region src/routes/admin/containers/pull/+server.ts
29
29
  var logger = createLogger("containers-pull");
@@ -73,4 +73,4 @@ var POST = async (event) => {
73
73
  };
74
74
 
75
75
  export { POST };
76
- //# sourceMappingURL=_server.ts-E_FGVBJQ.js.map
76
+ //# sourceMappingURL=_server.ts-CWVi9VhR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-E_FGVBJQ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/pull/_server.ts.js"],"sourcesContent":["import { P as buildComposeOptions, R as buildManagedServices, Y as checkDocker, ot as composeUp, pn as createLogger, tt as composePull } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/pull/+server.ts\nvar logger = createLogger(\"containers-pull\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"pull request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:pull\", async () => {\n\t\tconst state = getState();\n\t\tconst dockerCheck = await checkDocker();\n\t\tif (!dockerCheck.ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t\tconst composeOpts = buildComposeOptions(state);\n\t\tlogger.info(\"pulling images\", { requestId });\n\t\tconst pullResult = await composePull(composeOpts);\n\t\tif (!pullResult.ok) {\n\t\t\tlogger.error(\"image pull failed\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: pullResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"pull_failed\", \"Failed to pull images\", { stderr: pullResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"recreating containers\", { requestId });\n\t\tconst managedServices = await buildManagedServices(state);\n\t\tconst upResult = await composeUp({\n\t\t\t...composeOpts,\n\t\t\tservices: managedServices,\n\t\t\tforceRecreate: true\n\t\t});\n\t\tif (!upResult.ok) {\n\t\t\tlogger.error(\"compose up failed after pull\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: upResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"up_failed\", \"Images pulled but failed to recreate containers\", { stderr: upResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"pull completed\", {\n\t\t\trequestId,\n\t\t\tstarted: managedServices\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tpulled: pullResult.stdout,\n\t\t\tstarted: managedServices\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACzC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAChD,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC;AAC9C,EAAE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC;AACnD,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;AACtB,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;AACrC,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,UAAU,CAAC;AACvB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC9G,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,EAAE,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AAC3D,EAAE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC;AACnC,GAAG,GAAG,WAAW;AACjB,GAAG,QAAQ,EAAE,eAAe;AAC5B,GAAG,aAAa,EAAE;AAClB,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpB,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;AAChD,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,QAAQ,CAAC;AACrB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,iDAAiD,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AACpI,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAChC,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CWVi9VhR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/containers/pull/_server.ts.js"],"sourcesContent":["import { P as buildComposeOptions, R as buildManagedServices, Y as checkDocker, ot as composeUp, pn as createLogger, tt as composePull } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/admin/containers/pull/+server.ts\nvar logger = createLogger(\"containers-pull\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tlogger.info(\"pull request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:containers:pull\", async () => {\n\t\tconst state = getState();\n\t\tconst dockerCheck = await checkDocker();\n\t\tif (!dockerCheck.ok) return errorResponse(503, \"docker_unavailable\", \"Docker is not available\", { stderr: dockerCheck.stderr }, requestId);\n\t\tconst composeOpts = buildComposeOptions(state);\n\t\tlogger.info(\"pulling images\", { requestId });\n\t\tconst pullResult = await composePull(composeOpts);\n\t\tif (!pullResult.ok) {\n\t\t\tlogger.error(\"image pull failed\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: pullResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"pull_failed\", \"Failed to pull images\", { stderr: pullResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"recreating containers\", { requestId });\n\t\tconst managedServices = await buildManagedServices(state);\n\t\tconst upResult = await composeUp({\n\t\t\t...composeOpts,\n\t\t\tservices: managedServices,\n\t\t\tforceRecreate: true\n\t\t});\n\t\tif (!upResult.ok) {\n\t\t\tlogger.error(\"compose up failed after pull\", {\n\t\t\t\trequestId,\n\t\t\t\tstderr: upResult.stderr\n\t\t\t});\n\t\t\treturn errorResponse(502, \"up_failed\", \"Images pulled but failed to recreate containers\", { stderr: upResult.stderr }, requestId);\n\t\t}\n\t\tlogger.info(\"pull completed\", {\n\t\t\trequestId,\n\t\t\tstarted: managedServices\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tpulled: pullResult.stdout,\n\t\t\tstarted: managedServices\n\t\t}, requestId);\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,iBAAiB,CAAC;AACzC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,uBAAuB,EAAE,YAAY;AAC7D,EAAE,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC1B,EAAE,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AACzC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC;AAChD,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC;AAC9C,EAAE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC;AACnD,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;AACtB,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;AACrC,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,UAAU,CAAC;AACvB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AAC9G,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,CAAC;AACrD,EAAE,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC;AAC3D,EAAE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC;AACnC,GAAG,GAAG,WAAW;AACjB,GAAG,QAAQ,EAAE,eAAe;AAC5B,GAAG,aAAa,EAAE;AAClB,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACpB,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;AAChD,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,QAAQ,CAAC;AACrB,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,iDAAiD,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC;AACpI,EAAE;AACF,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAChC,GAAG,SAAS;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,CAAC;AACJ,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AAC3B,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,SAAS,CAAC;AACf,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { X as fetchProviderModels, aL as resolveOpenPalmHome } from './src-KraOt0_c.js';
2
+ import { X as fetchProviderModels, aL as resolveOpenPalmHome } from './src-DBYue8Tb.js';
3
3
  import './utils-BSRjJDrZ.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
@@ -54,4 +54,4 @@ var POST = async ({ params, request }) => {
54
54
  };
55
55
 
56
56
  export { POST };
57
- //# sourceMappingURL=_server.ts-Lm2k__lp.js.map
57
+ //# sourceMappingURL=_server.ts-CXQd0L0u.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Lm2k__lp.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/models/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { D as fetchProviderModels, cn as resolveOpenPalmHome } from \"../../../../../../chunks/src.js\";\n//#region src/routes/api/setup/models/[provider]/+server.ts\nvar POST = async ({ params, request }) => {\n\tconst provider = decodeURIComponent(params.provider);\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey : \"\";\n\tconst baseUrl = typeof body.baseUrl === \"string\" ? body.baseUrl : \"\";\n\ttry {\n\t\tconst result = await fetchProviderModels(provider, apiKey, baseUrl, resolveOpenPalmHome());\n\t\treturn json({\n\t\t\tok: result.status === \"ok\",\n\t\t\t...result\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"model_fetch_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;AACrD,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AAC7B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,cAAc;AACxB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD,CAAC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AAClE,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC5F,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI;AAC7B,GAAG,GAAG;AACN,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,oBAAoB;AAC9B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-CXQd0L0u.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/models/_provider_/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../chunks/exports.js\";\nimport { D as fetchProviderModels, cn as resolveOpenPalmHome } from \"../../../../../../chunks/src.js\";\n//#region src/routes/api/setup/models/[provider]/+server.ts\nvar POST = async ({ params, request }) => {\n\tconst provider = decodeURIComponent(params.provider);\n\tlet body;\n\ttry {\n\t\tbody = await request.json();\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"invalid_json\",\n\t\t\tmessage: \"Request body must be valid JSON\"\n\t\t}, { status: 400 });\n\t}\n\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey : \"\";\n\tconst baseUrl = typeof body.baseUrl === \"string\" ? body.baseUrl : \"\";\n\ttry {\n\t\tconst result = await fetchProviderModels(provider, apiKey, baseUrl, resolveOpenPalmHome());\n\t\treturn json({\n\t\t\tok: result.status === \"ok\",\n\t\t\t...result\n\t\t});\n\t} catch (err) {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\terror: \"model_fetch_failed\",\n\t\t\tmessage: String(err)\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;AACrD,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AAC7B,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,cAAc;AACxB,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD,CAAC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE;AAClE,CAAC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACrE,CAAC,IAAI;AACL,EAAE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC5F,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,IAAI;AAC7B,GAAG,GAAG;AACN,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,KAAK,EAAE,oBAAoB;AAC9B,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG;AACtB,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { d as getRequestId, h as invalidateSession } from './helpers-CkhM6czg.js';
2
- import { S as SESSION_COOKIE_NAME, c as clearSessionCookieHeader } from './session-cookie-P9GNpA5Y.js';
3
- import './src-KraOt0_c.js';
1
+ import { d as getRequestId, h as invalidateSession } from './helpers-GEmeDI6e.js';
2
+ import { S as SESSION_COOKIE_NAME, c as clearSessionCookieHeader } from './session-cookie-IMj1chTO.js';
3
+ import './src-DBYue8Tb.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
6
6
  import './provider-constants-DPrj3yBX.js';
@@ -22,8 +22,8 @@ import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
24
  import 'node:os';
25
- import './endpoints-CxHHWeBz.js';
26
- import './state-ByHu_9PU.js';
25
+ import './endpoints-DUs5zmwI.js';
26
+ import './state-Bpt5dC1X.js';
27
27
 
28
28
  //#region src/routes/admin/auth/logout/+server.ts
29
29
  var POST = async (event) => {
@@ -41,4 +41,4 @@ var POST = async (event) => {
41
41
  };
42
42
 
43
43
  export { POST };
44
- //# sourceMappingURL=_server.ts-C6TD8kSk.js.map
44
+ //# sourceMappingURL=_server.ts-Cgg_3L-k.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C6TD8kSk.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/logout/_server.ts.js"],"sourcesContent":["import { a as getRequestId, g as invalidateSession } from \"../../../../../chunks/helpers.js\";\nimport { n as clearSessionCookieHeader, t as SESSION_COOKIE_NAME } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/logout/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst match = (event.request.headers.get(\"cookie\") ?? \"\").match(new RegExp(`(?:^|;\\\\s*)${SESSION_COOKIE_NAME}=([^;]+)`));\n\tif (match) invalidateSession(match[1]);\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": clearSessionCookieHeader(event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzH,CAAC,IAAI,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;AACxD,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-Cgg_3L-k.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/auth/logout/_server.ts.js"],"sourcesContent":["import { a as getRequestId, g as invalidateSession } from \"../../../../../chunks/helpers.js\";\nimport { n as clearSessionCookieHeader, t as SESSION_COOKIE_NAME } from \"../../../../../chunks/session-cookie.js\";\n//#region src/routes/admin/auth/logout/+server.ts\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst match = (event.request.headers.get(\"cookie\") ?? \"\").match(new RegExp(`(?:^|;\\\\s*)${SESSION_COOKIE_NAME}=([^;]+)`));\n\tif (match) invalidateSession(match[1]);\n\treturn new Response(JSON.stringify({ ok: true }), {\n\t\tstatus: 200,\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t\"set-cookie\": clearSessionCookieHeader(event.request),\n\t\t\t\"x-request-id\": requestId\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzH,CAAC,IAAI,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AACnD,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,GAAG,cAAc,EAAE,kBAAkB;AACrC,GAAG,YAAY,EAAE,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC;AACxD,GAAG,cAAc,EAAE;AACnB;AACA,EAAE,CAAC;AACH;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { g as getState } from './state-ByHu_9PU.js';
3
- import { g as getDeployState } from './setup-deploy-QhBTcEuB.js';
2
+ import { g as getState } from './state-Bpt5dC1X.js';
3
+ import { g as getDeployState } from './setup-deploy-DhMA_slP.js';
4
4
  import './utils-BSRjJDrZ.js';
5
- import './src-KraOt0_c.js';
5
+ import './src-DBYue8Tb.js';
6
6
  import './chunk-CLZ62Ad-.js';
7
7
  import 'node:module';
8
8
  import './provider-constants-DPrj3yBX.js';
@@ -47,4 +47,4 @@ var GET = () => {
47
47
  };
48
48
 
49
49
  export { GET };
50
- //# sourceMappingURL=_server.ts-tPvbvgV_.js.map
50
+ //# sourceMappingURL=_server.ts-ChvbGMR6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-tPvbvgV_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/deploy-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { t as getDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/deploy-status/+server.ts\nfunction resolvePorts() {\n\treturn {\n\t\tadmin: Number(process.env.OP_HOST_UI_PORT) || 3880,\n\t\tassistant: Number(process.env.OP_HOST_ASSISTANT_PORT) || 3800\n\t};\n}\nvar GET = () => {\n\tconst state = getDeployState(getState());\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: state.setupComplete,\n\t\tdeploying: state.deploying,\n\t\tdeployStatus: state.deployStatus,\n\t\tdeployError: state.deployError,\n\t\timageWarning: state.imageWarning,\n\t\tphase: state.phase,\n\t\tports: resolvePorts()\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,SAAS,YAAY,GAAG;AACxB,CAAC,OAAO;AACR,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI;AACpD,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI;AAC3D,EAAE;AACF;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;AACzC,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa;AACpC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;AAC5B,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY;AAClC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW;AAChC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY;AAClC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;AACpB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-ChvbGMR6.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/deploy-status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { t as getDeployState } from \"../../../../../chunks/setup-deploy.js\";\n//#region src/routes/api/setup/deploy-status/+server.ts\nfunction resolvePorts() {\n\treturn {\n\t\tadmin: Number(process.env.OP_HOST_UI_PORT) || 3880,\n\t\tassistant: Number(process.env.OP_HOST_ASSISTANT_PORT) || 3800\n\t};\n}\nvar GET = () => {\n\tconst state = getDeployState(getState());\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: state.setupComplete,\n\t\tdeploying: state.deploying,\n\t\tdeployStatus: state.deployStatus,\n\t\tdeployError: state.deployError,\n\t\timageWarning: state.imageWarning,\n\t\tphase: state.phase,\n\t\tports: resolvePorts()\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,SAAS,YAAY,GAAG;AACxB,CAAC,OAAO;AACR,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI;AACpD,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI;AAC3D,EAAE;AACF;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;AACzC,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa;AACpC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;AAC5B,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY;AAClC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW;AAChC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY;AAClC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;AACpB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAE,CAAC;AACH;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { ab as isSetupComplete, aL as resolveOpenPalmHome } from './src-KraOt0_c.js';
2
+ import { ab as isSetupComplete, aL as resolveOpenPalmHome } from './src-DBYue8Tb.js';
3
3
  import './utils-BSRjJDrZ.js';
4
4
  import './chunk-CLZ62Ad-.js';
5
5
  import 'node:module';
@@ -32,4 +32,4 @@ var GET = () => {
32
32
  };
33
33
 
34
34
  export { GET };
35
- //# sourceMappingURL=_server.ts-D2ayVrtV.js.map
35
+ //# sourceMappingURL=_server.ts-CnByyw9m.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-D2ayVrtV.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { cn as resolveOpenPalmHome, ft as isSetupComplete } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/status/+server.ts\nvar GET = () => {\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: isSetupComplete(resolveOpenPalmHome())\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,eAAe,CAAC,mBAAmB,EAAE;AACtD,EAAE,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CnByyw9m.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/status/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../chunks/exports.js\";\nimport { cn as resolveOpenPalmHome, ft as isSetupComplete } from \"../../../../../chunks/src.js\";\n//#region src/routes/api/setup/status/+server.ts\nvar GET = () => {\n\treturn json({\n\t\tok: true,\n\t\tsetupComplete: isSetupComplete(resolveOpenPalmHome())\n\t});\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACG,IAAC,GAAG,GAAG,MAAM;AAChB,CAAC,OAAO,IAAI,CAAC;AACb,EAAE,EAAE,EAAE,IAAI;AACV,EAAE,aAAa,EAAE,eAAe,CAAC,mBAAmB,EAAE;AACtD,EAAE,CAAC;AACH;;;;"}
@@ -1,7 +1,7 @@
1
- import { ae as listAvailableAddonIds, ag as listEnabledAddonIds, a4 as getRegistryAddonConfig, F as createLogger } from './src-KraOt0_c.js';
2
- import { g as getState } from './state-ByHu_9PU.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CkhM6czg.js';
4
- import { p as performAddonToggle } from './addon-helpers-D5FxFtnl.js';
1
+ import { ae as listAvailableAddonIds, ag as listEnabledAddonIds, a4 as getRegistryAddonConfig, F as createLogger } from './src-DBYue8Tb.js';
2
+ import { g as getState } from './state-Bpt5dC1X.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-GEmeDI6e.js';
4
+ import { p as performAddonToggle } from './addon-helpers-DnZ1IPC7.js';
5
5
  import './chunk-CLZ62Ad-.js';
6
6
  import 'node:module';
7
7
  import './provider-constants-DPrj3yBX.js';
@@ -23,7 +23,7 @@ import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
25
  import 'node:os';
26
- import './endpoints-CxHHWeBz.js';
26
+ import './endpoints-DUs5zmwI.js';
27
27
 
28
28
  //#region src/routes/admin/addons/[name]/+server.ts
29
29
  var logger = createLogger("addons.name");
@@ -73,4 +73,4 @@ var POST = async (event) => {
73
73
  };
74
74
 
75
75
  export { GET, POST };
76
- //# sourceMappingURL=_server.ts-Bt5bqJxH.js.map
76
+ //# sourceMappingURL=_server.ts-Ct_0qiMK.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bt5bqJxH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_name_/_server.ts.js"],"sourcesContent":["import { Dt as listEnabledAddonIds, Et as listAvailableAddonIds, Tt as getRegistryAddonConfig, pn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as performAddonToggle } from \"../../../../../chunks/addon-helpers.js\";\n//#region src/routes/admin/addons/[name]/+server.ts\nvar logger = createLogger(\"addons.name\");\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\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst enabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(name);\n\t} catch (error) {\n\t\tlogger.error(\"failed to read addon schema\", {\n\t\t\tname,\n\t\t\terror: String(error),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", `Addon \"${name}\" schema is unavailable`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tenabled,\n\t\tconfig\n\t}, 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 name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\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":"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"}
1
+ {"version":3,"file":"_server.ts-Ct_0qiMK.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/addons/_name_/_server.ts.js"],"sourcesContent":["import { Dt as listEnabledAddonIds, Et as listAvailableAddonIds, Tt as getRegistryAddonConfig, pn as createLogger } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as performAddonToggle } from \"../../../../../chunks/addon-helpers.js\";\n//#region src/routes/admin/addons/[name]/+server.ts\nvar logger = createLogger(\"addons.name\");\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\tconst name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst enabled = listEnabledAddonIds(state.homeDir).includes(name);\n\tlet config;\n\ttry {\n\t\tconfig = getRegistryAddonConfig(name);\n\t} catch (error) {\n\t\tlogger.error(\"failed to read addon schema\", {\n\t\t\tname,\n\t\t\terror: String(error),\n\t\t\trequestId\n\t\t});\n\t\treturn errorResponse(500, \"internal_error\", `Addon \"${name}\" schema is unavailable`, {}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tname,\n\t\tenabled,\n\t\tconfig\n\t}, 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 name = event.params.name;\n\tif (!listAvailableAddonIds().includes(name)) return errorResponse(404, \"not_found\", `Addon \"${name}\" is not available`, { name }, requestId);\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\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":"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"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-D1quPX8S.js';
2
- import { aE as readVersions, av as readPinnedVersions, at as readChannelPreference, a5 as getRunningImages, m as buildComposeOptions, ao as parseEnvFile, S as SERVICE_VERSION_KEYS, aS as stripVoiceVariantSuffix, Y as formatForDisplay, b1 as writeVersions, aX as writeChannelPreference, al as mergeEnvContent, D as DOCKER_IMAGE_NAMES, s as compareComparableVersions, P as PLATFORM_VERSION } from './src-KraOt0_c.js';
3
- import { g as getState } from './state-ByHu_9PU.js';
4
- import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-CkhM6czg.js';
2
+ import { aE as readVersions, av as readPinnedVersions, at as readChannelPreference, a5 as getRunningImages, m as buildComposeOptions, ao as parseEnvFile, S as SERVICE_VERSION_KEYS, aS as stripVoiceVariantSuffix, Y as formatForDisplay, b1 as writeVersions, aX as writeChannelPreference, al as mergeEnvContent, D as DOCKER_IMAGE_NAMES, s as compareComparableVersions, P as PLATFORM_VERSION } from './src-DBYue8Tb.js';
3
+ import { g as getState } from './state-Bpt5dC1X.js';
4
+ import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-GEmeDI6e.js';
5
5
  import { existsSync, writeFileSync, readFileSync } from 'node:fs';
6
6
  import './utils-BSRjJDrZ.js';
7
7
  import './chunk-CLZ62Ad-.js';
@@ -24,7 +24,7 @@ import 'zlib';
24
24
  import 'node:assert';
25
25
  import 'node:fs/promises';
26
26
  import 'node:os';
27
- import './endpoints-CxHHWeBz.js';
27
+ import './endpoints-DUs5zmwI.js';
28
28
 
29
29
  //#region src/routes/admin/versions/+server.ts
30
30
  /**
@@ -241,4 +241,4 @@ var PATCH = async (event) => {
241
241
  };
242
242
 
243
243
  export { GET, PATCH };
244
- //# sourceMappingURL=_server.ts-Db_-LqfJ.js.map
244
+ //# sourceMappingURL=_server.ts-Cu1u6Fq3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Db_-LqfJ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../chunks/exports.js\";\nimport { Bt as writeChannelPreference, It as readChannelPreference, Lt as readPinnedVersions, Nt as DOCKER_IMAGE_NAMES, P as buildComposeOptions, Pt as SERVICE_VERSION_KEYS, Rt as readVersions, Vt as writeVersions, an as formatForDisplay, ct as getRunningImages, en as mergeEnvContent, in as compareComparableVersions, rn as PLATFORM_VERSION, tn as parseEnvFile, zt as stripVoiceVariantSuffix } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, r as errorResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync, writeFileSync } from \"node:fs\";\n//#region src/routes/admin/versions/+server.ts\n/**\n* GET /admin/versions — truthful version state (constitution §4.2, §5)\n* PATCH /admin/versions — write pins to state file\n*\n* GET returns THREE distinct values per component (§5 / Phase 5):\n* running — the digest + tag the currently running container was CREATED FROM\n* (read from `docker inspect`, never from a pin file). Null when not running.\n* pinned — the explicit version lock from state/stack.state.env, or null = track latest.\n* Moving tags (\"latest\", \"next\") are normalized to null (they express channel\n* preference, not a lock).\n* available — the resolved latest version on the active channel (silent null on registry down).\n*\n* Backward compatibility for the mixed-version window (old UI + new API or vice versa):\n* - The legacy top-level `versions` field is preserved. Old UIs that read only\n* `body.versions[key]` continue to get the same string they always did (the stored\n* pin value / default). New UIs read `body.components[key].{running,pinned,available}`.\n* - Old UIs cannot see `running` (never could — it's new). They may show a stale pin\n* as \"current\", which was the pre-Phase-5 behaviour. That is acceptable for the\n* transition window; Phase 6 (UpdatesTab rebuild) is where the new shape is consumed.\n*\n* Registry-down asymmetry (§4, compliance G2):\n* Background \"available?\" resolution degrades SILENTLY — a registry outage just\n* leaves `available` null; the stack keeps running what it has.\n* A user-pressed update that can't reach the registry FAILS LOUDLY (handled in\n* /admin/update via applyStack pull-before-up + fatal pull failure).\n*\n* Voice variant on display (§4.2, compliance G3):\n* `running.tag` for the voice service will include the hardware suffix (e.g.\n* \"openpalm/voice:0.12.0-cpu\"). The `running.plainVersion` field strips it for\n* use in the pinning control. `pinned` never carries the suffix (compose adds it).\n*\n* Service-name vs image-name (§5 truthful state):\n* getRunningImages() keys its result by compose SERVICE name, not image name.\n* OP_PORTAL_VERSION images run under services discord/slack/guardian/api/chat/gateway.\n* OP_VOICE_VERSION may run as voice (cpu), voice-cuda, or voice-rocm.\n* We therefore scan runningImages by matching the image tag against the expected\n* image name, not by looking up the image name as a service name.\n*\n* upToDate field removed (§8, Phase-5-item-3):\n* Tag-string equality cannot determine up-to-date status (tags can point to different\n* digests). Phase 6 decides up-to-date by digest comparison after a pull. The route\n* surfaces running.digest, running.plainVersion, pinned, and available as separate\n* truthful values for Phase 6 to use.\n*/\nvar ALLOWED_KEYS = new Set([\n\t...SERVICE_VERSION_KEYS,\n\t\"OP_AUTO_UPDATE\",\n\t\"OP_CHANNEL\"\n]);\nfunction stackEnvPath() {\n\treturn `${getState().stashDir}/env/stack.env`;\n}\nvar STABLE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+)$/;\nvar PRERELEASE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+-(?:rc|alpha|beta|next)\\.\\d+)$/;\nvar VOICE_STABLE = /^v?(\\d+\\.\\d+\\.\\d+)-\\w+$/;\n/**\n* Read the Docker Hub namespace from the stack env (OP_IMAGE_NAMESPACE), defaulting to\n* \"openpalm\". Compose uses the same default: ${OP_IMAGE_NAMESPACE:-openpalm}.\n*/\nfunction imageNamespace(stackEnvContent) {\n\treturn (stackEnvContent.OP_IMAGE_NAMESPACE ?? process.env.OP_IMAGE_NAMESPACE ?? \"openpalm\").trim() || \"openpalm\";\n}\nasync function resolveDockerLatestSilent(image, namespace, channel) {\n\ttry {\n\t\tconst res = await fetch(`https://hub.docker.com/v2/repositories/${namespace}/${image}/tags?page_size=100&ordering=last_updated`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(5e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\tconst isVoice = image === \"voice\";\n\t\tconst candidates = [];\n\t\tfor (const tag of data.results ?? []) {\n\t\t\tconst plain = tag.name.match(STABLE_SEMVER);\n\t\t\tif (plain) {\n\t\t\t\tcandidates.push(plain[1]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (isVoice) {\n\t\t\t\tconst voice = tag.name.match(VOICE_STABLE);\n\t\t\t\tif (voice) {\n\t\t\t\t\tcandidates.push(voice[1]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (channel === \"next\") {\n\t\t\t\tconst pre = tag.name.match(PRERELEASE_SEMVER);\n\t\t\t\tif (pre) candidates.push(pre[1]);\n\t\t\t}\n\t\t}\n\t\tif (candidates.length === 0) return null;\n\t\treturn candidates.sort(compareComparableVersions).at(-1) ?? null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nvar _availableCache = /* @__PURE__ */ new Map();\nvar CACHE_TTL_MS = 5 * 6e4;\nasync function resolveAvailableVersions(channel, namespace) {\n\tconst cacheKey = `${channel}:${namespace}`;\n\tconst cached = _availableCache.get(cacheKey);\n\tif (cached && Date.now() - cached.fetchedAt < CACHE_TTL_MS) return cached.versions;\n\tconst results = await Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {\n\t\tconst image = DOCKER_IMAGE_NAMES[key];\n\t\treturn [key, await resolveDockerLatestSilent(image, namespace, channel)];\n\t}));\n\tconst versions = {};\n\tfor (const [k, v] of results) versions[k] = v;\n\t_availableCache.set(cacheKey, {\n\t\tversions,\n\t\tfetchedAt: Date.now()\n\t});\n\treturn versions;\n}\n/**\n* Find the first running (non-not_installed) container whose image tag contains\n* the given image name (e.g. \"/portal:\" or \"/voice:\"). Returns null if none found.\n*/\nfunction findRunningByImage(runningImages, imageName) {\n\tconst needle = `/${imageName}:`;\n\tfor (const ri of Object.values(runningImages)) if (ri.state !== \"not_installed\" && ri.tag.includes(needle)) return ri;\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\tconst state = getState();\n\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tconst versions = readVersions(state);\n\tconst pinned = readPinnedVersions(state);\n\tconst channel = readChannelPreference(state);\n\tlet runningImages = {};\n\ttry {\n\t\trunningImages = await getRunningImages(buildComposeOptions(state));\n\t} catch {}\n\tconst path = stackEnvPath();\n\tconst env = existsSync(path) ? parseEnvFile(path) : {};\n\tconst available = await resolveAvailableVersions(channel, imageNamespace(env));\n\tconst components = {};\n\tfor (const key of SERVICE_VERSION_KEYS) {\n\t\tconst imageName = DOCKER_IMAGE_NAMES[key];\n\t\tconst ri = findRunningByImage(runningImages, imageName);\n\t\tlet runningEntry = null;\n\t\tif (ri) {\n\t\t\tconst rawTag = ri.tag.split(\":\").pop() ?? ri.tag;\n\t\t\tconst plainVersion = key === \"OP_VOICE_VERSION\" ? stripVoiceVariantSuffix(rawTag) : rawTag;\n\t\t\trunningEntry = {\n\t\t\t\tdigest: ri.digest,\n\t\t\t\ttag: ri.tag,\n\t\t\t\tplainVersion,\n\t\t\t\thealthStatus: ri.healthStatus,\n\t\t\t\tcontainerState: ri.state\n\t\t\t};\n\t\t}\n\t\tcomponents[key] = {\n\t\t\trunning: runningEntry,\n\t\t\tpinned: pinned[key],\n\t\t\tavailable: available[key] ?? null\n\t\t};\n\t}\n\treturn json({\n\t\tcomponents,\n\t\tchannel,\n\t\tplatformVersion: formatForDisplay(PLATFORM_VERSION),\n\t\tversions,\n\t\tautoUpdate: env[\"OP_AUTO_UPDATE\"] !== \"false\"\n\t});\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\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_body\", \"Request body must be JSON\", {}, requestId);\n\t}\n\tconst versions = body?.versions;\n\tif (!versions || typeof versions !== \"object\") return errorResponse(400, \"invalid_body\", \"Body must include a versions object\", {}, requestId);\n\tconst versionUpdates = {};\n\tconst settingUpdates = {};\n\tlet channelUpdate;\n\tfor (const [key, value] of Object.entries(versions)) {\n\t\tif (!ALLOWED_KEYS.has(key)) return errorResponse(400, \"unknown_version_key\", `Unknown key: ${key}`, {}, requestId);\n\t\tif (typeof value !== \"string\") return errorResponse(400, \"invalid_version_value\", `Value for ${key} must be a string`, {}, requestId);\n\t\tif (key === \"OP_CHANNEL\") channelUpdate = value;\n\t\telse if (key === \"OP_AUTO_UPDATE\") settingUpdates[key] = value;\n\t\telse versionUpdates[key] = value;\n\t}\n\tif (Object.keys(versionUpdates).length > 0) {\n\t\twriteVersions(state, versionUpdates);\n\t\t_availableCache.clear();\n\t}\n\tif (channelUpdate !== void 0) try {\n\t\twriteChannelPreference(state, channelUpdate);\n\t\t_availableCache.clear();\n\t} catch (e) {\n\t\treturn errorResponse(400, \"invalid_channel\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n\tif (Object.keys(settingUpdates).length > 0) {\n\t\tconst path = stackEnvPath();\n\t\twriteFileSync(path, mergeEnvContent(existsSync(path) ? readFileSync(path, \"utf-8\") : \"\", settingUpdates), { mode: 384 });\n\t}\n\treturn json({\n\t\tok: true,\n\t\tversions: readVersions(state)\n\t});\n};\n//#endregion\nexport { GET, PATCH };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-Cu1u6Fq3.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/versions/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../chunks/exports.js\";\nimport { Bt as writeChannelPreference, It as readChannelPreference, Lt as readPinnedVersions, Nt as DOCKER_IMAGE_NAMES, P as buildComposeOptions, Pt as SERVICE_VERSION_KEYS, Rt as readVersions, Vt as writeVersions, an as formatForDisplay, ct as getRunningImages, en as mergeEnvContent, in as compareComparableVersions, rn as PLATFORM_VERSION, tn as parseEnvFile, zt as stripVoiceVariantSuffix } from \"../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../chunks/state.js\";\nimport { a as getRequestId, r as errorResponse, u as requireAdmin } from \"../../../../chunks/helpers.js\";\nimport { existsSync, readFileSync, writeFileSync } from \"node:fs\";\n//#region src/routes/admin/versions/+server.ts\n/**\n* GET /admin/versions — truthful version state (constitution §4.2, §5)\n* PATCH /admin/versions — write pins to state file\n*\n* GET returns THREE distinct values per component (§5 / Phase 5):\n* running — the digest + tag the currently running container was CREATED FROM\n* (read from `docker inspect`, never from a pin file). Null when not running.\n* pinned — the explicit version lock from state/stack.state.env, or null = track latest.\n* Moving tags (\"latest\", \"next\") are normalized to null (they express channel\n* preference, not a lock).\n* available — the resolved latest version on the active channel (silent null on registry down).\n*\n* Backward compatibility for the mixed-version window (old UI + new API or vice versa):\n* - The legacy top-level `versions` field is preserved. Old UIs that read only\n* `body.versions[key]` continue to get the same string they always did (the stored\n* pin value / default). New UIs read `body.components[key].{running,pinned,available}`.\n* - Old UIs cannot see `running` (never could — it's new). They may show a stale pin\n* as \"current\", which was the pre-Phase-5 behaviour. That is acceptable for the\n* transition window; Phase 6 (UpdatesTab rebuild) is where the new shape is consumed.\n*\n* Registry-down asymmetry (§4, compliance G2):\n* Background \"available?\" resolution degrades SILENTLY — a registry outage just\n* leaves `available` null; the stack keeps running what it has.\n* A user-pressed update that can't reach the registry FAILS LOUDLY (handled in\n* /admin/update via applyStack pull-before-up + fatal pull failure).\n*\n* Voice variant on display (§4.2, compliance G3):\n* `running.tag` for the voice service will include the hardware suffix (e.g.\n* \"openpalm/voice:0.12.0-cpu\"). The `running.plainVersion` field strips it for\n* use in the pinning control. `pinned` never carries the suffix (compose adds it).\n*\n* Service-name vs image-name (§5 truthful state):\n* getRunningImages() keys its result by compose SERVICE name, not image name.\n* OP_PORTAL_VERSION images run under services discord/slack/guardian/api/chat/gateway.\n* OP_VOICE_VERSION may run as voice (cpu), voice-cuda, or voice-rocm.\n* We therefore scan runningImages by matching the image tag against the expected\n* image name, not by looking up the image name as a service name.\n*\n* upToDate field removed (§8, Phase-5-item-3):\n* Tag-string equality cannot determine up-to-date status (tags can point to different\n* digests). Phase 6 decides up-to-date by digest comparison after a pull. The route\n* surfaces running.digest, running.plainVersion, pinned, and available as separate\n* truthful values for Phase 6 to use.\n*/\nvar ALLOWED_KEYS = new Set([\n\t...SERVICE_VERSION_KEYS,\n\t\"OP_AUTO_UPDATE\",\n\t\"OP_CHANNEL\"\n]);\nfunction stackEnvPath() {\n\treturn `${getState().stashDir}/env/stack.env`;\n}\nvar STABLE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+)$/;\nvar PRERELEASE_SEMVER = /^v?(\\d+\\.\\d+\\.\\d+-(?:rc|alpha|beta|next)\\.\\d+)$/;\nvar VOICE_STABLE = /^v?(\\d+\\.\\d+\\.\\d+)-\\w+$/;\n/**\n* Read the Docker Hub namespace from the stack env (OP_IMAGE_NAMESPACE), defaulting to\n* \"openpalm\". Compose uses the same default: ${OP_IMAGE_NAMESPACE:-openpalm}.\n*/\nfunction imageNamespace(stackEnvContent) {\n\treturn (stackEnvContent.OP_IMAGE_NAMESPACE ?? process.env.OP_IMAGE_NAMESPACE ?? \"openpalm\").trim() || \"openpalm\";\n}\nasync function resolveDockerLatestSilent(image, namespace, channel) {\n\ttry {\n\t\tconst res = await fetch(`https://hub.docker.com/v2/repositories/${namespace}/${image}/tags?page_size=100&ordering=last_updated`, {\n\t\t\theaders: { Accept: \"application/json\" },\n\t\t\tsignal: AbortSignal.timeout(5e3)\n\t\t});\n\t\tif (!res.ok) return null;\n\t\tconst data = await res.json();\n\t\tconst isVoice = image === \"voice\";\n\t\tconst candidates = [];\n\t\tfor (const tag of data.results ?? []) {\n\t\t\tconst plain = tag.name.match(STABLE_SEMVER);\n\t\t\tif (plain) {\n\t\t\t\tcandidates.push(plain[1]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (isVoice) {\n\t\t\t\tconst voice = tag.name.match(VOICE_STABLE);\n\t\t\t\tif (voice) {\n\t\t\t\t\tcandidates.push(voice[1]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (channel === \"next\") {\n\t\t\t\tconst pre = tag.name.match(PRERELEASE_SEMVER);\n\t\t\t\tif (pre) candidates.push(pre[1]);\n\t\t\t}\n\t\t}\n\t\tif (candidates.length === 0) return null;\n\t\treturn candidates.sort(compareComparableVersions).at(-1) ?? null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nvar _availableCache = /* @__PURE__ */ new Map();\nvar CACHE_TTL_MS = 5 * 6e4;\nasync function resolveAvailableVersions(channel, namespace) {\n\tconst cacheKey = `${channel}:${namespace}`;\n\tconst cached = _availableCache.get(cacheKey);\n\tif (cached && Date.now() - cached.fetchedAt < CACHE_TTL_MS) return cached.versions;\n\tconst results = await Promise.all(SERVICE_VERSION_KEYS.map(async (key) => {\n\t\tconst image = DOCKER_IMAGE_NAMES[key];\n\t\treturn [key, await resolveDockerLatestSilent(image, namespace, channel)];\n\t}));\n\tconst versions = {};\n\tfor (const [k, v] of results) versions[k] = v;\n\t_availableCache.set(cacheKey, {\n\t\tversions,\n\t\tfetchedAt: Date.now()\n\t});\n\treturn versions;\n}\n/**\n* Find the first running (non-not_installed) container whose image tag contains\n* the given image name (e.g. \"/portal:\" or \"/voice:\"). Returns null if none found.\n*/\nfunction findRunningByImage(runningImages, imageName) {\n\tconst needle = `/${imageName}:`;\n\tfor (const ri of Object.values(runningImages)) if (ri.state !== \"not_installed\" && ri.tag.includes(needle)) return ri;\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\tconst state = getState();\n\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tconst versions = readVersions(state);\n\tconst pinned = readPinnedVersions(state);\n\tconst channel = readChannelPreference(state);\n\tlet runningImages = {};\n\ttry {\n\t\trunningImages = await getRunningImages(buildComposeOptions(state));\n\t} catch {}\n\tconst path = stackEnvPath();\n\tconst env = existsSync(path) ? parseEnvFile(path) : {};\n\tconst available = await resolveAvailableVersions(channel, imageNamespace(env));\n\tconst components = {};\n\tfor (const key of SERVICE_VERSION_KEYS) {\n\t\tconst imageName = DOCKER_IMAGE_NAMES[key];\n\t\tconst ri = findRunningByImage(runningImages, imageName);\n\t\tlet runningEntry = null;\n\t\tif (ri) {\n\t\t\tconst rawTag = ri.tag.split(\":\").pop() ?? ri.tag;\n\t\t\tconst plainVersion = key === \"OP_VOICE_VERSION\" ? stripVoiceVariantSuffix(rawTag) : rawTag;\n\t\t\trunningEntry = {\n\t\t\t\tdigest: ri.digest,\n\t\t\t\ttag: ri.tag,\n\t\t\t\tplainVersion,\n\t\t\t\thealthStatus: ri.healthStatus,\n\t\t\t\tcontainerState: ri.state\n\t\t\t};\n\t\t}\n\t\tcomponents[key] = {\n\t\t\trunning: runningEntry,\n\t\t\tpinned: pinned[key],\n\t\t\tavailable: available[key] ?? null\n\t\t};\n\t}\n\treturn json({\n\t\tcomponents,\n\t\tchannel,\n\t\tplatformVersion: formatForDisplay(PLATFORM_VERSION),\n\t\tversions,\n\t\tautoUpdate: env[\"OP_AUTO_UPDATE\"] !== \"false\"\n\t});\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\tif (!state.stackDir) return errorResponse(503, \"not_initialized\", \"Stack directory not configured\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"invalid_body\", \"Request body must be JSON\", {}, requestId);\n\t}\n\tconst versions = body?.versions;\n\tif (!versions || typeof versions !== \"object\") return errorResponse(400, \"invalid_body\", \"Body must include a versions object\", {}, requestId);\n\tconst versionUpdates = {};\n\tconst settingUpdates = {};\n\tlet channelUpdate;\n\tfor (const [key, value] of Object.entries(versions)) {\n\t\tif (!ALLOWED_KEYS.has(key)) return errorResponse(400, \"unknown_version_key\", `Unknown key: ${key}`, {}, requestId);\n\t\tif (typeof value !== \"string\") return errorResponse(400, \"invalid_version_value\", `Value for ${key} must be a string`, {}, requestId);\n\t\tif (key === \"OP_CHANNEL\") channelUpdate = value;\n\t\telse if (key === \"OP_AUTO_UPDATE\") settingUpdates[key] = value;\n\t\telse versionUpdates[key] = value;\n\t}\n\tif (Object.keys(versionUpdates).length > 0) {\n\t\twriteVersions(state, versionUpdates);\n\t\t_availableCache.clear();\n\t}\n\tif (channelUpdate !== void 0) try {\n\t\twriteChannelPreference(state, channelUpdate);\n\t\t_availableCache.clear();\n\t} catch (e) {\n\t\treturn errorResponse(400, \"invalid_channel\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n\tif (Object.keys(settingUpdates).length > 0) {\n\t\tconst path = stackEnvPath();\n\t\twriteFileSync(path, mergeEnvContent(existsSync(path) ? readFileSync(path, \"utf-8\") : \"\", settingUpdates), { mode: 384 });\n\t}\n\treturn json({\n\t\tok: true,\n\t\tversions: readVersions(state)\n\t});\n};\n//#endregion\nexport { GET, PATCH };\n"],"names":[],"mappings":"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"}