@xopcai/xopc 0.0.87 → 0.0.89

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 (282) hide show
  1. package/README.md +8 -1
  2. package/README.zh-CN.md +8 -1
  3. package/dist/browser-ext/manifest.json +1 -1
  4. package/dist/extensions/telegram/xopc.extension.json +1 -1
  5. package/dist/gateway/static/root/assets/agents-B6PJB07W.js +222 -0
  6. package/dist/gateway/static/root/assets/apps-page-BOr0B1wv.js +1 -0
  7. package/dist/gateway/static/root/assets/channels-settings-BelUKggl.js +1 -0
  8. package/dist/gateway/static/root/assets/{channels-status-swr-BSHqqCF1.js → channels-status-swr-DaHGkRF1.js} +1 -1
  9. package/dist/gateway/static/root/assets/cron-api-CjOg-BIj.js +1 -0
  10. package/dist/gateway/static/root/assets/cron-page-DhoZmZXb.js +1 -0
  11. package/dist/gateway/static/root/assets/{dist-Cmjp2APP.js → dist-6LecgDx5.js} +1 -1
  12. package/dist/gateway/static/root/assets/{extension-debug-page-CFa9z_1N.js → extension-debug-page-CtuKJ9tE.js} +1 -1
  13. package/dist/gateway/static/root/assets/{extension-page-BI8eaTPq.js → extension-page-ykzjOkR5.js} +1 -1
  14. package/dist/gateway/static/root/assets/extension-settings-page-Ce2qrdpO.js +1 -0
  15. package/dist/gateway/static/root/assets/{fetch-DRqwef_Q.js → fetch-C9FFJjuH.js} +1 -1
  16. package/dist/gateway/static/root/assets/{field-primitives-BiNHBo2Y.js → field-primitives-BFcrNeTU.js} +1 -1
  17. package/dist/gateway/static/root/assets/{heartbeat-config-api-ZRb8qhuz.js → heartbeat-config-api-CEg4Vr9R.js} +1 -1
  18. package/dist/gateway/static/root/assets/{index-Cu7bKuUi.js → index-CZfy9oxs.js} +85 -85
  19. package/dist/gateway/static/root/assets/index-CiN1cQiQ.css +1 -0
  20. package/dist/gateway/static/root/assets/logs-page-BwWLfqvd.js +1 -0
  21. package/dist/gateway/static/root/assets/sessions-page-DV5WN8uk.js +1 -0
  22. package/dist/gateway/static/root/assets/{settings-form-section-DiqqVs6m.js → settings-form-section-BqdzA28u.js} +1 -1
  23. package/dist/gateway/static/root/assets/settings-page-CfOBRbPX.js +3 -0
  24. package/dist/gateway/static/root/assets/{share-preview-page-n1Gprylk.js → share-preview-page-Di5Bzh4g.js} +1 -1
  25. package/dist/gateway/static/root/assets/skills-page-D0H5Kaxg.js +2 -0
  26. package/dist/gateway/static/root/assets/{theme-store-CZOh1nT3.js → theme-store-CNqbmTNV.js} +1 -1
  27. package/dist/gateway/static/root/assets/url-aYn-Rj1C.js +7 -0
  28. package/dist/gateway/static/root/assets/{utils-CkWBfxs4.js → utils-BWm2tG2w.js} +1 -1
  29. package/dist/gateway/static/root/assets/voice-api-key-field-X2UfnHeq.js +1 -0
  30. package/dist/gateway/static/root/assets/workflows-page-BOPpO3NG.js +27 -0
  31. package/dist/gateway/static/root/index.html +5 -5
  32. package/dist/package.js +1 -1
  33. package/dist/src/agent/agent-manager.d.ts +2 -0
  34. package/dist/src/agent/agent-manager.js +1 -0
  35. package/dist/src/agent/agent-manager.js.map +1 -1
  36. package/dist/src/agent/child-agent-factory.d.ts +15 -0
  37. package/dist/src/agent/child-agent-factory.js +35 -2
  38. package/dist/src/agent/child-agent-factory.js.map +1 -1
  39. package/dist/src/agent/client-error-format.d.ts +20 -0
  40. package/dist/src/agent/client-error-format.js +97 -0
  41. package/dist/src/agent/client-error-format.js.map +1 -0
  42. package/dist/src/agent/embedded/run-turn.js +23 -4
  43. package/dist/src/agent/embedded/run-turn.js.map +1 -1
  44. package/dist/src/agent/goals/goal-locale.d.ts +1 -1
  45. package/dist/src/agent/inbound/turn-dispatcher.js +1 -1
  46. package/dist/src/agent/inbound/turn-dispatcher.js.map +1 -1
  47. package/dist/src/agent/orchestration/llm-turn-retry.d.ts +2 -0
  48. package/dist/src/agent/orchestration/llm-turn-retry.js +9 -1
  49. package/dist/src/agent/orchestration/llm-turn-retry.js.map +1 -1
  50. package/dist/src/agent/service/process-direct-streaming.js +19 -3
  51. package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
  52. package/dist/src/agent/service/webchat-tts.d.ts +1 -2
  53. package/dist/src/agent/service/webchat-tts.js +1 -1
  54. package/dist/src/agent/service/webchat-tts.js.map +1 -1
  55. package/dist/src/agent/service.js +2 -1
  56. package/dist/src/agent/service.js.map +1 -1
  57. package/dist/src/agent/service.types.d.ts +3 -1
  58. package/dist/src/agent/tools/cronjob-tool.js +2 -1
  59. package/dist/src/agent/tools/cronjob-tool.js.map +1 -1
  60. package/dist/src/agent/tools/factory.d.ts +3 -0
  61. package/dist/src/agent/tools/factory.js +2 -23
  62. package/dist/src/agent/tools/factory.js.map +1 -1
  63. package/dist/src/agent/tools/workflow-tool.d.ts +6 -28
  64. package/dist/src/agent/tools/workflow-tool.js +61 -213
  65. package/dist/src/agent/tools/workflow-tool.js.map +1 -1
  66. package/dist/src/agent/workflow/agent-progress.d.ts +5 -0
  67. package/dist/src/agent/workflow/agent-progress.js +65 -0
  68. package/dist/src/agent/workflow/agent-progress.js.map +1 -0
  69. package/dist/src/agent/workflow/builtins/audit-repo.d.ts +1 -1
  70. package/dist/src/agent/workflow/builtins/audit-repo.js +14 -0
  71. package/dist/src/agent/workflow/builtins/audit-repo.js.map +1 -1
  72. package/dist/src/agent/workflow/builtins/debug-incident.d.ts +1 -1
  73. package/dist/src/agent/workflow/builtins/debug-incident.js +14 -0
  74. package/dist/src/agent/workflow/builtins/debug-incident.js.map +1 -1
  75. package/dist/src/agent/workflow/builtins/implementation-plan.d.ts +12 -0
  76. package/dist/src/agent/workflow/builtins/implementation-plan.js +175 -0
  77. package/dist/src/agent/workflow/builtins/implementation-plan.js.map +1 -0
  78. package/dist/src/agent/workflow/builtins/index.d.ts +3 -1
  79. package/dist/src/agent/workflow/builtins/index.js +11 -1
  80. package/dist/src/agent/workflow/builtins/index.js.map +1 -1
  81. package/dist/src/agent/workflow/builtins/multi-perspective-review.d.ts +1 -1
  82. package/dist/src/agent/workflow/builtins/multi-perspective-review.js +14 -0
  83. package/dist/src/agent/workflow/builtins/multi-perspective-review.js.map +1 -1
  84. package/dist/src/agent/workflow/builtins/pr-review.d.ts +1 -1
  85. package/dist/src/agent/workflow/builtins/pr-review.js +14 -0
  86. package/dist/src/agent/workflow/builtins/pr-review.js.map +1 -1
  87. package/dist/src/agent/workflow/builtins/release-check.d.ts +11 -0
  88. package/dist/src/agent/workflow/builtins/release-check.js +165 -0
  89. package/dist/src/agent/workflow/builtins/release-check.js.map +1 -0
  90. package/dist/src/agent/workflow/builtins/research.d.ts +1 -1
  91. package/dist/src/agent/workflow/builtins/research.js +14 -0
  92. package/dist/src/agent/workflow/builtins/research.js.map +1 -1
  93. package/dist/src/agent/workflow/index.d.ts +2 -1
  94. package/dist/src/agent/workflow/index.js +3 -2
  95. package/dist/src/agent/workflow/meta-locale.d.ts +12 -0
  96. package/dist/src/agent/workflow/meta-locale.js +62 -0
  97. package/dist/src/agent/workflow/meta-locale.js.map +1 -0
  98. package/dist/src/agent/workflow/parser.js +3 -0
  99. package/dist/src/agent/workflow/parser.js.map +1 -1
  100. package/dist/src/agent/workflow/runtime.d.ts +2 -2
  101. package/dist/src/agent/workflow/runtime.js +21 -14
  102. package/dist/src/agent/workflow/runtime.js.map +1 -1
  103. package/dist/src/agent/workflow/snapshot.js +2 -12
  104. package/dist/src/agent/workflow/snapshot.js.map +1 -1
  105. package/dist/src/agent/workflow/step-labels.d.ts +8 -0
  106. package/dist/src/agent/workflow/step-labels.js +48 -0
  107. package/dist/src/agent/workflow/step-labels.js.map +1 -0
  108. package/dist/src/agent/workflow/subagent-runner.js +46 -1
  109. package/dist/src/agent/workflow/subagent-runner.js.map +1 -1
  110. package/dist/src/agent/workflow/types.d.ts +74 -1
  111. package/dist/src/agent/workflow/workflow-child-tools.d.ts +4 -0
  112. package/dist/src/agent/workflow/workflow-child-tools.js +21 -0
  113. package/dist/src/agent/workflow/workflow-child-tools.js.map +1 -0
  114. package/dist/src/auth/credentials.d.ts +19 -2
  115. package/dist/src/auth/credentials.js +47 -13
  116. package/dist/src/auth/credentials.js.map +1 -1
  117. package/dist/src/auth/oauth/types.d.ts +16 -0
  118. package/dist/src/cli/commands/auth.js +6 -0
  119. package/dist/src/cli/commands/auth.js.map +1 -1
  120. package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
  121. package/dist/src/cli/commands/onboard/model.js +6 -0
  122. package/dist/src/cli/commands/onboard/model.js.map +1 -1
  123. package/dist/src/config/agent-typed-models.d.ts +18 -0
  124. package/dist/src/config/agent-typed-models.js +53 -0
  125. package/dist/src/config/agent-typed-models.js.map +1 -0
  126. package/dist/src/config/index.js +2 -2
  127. package/dist/src/config/schema.d.ts +52 -0
  128. package/dist/src/config/schema.js +39 -3
  129. package/dist/src/config/schema.js.map +1 -1
  130. package/dist/src/config/voice.d.ts +3 -28
  131. package/dist/src/config/voice.js +27 -261
  132. package/dist/src/config/voice.js.map +1 -1
  133. package/dist/src/cron/executor.d.ts +2 -0
  134. package/dist/src/cron/executor.js +59 -5
  135. package/dist/src/cron/executor.js.map +1 -1
  136. package/dist/src/cron/job-content.js +2 -1
  137. package/dist/src/cron/job-content.js.map +1 -1
  138. package/dist/src/cron/types.d.ts +21 -1
  139. package/dist/src/cron/validation.d.ts +76 -0
  140. package/dist/src/cron/validation.js +26 -1
  141. package/dist/src/cron/validation.js.map +1 -1
  142. package/dist/src/gateway/agents-admin.d.ts +9 -0
  143. package/dist/src/gateway/agents-admin.js +16 -0
  144. package/dist/src/gateway/agents-admin.js.map +1 -1
  145. package/dist/src/gateway/config-tools-web.js +3 -2
  146. package/dist/src/gateway/config-tools-web.js.map +1 -1
  147. package/dist/src/gateway/gateway-workflow-host.types.d.ts +17 -0
  148. package/dist/src/gateway/gateway-workflow-host.types.js +1 -0
  149. package/dist/src/gateway/hono/lib/agent-model.d.ts +7 -0
  150. package/dist/src/gateway/hono/lib/agent-model.js +36 -1
  151. package/dist/src/gateway/hono/lib/agent-model.js.map +1 -1
  152. package/dist/src/gateway/hono/lib/config-payload.js +28 -5
  153. package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
  154. package/dist/src/gateway/hono/lib/mask-secret-length.d.ts +6 -0
  155. package/dist/src/gateway/hono/lib/mask-secret-length.js +16 -0
  156. package/dist/src/gateway/hono/lib/mask-secret-length.js.map +1 -0
  157. package/dist/src/gateway/hono/lib/safe-providers-config.d.ts +1 -1
  158. package/dist/src/gateway/hono/lib/safe-providers-config.js +2 -1
  159. package/dist/src/gateway/hono/lib/safe-providers-config.js.map +1 -1
  160. package/dist/src/gateway/hono/lib/safe-voice-config.js +2 -1
  161. package/dist/src/gateway/hono/lib/safe-voice-config.js.map +1 -1
  162. package/dist/src/gateway/hono/oauth-async.js +40 -15
  163. package/dist/src/gateway/hono/oauth-async.js.map +1 -1
  164. package/dist/src/gateway/hono/oauth.js +31 -6
  165. package/dist/src/gateway/hono/oauth.js.map +1 -1
  166. package/dist/src/gateway/hono/routes/agents.js +1 -1
  167. package/dist/src/gateway/hono/routes/config-patch/agents.js +8 -2
  168. package/dist/src/gateway/hono/routes/config-patch/agents.js.map +1 -1
  169. package/dist/src/gateway/hono/routes/config-patch/gateway.js +3 -2
  170. package/dist/src/gateway/hono/routes/config-patch/gateway.js.map +1 -1
  171. package/dist/src/gateway/hono/routes/config-patch/misc.js +7 -2
  172. package/dist/src/gateway/hono/routes/config-patch/misc.js.map +1 -1
  173. package/dist/src/gateway/hono/routes/config.js +59 -0
  174. package/dist/src/gateway/hono/routes/config.js.map +1 -1
  175. package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
  176. package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
  177. package/dist/src/gateway/hono/routes/models.js +84 -15
  178. package/dist/src/gateway/hono/routes/models.js.map +1 -1
  179. package/dist/src/gateway/hono/routes/voice.js +75 -0
  180. package/dist/src/gateway/hono/routes/voice.js.map +1 -1
  181. package/dist/src/gateway/hono/routes/workflows.d.ts +3 -0
  182. package/dist/src/gateway/hono/routes/workflows.js +226 -0
  183. package/dist/src/gateway/hono/routes/workflows.js.map +1 -0
  184. package/dist/src/gateway/service/run-gateway-agent.js +2 -20
  185. package/dist/src/gateway/service/run-gateway-agent.js.map +1 -1
  186. package/dist/src/gateway/service.d.ts +8 -0
  187. package/dist/src/gateway/service.js +28 -2
  188. package/dist/src/gateway/service.js.map +1 -1
  189. package/dist/src/mcp/channel-bridge.js +1 -1
  190. package/dist/src/providers/index.d.ts +8 -0
  191. package/dist/src/providers/index.js +51 -12
  192. package/dist/src/providers/index.js.map +1 -1
  193. package/dist/src/share/site-share-config.d.ts +3 -2
  194. package/dist/src/share/site-share-config.js.map +1 -1
  195. package/dist/src/tui/tui-agent-events.js +2 -1
  196. package/dist/src/tui/tui-agent-events.js.map +1 -1
  197. package/dist/src/voice/metadata/builtin.d.ts +2 -0
  198. package/dist/src/voice/metadata/builtin.js +420 -0
  199. package/dist/src/voice/metadata/builtin.js.map +1 -0
  200. package/dist/src/voice/metadata/index.d.ts +4 -0
  201. package/dist/src/voice/metadata/index.js +3 -0
  202. package/dist/src/voice/metadata/registry.d.ts +5 -0
  203. package/dist/src/voice/metadata/registry.js +34 -0
  204. package/dist/src/voice/metadata/registry.js.map +1 -0
  205. package/dist/src/voice/metadata/types.d.ts +41 -0
  206. package/dist/src/voice/metadata/types.js +1 -0
  207. package/dist/src/voice/stt/list-providers.d.ts +3 -3
  208. package/dist/src/voice/stt/list-providers.js +41 -6
  209. package/dist/src/voice/stt/list-providers.js.map +1 -1
  210. package/dist/src/voice/tts/list-providers.d.ts +3 -3
  211. package/dist/src/voice/tts/list-providers.js +41 -6
  212. package/dist/src/voice/tts/list-providers.js.map +1 -1
  213. package/dist/src/workflows/domain/command.d.ts +19 -0
  214. package/dist/src/workflows/domain/command.js +1 -0
  215. package/dist/src/workflows/domain/definition-utils.d.ts +14 -0
  216. package/dist/src/workflows/domain/definition-utils.js +50 -0
  217. package/dist/src/workflows/domain/definition-utils.js.map +1 -0
  218. package/dist/src/workflows/domain/definition.d.ts +62 -0
  219. package/dist/src/workflows/domain/definition.js +1 -0
  220. package/dist/src/workflows/domain/event.d.ts +67 -0
  221. package/dist/src/workflows/domain/event.js +1 -0
  222. package/dist/src/workflows/domain/index.d.ts +7 -0
  223. package/dist/src/workflows/domain/index.js +4 -0
  224. package/dist/src/workflows/domain/result.d.ts +65 -0
  225. package/dist/src/workflows/domain/result.js +1 -0
  226. package/dist/src/workflows/domain/run.d.ts +177 -0
  227. package/dist/src/workflows/domain/run.js +14 -0
  228. package/dist/src/workflows/domain/run.js.map +1 -0
  229. package/dist/src/workflows/domain/validation.d.ts +19 -0
  230. package/dist/src/workflows/domain/validation.js +66 -0
  231. package/dist/src/workflows/domain/validation.js.map +1 -0
  232. package/dist/src/workflows/engine/index.d.ts +2 -0
  233. package/dist/src/workflows/engine/index.js +3 -0
  234. package/dist/src/workflows/engine/projector.d.ts +3 -0
  235. package/dist/src/workflows/engine/projector.js +205 -0
  236. package/dist/src/workflows/engine/projector.js.map +1 -0
  237. package/dist/src/workflows/engine/workflow-engine.d.ts +32 -0
  238. package/dist/src/workflows/engine/workflow-engine.js +189 -0
  239. package/dist/src/workflows/engine/workflow-engine.js.map +1 -0
  240. package/dist/src/workflows/index.d.ts +10 -0
  241. package/dist/src/workflows/index.js +18 -0
  242. package/dist/src/workflows/runtime/index.d.ts +1 -0
  243. package/dist/src/workflows/runtime/index.js +4 -0
  244. package/dist/src/workflows/runtime/script-runtime.d.ts +3 -0
  245. package/dist/src/workflows/runtime/script-runtime.js +3 -0
  246. package/dist/src/workflows/service/run-view-to-snapshot.d.ts +4 -0
  247. package/dist/src/workflows/service/run-view-to-snapshot.js +61 -0
  248. package/dist/src/workflows/service/run-view-to-snapshot.js.map +1 -0
  249. package/dist/src/workflows/service/workflow-run-service.d.ts +36 -0
  250. package/dist/src/workflows/service/workflow-run-service.js +279 -0
  251. package/dist/src/workflows/service/workflow-run-service.js.map +1 -0
  252. package/dist/src/workflows/service/workflow-run-service.types.d.ts +47 -0
  253. package/dist/src/workflows/service/workflow-run-service.types.js +1 -0
  254. package/dist/src/workflows/service/workflow-session-bridge.d.ts +29 -0
  255. package/dist/src/workflows/service/workflow-session-bridge.js +177 -0
  256. package/dist/src/workflows/service/workflow-session-bridge.js.map +1 -0
  257. package/dist/src/workflows/service/workflow-session-key.d.ts +3 -0
  258. package/dist/src/workflows/service/workflow-session-key.js +21 -0
  259. package/dist/src/workflows/service/workflow-session-key.js.map +1 -0
  260. package/dist/src/workflows/store/event-store.d.ts +17 -0
  261. package/dist/src/workflows/store/event-store.js +83 -0
  262. package/dist/src/workflows/store/event-store.js.map +1 -0
  263. package/dist/src/workflows/store/paths.d.ts +7 -0
  264. package/dist/src/workflows/store/paths.js +26 -0
  265. package/dist/src/workflows/store/paths.js.map +1 -0
  266. package/dist/src/workflows/store/run-store.d.ts +13 -0
  267. package/dist/src/workflows/store/run-store.js +69 -0
  268. package/dist/src/workflows/store/run-store.js.map +1 -0
  269. package/package.json +5 -5
  270. package/dist/gateway/static/root/assets/agents-BEAbXpuP.js +0 -222
  271. package/dist/gateway/static/root/assets/apps-page-Dg8R-Szf.js +0 -1
  272. package/dist/gateway/static/root/assets/channels-settings-yohw9YSu.js +0 -1
  273. package/dist/gateway/static/root/assets/cron-api-0h_QT8U3.js +0 -1
  274. package/dist/gateway/static/root/assets/cron-page-BkfKFfFk.js +0 -1
  275. package/dist/gateway/static/root/assets/extension-settings-page-x4BB7q1X.js +0 -1
  276. package/dist/gateway/static/root/assets/index-a5gWIdZQ.css +0 -1
  277. package/dist/gateway/static/root/assets/logs-page-BFZ8GgCv.js +0 -1
  278. package/dist/gateway/static/root/assets/sessions-page-CD7AfB-2.js +0 -1
  279. package/dist/gateway/static/root/assets/settings-page-BBOjEQW3.js +0 -3
  280. package/dist/gateway/static/root/assets/skills-page-CcN_gj--.js +0 -2
  281. package/dist/gateway/static/root/assets/url-Dd8Q7kZZ.js +0 -3
  282. package/dist/gateway/static/root/assets/voice-api-key-field-O6awz9hi.js +0 -1
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./url-Dd8Q7kZZ.js";import{o as a}from"./vendor-swr-BIWyz7Rc.js";import{a as o,n as s}from"./fetch-DRqwef_Q.js";import{Ai as c,Ci as l,Gt as u,Ir as d,Ji as f,O as p,S as m,Ti as h,Vi as g,_n as _,er as v,gn as y,ii as b,k as x,nr as S,oa as C,qi as w,tr as ee,wi as T,zt as E}from"./index-Cu7bKuUi.js";var D=`/api/image/providers`;async function O(){return(await s(i(`/api/image/providers`)))?.payload?.providers??[]}var k=e(t(),1),te=n();function A(){return{apiKey:``,region:``,baseUrl:``,imageBaseUrl:``}}function j(e){return e?.apiKey?`••••••••••••`:``}function M(e,t){let n=(()=>{if(!e||typeof e!=`object`||!(`providersConfig`in e))return;let t=e.providersConfig;if(!(!t||typeof t!=`object`||Array.isArray(t)))return t})(),r={};for(let e of t){let t=n?.[e];r[e]={apiKey:j(t),region:t?.region??``,baseUrl:t?.baseUrl??``,imageBaseUrl:t?.imageBaseUrl??``}}return r}function N(e,t,n){let r=e[n].trim();if(r!==t[n].trim())return r||null}function P(e,t){let n=e.trim(),r=t.trim();if(n!==r&&!(m(n)&&m(r)))return n||(r?null:void 0)}function F(e,t,n){let r={};for(let i of e){let e=t[i]??A(),a=n[i]??A();if(JSON.stringify(e)===JSON.stringify(a))continue;let o={},s=P(e.apiKey,a.apiKey);s!==void 0&&(o.apiKey=s);let c=N(e,a,`region`);c!==void 0&&(o.region=c);let l=N(e,a,`baseUrl`);l!==void 0&&(o.baseUrl=l);let u=N(e,a,`imageBaseUrl`);u!==void 0&&(o.imageBaseUrl=u),Object.keys(o).length>0&&(r[i]=o)}return r}async function I(e){let t=await s(i(`/api/image/providers/${encodeURIComponent(e)}/reveal-api-key`),{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`});if(!t.ok||!t.payload)throw Error(t.error?.message??`Reveal failed`);return t.payload}async function L(e){Object.keys(e).length!==0&&(await s(i(`/api/config`),{method:`PATCH`,body:JSON.stringify({providersConfig:e})}),await y())}var R={showKey:!1,revealed:void 0,revealLoading:!1,revealErr:null,copied:!1};function z(e,t){switch(t.type){case`reset-reveal`:return{...e,showKey:!1,revealed:void 0,revealErr:null};case`toggle-show`:return{...e,showKey:!e.showKey};case`reveal-start`:return{...e,revealLoading:!0,revealErr:null};case`reveal-success`:return{...e,revealed:t.value,revealLoading:!1,showKey:!0,revealErr:null};case`reveal-error`:return{...e,revealed:null,revealLoading:!1,revealErr:t.message};case`copied`:return{...e,copied:!0};case`clear-copied`:return{...e,copied:!1};case`invalidate-reveal`:return{...e,revealed:void 0,showKey:!1}}}function ne(e){let{value:t,reveal:n,loadFailedLabel:r}=e,[i,a]=(0,k.useReducer)(z,R),o=m(t),s=(0,k.useRef)(n);s.current=n;let c=(0,k.useRef)({masked:o,value:t});!o&&(c.current.masked||c.current.value!==t)&&a({type:`reset-reveal`}),c.current={masked:o,value:t};let l=o&&i.showKey&&typeof i.revealed==`string`?i.revealed:t,d=!o||o&&i.showKey&&typeof i.revealed==`string`?`text`:`password`,f=!o&&t.trim().length>0&&!m(t)||!!i.showKey&&typeof i.revealed==`string`&&i.revealed.length>0,p=(0,k.useCallback)(async()=>{let e=!o&&t.trim()&&!m(t)?t.trim():typeof i.revealed==`string`&&i.revealed.length>0?i.revealed:``;e&&await u(e)&&(a({type:`copied`}),window.setTimeout(()=>a({type:`clear-copied`}),2e3))},[o,i.revealed,t]),h=(0,k.useCallback)(async()=>{if(!o){a({type:`toggle-show`});return}if(i.revealed!==void 0){a({type:`toggle-show`});return}a({type:`reveal-start`});try{a({type:`reveal-success`,value:await s.current()})}catch(e){a({type:`reveal-error`,message:e instanceof Error?e.message:r})}},[r,o,i.revealed]),g=(0,k.useCallback)((e,t)=>{o&&typeof i.revealed==`string`&&i.showKey&&e!==i.revealed&&a({type:`invalidate-reveal`}),t(e)},[o,i.revealed,i.showKey]);return{masked:o,showKey:i.showKey,revealed:i.revealed,revealLoading:i.revealLoading,revealErr:i.revealErr,copied:i.copied,inputValue:l,inputType:d,copyEnabled:f,copyKey:p,toggleEye:h,onInputChange:g}}var B=r();function V(e){let t=(0,te.c)(64),{providerId:n,value:r,onChange:i,labels:a,apiKeyLinks:o,apiKeyLinkLabels:s}=e,u;t[0]===n?u=t[1]:(u=()=>I(n).then(H),t[0]=n,t[1]=u);let d=u,f;t[2]!==a.loadFailed||t[3]!==d||t[4]!==r?(f={value:r,reveal:d,loadFailedLabel:a.loadFailed},t[2]=a.loadFailed,t[3]=d,t[4]=r,t[5]=f):f=t[5];let{masked:p,showKey:m,revealed:_,revealLoading:y,revealErr:C,copied:w,inputValue:ee,inputType:D,copyEnabled:O,copyKey:k,toggleEye:A,onInputChange:j}=ne(f),M=`img-cred-key-${n}`,N;t[6]!==a.apiKeyLabel||t[7]!==M?(N=(0,B.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:M,children:a.apiKeyLabel}),t[6]=a.apiKeyLabel,t[7]=M,t[8]=N):N=t[8];let P;t[9]!==s||t[10]!==o?(P=o.length>0?(0,B.jsx)(`div`,{className:`flex flex-col gap-1`,children:o.map(e=>(0,B.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex w-fit items-center gap-1 text-xs font-medium text-accent-fg hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[x(e.kind,s),(0,B.jsx)(h,{className:`size-3`,"aria-hidden":!0})]},`${e.kind}-${e.href}`))}):null,t[9]=s,t[10]=o,t[11]=P):P=t[11];let F;t[12]!==a.maskedHelp||t[13]!==p?(F=p?(0,B.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:a.maskedHelp}):null,t[12]=a.maskedHelp,t[13]=p,t[14]=F):F=t[14];let L=`img-cred-key-${n}`,R;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(R=S(`w-full rounded-lg border border-edge bg-surface-panel py-2 pl-3 pr-24 font-mono text-sm text-fg`,`placeholder:text-fg-subtle`,v),t[15]=R):R=t[15];let z=p?`••••••••`:a.optionalPlaceholder,V;t[16]!==i||t[17]!==j?(V=e=>j(e.target.value,i),t[16]=i,t[17]=j,t[18]=V):V=t[18];let U;t[19]!==D||t[20]!==ee||t[21]!==V||t[22]!==L||t[23]!==z?(U=(0,B.jsx)(`input`,{id:L,type:D,autoComplete:`off`,spellCheck:!1,className:R,value:ee,placeholder:z,onChange:V}),t[19]=D,t[20]=ee,t[21]=V,t[22]=L,t[23]=z,t[24]=U):U=t[24];let W;t[25]!==w||t[26]!==O||t[27]!==k||t[28]!==a.copied||t[29]!==a.copy?(W=O?(0,B.jsx)(`button`,{type:`button`,className:S(`rounded p-1.5 text-fg-subtle hover:bg-surface-hover hover:text-fg`,E.transition,E.press,E.focusRingPanel),title:w?a.copied:a.copy,"aria-label":w?a.copied:a.copy,onClick:()=>void k(),children:w?(0,B.jsx)(g,{className:`size-4`}):(0,B.jsx)(c,{className:`size-4`})}):null,t[25]=w,t[26]=O,t[27]=k,t[28]=a.copied,t[29]=a.copy,t[30]=W):W=t[30];let G;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(G=S(`rounded p-1.5 text-fg-subtle hover:bg-surface-hover hover:text-fg disabled:opacity-40`,E.transition,E.press,E.focusRingPanel),t[31]=G):G=t[31];let K=m?a.hide:a.show,q=m?a.hide:a.show,J;t[32]===A?J=t[33]:(J=()=>void A(),t[32]=A,t[33]=J);let re;t[34]!==y||t[35]!==m?(re=y?(0,B.jsx)(b,{className:`size-4 animate-spin`,"aria-hidden":!0}):m?(0,B.jsx)(T,{className:`size-4`,"aria-hidden":!0}):(0,B.jsx)(l,{className:`size-4`,"aria-hidden":!0}),t[34]=y,t[35]=m,t[36]=re):re=t[36];let Y;t[37]!==y||t[38]!==K||t[39]!==q||t[40]!==J||t[41]!==re?(Y=(0,B.jsx)(`button`,{type:`button`,className:G,title:K,"aria-label":q,disabled:y,onClick:J,children:re}),t[37]=y,t[38]=K,t[39]=q,t[40]=J,t[41]=re,t[42]=Y):Y=t[42];let X;t[43]!==W||t[44]!==Y?(X=(0,B.jsxs)(`div`,{className:`absolute right-1 top-1/2 flex -translate-y-1/2 gap-0.5`,children:[W,Y]}),t[43]=W,t[44]=Y,t[45]=X):X=t[45];let ie;t[46]!==U||t[47]!==X?(ie=(0,B.jsxs)(`div`,{className:`relative min-w-0`,children:[U,X]}),t[46]=U,t[47]=X,t[48]=ie):ie=t[48];let Z;t[49]!==a.notInConfigFile||t[50]!==p||t[51]!==C||t[52]!==_||t[53]!==m?(Z=p&&m&&_===null&&!C?(0,B.jsx)(`p`,{className:`text-xs text-amber-700 dark:text-amber-400/90`,children:a.notInConfigFile}):null,t[49]=a.notInConfigFile,t[50]=p,t[51]=C,t[52]=_,t[53]=m,t[54]=Z):Z=t[54];let ae;t[55]===C?ae=t[56]:(ae=C?(0,B.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:C}):null,t[55]=C,t[56]=ae);let oe;return t[57]!==ie||t[58]!==Z||t[59]!==ae||t[60]!==N||t[61]!==P||t[62]!==F?(oe=(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[N,P,F,ie,Z,ae]}),t[57]=ie,t[58]=Z,t[59]=ae,t[60]=N,t[61]=P,t[62]=F,t[63]=oe):oe=t[63],oe}function H(e){return e.apiKey??null}function U(){return S(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,v)}function W(){return S(U(),`appearance-none bg-[length:1rem] bg-[right_0.5rem_center] bg-no-repeat pr-9`)}var G=`__custom__`;function K(e,t){if(!e.region.trim()&&!e.imageBaseUrl.trim())return``;let n=e.region.trim().toLowerCase();return t.some(e=>e.value===n)?n:G}function q(e,t){let n=e.baseUrl.trim().replace(/\/+$/,``);if(!n)return``;let r=t.map(e=>e.value.replace(/\/+$/,``)).indexOf(n);return r>=0?t[r].value:G}function J(e,t,n){return t===`beijing`?e.dashscopeRegion_beijing:t===`singapore`?e.dashscopeRegion_singapore:t===`us`?e.dashscopeRegion_us:n}function re(e,t){return t===`minimax`?e.minimaxClusterLabel:t===`fal`?e.falQueueBaseLabel:e.baseUrlLabel}function Y(e,t){return t===`minimax`?e.minimaxClusterHint:t===`fal`?e.falQueueBaseHint:null}function X(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function ie(e,t){return t===1?e.modelCountOne:e.modelCountMany.replace(`{count}`,String(t))}function Z(e){let t=(0,te.c)(76),{summaries:n,credDraft:r,credBaseline:i,credDirty:a,credSaving:o,credError:s,credSavedFlash:c,credNoopFlash:l,updateCredRow:u,onDiscardCredentials:f,onSaveCredentials:m,extensionIds:g,showExtensionLinks:_,showImageModelsLink:v,hideActions:y,language:x,apiKeyLinkLabels:T,messages:E}=e,D=y===void 0?!1:y,O;t[0]===n?O=t[1]:(O=n.some(le),t[0]=n,t[1]=O);let j=O,M;t[2]===n?M=t[3]:(M=n.some(ce),t[2]=n,t[3]=M);let N=M,[P,F]=(0,k.useState)(se),[I,L]=(0,k.useState)(oe),R;if(t[4]!==i||t[5]!==r||t[6]!==n){R=new Set;for(let e of n)X(r[e.id]??A(),i[e.id]??A())&&R.add(e.id);t[4]=i,t[5]=r,t[6]=n,t[7]=R}else R=t[7];let z=R,ne;t[8]!==z||t[9]!==I||t[10]!==P?(ne=e=>I.has(e)?!1:P.has(e)?!0:z.has(e),t[8]=z,t[9]=I,t[10]=P,t[11]=ne):ne=t[11];let H=ne,Z;t[12]===H?Z=t[13]:(Z=e=>{if(H(e)){L(t=>new Set(t).add(e)),F(t=>{let n=new Set(t);return n.delete(e),n});return}L(t=>{let n=new Set(t);return n.delete(e),n}),F(t=>new Set(t).add(e))},t[12]=H,t[13]=Z);let ue=Z;if(n.length===0)return null;let de;t[14]===E.credentialsIntro?de=t[15]:(de=(0,B.jsx)(`p`,{children:E.credentialsIntro}),t[14]=E.credentialsIntro,t[15]=de);let fe;t[16]!==j||t[17]!==E.regionHint?(fe=j?(0,B.jsx)(`p`,{className:`text-fg-subtle`,children:E.regionHint}):null,t[16]=j,t[17]=E.regionHint,t[18]=fe):fe=t[18];let Q;t[19]!==N||t[20]!==E.endpointPresetsHint?(Q=N?(0,B.jsx)(`p`,{className:`text-fg-subtle`,children:E.endpointPresetsHint}):null,t[19]=N,t[20]=E.endpointPresetsHint,t[21]=Q):Q=t[21];let pe;t[22]!==v||t[23]!==E.imageModelsLinkTitle||t[24]!==E.openImageModelsPage?(pe=v?(0,B.jsx)(`p`,{children:(0,B.jsx)(C,{to:`/settings/image-models`,className:`font-medium text-accent hover:underline`,title:E.imageModelsLinkTitle,children:E.openImageModelsPage})}):null,t[22]=v,t[23]=E.imageModelsLinkTitle,t[24]=E.openImageModelsPage,t[25]=pe):pe=t[25];let me;t[26]!==de||t[27]!==fe||t[28]!==Q||t[29]!==pe?(me=(0,B.jsxs)(`div`,{className:`flex flex-col gap-1 text-xs leading-relaxed text-fg-muted`,children:[de,fe,Q,pe]}),t[26]=de,t[27]=fe,t[28]=Q,t[29]=pe,t[30]=me):me=t[30];let he;t[31]===s?he=t[32]:(he=s?(0,B.jsx)(`div`,{className:`rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:s}):null,t[31]=s,t[32]=he);let ge;t[33]!==a||t[34]!==l||t[35]!==c||t[36]!==o||t[37]!==D||t[38]!==f||t[39]!==m||t[40]!==E.credentialsNothingToSave||t[41]!==E.credentialsSaved||t[42]!==E.discardCredentials||t[43]!==E.saveCredentials||t[44]!==E.savingCredentials?(ge=D?null:(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[c?(0,B.jsx)(`span`,{className:`text-sm text-fg-muted`,children:E.credentialsSaved}):null,l?(0,B.jsx)(`span`,{className:`text-sm text-fg-muted`,children:E.credentialsNothingToSave}):null,(0,B.jsx)(ee,{type:`button`,variant:`secondary`,onClick:f,disabled:!a||o,children:E.discardCredentials}),(0,B.jsx)(ee,{type:`button`,variant:`primary`,onClick:m,disabled:!a||o,children:o?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(b,{className:`size-3.5 animate-spin`}),(0,B.jsx)(`span`,{className:`ml-1.5`,children:E.savingCredentials})]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(d,{className:`size-3.5`}),(0,B.jsx)(`span`,{className:`ml-1.5`,children:E.saveCredentials})]})})]}),t[33]=a,t[34]=l,t[35]=c,t[36]=o,t[37]=D,t[38]=f,t[39]=m,t[40]=E.credentialsNothingToSave,t[41]=E.credentialsSaved,t[42]=E.discardCredentials,t[43]=E.saveCredentials,t[44]=E.savingCredentials,t[45]=ge):ge=t[45];let $;if(t[46]!==T||t[47]!==i||t[48]!==r||t[49]!==g||t[50]!==H||t[51]!==x||t[52]!==_||t[53]!==n||t[54]!==E||t[55]!==ue||t[56]!==u){let e;t[58]!==T||t[59]!==i||t[60]!==r||t[61]!==g||t[62]!==H||t[63]!==x||t[64]!==_||t[65]!==E||t[66]!==ue||t[67]!==u?(e=e=>{let t=r[e.id]??A(),n=e.ui,a=_&&g.has(e.id)?`/settings/ext/${encodeURIComponent(e.id)}`:null,o=X(t,i[e.id]??A()),s=H(e.id),c=e.label??e.id,l=ie(E,e.models.length);return(0,B.jsxs)(`section`,{className:S(`overflow-hidden rounded-xl border bg-surface-panel shadow-sm transition-colors dark:shadow-none`,o?`border-accent/50`:`border-edge`),children:[(0,B.jsxs)(`button`,{type:`button`,className:`flex w-full items-start justify-between gap-3 px-4 py-3 text-left hover:bg-surface-hover/70`,"aria-expanded":s,"aria-controls":`img-provider-credentials-${e.id}`,onClick:()=>ue(e.id),children:[(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,B.jsx)(`span`,{className:`truncate text-sm font-semibold text-fg`,children:c}),(0,B.jsx)(`span`,{className:`rounded-full bg-surface-subtle px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:e.id}),o?(0,B.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:E.unsavedChanges}):null,e.configured?(0,B.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:E.configured}):(0,B.jsx)(`span`,{className:`rounded-full border border-amber-500/40 bg-amber-500/10 px-2 py-0.5 text-[11px] font-medium text-amber-700 dark:text-amber-300`,children:E.missingKey})]}),(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-xs text-fg-subtle`,children:[(0,B.jsx)(`span`,{children:l}),e.defaultModel?(0,B.jsxs)(`span`,{className:`min-w-0 truncate`,children:[(0,B.jsxs)(`span`,{className:`text-fg-muted`,children:[E.defaultModel,`:`]}),` `,e.id,`/`,e.defaultModel]}):null]})]}),(0,B.jsx)(w,{className:S(`mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform`,s?`rotate-180`:`rotate-0`),"aria-hidden":`true`}),(0,B.jsx)(`span`,{className:`sr-only`,children:s?E.collapseProvider:E.expandProvider})]}),s?(0,B.jsxs)(`div`,{id:`img-provider-credentials-${e.id}`,className:`border-t border-edge px-4 py-4`,children:[a?(0,B.jsxs)(C,{to:a,className:`mb-3 inline-flex items-center gap-1 text-xs font-medium text-accent hover:underline`,title:E.extensionSettingsLinkTitle,children:[(0,B.jsx)(h,{className:`size-3`}),E.openExtensionSettings]}):null,e.models.length>0?(0,B.jsxs)(`p`,{className:`mb-3 text-xs leading-relaxed text-fg-subtle`,children:[(0,B.jsxs)(`span`,{className:`text-fg-muted`,children:[E.modelsLabel,`:`]}),` `,e.models.map(t=>`${e.id}/${t}`).join(`, `)]}):null,(0,B.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,B.jsx)(V,{providerId:e.id,value:t.apiKey,onChange:t=>u(e.id,{apiKey:t}),apiKeyLinks:p(e.id,x),apiKeyLinkLabels:T,labels:{apiKeyLabel:E.apiKeyLabel,optionalPlaceholder:E.optionalPlaceholder,maskedHelp:E.apiKeyMaskedHelp,copy:E.apiKeyCopy,copied:E.apiKeyCopied,show:E.apiKeyShow,hide:E.apiKeyHide,notInConfigFile:E.apiKeyNotInConfigFile,loadFailed:E.apiKeyRevealFailed}}),n?.regions?.length?(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,B.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-region-preset-${e.id}`,children:E.regionLabel}),(0,B.jsxs)(`select`,{id:`img-cred-region-preset-${e.id}`,className:W(),value:K(t,n.regions),onChange:t=>{let r=t.target.value;if(r===``){u(e.id,{region:``,imageBaseUrl:``});return}if(r===G){u(e.id,{region:``,imageBaseUrl:``});return}let i=n.regions.find(e=>e.value===r);i&&u(e.id,{region:i.value,imageBaseUrl:i.imageBaseUrl})},children:[(0,B.jsx)(`option`,{value:``,children:E.regionPresetDefault}),n.regions.map(e=>(0,B.jsx)(`option`,{value:e.value,children:J(E,e.value,e.label)},e.value)),(0,B.jsx)(`option`,{value:G,children:E.regionPresetCustom})]}),K(t,n.regions)===G?(0,B.jsxs)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-2`,children:[(0,B.jsx)(`input`,{type:`text`,className:U(),value:t.region,placeholder:`region`,onChange:t=>u(e.id,{region:t.target.value})}),(0,B.jsx)(`input`,{type:`url`,className:U(),value:t.imageBaseUrl,placeholder:E.imageBaseUrlLabel,onChange:t=>u(e.id,{imageBaseUrl:t.target.value})})]}):null]}):null,n?.baseUrlPresets?.length?(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,B.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-base-preset-${e.id}`,children:re(E,n.baseUrlPresetKind)}),Y(E,n.baseUrlPresetKind)?(0,B.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:Y(E,n.baseUrlPresetKind)}):null,(0,B.jsxs)(`select`,{id:`img-cred-base-preset-${e.id}`,className:W(),value:q(t,n.baseUrlPresets),onChange:t=>{let n=t.target.value;if(n===``){u(e.id,{baseUrl:``});return}if(n===G){u(e.id,{baseUrl:``});return}u(e.id,{baseUrl:n.replace(/\/+$/,``)})},children:[(0,B.jsx)(`option`,{value:``,children:E.baseUrlPresetDefault}),n.baseUrlPresets.map(ae),(0,B.jsx)(`option`,{value:G,children:E.baseUrlPresetCustom})]}),q(t,n.baseUrlPresets)===G?(0,B.jsx)(`input`,{type:`url`,className:S(U(),`mt-2`),value:t.baseUrl,placeholder:`https://…`,onChange:t=>u(e.id,{baseUrl:t.target.value})}):null]}):null,n?.regions?.length&&K(t,n.regions)!==G?(0,B.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,B.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-imgbase-ro-${e.id}`,children:E.imageBaseUrlLabel}),(0,B.jsx)(`input`,{id:`img-cred-imgbase-ro-${e.id}`,type:`url`,readOnly:!0,className:S(U(),`cursor-not-allowed opacity-90`),value:t.imageBaseUrl,title:E.imageBaseUrlPresetHint}),(0,B.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:E.imageBaseUrlPresetHint})]}):null]})]}):null]},e.id)},t[58]=T,t[59]=i,t[60]=r,t[61]=g,t[62]=H,t[63]=x,t[64]=_,t[65]=E,t[66]=ue,t[67]=u,t[68]=e):e=t[68],$=n.map(e),t[46]=T,t[47]=i,t[48]=r,t[49]=g,t[50]=H,t[51]=x,t[52]=_,t[53]=n,t[54]=E,t[55]=ue,t[56]=u,t[57]=$}else $=t[57];let _e;t[69]===$?_e=t[70]:(_e=(0,B.jsx)(`div`,{className:`flex flex-col gap-4`,children:$}),t[69]=$,t[70]=_e);let ve;return t[71]!==me||t[72]!==he||t[73]!==ge||t[74]!==_e?(ve=(0,B.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[me,he,ge,_e]}),t[71]=me,t[72]=he,t[73]=ge,t[74]=_e,t[75]=ve):ve=t[75],ve}function ae(e){return(0,B.jsx)(`option`,{value:e.value,children:e.label},e.value)}function oe(){return new Set}function se(){return new Set}function ce(e){return(e.ui?.baseUrlPresets?.length??0)>0}function le(e){return(e.ui?.regions?.length??0)>0}function ue(e){let t=_(o(e=>!!e.token)),n=t.data,r=(0,k.useMemo)(()=>e.map(e=>e.id),[e]),s=(0,k.useRef)(!1),[c,l]=(0,k.useState)(null),[u,d]=(0,k.useState)(!1),[f,p]=(0,k.useState)(null),[m,h]=(0,k.useState)(!1),[g,v]=(0,k.useState)(!1),y=(0,k.useMemo)(()=>M(n?.payload?.config,r),[n?.payload?.config,r]),b=c??y,x=y;return{gwSwr:t,credDraft:b,credBaseline:x,credDirty:(0,k.useMemo)(()=>JSON.stringify(b)!==JSON.stringify(x),[b,x]),credSaving:u,credError:f,credSavedFlash:m,credNoopFlash:g,updateCredRow:(0,k.useCallback)((e,t)=>{s.current=!0,l(n=>{let r=n??y,i=r[e]??A();return{...r,[e]:{...i,...t}}})},[y]),onDiscardCredentials:(0,k.useCallback)(()=>{s.current=!1,l(null),p(null),h(!1),v(!1)},[]),saveCredentials:(0,k.useCallback)(async e=>{let n=F(r,b,x);if(Object.keys(n).length===0){v(!0),window.setTimeout(()=>v(!1),2200);return}d(!0),p(null),h(!1);try{await L(n),await t.mutate?.(),a(i(D)),s.current=!1,l(null),h(!0),window.setTimeout(()=>h(!1),2e3)}catch(t){p(t instanceof Error?t.message:e)}finally{d(!1)}},[r,b,x,t])}}function de(){return{enabled:!1,provider:`alibaba`,alibaba:{model:`paraformer-v2`},openai:{model:`whisper-1`},fallback:{enabled:!0,order:[`alibaba`,`openai`]}}}function fe(){return{enabled:!1,provider:`openai`,trigger:`always`,maxTextLength:512,timeoutMs:6e4,alibaba:{model:`qwen-tts`,voice:`Cherry`},openai:{model:`tts-1`,voice:`alloy`},edge:{voice:`en-US-MichelleNeural`},minimax:{model:`speech-2.8-hd`,voice:`male-qn-qingse`},"tts-local-cli":{command:``,outputFormat:`wav`}}}function Q(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function pe(e){return typeof e==`string`&&e.trim().length>0?e.trim():`alibaba`}function me(e){let t=de();if(!Q(e))return t;let n=pe(e.provider),r=Q(e.alibaba)?{...t.alibaba,...e.alibaba}:t.alibaba,i=Q(e.openai)?{...t.openai,...e.openai}:t.openai,a=t.fallback??{enabled:!0,order:[`alibaba`,`openai`]};if(Q(e.fallback)){let t=Array.isArray(e.fallback.order)?e.fallback.order.filter(e=>typeof e==`string`&&e.trim().length>0):a.order;a={enabled:typeof e.fallback.enabled==`boolean`?e.fallback.enabled:a.enabled,order:t.length?t:a.order}}let o=Q(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,Q(t)?{...t}:{}])):void 0;return{enabled:!!e.enabled,provider:n,alibaba:r,openai:i,...o?{providers:o}:{},fallback:a}}function he(e){return typeof e==`string`&&e.trim().length>0?e.trim():`openai`}function ge(e){let t=fe();if(!Q(e))return t;let n=he(e.provider),r=e.trigger===`off`||e.trigger===`always`||e.trigger===`inbound`||e.trigger===`tagged`?e.trigger:`always`,i=e[`tts-local-cli`];return{enabled:!!e.enabled,provider:n,trigger:r,maxTextLength:typeof e.maxTextLength==`number`&&Number.isFinite(e.maxTextLength)?e.maxTextLength:t.maxTextLength,timeoutMs:typeof e.timeoutMs==`number`&&Number.isFinite(e.timeoutMs)?e.timeoutMs:t.timeoutMs,alibaba:Q(e.alibaba)?{...t.alibaba,...e.alibaba}:t.alibaba,openai:Q(e.openai)?{...t.openai,...e.openai}:t.openai,edge:Q(e.edge)?{...t.edge,...e.edge}:t.edge,minimax:Q(e.minimax)?{...t.minimax,...e.minimax}:t.minimax,"tts-local-cli":Q(i)?{...t[`tts-local-cli`],...i}:t[`tts-local-cli`]}}function $(e){let t=Q(e)?e:{};return{stt:me(t.stt),tts:ge(t.tts)}}async function _e(){return $((await s(i(`/api/config`))).payload?.config??{})}async function ve(e){await s(i(`/api/config`),{method:`PATCH`,body:JSON.stringify({stt:e.stt,tts:e.tts})}),y()}async function ye(){let e=await s(i(`/api/voice/models`));if(!e.payload?.models)throw Error(`Missing voice models payload`);return e.payload.models}async function be(){let e=await s(i(`/api/voice/providers`));if(!e.payload?.providers)throw Error(`Missing voice providers payload`);return e.payload}async function xe(){let e=await s(i(`/api/voice/stt-providers`));if(!e.payload?.providers)throw Error(`Missing STT providers payload`);return e.payload}async function Se(e){let t=await s(i(`/api/voice/reveal-api-key`),{method:`POST`,body:JSON.stringify(e)});if(!t.payload)throw Error(`Missing reveal payload`);return t.payload}function Ce(e){let t=(0,te.c)(56),{kind:n,providerId:r,fieldId:i,value:a,onChange:o,labels:s,placeholder:u,className:d}=e,p=u===void 0?`sk-...`:u,m;t[0]!==n||t[1]!==r?(m=()=>Se({kind:n,provider:r}).then(we),t[0]=n,t[1]=r,t[2]=m):m=t[2];let h=m,g;t[3]!==s.loadFailed||t[4]!==h||t[5]!==a?(g={value:a,reveal:h,loadFailedLabel:s.loadFailed},t[3]=s.loadFailed,t[4]=h,t[5]=a,t[6]=g):g=t[6];let{masked:_,showKey:y,revealed:x,revealLoading:C,revealErr:w,copied:E,inputValue:D,inputType:O,copyEnabled:k,copyKey:A,toggleEye:j,onInputChange:M}=ne(g),N;t[7]===d?N=t[8]:(N=S(`flex min-w-0 flex-col gap-1.5`,d),t[7]=d,t[8]=N);let P;t[9]!==s.maskedHelp||t[10]!==_?(P=_?(0,B.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:s.maskedHelp}):null,t[9]=s.maskedHelp,t[10]=_,t[11]=P):P=t[11];let F;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(F=S(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-fg`,`placeholder:text-fg-subtle`,v,`dark:border-edge`,`min-w-0 flex-1 font-mono text-xs`),t[12]=F):F=t[12];let I=_?`••••••••`:p,L;t[13]!==o||t[14]!==M?(L=e=>M(e.target.value,o),t[13]=o,t[14]=M,t[15]=L):L=t[15];let R;t[16]!==i||t[17]!==O||t[18]!==D||t[19]!==I||t[20]!==L?(R=(0,B.jsx)(`input`,{id:i,type:O,autoComplete:`off`,spellCheck:!1,className:F,value:D,placeholder:I,onChange:L}),t[16]=i,t[17]=O,t[18]=D,t[19]=I,t[20]=L,t[21]=R):R=t[21];let z;t[22]!==E||t[23]!==k||t[24]!==A||t[25]!==s.copied||t[26]!==s.copy?(z=k?(0,B.jsxs)(ee,{type:`button`,variant:`secondary`,className:`px-2 py-1 text-xs`,onClick:()=>void A(),children:[E?(0,B.jsx)(f,{className:`size-3.5`}):(0,B.jsx)(c,{className:`size-3.5`}),E?s.copied:s.copy]}):null,t[22]=E,t[23]=k,t[24]=A,t[25]=s.copied,t[26]=s.copy,t[27]=z):z=t[27];let V;t[28]===j?V=t[29]:(V=()=>void j(),t[28]=j,t[29]=V);let H;t[30]!==C||t[31]!==y?(H=C?(0,B.jsx)(b,{className:`size-3.5 animate-spin`,"aria-hidden":!0}):y?(0,B.jsx)(T,{className:`size-3.5`}):(0,B.jsx)(l,{className:`size-3.5`}),t[30]=C,t[31]=y,t[32]=H):H=t[32];let U=y?s.hide:s.show,W;t[33]!==C||t[34]!==V||t[35]!==H||t[36]!==U?(W=(0,B.jsxs)(ee,{type:`button`,variant:`secondary`,className:`px-2 py-1 text-xs`,disabled:C,onClick:V,children:[H,U]}),t[33]=C,t[34]=V,t[35]=H,t[36]=U,t[37]=W):W=t[37];let G;t[38]!==z||t[39]!==W||t[40]!==R?(G=(0,B.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[R,z,W]}),t[38]=z,t[39]=W,t[40]=R,t[41]=G):G=t[41];let K;t[42]!==s.notInConfigFile||t[43]!==_||t[44]!==w||t[45]!==x||t[46]!==y?(K=_&&y&&x===null&&!w?(0,B.jsx)(`p`,{className:`text-xs text-amber-700 dark:text-amber-400/90`,children:s.notInConfigFile}):null,t[42]=s.notInConfigFile,t[43]=_,t[44]=w,t[45]=x,t[46]=y,t[47]=K):K=t[47];let q;t[48]===w?q=t[49]:(q=w?(0,B.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:w}):null,t[48]=w,t[49]=q);let J;return t[50]!==G||t[51]!==K||t[52]!==q||t[53]!==N||t[54]!==P?(J=(0,B.jsxs)(`div`,{className:N,children:[P,G,K,q]}),t[50]=G,t[51]=K,t[52]=q,t[53]=N,t[54]=P,t[55]=J):J=t[55],J}function we(e){return e.apiKey??null}export{xe as a,ue as c,D as d,_e as i,Z as l,ye as n,$ as o,be as r,ve as s,Ce as t,O as u};