@openpalm/ui 0.13.0-beta.4 → 0.13.0-beta.5

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 (346) hide show
  1. package/build/.openpalm-ui-version +1 -1
  2. package/build/client/_app/immutable/chunks/{CBV2kBE1.js → B0yXlM3K.js} +1 -1
  3. package/build/client/_app/immutable/chunks/B0yXlM3K.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/B0yXlM3K.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{BKLMDjUE.js → BlYj4BBX.js} +1 -1
  6. package/build/client/_app/immutable/chunks/BlYj4BBX.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BlYj4BBX.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/Bz3r0btw.js +3 -0
  9. package/build/client/_app/immutable/chunks/Bz3r0btw.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/Bz3r0btw.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{C5iiO0W9.js → CBM1fLGu.js} +1 -1
  12. package/build/client/_app/immutable/chunks/CBM1fLGu.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/CBM1fLGu.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/DPYXdJcD.js +1 -0
  15. package/build/client/_app/immutable/chunks/DPYXdJcD.js.br +2 -0
  16. package/build/client/_app/immutable/chunks/DPYXdJcD.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/{app.DAzfwrA7.js → app.FbKd4aR6.js} +2 -2
  18. package/build/client/_app/immutable/entry/app.FbKd4aR6.js.br +0 -0
  19. package/build/client/_app/immutable/entry/app.FbKd4aR6.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/start.VEjfH6IP.js +1 -0
  21. package/build/client/_app/immutable/entry/start.VEjfH6IP.js.br +1 -0
  22. package/build/client/_app/immutable/entry/start.VEjfH6IP.js.gz +0 -0
  23. package/build/client/_app/immutable/nodes/{1.BYTQ4CJf.js → 1.B_hGEgef.js} +1 -1
  24. package/build/client/_app/immutable/nodes/1.B_hGEgef.js.br +0 -0
  25. package/build/client/_app/immutable/nodes/1.B_hGEgef.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{10.CHYaVWP2.js → 10.B8xmblvj.js} +1 -1
  27. package/build/client/_app/immutable/nodes/10.B8xmblvj.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/10.B8xmblvj.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{11.DXwuRFxA.js → 11.Ti2X5F-7.js} +1 -1
  30. package/build/client/_app/immutable/nodes/11.Ti2X5F-7.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/11.Ti2X5F-7.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{4.n8OmCUUb.js → 4.X5um5v0F.js} +1 -1
  33. package/build/client/_app/immutable/nodes/4.X5um5v0F.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/4.X5um5v0F.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{5.DgnQcqeL.js → 5.CNMS0qgk.js} +1 -1
  36. package/build/client/_app/immutable/nodes/5.CNMS0qgk.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/5.CNMS0qgk.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{6.RedvZarw.js → 6.PLWojxHU.js} +1 -1
  39. package/build/client/_app/immutable/nodes/6.PLWojxHU.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/6.PLWojxHU.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{7.BqgE43w1.js → 7.Bba4nkVZ.js} +1 -1
  42. package/build/client/_app/immutable/nodes/7.Bba4nkVZ.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/7.Bba4nkVZ.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{9.CQfpYNnj.js → 9.nlW01gWY.js} +1 -1
  45. package/build/client/_app/immutable/nodes/9.nlW01gWY.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/9.nlW01gWY.js.gz +0 -0
  47. package/build/client/_app/version.json +1 -1
  48. package/build/client/_app/version.json.br +1 -1
  49. package/build/client/_app/version.json.gz +0 -0
  50. package/build/server/chunks/{0-CxqNryz-.js → 0-3ZKFLVwz.js} +3 -3
  51. package/build/server/chunks/{0-CxqNryz-.js.map → 0-3ZKFLVwz.js.map} +1 -1
  52. package/build/server/chunks/1-BscBEom6.js +9 -0
  53. package/build/server/chunks/{1-Dxk_eEPL.js.map → 1-BscBEom6.js.map} +1 -1
  54. package/build/server/chunks/{10-DcTjX0aZ.js → 10-CYYH66rb.js} +3 -3
  55. package/build/server/chunks/{10-DcTjX0aZ.js.map → 10-CYYH66rb.js.map} +1 -1
  56. package/build/server/chunks/{11-Ddav4pvQ.js → 11-DSzQavEB.js} +3 -3
  57. package/build/server/chunks/{11-Ddav4pvQ.js.map → 11-DSzQavEB.js.map} +1 -1
  58. package/build/server/chunks/{3-xtalXCwW.js → 3-t-iZh03o.js} +6 -6
  59. package/build/server/chunks/{3-xtalXCwW.js.map → 3-t-iZh03o.js.map} +1 -1
  60. package/build/server/chunks/{4-CEASlyNx.js → 4-CcOQz4eZ.js} +3 -3
  61. package/build/server/chunks/{4-CEASlyNx.js.map → 4-CcOQz4eZ.js.map} +1 -1
  62. package/build/server/chunks/{5-3gkFDIAU.js → 5-DLMaS6eR.js} +3 -3
  63. package/build/server/chunks/{5-3gkFDIAU.js.map → 5-DLMaS6eR.js.map} +1 -1
  64. package/build/server/chunks/{6-BSR29JnK.js → 6-BL469LUB.js} +3 -3
  65. package/build/server/chunks/{6-BSR29JnK.js.map → 6-BL469LUB.js.map} +1 -1
  66. package/build/server/chunks/{7-gx5m5R1u.js → 7-BLHhygXi.js} +3 -3
  67. package/build/server/chunks/{7-gx5m5R1u.js.map → 7-BLHhygXi.js.map} +1 -1
  68. package/build/server/chunks/{9-BKXk6mfI.js → 9-D4ocBCG0.js} +4 -4
  69. package/build/server/chunks/{9-BKXk6mfI.js.map → 9-D4ocBCG0.js.map} +1 -1
  70. package/build/server/chunks/{ChatNavbar-D2J3UbpW.js → ChatNavbar-Takv7dQM.js} +5 -5
  71. package/build/server/chunks/{ChatNavbar-D2J3UbpW.js.map → ChatNavbar-Takv7dQM.js.map} +1 -1
  72. package/build/server/chunks/{IconServer-jRvjNs7I.js → IconServer-C5rdlJAr.js} +2 -2
  73. package/build/server/chunks/{IconServer-jRvjNs7I.js.map → IconServer-C5rdlJAr.js.map} +1 -1
  74. package/build/server/chunks/{_page.svelte--qXsMm-T.js → _page.svelte--MC2pNDj.js} +7 -7
  75. package/build/server/chunks/{_page.svelte--qXsMm-T.js.map → _page.svelte--MC2pNDj.js.map} +1 -1
  76. package/build/server/chunks/{_page.svelte-BgzOKhmH.js → _page.svelte-BOwGlCzD.js} +3 -3
  77. package/build/server/chunks/{_page.svelte-BgzOKhmH.js.map → _page.svelte-BOwGlCzD.js.map} +1 -1
  78. package/build/server/chunks/{_page.svelte-C36XsgXY.js → _page.svelte-BT81Bwrh.js} +3 -3
  79. package/build/server/chunks/{_page.svelte-C36XsgXY.js.map → _page.svelte-BT81Bwrh.js.map} +1 -1
  80. package/build/server/chunks/{_page.svelte-DGsMxwfZ.js → _page.svelte-BdH2kpT0.js} +4 -4
  81. package/build/server/chunks/{_page.svelte-DGsMxwfZ.js.map → _page.svelte-BdH2kpT0.js.map} +1 -1
  82. package/build/server/chunks/{_page.svelte-BnZ0Fgkw.js → _page.svelte-BnV94Ogu.js} +6 -6
  83. package/build/server/chunks/{_page.svelte-BnZ0Fgkw.js.map → _page.svelte-BnV94Ogu.js.map} +1 -1
  84. package/build/server/chunks/{_page.svelte-Cc-OjlMF.js → _page.svelte-CkYUucmY.js} +7 -7
  85. package/build/server/chunks/{_page.svelte-Cc-OjlMF.js.map → _page.svelte-CkYUucmY.js.map} +1 -1
  86. package/build/server/chunks/{_page.svelte-DGQP3UIP.js → _page.svelte-f3XZxZcO.js} +3 -3
  87. package/build/server/chunks/{_page.svelte-DGQP3UIP.js.map → _page.svelte-f3XZxZcO.js.map} +1 -1
  88. package/build/server/chunks/{_server.ts-DebCCwjH.js → _server.ts-3RgOKIrg.js} +6 -6
  89. package/build/server/chunks/{_server.ts-DebCCwjH.js.map → _server.ts-3RgOKIrg.js.map} +1 -1
  90. package/build/server/chunks/{_server.ts-BK4NRqMj.js → _server.ts-5GcuvVnk.js} +7 -7
  91. package/build/server/chunks/{_server.ts-BK4NRqMj.js.map → _server.ts-5GcuvVnk.js.map} +1 -1
  92. package/build/server/chunks/{_server.ts-MZYYoM8z.js → _server.ts-A_jvsf54.js} +6 -6
  93. package/build/server/chunks/{_server.ts-MZYYoM8z.js.map → _server.ts-A_jvsf54.js.map} +1 -1
  94. package/build/server/chunks/{_server.ts-Kp3wrrbF.js → _server.ts-B01LeWfv.js} +7 -7
  95. package/build/server/chunks/{_server.ts-Kp3wrrbF.js.map → _server.ts-B01LeWfv.js.map} +1 -1
  96. package/build/server/chunks/{_server.ts-4NsYfdU1.js → _server.ts-B0oC8HQF.js} +2 -2
  97. package/build/server/chunks/{_server.ts-4NsYfdU1.js.map → _server.ts-B0oC8HQF.js.map} +1 -1
  98. package/build/server/chunks/{_server.ts-CPYtZ7sE.js → _server.ts-B12WIhKW.js} +6 -6
  99. package/build/server/chunks/{_server.ts-CPYtZ7sE.js.map → _server.ts-B12WIhKW.js.map} +1 -1
  100. package/build/server/chunks/{_server.ts-DjAGbGD-.js → _server.ts-B6IuU4lX.js} +6 -6
  101. package/build/server/chunks/{_server.ts-DjAGbGD-.js.map → _server.ts-B6IuU4lX.js.map} +1 -1
  102. package/build/server/chunks/{_server.ts-C0rcwOPL.js → _server.ts-B8RJmRP7.js} +6 -6
  103. package/build/server/chunks/{_server.ts-C0rcwOPL.js.map → _server.ts-B8RJmRP7.js.map} +1 -1
  104. package/build/server/chunks/{_server.ts-CsP1RzbQ.js → _server.ts-BAdTYKi0.js} +6 -6
  105. package/build/server/chunks/{_server.ts-CsP1RzbQ.js.map → _server.ts-BAdTYKi0.js.map} +1 -1
  106. package/build/server/chunks/{_server.ts-eov7yZvT.js → _server.ts-BG1nkyV5.js} +8 -8
  107. package/build/server/chunks/{_server.ts-eov7yZvT.js.map → _server.ts-BG1nkyV5.js.map} +1 -1
  108. package/build/server/chunks/{_server.ts-BN6ghyoO.js → _server.ts-BMkzMnF3.js} +6 -6
  109. package/build/server/chunks/{_server.ts-BN6ghyoO.js.map → _server.ts-BMkzMnF3.js.map} +1 -1
  110. package/build/server/chunks/{_server.ts-eF4CAfpP.js → _server.ts-BTQPdIRj.js} +6 -6
  111. package/build/server/chunks/{_server.ts-eF4CAfpP.js.map → _server.ts-BTQPdIRj.js.map} +1 -1
  112. package/build/server/chunks/{_server.ts-CR85H0KR.js → _server.ts-BWdKIMmK.js} +6 -6
  113. package/build/server/chunks/{_server.ts-CR85H0KR.js.map → _server.ts-BWdKIMmK.js.map} +1 -1
  114. package/build/server/chunks/{_server.ts-BbyfVT-W.js → _server.ts-B_uD0GmU.js} +6 -6
  115. package/build/server/chunks/{_server.ts-BbyfVT-W.js.map → _server.ts-B_uD0GmU.js.map} +1 -1
  116. package/build/server/chunks/{_server.ts-CS8n28qm.js → _server.ts-Bba4knHI.js} +6 -6
  117. package/build/server/chunks/{_server.ts-CS8n28qm.js.map → _server.ts-Bba4knHI.js.map} +1 -1
  118. package/build/server/chunks/{_server.ts-TTSjZaYY.js → _server.ts-BbvTyvkT.js} +6 -6
  119. package/build/server/chunks/{_server.ts-TTSjZaYY.js.map → _server.ts-BbvTyvkT.js.map} +1 -1
  120. package/build/server/chunks/{_server.ts-D_93w1gb.js → _server.ts-BbxUaG2z.js} +8 -8
  121. package/build/server/chunks/{_server.ts-D_93w1gb.js.map → _server.ts-BbxUaG2z.js.map} +1 -1
  122. package/build/server/chunks/{_server.ts-ClrrzZI6.js → _server.ts-Bd7KmU8k.js} +6 -6
  123. package/build/server/chunks/{_server.ts-ClrrzZI6.js.map → _server.ts-Bd7KmU8k.js.map} +1 -1
  124. package/build/server/chunks/{_server.ts-BuGFzejC.js → _server.ts-BfTFlPSX.js} +6 -6
  125. package/build/server/chunks/{_server.ts-BuGFzejC.js.map → _server.ts-BfTFlPSX.js.map} +1 -1
  126. package/build/server/chunks/{_server.ts-CCdP5Eqx.js → _server.ts-BjfWddPf.js} +6 -6
  127. package/build/server/chunks/{_server.ts-CCdP5Eqx.js.map → _server.ts-BjfWddPf.js.map} +1 -1
  128. package/build/server/chunks/{_server.ts-KHK30kUK.js → _server.ts-BjjNc0OV.js} +9 -9
  129. package/build/server/chunks/{_server.ts-KHK30kUK.js.map → _server.ts-BjjNc0OV.js.map} +1 -1
  130. package/build/server/chunks/{_server.ts-st_pTUHI.js → _server.ts-Bla3fiCh.js} +6 -6
  131. package/build/server/chunks/{_server.ts-st_pTUHI.js.map → _server.ts-Bla3fiCh.js.map} +1 -1
  132. package/build/server/chunks/{_server.ts-0T6OWJc0.js → _server.ts-BnCHdcon.js} +6 -6
  133. package/build/server/chunks/{_server.ts-0T6OWJc0.js.map → _server.ts-BnCHdcon.js.map} +1 -1
  134. package/build/server/chunks/{_server.ts-Cm3uzCwu.js → _server.ts-BpNKHMXM.js} +7 -7
  135. package/build/server/chunks/{_server.ts-Cm3uzCwu.js.map → _server.ts-BpNKHMXM.js.map} +1 -1
  136. package/build/server/chunks/{_server.ts-B_c9x_NC.js → _server.ts-BuByt6I7.js} +7 -7
  137. package/build/server/chunks/{_server.ts-B_c9x_NC.js.map → _server.ts-BuByt6I7.js.map} +1 -1
  138. package/build/server/chunks/{_server.ts-zDEENUSw.js → _server.ts-BvPCnwm4.js} +6 -6
  139. package/build/server/chunks/{_server.ts-zDEENUSw.js.map → _server.ts-BvPCnwm4.js.map} +1 -1
  140. package/build/server/chunks/{_server.ts-LHKCcBS1.js → _server.ts-Bx5L70N3.js} +8 -8
  141. package/build/server/chunks/{_server.ts-LHKCcBS1.js.map → _server.ts-Bx5L70N3.js.map} +1 -1
  142. package/build/server/chunks/{_server.ts-CRvbt_Ny.js → _server.ts-ByTth5Q4.js} +7 -7
  143. package/build/server/chunks/{_server.ts-CRvbt_Ny.js.map → _server.ts-ByTth5Q4.js.map} +1 -1
  144. package/build/server/chunks/{_server.ts-p16c9Uzl.js → _server.ts-C4cnIzbb.js} +6 -6
  145. package/build/server/chunks/{_server.ts-p16c9Uzl.js.map → _server.ts-C4cnIzbb.js.map} +1 -1
  146. package/build/server/chunks/{_server.ts-DNVQMHzn.js → _server.ts-C7R2xQ_O.js} +6 -6
  147. package/build/server/chunks/{_server.ts-DNVQMHzn.js.map → _server.ts-C7R2xQ_O.js.map} +1 -1
  148. package/build/server/chunks/{_server.ts-DuOVzmV5.js → _server.ts-CDC5Za0f.js} +6 -6
  149. package/build/server/chunks/{_server.ts-DuOVzmV5.js.map → _server.ts-CDC5Za0f.js.map} +1 -1
  150. package/build/server/chunks/{_server.ts-DM8N7von.js → _server.ts-CGX-Vd-3.js} +6 -6
  151. package/build/server/chunks/{_server.ts-DM8N7von.js.map → _server.ts-CGX-Vd-3.js.map} +1 -1
  152. package/build/server/chunks/{_server.ts-BRvNe0fS.js → _server.ts-CHBfflb0.js} +6 -6
  153. package/build/server/chunks/{_server.ts-BRvNe0fS.js.map → _server.ts-CHBfflb0.js.map} +1 -1
  154. package/build/server/chunks/{_server.ts-V6a8P9IB.js → _server.ts-CLyMgmaf.js} +6 -6
  155. package/build/server/chunks/{_server.ts-V6a8P9IB.js.map → _server.ts-CLyMgmaf.js.map} +1 -1
  156. package/build/server/chunks/{_server.ts-BvOQbLFG.js → _server.ts-CN26zawm.js} +6 -6
  157. package/build/server/chunks/{_server.ts-BvOQbLFG.js.map → _server.ts-CN26zawm.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-CqX61boo.js → _server.ts-COHW_bIw.js} +7 -7
  159. package/build/server/chunks/{_server.ts-CqX61boo.js.map → _server.ts-COHW_bIw.js.map} +1 -1
  160. package/build/server/chunks/{_server.ts-CiBxLSg4.js → _server.ts-CQ9bUgsb.js} +6 -6
  161. package/build/server/chunks/{_server.ts-CiBxLSg4.js.map → _server.ts-CQ9bUgsb.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-CFNNoZVF.js → _server.ts-CQGc6Rzk.js} +6 -6
  163. package/build/server/chunks/{_server.ts-CFNNoZVF.js.map → _server.ts-CQGc6Rzk.js.map} +1 -1
  164. package/build/server/chunks/{_server.ts-XEVuthfs.js → _server.ts-CR1fXUx_.js} +6 -6
  165. package/build/server/chunks/{_server.ts-XEVuthfs.js.map → _server.ts-CR1fXUx_.js.map} +1 -1
  166. package/build/server/chunks/{_server.ts-CGggA6h4.js → _server.ts-CV7PsNSs.js} +6 -6
  167. package/build/server/chunks/{_server.ts-CGggA6h4.js.map → _server.ts-CV7PsNSs.js.map} +1 -1
  168. package/build/server/chunks/{_server.ts-CWYonOeQ.js → _server.ts-CYEiMdP-.js} +6 -6
  169. package/build/server/chunks/{_server.ts-CWYonOeQ.js.map → _server.ts-CYEiMdP-.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-C6r0d7SR.js → _server.ts-CYhI4sCU.js} +6 -6
  171. package/build/server/chunks/{_server.ts-C6r0d7SR.js.map → _server.ts-CYhI4sCU.js.map} +1 -1
  172. package/build/server/chunks/{_server.ts-Bm2nv-W4.js → _server.ts-CZluUZ23.js} +6 -6
  173. package/build/server/chunks/{_server.ts-Bm2nv-W4.js.map → _server.ts-CZluUZ23.js.map} +1 -1
  174. package/build/server/chunks/{_server.ts-C6GZY_v3.js → _server.ts-Cg9mKyvd.js} +6 -6
  175. package/build/server/chunks/{_server.ts-C6GZY_v3.js.map → _server.ts-Cg9mKyvd.js.map} +1 -1
  176. package/build/server/chunks/{_server.ts-BEhHNijd.js → _server.ts-Cifj-9A3.js} +6 -6
  177. package/build/server/chunks/{_server.ts-BEhHNijd.js.map → _server.ts-Cifj-9A3.js.map} +1 -1
  178. package/build/server/chunks/{_server.ts-C31rtz7B.js → _server.ts-CkJ2MAlY.js} +6 -6
  179. package/build/server/chunks/{_server.ts-C31rtz7B.js.map → _server.ts-CkJ2MAlY.js.map} +1 -1
  180. package/build/server/chunks/{_server.ts-BrwSj7L5.js → _server.ts-ClGBdG69.js} +6 -6
  181. package/build/server/chunks/{_server.ts-BrwSj7L5.js.map → _server.ts-ClGBdG69.js.map} +1 -1
  182. package/build/server/chunks/{_server.ts-D5Xa36tp.js → _server.ts-ClPgPihF.js} +6 -6
  183. package/build/server/chunks/{_server.ts-D5Xa36tp.js.map → _server.ts-ClPgPihF.js.map} +1 -1
  184. package/build/server/chunks/{_server.ts-DPfGAMG4.js → _server.ts-CnmdgRQ5.js} +6 -6
  185. package/build/server/chunks/{_server.ts-DPfGAMG4.js.map → _server.ts-CnmdgRQ5.js.map} +1 -1
  186. package/build/server/chunks/{_server.ts-D8iJaYan.js → _server.ts-CoA6nB9c.js} +4 -4
  187. package/build/server/chunks/{_server.ts-D8iJaYan.js.map → _server.ts-CoA6nB9c.js.map} +1 -1
  188. package/build/server/chunks/{_server.ts-CGE7AyDg.js → _server.ts-CqLbFV6m.js} +6 -6
  189. package/build/server/chunks/{_server.ts-CGE7AyDg.js.map → _server.ts-CqLbFV6m.js.map} +1 -1
  190. package/build/server/chunks/{_server.ts-Cfm_KDhO.js → _server.ts-CvL5DtEE.js} +6 -6
  191. package/build/server/chunks/{_server.ts-Cfm_KDhO.js.map → _server.ts-CvL5DtEE.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-QSEYZqU0.js → _server.ts-D6UMAxY5.js} +6 -6
  193. package/build/server/chunks/{_server.ts-QSEYZqU0.js.map → _server.ts-D6UMAxY5.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-DHjMyNwJ.js → _server.ts-D7hUSvgG.js} +7 -7
  195. package/build/server/chunks/{_server.ts-DHjMyNwJ.js.map → _server.ts-D7hUSvgG.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-qgPpNGL8.js → _server.ts-DC1tK0yE.js} +6 -6
  197. package/build/server/chunks/{_server.ts-qgPpNGL8.js.map → _server.ts-DC1tK0yE.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-Bvb6lo7O.js → _server.ts-DIB4OM3y.js} +8 -8
  199. package/build/server/chunks/{_server.ts-Bvb6lo7O.js.map → _server.ts-DIB4OM3y.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-DrxBKPKB.js → _server.ts-DKtsPlqI.js} +2 -2
  201. package/build/server/chunks/{_server.ts-DrxBKPKB.js.map → _server.ts-DKtsPlqI.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-Co4yATq8.js → _server.ts-DMxAUnDp.js} +2 -2
  203. package/build/server/chunks/{_server.ts-Co4yATq8.js.map → _server.ts-DMxAUnDp.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-D0EyuOqv.js → _server.ts-DNzhPgX5.js} +6 -6
  205. package/build/server/chunks/{_server.ts-D0EyuOqv.js.map → _server.ts-DNzhPgX5.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-BJqxSP1B.js → _server.ts-DPtqK0c2.js} +2 -2
  207. package/build/server/chunks/{_server.ts-BJqxSP1B.js.map → _server.ts-DPtqK0c2.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-C900vqOm.js → _server.ts-DZ3Yyeac.js} +6 -6
  209. package/build/server/chunks/{_server.ts-C900vqOm.js.map → _server.ts-DZ3Yyeac.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-BNoq5yoF.js → _server.ts-D_NDxdhC.js} +6 -6
  211. package/build/server/chunks/{_server.ts-BNoq5yoF.js.map → _server.ts-D_NDxdhC.js.map} +1 -1
  212. package/build/server/chunks/{_server.ts-B64JQevs.js → _server.ts-DcWSFqr3.js} +7 -7
  213. package/build/server/chunks/{_server.ts-B64JQevs.js.map → _server.ts-DcWSFqr3.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-DD4ouya8.js → _server.ts-DdL9GP2B.js} +6 -6
  215. package/build/server/chunks/{_server.ts-DD4ouya8.js.map → _server.ts-DdL9GP2B.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-CDJ7WouZ.js → _server.ts-Ddf5c75T.js} +6 -6
  217. package/build/server/chunks/{_server.ts-CDJ7WouZ.js.map → _server.ts-Ddf5c75T.js.map} +1 -1
  218. package/build/server/chunks/{_server.ts-yWyCj-R5.js → _server.ts-DfMcCjcV.js} +6 -6
  219. package/build/server/chunks/{_server.ts-yWyCj-R5.js.map → _server.ts-DfMcCjcV.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-jB_3zRrF.js → _server.ts-Dg2Gkcbx.js} +7 -7
  221. package/build/server/chunks/{_server.ts-jB_3zRrF.js.map → _server.ts-Dg2Gkcbx.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-BWcxJLLV.js → _server.ts-DojcmGfa.js} +6 -6
  223. package/build/server/chunks/{_server.ts-BWcxJLLV.js.map → _server.ts-DojcmGfa.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-p4v6noBK.js → _server.ts-DrWTucF0.js} +4 -4
  225. package/build/server/chunks/{_server.ts-p4v6noBK.js.map → _server.ts-DrWTucF0.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-DmNziNap.js → _server.ts-DrdVm_2l.js} +6 -6
  227. package/build/server/chunks/{_server.ts-DmNziNap.js.map → _server.ts-DrdVm_2l.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-CZ83fA4I.js → _server.ts-Drhyf5o4.js} +6 -6
  229. package/build/server/chunks/{_server.ts-CZ83fA4I.js.map → _server.ts-Drhyf5o4.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-Sx6mXrwK.js → _server.ts-DsfNtE_I.js} +6 -6
  231. package/build/server/chunks/{_server.ts-Sx6mXrwK.js.map → _server.ts-DsfNtE_I.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-D2-CHx_d.js → _server.ts-DswOp5MZ.js} +7 -7
  233. package/build/server/chunks/{_server.ts-D2-CHx_d.js.map → _server.ts-DswOp5MZ.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-DObIzyoT.js → _server.ts-Dv1LAL-L.js} +3 -3
  235. package/build/server/chunks/{_server.ts-DObIzyoT.js.map → _server.ts-Dv1LAL-L.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-Ey4BEvRd.js → _server.ts-HoP6PRwU.js} +6 -6
  237. package/build/server/chunks/{_server.ts-Ey4BEvRd.js.map → _server.ts-HoP6PRwU.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-C2qIUpva.js → _server.ts-KVrYcUOG.js} +7 -7
  239. package/build/server/chunks/{_server.ts-C2qIUpva.js.map → _server.ts-KVrYcUOG.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-CtcAZ3lM.js → _server.ts-McJwsQRP.js} +7 -7
  241. package/build/server/chunks/{_server.ts-CtcAZ3lM.js.map → _server.ts-McJwsQRP.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-sdkTYy6A.js → _server.ts-WfJI8r0e.js} +6 -6
  243. package/build/server/chunks/{_server.ts-sdkTYy6A.js.map → _server.ts-WfJI8r0e.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-CMO7LL0e.js → _server.ts-Z6bcCFE1.js} +2 -2
  245. package/build/server/chunks/{_server.ts-CMO7LL0e.js.map → _server.ts-Z6bcCFE1.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-B-9mLZog.js → _server.ts-c6ytwkWX.js} +6 -6
  247. package/build/server/chunks/{_server.ts-B-9mLZog.js.map → _server.ts-c6ytwkWX.js.map} +1 -1
  248. package/build/server/chunks/{_server.ts-B3MvWwzq.js → _server.ts-eYI_yBAq.js} +7 -7
  249. package/build/server/chunks/{_server.ts-B3MvWwzq.js.map → _server.ts-eYI_yBAq.js.map} +1 -1
  250. package/build/server/chunks/{_server.ts-CIReEz3d.js → _server.ts-oDtZo8YM.js} +6 -6
  251. package/build/server/chunks/{_server.ts-CIReEz3d.js.map → _server.ts-oDtZo8YM.js.map} +1 -1
  252. package/build/server/chunks/{_server.ts-D3skirMd.js → _server.ts-qkGGHj13.js} +7 -7
  253. package/build/server/chunks/{_server.ts-D3skirMd.js.map → _server.ts-qkGGHj13.js.map} +1 -1
  254. package/build/server/chunks/{_server.ts-SxcH-cms.js → _server.ts-rBPifh0g.js} +7 -7
  255. package/build/server/chunks/{_server.ts-SxcH-cms.js.map → _server.ts-rBPifh0g.js.map} +1 -1
  256. package/build/server/chunks/{_server.ts-D-Vv5Qkp.js → _server.ts-sD2USOMT.js} +6 -6
  257. package/build/server/chunks/{_server.ts-D-Vv5Qkp.js.map → _server.ts-sD2USOMT.js.map} +1 -1
  258. package/build/server/chunks/{_server.ts-Bl1EtTKF.js → _server.ts-z7K-ZCVq.js} +6 -6
  259. package/build/server/chunks/{_server.ts-Bl1EtTKF.js.map → _server.ts-z7K-ZCVq.js.map} +1 -1
  260. package/build/server/chunks/{addon-helpers-TpOYibOg.js → addon-helpers-CkCisYhs.js} +3 -3
  261. package/build/server/chunks/{addon-helpers-TpOYibOg.js.map → addon-helpers-CkCisYhs.js.map} +1 -1
  262. package/build/server/chunks/{akm-Bvt9WaTk.js → akm-Dv9-jfkS.js} +2 -2
  263. package/build/server/chunks/{akm-Bvt9WaTk.js.map → akm-Dv9-jfkS.js.map} +1 -1
  264. package/build/server/chunks/{catalog-w0L1ZRPK.js → catalog-CilTg0Ck.js} +5 -5
  265. package/build/server/chunks/{catalog-w0L1ZRPK.js.map → catalog-CilTg0Ck.js.map} +1 -1
  266. package/build/server/chunks/{client-ClRLlB_c.js → client-wd3mkq4X.js} +2 -2
  267. package/build/server/chunks/{client-ClRLlB_c.js.map → client-wd3mkq4X.js.map} +1 -1
  268. package/build/server/chunks/{compose-args2-DiDeQtPu.js → compose-args2-Ccr5RMHS.js} +2 -2
  269. package/build/server/chunks/compose-args2-Ccr5RMHS.js.map +1 -0
  270. package/build/server/chunks/{config-Jiy06DlE.js → config-C_XJx8-D.js} +2 -2
  271. package/build/server/chunks/{config-Jiy06DlE.js.map → config-C_XJx8-D.js.map} +1 -1
  272. package/build/server/chunks/{connections-api-J-nrQ1KK.js → connections-api-mP7OE2x7.js} +2 -2
  273. package/build/server/chunks/{connections-api-J-nrQ1KK.js.map → connections-api-mP7OE2x7.js.map} +1 -1
  274. package/build/server/chunks/{docker2-oBEn_Si9.js → docker2-BL8hjShD.js} +2 -2
  275. package/build/server/chunks/docker2-BL8hjShD.js.map +1 -0
  276. package/build/server/chunks/{docker3-Dn-Mm2cT.js → docker3-TVLvF3ly.js} +2 -2
  277. package/build/server/chunks/{docker3-Dn-Mm2cT.js.map → docker3-TVLvF3ly.js.map} +1 -1
  278. package/build/server/chunks/{endpoints-WTxemTcn.js → endpoints-CnnGlw2U.js} +3 -3
  279. package/build/server/chunks/{endpoints-WTxemTcn.js.map → endpoints-CnnGlw2U.js.map} +1 -1
  280. package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
  281. package/build/server/chunks/{error.svelte-C2CWdm9K.js → error.svelte-BI8mJm7r.js} +4 -4
  282. package/build/server/chunks/{error.svelte-C2CWdm9K.js.map → error.svelte-BI8mJm7r.js.map} +1 -1
  283. package/build/server/chunks/{features-BE2x1a_a.js → features-BUWlozR5.js} +3 -3
  284. package/build/server/chunks/{features-BE2x1a_a.js.map → features-BUWlozR5.js.map} +1 -1
  285. package/build/server/chunks/{helpers-CfpNg3il.js → helpers-9U7R7yqL.js} +4 -4
  286. package/build/server/chunks/{helpers-CfpNg3il.js.map → helpers-9U7R7yqL.js.map} +1 -1
  287. package/build/server/chunks/{hooks.server-DEVjSu3V.js → hooks.server-Bog01Hsc.js} +9 -9
  288. package/build/server/chunks/{hooks.server-DEVjSu3V.js.map → hooks.server-Bog01Hsc.js.map} +1 -1
  289. package/build/server/chunks/{http-WP5cji9-.js → http-D2Aul-FP.js} +2 -2
  290. package/build/server/chunks/{http-WP5cji9-.js.map → http-D2Aul-FP.js.map} +1 -1
  291. package/build/server/chunks/{internal-D9Kp0SbJ.js → internal-DbH28JEx.js} +3 -3
  292. package/build/server/chunks/{internal-D9Kp0SbJ.js.map → internal-DbH28JEx.js.map} +1 -1
  293. package/build/server/chunks/{landing-DKXNel0Q.js → landing-CMnmbyhs.js} +5 -5
  294. package/build/server/chunks/{landing-DKXNel0Q.js.map → landing-CMnmbyhs.js.map} +1 -1
  295. package/build/server/chunks/{paths-DRVrMQrI.js → paths-CADLTBzK.js} +2 -2
  296. package/build/server/chunks/{paths-DRVrMQrI.js.map → paths-CADLTBzK.js.map} +1 -1
  297. package/build/server/chunks/{session-cookie-CDynAOx3.js → session-cookie-9GKSbczI.js} +2 -2
  298. package/build/server/chunks/{session-cookie-CDynAOx3.js.map → session-cookie-9GKSbczI.js.map} +1 -1
  299. package/build/server/chunks/{setup-deploy-CRW2KpZR.js → setup-deploy-32URXYdb.js} +2 -2
  300. package/build/server/chunks/{setup-deploy-CRW2KpZR.js.map → setup-deploy-32URXYdb.js.map} +1 -1
  301. package/build/server/chunks/{src-CQ2F7hgb.js → src-AHSKeKr0.js} +4 -4
  302. package/build/server/chunks/{src-CQ2F7hgb.js.map → src-AHSKeKr0.js.map} +1 -1
  303. package/build/server/chunks/{state-CsIDHNPN.js → state-CzXOEt0t.js} +2 -2
  304. package/build/server/chunks/{state-CsIDHNPN.js.map → state-CzXOEt0t.js.map} +1 -1
  305. package/build/server/chunks/{state2-jnbE3tAu.js → state2-Dk2nfhFB.js} +2 -2
  306. package/build/server/chunks/{state2-jnbE3tAu.js.map → state2-Dk2nfhFB.js.map} +1 -1
  307. package/build/server/index.js +1 -1
  308. package/build/server/manifest.js +97 -97
  309. package/build/server/manifest.js.map +1 -1
  310. package/package.json +3 -3
  311. package/build/client/_app/immutable/chunks/BKLMDjUE.js.br +0 -0
  312. package/build/client/_app/immutable/chunks/BKLMDjUE.js.gz +0 -0
  313. package/build/client/_app/immutable/chunks/BNJvGRjX.js +0 -3
  314. package/build/client/_app/immutable/chunks/BNJvGRjX.js.br +0 -0
  315. package/build/client/_app/immutable/chunks/BNJvGRjX.js.gz +0 -0
  316. package/build/client/_app/immutable/chunks/C5iiO0W9.js.br +0 -0
  317. package/build/client/_app/immutable/chunks/C5iiO0W9.js.gz +0 -0
  318. package/build/client/_app/immutable/chunks/CBV2kBE1.js.br +0 -0
  319. package/build/client/_app/immutable/chunks/CBV2kBE1.js.gz +0 -0
  320. package/build/client/_app/immutable/chunks/ccncQf9O.js +0 -1
  321. package/build/client/_app/immutable/chunks/ccncQf9O.js.br +0 -2
  322. package/build/client/_app/immutable/chunks/ccncQf9O.js.gz +0 -0
  323. package/build/client/_app/immutable/entry/app.DAzfwrA7.js.br +0 -0
  324. package/build/client/_app/immutable/entry/app.DAzfwrA7.js.gz +0 -0
  325. package/build/client/_app/immutable/entry/start.7FiodlpO.js +0 -1
  326. package/build/client/_app/immutable/entry/start.7FiodlpO.js.br +0 -1
  327. package/build/client/_app/immutable/entry/start.7FiodlpO.js.gz +0 -0
  328. package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.br +0 -2
  329. package/build/client/_app/immutable/nodes/1.BYTQ4CJf.js.gz +0 -0
  330. package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.br +0 -0
  331. package/build/client/_app/immutable/nodes/10.CHYaVWP2.js.gz +0 -0
  332. package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.br +0 -0
  333. package/build/client/_app/immutable/nodes/11.DXwuRFxA.js.gz +0 -0
  334. package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.br +0 -0
  335. package/build/client/_app/immutable/nodes/4.n8OmCUUb.js.gz +0 -0
  336. package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.br +0 -0
  337. package/build/client/_app/immutable/nodes/5.DgnQcqeL.js.gz +0 -0
  338. package/build/client/_app/immutable/nodes/6.RedvZarw.js.br +0 -0
  339. package/build/client/_app/immutable/nodes/6.RedvZarw.js.gz +0 -0
  340. package/build/client/_app/immutable/nodes/7.BqgE43w1.js.br +0 -0
  341. package/build/client/_app/immutable/nodes/7.BqgE43w1.js.gz +0 -0
  342. package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.br +0 -0
  343. package/build/client/_app/immutable/nodes/9.CQfpYNnj.js.gz +0 -0
  344. package/build/server/chunks/1-Dxk_eEPL.js +0 -9
  345. package/build/server/chunks/compose-args2-DiDeQtPu.js.map +0 -1
  346. package/build/server/chunks/docker2-oBEn_Si9.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { aD as readStackEnv } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-CfpNg3il.js';
1
+ import { aD as readStackEnv } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, r as requireAdmin, e as errorResponse } from './helpers-9U7R7yqL.js';
4
4
  import { t as toSpeakableText } from './speakable-text-BflxDDdY.js';
5
5
  import './chunk-DOvWTNp_.js';
6
6
  import 'node:module';
@@ -22,8 +22,8 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './endpoints-WTxemTcn.js';
26
- import './features-BE2x1a_a.js';
25
+ import './endpoints-CnnGlw2U.js';
26
+ import './features-BUWlozR5.js';
27
27
 
28
28
  //#region src/routes/api/speak/+server.ts
29
29
  var DEFAULT_MODEL = "kokoro";
@@ -93,4 +93,4 @@ var POST = async (event) => {
93
93
  };
94
94
 
95
95
  export { POST };
96
- //# sourceMappingURL=_server.ts-BRvNe0fS.js.map
96
+ //# sourceMappingURL=_server.ts-CHBfflb0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BRvNe0fS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { X as readStackEnv } from \"../../../../chunks/compose-args.js\";\nimport \"../../../../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 { t as toSpeakableText } from \"../../../../chunks/speakable-text.js\";\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().homeDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tconst speechText = toSpeakableText(text);\n\tconst upstreamUrl = `${ttsBaseURL.replace(/\\/+$/, \"\")}/v1/audio/speech`;\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers.authorization = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CHBfflb0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/speak/_server.ts.js"],"sourcesContent":["import { X as readStackEnv } from \"../../../../chunks/compose-args.js\";\nimport \"../../../../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 { t as toSpeakableText } from \"../../../../chunks/speakable-text.js\";\n//#region src/routes/api/speak/+server.ts\nvar DEFAULT_MODEL = \"kokoro\";\nvar DEFAULT_VOICE = \"bf_isabella\";\nvar DEFAULT_FORMAT = \"wav\";\nvar UPSTREAM_TIMEOUT_MS = 6e4;\nfunction redactKey(s) {\n\treturn s.replace(/(sk-[A-Za-z0-9_-]{4,})/g, \"sk-***\").replace(/(Bearer\\s+)[A-Za-z0-9._-]+/gi, \"$1***\");\n}\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst stackEnv = readStackEnv(getState().homeDir);\n\tconst ttsBaseURL = (stackEnv.OP_TTS_BASE_URL || process.env.OP_TTS_BASE_URL || \"\").trim();\n\tconst ttsModel = (stackEnv.OP_TTS_MODEL || process.env.OP_TTS_MODEL || \"\").trim() || DEFAULT_MODEL;\n\tconst ttsVoice = (stackEnv.OP_TTS_VOICE || process.env.OP_TTS_VOICE || \"\").trim() || DEFAULT_VOICE;\n\tconst ttsApiKey = (process.env.OP_TTS_API_KEY ?? \"\").trim();\n\tif (!ttsBaseURL) return errorResponse(503, \"tts_not_configured\", \"Configure a TTS engine in Admin → Voice settings.\", {}, requestId);\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\treturn errorResponse(400, \"bad_request\", \"Invalid JSON body\", {}, requestId);\n\t}\n\tconst b = body ?? {};\n\tconst text = typeof b.text === \"string\" ? b.text.trim() : \"\";\n\tif (!text) return errorResponse(400, \"bad_request\", \"\\\"text\\\" is required\", {}, requestId);\n\tconst voice = typeof b.voice === \"string\" && b.voice.trim() ? b.voice.trim() : ttsVoice;\n\tconst format = typeof b.format === \"string\" && b.format.trim() ? b.format.trim() : DEFAULT_FORMAT;\n\tconst speechText = toSpeakableText(text);\n\tconst upstreamUrl = `${ttsBaseURL.replace(/\\/+$/, \"\")}/v1/audio/speech`;\n\tconst headers = { \"content-type\": \"application/json\" };\n\tif (ttsApiKey) headers.authorization = `Bearer ${ttsApiKey}`;\n\tlet upstream;\n\ttry {\n\t\tupstream = await fetch(upstreamUrl, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders,\n\t\t\tbody: JSON.stringify({\n\t\t\t\tmodel: ttsModel,\n\t\t\t\tvoice,\n\t\t\t\tinput: speechText,\n\t\t\t\tresponse_format: format\n\t\t\t}),\n\t\t\tsignal: AbortSignal.timeout(UPSTREAM_TIMEOUT_MS)\n\t\t});\n\t} catch (err) {\n\t\treturn errorResponse(502, \"upstream_error\", `Could not reach TTS endpoint: ${redactKey(err instanceof Error ? err.message : String(err))}`, { upstream: upstreamUrl }, requestId);\n\t}\n\tif (!upstream.ok) {\n\t\tconst body = await upstream.text().catch(() => \"\");\n\t\treturn errorResponse(502, \"upstream_error\", `TTS endpoint returned ${upstream.status}`, {\n\t\t\tupstreamStatus: upstream.status,\n\t\t\tbody: redactKey(body).slice(0, 500)\n\t\t}, requestId);\n\t}\n\tconst responseHeaders = new Headers();\n\tresponseHeaders.set(\"content-type\", upstream.headers.get(\"content-type\") ?? \"audio/wav\");\n\tconst contentLength = upstream.headers.get(\"content-length\");\n\tif (contentLength) responseHeaders.set(\"content-length\", contentLength);\n\tresponseHeaders.set(\"x-request-id\", requestId);\n\treturn new Response(upstream.body, {\n\t\tstatus: 200,\n\t\theaders: responseHeaders\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,IAAI,aAAa,GAAG,QAAQ;AAC5B,IAAI,aAAa,GAAG,aAAa;AACjC,IAAI,cAAc,GAAG,KAAK;AAC1B,IAAI,mBAAmB,GAAG,GAAG;AAC7B,SAAS,SAAS,CAAC,CAAC,EAAE;AACtB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,OAAO,CAAC;AACvG;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;AAClD,CAAC,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,EAAE,IAAI,EAAE;AAC1F,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,aAAa;AACnG,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,aAAa;AACnG,CAAC,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,EAAE,IAAI,EAAE;AAC5D,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,oBAAoB,EAAE,mDAAmD,EAAE,EAAE,EAAE,SAAS,CAAC;AACrI,CAAC,IAAI,IAAI;AACT,CAAC,IAAI;AACL,EAAE,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;AACnC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC9E,CAAC;AACD,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE;AACrB,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;AAC7D,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE,SAAS,CAAC;AAC3F,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,QAAQ;AACxF,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,cAAc;AAClG,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC;AACzC,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC;AACxE,CAAC,MAAM,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE;AACvD,CAAC,IAAI,SAAS,EAAE,OAAO,CAAC,aAAa,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC7D,CAAC,IAAI,QAAQ;AACb,CAAC,IAAI;AACL,EAAE,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;AACtC,GAAG,MAAM,EAAE,MAAM;AACjB,GAAG,OAAO;AACV,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACxB,IAAI,KAAK,EAAE,QAAQ;AACnB,IAAI,KAAK;AACT,IAAI,KAAK,EAAE,UAAU;AACrB,IAAI,eAAe,EAAE;AACrB,IAAI,CAAC;AACL,GAAG,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,mBAAmB;AAClD,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,8BAA8B,EAAE,SAAS,CAAC,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,SAAS,CAAC;AACnL,CAAC;AACD,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;AACnB,EAAE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AACpD,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;AAC1F,GAAG,cAAc,EAAE,QAAQ,CAAC,MAAM;AAClC,GAAG,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG;AACrC,GAAG,EAAE,SAAS,CAAC;AACf,CAAC;AACD,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE;AACtC,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC;AACzF,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAC7D,CAAC,IAAI,aAAa,EAAE,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC;AACxE,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC;AAC/C,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;AACpC,EAAE,MAAM,EAAE,GAAG;AACb,EAAE,OAAO,EAAE;AACX,EAAE,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { aw as readAutomationLogs } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CfpNg3il.js';
1
+ import { aw as readAutomationLogs } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-9U7R7yqL.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
24
+ import './endpoints-CnnGlw2U.js';
25
+ import './features-BUWlozR5.js';
26
26
 
27
27
  //#region src/routes/api/host/automations/[name]/log/+server.ts
28
28
  var SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\.ya?ml)?$/;
@@ -52,4 +52,4 @@ var GET = async (event) => {
52
52
  };
53
53
 
54
54
  export { GET };
55
- //# sourceMappingURL=_server.ts-V6a8P9IB.js.map
55
+ //# sourceMappingURL=_server.ts-CLyMgmaf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-V6a8P9IB.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/automations/_name_/log/_server.ts.js"],"sourcesContent":["import { g as readAutomationLogs } from \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/automations/[name]/log/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar DEFAULT_LIMIT = 50;\nvar MAX_LIMIT = 500;\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:logs\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tconst limitParam = event.url.searchParams.get(\"limit\");\n\tlet limit = DEFAULT_LIMIT;\n\tif (limitParam !== null) {\n\t\tconst parsed = Number.parseInt(limitParam, 10);\n\t\tif (!Number.isFinite(parsed) || parsed <= 0) return errorResponse(400, \"invalid_input\", \"limit must be a positive integer\", {}, requestId);\n\t\tlimit = Math.min(parsed, MAX_LIMIT);\n\t}\n\treturn jsonResponse(200, {\n\t\tname: taskId,\n\t\tlines: readAutomationLogs(taskId, state.dataDir, limit)\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAClD,IAAI,aAAa,GAAG,EAAE;AACtB,IAAI,SAAS,GAAG,GAAG;AAChB,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC;AACzE,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACvD,CAAC,IAAI,KAAK,GAAG,aAAa;AAC1B,CAAC,IAAI,UAAU,KAAK,IAAI,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,kCAAkC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;AACrC,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK;AACxD,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-CLyMgmaf.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/automations/_name_/log/_server.ts.js"],"sourcesContent":["import { g as readAutomationLogs } from \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/automations/[name]/log/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar DEFAULT_LIMIT = 50;\nvar MAX_LIMIT = 500;\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:logs\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tconst limitParam = event.url.searchParams.get(\"limit\");\n\tlet limit = DEFAULT_LIMIT;\n\tif (limitParam !== null) {\n\t\tconst parsed = Number.parseInt(limitParam, 10);\n\t\tif (!Number.isFinite(parsed) || parsed <= 0) return errorResponse(400, \"invalid_input\", \"limit must be a positive integer\", {}, requestId);\n\t\tlimit = Math.min(parsed, MAX_LIMIT);\n\t}\n\treturn jsonResponse(200, {\n\t\tname: taskId,\n\t\tlines: readAutomationLogs(taskId, state.dataDir, limit)\n\t}, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAClD,IAAI,aAAa,GAAG,EAAE;AACtB,IAAI,SAAS,GAAG,GAAG;AAChB,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC;AACzE,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;AACvD,CAAC,IAAI,KAAK,GAAG,aAAa;AAC1B,CAAC,IAAI,UAAU,KAAK,IAAI,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;AAChD,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,kCAAkC,EAAE,EAAE,EAAE,SAAS,CAAC;AAC5I,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;AACrC,CAAC;AACD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK;AACxD,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
@@ -1,6 +1,6 @@
1
- import { b3 as summarizeBackups, aj as listBackupDirs, av as pruneBackupDirs, F as createLogger } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-CfpNg3il.js';
1
+ import { b3 as summarizeBackups, aj as listBackupDirs, av as pruneBackupDirs, F as createLogger } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-9U7R7yqL.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
24
+ import './endpoints-CnnGlw2U.js';
25
+ import './features-BUWlozR5.js';
26
26
 
27
27
  //#region src/routes/api/host/backups/+server.ts
28
28
  var logger = createLogger("backups-admin");
@@ -90,4 +90,4 @@ var POST = async (event) => {
90
90
  };
91
91
 
92
92
  export { GET, POST };
93
- //# sourceMappingURL=_server.ts-BvOQbLFG.js.map
93
+ //# sourceMappingURL=_server.ts-CN26zawm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-BvOQbLFG.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/backups/_server.ts.js"],"sourcesContent":["import { At as pruneBackupDirs, Nt as createLogger, jt as summarizeBackups, kt as listBackupDirs } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/backups/+server.ts\nvar logger = createLogger(\"backups-admin\");\n/**\n* #499 — backup visibility. Returns count, total size, last-backup time and a\n* per-backup list (newest first) so the UI can surface the recovery net.\n* Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\t...summarizeBackups(state.homeDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_list_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #499 — drives the EXISTING confirm-gated prune. The UI must pass an explicit\n* `keep` count (the confirmation is the UI's modal); this NEVER auto-prunes and\n* keeps the newest `keep` snapshots, deleting only the older ones.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\tbody = {};\n\t}\n\tconst keep = Number(body.keep);\n\tif (!Number.isInteger(keep) || keep < 0) return errorResponse(400, \"invalid_keep\", \"`keep` must be a non-negative integer\", {}, requestId);\n\tconst state = getState();\n\ttry {\n\t\tif (listBackupDirs(state.homeDir).slice(keep).length === 0) return jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted: [],\n\t\t\tkept: keep\n\t\t}, requestId);\n\t\tconst deleted = pruneBackupDirs(state.homeDir, keep);\n\t\tlogger.info(\"pruned backups via admin\", {\n\t\t\trequestId,\n\t\t\tdeleted: deleted.length,\n\t\t\tkept: keep\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted,\n\t\t\tkept: keep\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_prune_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CN26zawm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/backups/_server.ts.js"],"sourcesContent":["import { At as pruneBackupDirs, Nt as createLogger, jt as summarizeBackups, kt as listBackupDirs } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/backups/+server.ts\nvar logger = createLogger(\"backups-admin\");\n/**\n* #499 — backup visibility. Returns count, total size, last-backup time and a\n* per-backup list (newest first) so the UI can surface the recovery net.\n* Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\t...summarizeBackups(state.homeDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_list_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #499 — drives the EXISTING confirm-gated prune. The UI must pass an explicit\n* `keep` count (the confirmation is the UI's modal); this NEVER auto-prunes and\n* keeps the newest `keep` snapshots, deleting only the older ones.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tlet body;\n\ttry {\n\t\tbody = await event.request.json();\n\t} catch {\n\t\tbody = {};\n\t}\n\tconst keep = Number(body.keep);\n\tif (!Number.isInteger(keep) || keep < 0) return errorResponse(400, \"invalid_keep\", \"`keep` must be a non-negative integer\", {}, requestId);\n\tconst state = getState();\n\ttry {\n\t\tif (listBackupDirs(state.homeDir).slice(keep).length === 0) return jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted: [],\n\t\t\tkept: keep\n\t\t}, requestId);\n\t\tconst deleted = pruneBackupDirs(state.homeDir, keep);\n\t\tlogger.info(\"pruned backups via admin\", {\n\t\t\trequestId,\n\t\t\tdeleted: deleted.length,\n\t\t\tkept: keep\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tdeleted,\n\t\t\tkept: keep\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"backups_prune_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { l as requireCapability, d as getRequestId, w as withAdminBody, k as jsonResponse } from './helpers-CfpNg3il.js';
2
- import { o as opencodeFetch } from './http-WP5cji9-.js';
1
+ import { l as requireCapability, d as getRequestId, w as withAdminBody, k as jsonResponse } from './helpers-9U7R7yqL.js';
2
+ import { o as opencodeFetch } from './http-D2Aul-FP.js';
3
3
  import { a as asStringOrEmpty } from './_helpers-CafYq-UD.js';
4
- import './src-CQ2F7hgb.js';
4
+ import './src-AHSKeKr0.js';
5
5
  import './chunk-DOvWTNp_.js';
6
6
  import 'node:module';
7
7
  import './network-preset-CJ1RRnki.js';
@@ -22,9 +22,9 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './endpoints-WTxemTcn.js';
26
- import './state-CsIDHNPN.js';
27
- import './features-BE2x1a_a.js';
25
+ import './endpoints-CnnGlw2U.js';
26
+ import './state-CzXOEt0t.js';
27
+ import './features-BUWlozR5.js';
28
28
  import './coercion-TNFJisCC.js';
29
29
 
30
30
  //#region src/routes/api/host/providers/oauth/finish/+server.ts
@@ -69,4 +69,4 @@ var POST = async (event) => {
69
69
  };
70
70
 
71
71
  export { POST };
72
- //# sourceMappingURL=_server.ts-CqX61boo.js.map
72
+ //# sourceMappingURL=_server.ts-COHW_bIw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CqX61boo.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { a as getRequestId, c as jsonResponse, d as requireCapability, p as withAdminBody } from \"../../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../../chunks/http.js\";\nimport { t as asStringOrEmpty } from \"../../../../../../../chunks/_helpers.js\";\n//#region src/routes/api/host/providers/oauth/finish/+server.ts\n/**\n* POST /api/host/providers/oauth/finish — Complete an OAuth code-mode\n* sign-in by exchanging the operator-pasted authorization code with the\n* assistant OpenCode instance.\n*/\nvar POST = async (event) => {\n\tconst capabilityError = requireCapability(event, \"host:secrets\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\ttry {\n\t\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\t\tconst code = asStringOrEmpty(body.code);\n\t\t\tif (!providerId || Number.isNaN(methodIndex) || !code) return jsonResponse(200, {\n\t\t\t\tok: false,\n\t\t\t\tmessage: \"Paste the authorization code before finishing sign-in.\",\n\t\t\t\tselectedProviderId: providerId\n\t\t\t}, requestId);\n\t\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\tmethod: methodIndex,\n\t\t\t\t\tcode\n\t\t\t\t})\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\tmessage: \"OAuth connection completed.\",\n\t\t\t\tselectedProviderId: providerId\n\t\t\t}, requestId);\n\t\t} catch (error) {\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: false,\n\t\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\t\tselectedProviderId: void 0\n\t\t\t}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC5D,EAAE,IAAI;AACN,GAAG,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACtD,GAAG,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChE,GAAG,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1C,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACnF,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,OAAO,EAAE,wDAAwD;AACrE,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACrF,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACzB,KAAK,MAAM,EAAE,WAAW;AACxB,KAAK;AACL,KAAK;AACL,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,OAAO,EAAE,6BAA6B;AAC1C,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACtE,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-COHW_bIw.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/providers/oauth/finish/_server.ts.js"],"sourcesContent":["import { a as getRequestId, c as jsonResponse, d as requireCapability, p as withAdminBody } from \"../../../../../../../chunks/helpers.js\";\nimport { t as opencodeFetch } from \"../../../../../../../chunks/http.js\";\nimport { t as asStringOrEmpty } from \"../../../../../../../chunks/_helpers.js\";\n//#region src/routes/api/host/providers/oauth/finish/+server.ts\n/**\n* POST /api/host/providers/oauth/finish — Complete an OAuth code-mode\n* sign-in by exchanging the operator-pasted authorization code with the\n* assistant OpenCode instance.\n*/\nvar POST = async (event) => {\n\tconst capabilityError = requireCapability(event, \"host:secrets\", getRequestId(event));\n\tif (capabilityError) return capabilityError;\n\treturn withAdminBody(event, async ({ requestId, body }) => {\n\t\ttry {\n\t\t\tconst providerId = asStringOrEmpty(body.providerId);\n\t\t\tconst methodIndex = Number(asStringOrEmpty(body.methodIndex));\n\t\t\tconst code = asStringOrEmpty(body.code);\n\t\t\tif (!providerId || Number.isNaN(methodIndex) || !code) return jsonResponse(200, {\n\t\t\t\tok: false,\n\t\t\t\tmessage: \"Paste the authorization code before finishing sign-in.\",\n\t\t\t\tselectedProviderId: providerId\n\t\t\t}, requestId);\n\t\t\tawait opencodeFetch(`/provider/${encodeURIComponent(providerId)}/oauth/callback`, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\tmethod: methodIndex,\n\t\t\t\t\tcode\n\t\t\t\t})\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\tmessage: \"OAuth connection completed.\",\n\t\t\t\tselectedProviderId: providerId\n\t\t\t}, requestId);\n\t\t} catch (error) {\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: false,\n\t\t\t\tmessage: error instanceof Error ? error.message : \"Internal error\",\n\t\t\t\tselectedProviderId: void 0\n\t\t\t}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK;AAC5D,EAAE,IAAI;AACN,GAAG,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACtD,GAAG,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChE,GAAG,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1C,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,GAAG,EAAE;AACnF,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,OAAO,EAAE,wDAAwD;AACrE,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,GAAG,MAAM,aAAa,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EAAE;AACrF,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACzB,KAAK,MAAM,EAAE,WAAW;AACxB,KAAK;AACL,KAAK;AACL,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,OAAO,EAAE,6BAA6B;AAC1C,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,OAAO,EAAE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,gBAAgB;AACtE,IAAI,kBAAkB,EAAE;AACxB,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { j as json } from './exports-CcmcYU0M.js';
2
- import { g as getOpenCodeClient } from './helpers-CfpNg3il.js';
2
+ import { g as getOpenCodeClient } from './helpers-9U7R7yqL.js';
3
3
  import './utils-OXHIhUb5.js';
4
- import './src-CQ2F7hgb.js';
4
+ import './src-AHSKeKr0.js';
5
5
  import './chunk-DOvWTNp_.js';
6
6
  import 'node:module';
7
7
  import './network-preset-CJ1RRnki.js';
@@ -22,9 +22,9 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './endpoints-WTxemTcn.js';
26
- import './state-CsIDHNPN.js';
27
- import './features-BE2x1a_a.js';
25
+ import './endpoints-CnnGlw2U.js';
26
+ import './state-CzXOEt0t.js';
27
+ import './features-BUWlozR5.js';
28
28
 
29
29
  //#region src/routes/api/setup/opencode/provider/[provider]/oauth/callback/+server.ts
30
30
  var PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;
@@ -55,4 +55,4 @@ var POST = async ({ params, request }) => {
55
55
  };
56
56
 
57
57
  export { POST };
58
- //# sourceMappingURL=_server.ts-CiBxLSg4.js.map
58
+ //# sourceMappingURL=_server.ts-CQ9bUgsb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CiBxLSg4.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/provider/_provider_/oauth/callback/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../../../../chunks/exports.js\";\nimport { i as getOpenCodeClient } from \"../../../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/provider/[provider]/oauth/callback/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar POST = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst body = await request.json();\n\t\tconst method = Number.isInteger(body.method) ? body.method : 0;\n\t\tconst code = typeof body.code === \"string\" ? body.code.slice(0, 1024) : void 0;\n\t\tconst result = await getOpenCodeClient().completeProviderOAuth(params.provider, method, code);\n\t\tif (!result.ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 400 });\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tcomplete: result.data\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;AAChF,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;AAC/F,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC9B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,QAAQ,EAAE,MAAM,CAAC;AACpB,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
1
+ {"version":3,"file":"_server.ts-CQ9bUgsb.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/setup/opencode/provider/_provider_/oauth/callback/_server.ts.js"],"sourcesContent":["import { r as json } from \"../../../../../../../../../chunks/exports.js\";\nimport { i as getOpenCodeClient } from \"../../../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/setup/opencode/provider/[provider]/oauth/callback/+server.ts\nvar PROVIDER_ID_RE = /^[a-zA-Z0-9_-]{1,64}$/;\nvar POST = async ({ params, request }) => {\n\tif (!PROVIDER_ID_RE.test(params.provider)) return json({\n\t\tok: false,\n\t\tmessage: \"Invalid provider\"\n\t}, { status: 400 });\n\ttry {\n\t\tconst body = await request.json();\n\t\tconst method = Number.isInteger(body.method) ? body.method : 0;\n\t\tconst code = typeof body.code === \"string\" ? body.code.slice(0, 1024) : void 0;\n\t\tconst result = await getOpenCodeClient().completeProviderOAuth(params.provider, method, code);\n\t\tif (!result.ok) return json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 400 });\n\t\treturn json({\n\t\t\tok: true,\n\t\t\tcomplete: result.data\n\t\t});\n\t} catch {\n\t\treturn json({\n\t\t\tok: false,\n\t\t\tmessage: \"OAuth callback failed\"\n\t\t}, { status: 500 });\n\t}\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,cAAc,GAAG,uBAAuB;AACzC,IAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC1C,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI,CAAC;AACxD,EAAE,EAAE,EAAE,KAAK;AACX,EAAE,OAAO,EAAE;AACX,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpB,CAAC,IAAI;AACL,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;AAChF,EAAE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC;AAC/F,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC;AAC9B,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,IAAI;AACX,GAAG,QAAQ,EAAE,MAAM,CAAC;AACpB,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,IAAI,CAAC;AACd,GAAG,EAAE,EAAE,KAAK;AACZ,GAAG,OAAO,EAAE;AACZ,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC;AACD;;;;"}
@@ -1,6 +1,6 @@
1
- import { am as loadAutomations } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-CfpNg3il.js';
1
+ import { am as loadAutomations } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-9U7R7yqL.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
24
+ import './endpoints-CnnGlw2U.js';
25
+ import './features-BUWlozR5.js';
26
26
 
27
27
  //#region src/routes/api/host/automations/+server.ts
28
28
  var GET = async (event) => {
@@ -48,4 +48,4 @@ var GET = async (event) => {
48
48
  };
49
49
 
50
50
  export { GET };
51
- //# sourceMappingURL=_server.ts-CFNNoZVF.js.map
51
+ //# sourceMappingURL=_server.ts-CQGc6Rzk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CFNNoZVF.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/automations/_server.ts.js"],"sourcesContent":["import { h as loadAutomations } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/automations/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:read\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\treturn jsonResponse(200, { automations: loadAutomations(getState().stashDir).map((c) => ({\n\t\tname: c.name,\n\t\tdescription: c.description,\n\t\tschedule: c.schedule,\n\t\ttimezone: c.timezone,\n\t\tenabled: c.enabled,\n\t\taction: {\n\t\t\ttype: c.action.type,\n\t\t\tcontent: c.action.content,\n\t\t\tagent: c.action.agent\n\t\t},\n\t\ton_failure: c.on_failure,\n\t\tfileName: c.fileName\n\t})) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC1F,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;AACd,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;AAC5B,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;AACpB,EAAE,MAAM,EAAE;AACV,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;AACtB,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;AAC5B,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;AACnB,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;AAC1B,EAAE,QAAQ,EAAE,CAAC,CAAC;AACd,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAClB;;;;"}
1
+ {"version":3,"file":"_server.ts-CQGc6Rzk.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/automations/_server.ts.js"],"sourcesContent":["import { h as loadAutomations } from \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/automations/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:read\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\treturn jsonResponse(200, { automations: loadAutomations(getState().stashDir).map((c) => ({\n\t\tname: c.name,\n\t\tdescription: c.description,\n\t\tschedule: c.schedule,\n\t\ttimezone: c.timezone,\n\t\tenabled: c.enabled,\n\t\taction: {\n\t\t\ttype: c.action.type,\n\t\t\tcontent: c.action.content,\n\t\t\tagent: c.action.agent\n\t\t},\n\t\ton_failure: c.on_failure,\n\t\tfileName: c.fileName\n\t})) }, requestId);\n};\n//#endregion\nexport { GET };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,CAAC;AAC/E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AAC1F,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;AACd,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW;AAC5B,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;AACpB,EAAE,MAAM,EAAE;AACV,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;AACtB,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;AAC5B,GAAG,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;AACnB,GAAG;AACH,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;AAC1B,EAAE,QAAQ,EAAE,CAAC,CAAC;AACd,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC;AAClB;;;;"}
@@ -1,5 +1,5 @@
1
- import { F as createLogger } from './src-CQ2F7hgb.js';
2
- import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-CfpNg3il.js';
1
+ import { F as createLogger } from './src-AHSKeKr0.js';
2
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, g as getOpenCodeClient, k as jsonResponse, p as parseJsonBody, j as jsonBodyError } from './helpers-9U7R7yqL.js';
3
3
  import './chunk-DOvWTNp_.js';
4
4
  import 'node:module';
5
5
  import './network-preset-CJ1RRnki.js';
@@ -20,9 +20,9 @@ import 'assert';
20
20
  import 'zlib';
21
21
  import 'node:assert';
22
22
  import 'node:fs/promises';
23
- import './endpoints-WTxemTcn.js';
24
- import './state-CsIDHNPN.js';
25
- import './features-BE2x1a_a.js';
23
+ import './endpoints-CnnGlw2U.js';
24
+ import './state-CzXOEt0t.js';
25
+ import './features-BUWlozR5.js';
26
26
 
27
27
  //#region src/routes/api/host/opencode/providers/[id]/auth/+server.ts
28
28
  var logger = createLogger("opencode.auth");
@@ -169,4 +169,4 @@ var DELETE = async (event) => {
169
169
  };
170
170
 
171
171
  export { DELETE, GET, POST };
172
- //# sourceMappingURL=_server.ts-XEVuthfs.js.map
172
+ //# sourceMappingURL=_server.ts-CR1fXUx_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-XEVuthfs.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { Nt as createLogger } from \"../../../../../../../../chunks/compose-args.js\";\nimport \"../../../../../../../../chunks/src.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, i as getOpenCodeClient, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /api/host/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CR1fXUx_.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/opencode/providers/_id_/auth/_server.ts.js"],"sourcesContent":["import { Nt as createLogger } from \"../../../../../../../../chunks/compose-args.js\";\nimport \"../../../../../../../../chunks/src.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, i as getOpenCodeClient, l as parseJsonBody, r as errorResponse, s as jsonBodyError, u as requireAdmin } from \"../../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/opencode/providers/[id]/auth/+server.ts\nvar logger = createLogger(\"opencode.auth\");\nvar MAX_API_KEY_LENGTH = 512;\nvar API_KEY_PATTERN = /^[\\x20-\\x7E]+$/;\nvar OAUTH_SESSION_TTL_MS = 6e5;\nvar MAX_PROVIDER_ID_LENGTH = 128;\nvar PROVIDER_ID_PATTERN = /^[a-zA-Z0-9_.-]+$/;\nfunction validateApiKey(key) {\n\tif (key.length > MAX_API_KEY_LENGTH) return \"API key exceeds maximum length\";\n\tif (!API_KEY_PATTERN.test(key)) return \"API key contains invalid characters\";\n\treturn null;\n}\nvar oauthSessions = /* @__PURE__ */ new Map();\nfunction purgeExpiredSessions() {\n\tconst now = Date.now();\n\tfor (const [token, session] of oauthSessions) if (now - session.createdAt > OAUTH_SESSION_TTL_MS) oauthSessions.delete(token);\n}\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst pollToken = event.url.searchParams.get(\"pollToken\");\n\tif (!pollToken) return errorResponse(400, \"bad_request\", \"pollToken query parameter is required\", {}, requestId);\n\tpurgeExpiredSessions();\n\tconst session = oauthSessions.get(pollToken);\n\tif (!session) return errorResponse(404, \"not_found\", \"Poll session not found or expired\", {}, requestId);\n\tif (event.params.id !== session.providerId) return errorResponse(400, \"bad_request\", \"Provider ID does not match poll session\", {}, requestId);\n\tif ((await getOpenCodeClient().completeProviderOAuth(session.providerId, session.methodIndex)).ok) {\n\t\toauthSessions.delete(pollToken);\n\t\tlogger.info(\"oauth authorization completed\", {\n\t\t\tproviderId: session.providerId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"complete\",\n\t\t\tmessage: \"Authorization successful\"\n\t\t}, requestId);\n\t}\n\tif (Date.now() - session.createdAt > OAUTH_SESSION_TTL_MS) {\n\t\toauthSessions.delete(pollToken);\n\t\treturn jsonResponse(200, {\n\t\t\tstatus: \"error\",\n\t\t\tmessage: \"Authorization session expired\"\n\t\t}, requestId);\n\t}\n\treturn jsonResponse(200, {\n\t\tstatus: \"pending\",\n\t\tmessage: \"Waiting for authorization...\"\n\t}, requestId);\n};\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst result = await parseJsonBody(event.request);\n\tif (\"error\" in result) return jsonBodyError(result, requestId);\n\tconst body = result.data;\n\tconst providerId = event.params.id;\n\tconst mode = typeof body.mode === \"string\" ? body.mode : \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tpurgeExpiredSessions();\n\tif (mode === \"api_key\") {\n\t\tconst apiKey = typeof body.apiKey === \"string\" ? body.apiKey.trim() : \"\";\n\t\tif (!apiKey) return errorResponse(400, \"bad_request\", \"apiKey is required for api_key mode\", {}, requestId);\n\t\tconst keyError = validateApiKey(apiKey);\n\t\tif (keyError) return errorResponse(400, \"bad_request\", keyError, {}, requestId);\n\t\tconst result = await getOpenCodeClient().setProviderApiKey(providerId, apiKey);\n\t\tif (!result.ok) {\n\t\t\tlogger.warn(\"provider api key save failed\", {\n\t\t\t\tproviderId,\n\t\t\t\trequestId,\n\t\t\t\terror: result.code\n\t\t\t});\n\t\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\t}\n\t\tlogger.info(\"provider API key saved to OpenCode auth.json\", {\n\t\t\tproviderId,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"api_key\"\n\t\t}, requestId);\n\t}\n\tif (mode === \"oauth\") {\n\t\tif (typeof body.methodIndex !== \"undefined\" && (typeof body.methodIndex !== \"number\" || !Number.isInteger(body.methodIndex) || body.methodIndex < 0)) return errorResponse(400, \"bad_request\", \"methodIndex must be a non-negative integer\", {}, requestId);\n\t\tconst methodIndex = typeof body.methodIndex === \"number\" ? body.methodIndex : 0;\n\t\tconst result = await getOpenCodeClient().startProviderOAuth(providerId, methodIndex);\n\t\tif (!result.ok) return errorResponse(result.status, result.code, result.message, {}, requestId);\n\t\tconst data = result.data;\n\t\tconst pollToken = crypto.randomUUID();\n\t\toauthSessions.set(pollToken, {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\tcreatedAt: Date.now()\n\t\t});\n\t\tlogger.info(\"oauth authorization started\", {\n\t\t\tproviderId,\n\t\t\tmethodIndex,\n\t\t\trequestId\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tmode: \"oauth\",\n\t\t\tpollToken,\n\t\t\turl: data.url,\n\t\t\tmethod: data.method,\n\t\t\tinstructions: data.instructions\n\t\t}, requestId);\n\t}\n\treturn errorResponse(400, \"bad_request\", \"mode must be api_key or oauth\", {}, requestId);\n};\n/**\n* DELETE /api/host/opencode/providers/:id/auth — Disconnect a provider by\n* removing its credential from OpenCode's auth.json.\n*/\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:secrets\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst providerId = event.params.id ?? \"\";\n\tif (!providerId || providerId.length > MAX_PROVIDER_ID_LENGTH || !PROVIDER_ID_PATTERN.test(providerId)) return errorResponse(400, \"bad_request\", \"Invalid provider ID\", {}, requestId);\n\tconst result = await getOpenCodeClient().proxy(`/auth/${encodeURIComponent(providerId)}`, { method: \"DELETE\" });\n\tif (!result.ok) {\n\t\tlogger.warn(\"provider disconnect failed\", {\n\t\t\tproviderId,\n\t\t\trequestId,\n\t\t\terror: result.code\n\t\t});\n\t\treturn errorResponse(result.status, result.code, result.message, {}, requestId);\n\t}\n\tlogger.info(\"provider credential removed via OpenCode /auth DELETE\", {\n\t\tproviderId,\n\t\trequestId\n\t});\n\treturn jsonResponse(200, { ok: true }, requestId);\n};\n//#endregion\nexport { DELETE, GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { F as createLogger, p as checkDocker, t as composeDown, n as buildComposeOptions, f as applyUninstall } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-CfpNg3il.js';
1
+ import { F as createLogger, p as checkDocker, t as composeDown, n as buildComposeOptions, f as applyUninstall } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-9U7R7yqL.js';
4
4
  import { w as withSerialQueue } from './serial-queue-D9FEpYVv.js';
5
5
  import './chunk-DOvWTNp_.js';
6
6
  import 'node:module';
@@ -22,8 +22,8 @@ import 'assert';
22
22
  import 'zlib';
23
23
  import 'node:assert';
24
24
  import 'node:fs/promises';
25
- import './endpoints-WTxemTcn.js';
26
- import './features-BE2x1a_a.js';
25
+ import './endpoints-CnnGlw2U.js';
26
+ import './features-BUWlozR5.js';
27
27
 
28
28
  //#region src/routes/api/host/uninstall/+server.ts
29
29
  var logger = createLogger("uninstall");
@@ -65,4 +65,4 @@ var POST = async (event) => {
65
65
  };
66
66
 
67
67
  export { POST };
68
- //# sourceMappingURL=_server.ts-CGggA6h4.js.map
68
+ //# sourceMappingURL=_server.ts-CV7PsNSs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CGggA6h4.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/uninstall/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, i as applyUninstall, t as buildComposeOptions } from \"../../../../../chunks/compose-args.js\";\nimport { i as checkDocker, l as composeDown } from \"../../../../../chunks/docker.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/api/host/uninstall/+server.ts\nvar logger = createLogger(\"uninstall\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tlogger.info(\"uninstall request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:uninstall\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tconst dockerCheck = await checkDocker();\n\t\t\tif (dockerCheck.ok) await composeDown(buildComposeOptions(state));\n\t\t\tlogger.info(\"stopping containers and applying uninstall\", {\n\t\t\t\trequestId,\n\t\t\t\tdockerAvailable: dockerCheck.ok\n\t\t\t});\n\t\t\tconst result = await applyUninstall(state);\n\t\t\tlogger.info(\"uninstall completed\", {\n\t\t\t\trequestId,\n\t\t\t\tstopped: result.stopped\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\t...result,\n\t\t\t\tdockerAvailable: dockerCheck.ok\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"uninstall failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"uninstall_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC;AACnC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC;AAC7E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,CAAC;AACzD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,iBAAiB,EAAE,YAAY;AACvD,EAAE,IAAI;AACN,GAAG,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC3B,GAAG,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AAC1C,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpE,GAAG,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;AAC7D,IAAI,SAAS;AACb,IAAI,eAAe,EAAE,WAAW,CAAC;AACjC,IAAI,CAAC;AACL,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC;AAC7C,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACtC,IAAI,SAAS;AACb,IAAI,OAAO,EAAE,MAAM,CAAC;AACpB,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,GAAG,MAAM;AACb,IAAI,eAAe,EAAE,WAAW,CAAC;AACjC,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/D,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;AACpC,IAAI,SAAS;AACb,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AACpE,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"_server.ts-CV7PsNSs.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/uninstall/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, i as applyUninstall, t as buildComposeOptions } from \"../../../../../chunks/compose-args.js\";\nimport { i as checkDocker, l as composeDown } from \"../../../../../chunks/docker.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\nimport { t as withSerialQueue } from \"../../../../../chunks/serial-queue.js\";\n//#region src/routes/api/host/uninstall/+server.ts\nvar logger = createLogger(\"uninstall\");\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tlogger.info(\"uninstall request received\", { requestId });\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn withSerialQueue(\"admin:uninstall\", async () => {\n\t\ttry {\n\t\t\tconst state = getState();\n\t\t\tconst dockerCheck = await checkDocker();\n\t\t\tif (dockerCheck.ok) await composeDown(buildComposeOptions(state));\n\t\t\tlogger.info(\"stopping containers and applying uninstall\", {\n\t\t\t\trequestId,\n\t\t\t\tdockerAvailable: dockerCheck.ok\n\t\t\t});\n\t\t\tconst result = await applyUninstall(state);\n\t\t\tlogger.info(\"uninstall completed\", {\n\t\t\t\trequestId,\n\t\t\t\tstopped: result.stopped\n\t\t\t});\n\t\t\treturn jsonResponse(200, {\n\t\t\t\tok: true,\n\t\t\t\t...result,\n\t\t\t\tdockerAvailable: dockerCheck.ok\n\t\t\t}, requestId);\n\t\t} catch (err) {\n\t\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\t\tlogger.error(\"uninstall failed\", {\n\t\t\t\trequestId,\n\t\t\t\terror: msg\n\t\t\t});\n\t\t\treturn errorResponse(500, \"uninstall_failed\", msg, {}, requestId);\n\t\t}\n\t});\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA,IAAI,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC;AACnC,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC;AAC7E,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,CAAC;AACzD,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,eAAe,CAAC,iBAAiB,EAAE,YAAY;AACvD,EAAE,IAAI;AACN,GAAG,MAAM,KAAK,GAAG,QAAQ,EAAE;AAC3B,GAAG,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE;AAC1C,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,MAAM,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpE,GAAG,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;AAC7D,IAAI,SAAS;AACb,IAAI,eAAe,EAAE,WAAW,CAAC;AACjC,IAAI,CAAC;AACL,GAAG,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC;AAC7C,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;AACtC,IAAI,SAAS;AACb,IAAI,OAAO,EAAE,MAAM,CAAC;AACpB,IAAI,CAAC;AACL,GAAG,OAAO,YAAY,CAAC,GAAG,EAAE;AAC5B,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,GAAG,MAAM;AACb,IAAI,eAAe,EAAE,WAAW,CAAC;AACjC,IAAI,EAAE,SAAS,CAAC;AAChB,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,GAAG,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/D,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;AACpC,IAAI,SAAS;AACb,IAAI,KAAK,EAAE;AACX,IAAI,CAAC;AACL,GAAG,OAAO,aAAa,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC;AACpE,EAAE;AACF,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
- import { ad as inspectInstallLock, I as INSTALL_LOCK_STALE_AFTER_MS, b4 as unlockInstallLock, F as createLogger } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-CfpNg3il.js';
1
+ import { ad as inspectInstallLock, I as INSTALL_LOCK_STALE_AFTER_MS, b4 as unlockInstallLock, F as createLogger } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse, e as errorResponse } from './helpers-9U7R7yqL.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
24
+ import './endpoints-CnnGlw2U.js';
25
+ import './features-BUWlozR5.js';
26
26
 
27
27
  //#region src/routes/api/host/unlock/+server.ts
28
28
  var logger = createLogger("unlock-admin");
@@ -84,4 +84,4 @@ var POST = async (event) => {
84
84
  };
85
85
 
86
86
  export { GET, POST };
87
- //# sourceMappingURL=_server.ts-CWYonOeQ.js.map
87
+ //# sourceMappingURL=_server.ts-CYEiMdP-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-CWYonOeQ.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/unlock/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, d as inspectInstallLock, l as INSTALL_LOCK_STALE_AFTER_MS, m as unlockInstallLock } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/unlock/+server.ts\nvar logger = createLogger(\"unlock-admin\");\n/**\n* #500 — \"an operation seems stuck — clear it?\" Reports whether an install lock\n* is present and whether it is stale (so the UI can decide whether to offer the\n* clear action). Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tstaleAfterMs: INSTALL_LOCK_STALE_AFTER_MS,\n\t\t\t...inspectInstallLock(state.dataDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"unlock_status_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #500 — clears the install lock ONLY when stale (dead holder PID or older than\n* the 30-minute staleness window). Returns 409 when a live install is still\n* holding the lock so the UI can surface \"an operation is still running\" rather\n* than forcing it. Never blind-removes a live lock.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tlet force = false;\n\ttry {\n\t\tforce = (await event.request.clone().json())?.force === true;\n\t} catch {}\n\ttry {\n\t\tconst result = unlockInstallLock(state.dataDir, { force });\n\t\tif (!result.ok) return errorResponse(409, \"install_in_progress\", \"An install or upgrade still appears to be running. The lock clears itself automatically once it finishes or after 30 minutes. Nothing was changed. Send { \\\"force\\\": true } to clear it anyway if the recorded PID was reused by an unrelated process.\", { status: result.status }, requestId);\n\t\tlogger.info(\"cleared install lock via admin\", {\n\t\t\trequestId,\n\t\t\tremoved: result.removed,\n\t\t\tforced: force && result.status.present && !result.status.stale\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tremoved: result.removed,\n\t\t\tstatus: result.status\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"unlock_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_server.ts-CYEiMdP-.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/unlock/_server.ts.js"],"sourcesContent":["import { Nt as createLogger, d as inspectInstallLock, l as INSTALL_LOCK_STALE_AFTER_MS, m as unlockInstallLock } from \"../../../../../chunks/compose-args.js\";\nimport \"../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/unlock/+server.ts\nvar logger = createLogger(\"unlock-admin\");\n/**\n* #500 — \"an operation seems stuck — clear it?\" Reports whether an install lock\n* is present and whether it is stale (so the UI can decide whether to offer the\n* clear action). Read-only.\n*/\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\ttry {\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tstaleAfterMs: INSTALL_LOCK_STALE_AFTER_MS,\n\t\t\t...inspectInstallLock(state.dataDir)\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"unlock_status_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n/**\n* #500 — clears the install lock ONLY when stale (dead holder PID or older than\n* the 30-minute staleness window). Returns 409 when a live install is still\n* holding the lock so the UI can surface \"an operation is still running\" rather\n* than forcing it. Never blind-removes a live lock.\n*/\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:recovery\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tlet force = false;\n\ttry {\n\t\tforce = (await event.request.clone().json())?.force === true;\n\t} catch {}\n\ttry {\n\t\tconst result = unlockInstallLock(state.dataDir, { force });\n\t\tif (!result.ok) return errorResponse(409, \"install_in_progress\", \"An install or upgrade still appears to be running. The lock clears itself automatically once it finishes or after 30 minutes. Nothing was changed. Send { \\\"force\\\": true } to clear it anyway if the recorded PID was reused by an unrelated process.\", { status: result.status }, requestId);\n\t\tlogger.info(\"cleared install lock via admin\", {\n\t\t\trequestId,\n\t\t\tremoved: result.removed,\n\t\t\tforced: force && result.status.present && !result.status.stale\n\t\t});\n\t\treturn jsonResponse(200, {\n\t\t\tok: true,\n\t\t\tremoved: result.removed,\n\t\t\tstatus: result.status\n\t\t}, requestId);\n\t} catch (e) {\n\t\treturn errorResponse(500, \"unlock_failed\", e instanceof Error ? e.message : String(e), {}, requestId);\n\t}\n};\n//#endregion\nexport { GET, POST };\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { V as disableHostAkmSharing, a8 as getHostAkmSharingStatus, Y as enableHostAkmSharing } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-CfpNg3il.js';
1
+ import { V as disableHostAkmSharing, a8 as getHostAkmSharingStatus, Y as enableHostAkmSharing } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, k as jsonResponse } from './helpers-9U7R7yqL.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
24
+ import './endpoints-CnnGlw2U.js';
25
+ import './features-BUWlozR5.js';
26
26
 
27
27
  //#region src/routes/api/host/akm/host-sharing/+server.ts
28
28
  var GET = async (event) => {
@@ -58,4 +58,4 @@ var DELETE = async (event) => {
58
58
  };
59
59
 
60
60
  export { DELETE, GET, PUT };
61
- //# sourceMappingURL=_server.ts-C6r0d7SR.js.map
61
+ //# sourceMappingURL=_server.ts-CYhI4sCU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-C6r0d7SR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/akm/host-sharing/_server.ts.js"],"sourcesContent":["import { C as disableHostAkmSharing, T as getHostAkmSharingStatus, w as enableHostAkmSharing } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/akm/host-sharing/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:akm-sharing\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, getHostAkmSharingStatus(getState()), requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:akm-sharing\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst { profilesImported } = enableHostAkmSharing(state);\n\treturn jsonResponse(200, {\n\t\t...getHostAkmSharingStatus(state),\n\t\tprofilesImported\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:akm-sharing\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tdisableHostAkmSharing(state);\n\treturn jsonResponse(200, getHostAkmSharingStatus(state), requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC;AACzE;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC;AACzD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;AACnC,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,MAAM,GAAG,OAAO,KAAK,KAAK;AAC9B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,qBAAqB,CAAC,KAAK,CAAC;AAC7B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;AACpE;;;;"}
1
+ {"version":3,"file":"_server.ts-CYhI4sCU.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/akm/host-sharing/_server.ts.js"],"sourcesContent":["import { C as disableHostAkmSharing, T as getHostAkmSharingStatus, w as enableHostAkmSharing } from \"../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, u as requireAdmin } from \"../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/akm/host-sharing/+server.ts\nvar GET = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:akm-sharing\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\treturn jsonResponse(200, getHostAkmSharingStatus(getState()), requestId);\n};\nvar PUT = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:akm-sharing\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tconst { profilesImported } = enableHostAkmSharing(state);\n\treturn jsonResponse(200, {\n\t\t...getHostAkmSharingStatus(state),\n\t\tprofilesImported\n\t}, requestId);\n};\nvar DELETE = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:akm-sharing\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authError = requireAdmin(event, requestId);\n\tif (authError) return authError;\n\tconst state = getState();\n\tdisableHostAkmSharing(state);\n\treturn jsonResponse(200, getHostAkmSharingStatus(state), requestId);\n};\n//#endregion\nexport { DELETE, GET, PUT };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC;AACzE;AACG,IAAC,GAAG,GAAG,OAAO,KAAK,KAAK;AAC3B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC;AACzD,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC;AACnC,EAAE;AACF,EAAE,EAAE,SAAS,CAAC;AACd;AACG,IAAC,MAAM,GAAG,OAAO,KAAK,KAAK;AAC9B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACjD,CAAC,IAAI,SAAS,EAAE,OAAO,SAAS;AAChC,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,qBAAqB,CAAC,KAAK,CAAC;AAC7B,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;AACpE;;;;"}
@@ -1,6 +1,6 @@
1
- import { am as loadAutomations, $ as executeAutomation, m as buildAkmEnv } from './src-CQ2F7hgb.js';
2
- import { g as getState } from './state-CsIDHNPN.js';
3
- import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-CfpNg3il.js';
1
+ import { am as loadAutomations, $ as executeAutomation, m as buildAkmEnv } from './src-AHSKeKr0.js';
2
+ import { g as getState } from './state-CzXOEt0t.js';
3
+ import { d as getRequestId, l as requireCapability, r as requireAdmin, e as errorResponse, k as jsonResponse } from './helpers-9U7R7yqL.js';
4
4
  import './chunk-DOvWTNp_.js';
5
5
  import 'node:module';
6
6
  import './network-preset-CJ1RRnki.js';
@@ -21,8 +21,8 @@ import 'assert';
21
21
  import 'zlib';
22
22
  import 'node:assert';
23
23
  import 'node:fs/promises';
24
- import './endpoints-WTxemTcn.js';
25
- import './features-BE2x1a_a.js';
24
+ import './endpoints-CnnGlw2U.js';
25
+ import './features-BUWlozR5.js';
26
26
 
27
27
  //#region src/routes/api/host/automations/[name]/run/+server.ts
28
28
  var SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\.ya?ml)?$/;
@@ -47,4 +47,4 @@ var POST = async (event) => {
47
47
  };
48
48
 
49
49
  export { POST };
50
- //# sourceMappingURL=_server.ts-Bm2nv-W4.js.map
50
+ //# sourceMappingURL=_server.ts-CZluUZ23.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts-Bm2nv-W4.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/automations/_name_/run/_server.ts.js"],"sourcesContent":["import { h as loadAutomations, m as executeAutomation, v as buildAkmEnv } from \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/automations/[name]/run/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:write\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tif (!loadAutomations(state.stashDir).some((c) => c.name === taskId)) return errorResponse(404, \"not_found\", `Automation '${taskId}' is not installed.`, {}, requestId);\n\tconst result = await executeAutomation(taskId, buildAkmEnv(state));\n\treturn jsonResponse(202, {\n\t\tok: result.ok,\n\t\tname: taskId,\n\t\tstatus: result.status,\n\t\terror: result.error ?? null\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAC/C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvK,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;AACf,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI;AACzB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}
1
+ {"version":3,"file":"_server.ts-CZluUZ23.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/host/automations/_name_/run/_server.ts.js"],"sourcesContent":["import { h as loadAutomations, m as executeAutomation, v as buildAkmEnv } from \"../../../../../../../chunks/src.js\";\nimport { t as getState } from \"../../../../../../../chunks/state.js\";\nimport { a as getRequestId, c as jsonResponse, d as requireCapability, r as errorResponse, u as requireAdmin } from \"../../../../../../../chunks/helpers.js\";\n//#region src/routes/api/host/automations/[name]/run/+server.ts\nvar SAFE_NAME_RE = /^[a-zA-Z0-9._-]+(?:\\.ya?ml)?$/;\nvar POST = async (event) => {\n\tconst requestId = getRequestId(event);\n\tconst capabilityError = requireCapability(event, \"host:stack:write\", requestId);\n\tif (capabilityError) return capabilityError;\n\tconst authErr = requireAdmin(event, requestId);\n\tif (authErr) return authErr;\n\tconst state = getState();\n\tconst rawName = event.params.name ?? \"\";\n\tconst taskId = rawName.replace(/\\.ya?ml$/, \"\");\n\tif (!SAFE_NAME_RE.test(rawName) || rawName.includes(\"..\") || rawName.includes(\"/\")) return errorResponse(400, \"invalid_input\", \"name must match /^[a-zA-Z0-9._-]+$/\", {}, requestId);\n\tif (!loadAutomations(state.stashDir).some((c) => c.name === taskId)) return errorResponse(404, \"not_found\", `Automation '${taskId}' is not installed.`, {}, requestId);\n\tconst result = await executeAutomation(taskId, buildAkmEnv(state));\n\treturn jsonResponse(202, {\n\t\tok: result.ok,\n\t\tname: taskId,\n\t\tstatus: result.status,\n\t\terror: result.error ?? null\n\t}, requestId);\n};\n//#endregion\nexport { POST };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,IAAI,YAAY,GAAG,+BAA+B;AAC/C,IAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AAC5B,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,CAAC;AAChF,CAAC,IAAI,eAAe,EAAE,OAAO,eAAe;AAC5C,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AAC/C,CAAC,IAAI,OAAO,EAAE,OAAO,OAAO;AAC5B,CAAC,MAAM,KAAK,GAAG,QAAQ,EAAE;AACzB,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AAC/C,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,qCAAqC,EAAE,EAAE,EAAE,SAAS,CAAC;AACrL,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,OAAO,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC;AACvK,CAAC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC,OAAO,YAAY,CAAC,GAAG,EAAE;AAC1B,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE;AACf,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;AACvB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI;AACzB,EAAE,EAAE,SAAS,CAAC;AACd;;;;"}