@xopcai/xopc 0.0.363 → 0.0.366

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 (217) hide show
  1. package/dist/browser-ext/dist/sidepanel.js +16 -4
  2. package/dist/browser-ext/manifest.json +1 -1
  3. package/dist/extensions/telegram/xopc.extension.json +1 -1
  4. package/dist/gateway/static/root/assets/{activity-store-GvR2gZ0T.js → activity-store-SVmnh__i.js} +1 -1
  5. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-DkcXyPH0.js → agent-avatar-dicebear-CS9lg5h2.js} +1 -1
  6. package/dist/gateway/static/root/assets/{agent-defaults-settings-panel-B-l5AaYN.js → agent-defaults-settings-panel-CvUPtxS4.js} +1 -1
  7. package/dist/gateway/static/root/assets/{agent-plugin-dialog-BY6tPYOK.js → agent-plugin-dialog-1tRxDfjI.js} +1 -1
  8. package/dist/gateway/static/root/assets/{agents-admin-api-BkXb7VEZ.js → agents-admin-api-CVdFV-cU.js} +1 -1
  9. package/dist/gateway/static/root/assets/{agents-CdSEoeje.js → agents-gdT0whx9.js} +3 -3
  10. package/dist/gateway/static/root/assets/{app-management-settings-panel-BtD53cfe.js → app-management-settings-panel-CaxnUxvy.js} +1 -1
  11. package/dist/gateway/static/root/assets/{appearance-settings-BAweWgX_.js → appearance-settings-6NKquG3v.js} +1 -1
  12. package/dist/gateway/static/root/assets/{apps-page-CS6-hrIB.js → apps-page-BoB3MbsB.js} +1 -1
  13. package/dist/gateway/static/root/assets/{archive-plugin-CKe3qAaL.js → archive-plugin-BWtLZtK1.js} +1 -1
  14. package/dist/gateway/static/root/assets/{automations-page-CtE8r9Y2.js → automations-page-CNngHw2c.js} +1 -1
  15. package/dist/gateway/static/root/assets/{automations-workspace-pnMgR4Da.js → automations-workspace-BKHsdiQ8.js} +1 -1
  16. package/dist/gateway/static/root/assets/{binary-plugins-J51oS7-D.js → binary-plugins-fIhH-wg6.js} +1 -1
  17. package/dist/gateway/static/root/assets/{block-editor-D5hf6WcP.js → block-editor-BhstSZNE.js} +1 -1
  18. package/dist/gateway/static/root/assets/{browser-automation-inputs-5B3qAdmb.js → browser-automation-inputs-B6sOBxVA.js} +1 -1
  19. package/dist/gateway/static/root/assets/{browser-automations-page-PZDQlXH4.js → browser-automations-page-HZAKkVVt.js} +1 -1
  20. package/dist/gateway/static/root/assets/{browser-settings-page-2YDV-ZWt.js → browser-settings-page-D8IpVQI6.js} +1 -1
  21. package/dist/gateway/static/root/assets/{capabilities-CT_ZW9fT.js → capabilities-C4grvUkw.js} +1 -1
  22. package/dist/gateway/static/root/assets/{capabilities-BKu9BqPe.js → capabilities-CAIQmCrH.js} +1 -1
  23. package/dist/gateway/static/root/assets/{capabilities-page-CB-iX3Fy.js → capabilities-page-DK8FJRW4.js} +2 -2
  24. package/dist/gateway/static/root/assets/{capabilities-settings-panel-BCTuWNaW.js → capabilities-settings-panel-BP2roWcM.js} +1 -1
  25. package/dist/gateway/static/root/assets/{capability-header-actions--aC5XB9E.js → capability-header-actions-BA1M7RRP.js} +1 -1
  26. package/dist/gateway/static/root/assets/{channels-JnAQP1bt.js → channels-EQGCxr8W.js} +1 -1
  27. package/dist/gateway/static/root/assets/{chat-terminal-dock-BFZEpvzn.js → chat-terminal-dock-KS_yk1H7.js} +1 -1
  28. package/dist/gateway/static/root/assets/{computer-settings-page-Dc9ooEM-.js → computer-settings-page-CGBR0KFw.js} +1 -1
  29. package/dist/gateway/static/root/assets/{connector-service-page-1_QB5D-t.js → connector-service-page-CY_3H_l9.js} +1 -1
  30. package/dist/gateway/static/root/assets/{connectors-page-Um_Jy5zh.js → connectors-page-CUOL6JX0.js} +1 -1
  31. package/dist/gateway/static/root/assets/{date-picker-C9ZqTPui.js → date-picker-CDSZ-PWV.js} +1 -1
  32. package/dist/gateway/static/root/assets/{dependency-picker-DBz0Pmyr.js → dependency-picker-CyNH4m20.js} +1 -1
  33. package/dist/gateway/static/root/assets/{desktop-pet-BLtp2MmX.js → desktop-pet-BsZQsQ2_.js} +1 -1
  34. package/dist/gateway/static/root/assets/{desktop-pet-settings-BNGbqwec.js → desktop-pet-settings-DMgkUy6g.js} +1 -1
  35. package/dist/gateway/static/root/assets/{device-pairing-wizard-7rdo-A7d.js → device-pairing-wizard-JjbUN8y-.js} +1 -1
  36. package/dist/gateway/static/root/assets/{directory-picker-path-field-BnilGgwM.js → directory-picker-path-field-CBTI3tKh.js} +1 -1
  37. package/dist/gateway/static/root/assets/{extension-debug-page-BGyJpRv4.js → extension-debug-page-C7nSpOKj.js} +1 -1
  38. package/dist/gateway/static/root/assets/{extension-page-DsrVktRN.js → extension-page-BYUjAvsZ.js} +1 -1
  39. package/dist/gateway/static/root/assets/{extension-provider-F9JzOWZ3.js → extension-provider-DaLt3bC-.js} +1 -1
  40. package/dist/gateway/static/root/assets/{extension-settings-page-jeb0ytRK.js → extension-settings-page-CRasspq0.js} +1 -1
  41. package/dist/gateway/static/root/assets/{fallback-models-bZcxkEDz.js → fallback-models-BLJFYASE.js} +1 -1
  42. package/dist/gateway/static/root/assets/{gateway-config-swr-CoRoOG1l.js → gateway-config-swr-DIIzvDLQ.js} +1 -1
  43. package/dist/gateway/static/root/assets/{gateway-realtime-D0ygm6bc.js → gateway-realtime-DD70L42G.js} +1 -1
  44. package/dist/gateway/static/root/assets/gateway-realtime-store-DeUVEPPE.js +1 -0
  45. package/dist/gateway/static/root/assets/{gateway-settings-A9SzLsGp.js → gateway-settings-B9n5naCr.js} +1 -1
  46. package/dist/gateway/static/root/assets/{gateway-startup-retry-FDS6S6qa.js → gateway-startup-retry-D_EwU7-6.js} +1 -1
  47. package/dist/gateway/static/root/assets/{home-page-CnHzaH9K.js → home-page-BP6qAgBt.js} +1 -1
  48. package/dist/gateway/static/root/assets/{image-generation-api-BPd76jW5.js → image-generation-api-BkK22JsL.js} +1 -1
  49. package/dist/gateway/static/root/assets/{imports-page-CzpsV6Vz.js → imports-page-YJKcTKKr.js} +1 -1
  50. package/dist/gateway/static/root/assets/index-6JNNrzCq.js +106 -0
  51. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-D90Dvlwo.js → keyboard-shortcuts-settings-BG_kM_Rm.js} +1 -1
  52. package/dist/gateway/static/root/assets/{local-app-workbench-page-_9IKMkV8.js → local-app-workbench-page-lHi21M1T.js} +1 -1
  53. package/dist/gateway/static/root/assets/{local-apps-page-D6gejARs.js → local-apps-page-jqthjcQO.js} +1 -1
  54. package/dist/gateway/static/root/assets/local-session-drafts-C4et6msJ.js +1 -0
  55. package/dist/gateway/static/root/assets/{locale-store-DId6-v2R.js → locale-store-CvNO-hbt.js} +1 -1
  56. package/dist/gateway/static/root/assets/{logs-page--t8d-oLb.js → logs-page-CH7W-dm5.js} +1 -1
  57. package/dist/gateway/static/root/assets/{management-settings-DVDmXzTg.js → management-settings-DVgI_KNm.js} +1 -1
  58. package/dist/gateway/static/root/assets/{markdown-view-DQZ51j9e.js → markdown-view-DDJlD5jR.js} +1 -1
  59. package/dist/gateway/static/root/assets/{media-plugins-XLewwq2q.js → media-plugins-C25mOgs2.js} +1 -1
  60. package/dist/gateway/static/root/assets/messages-pGa2qMzG.js +3 -0
  61. package/dist/gateway/static/root/assets/models-hub-cache-DzFiL4xV.js +1 -0
  62. package/dist/gateway/static/root/assets/{note-detail-panel-DuZAEfU1.js → note-detail-panel-kyX-n1db.js} +3 -3
  63. package/dist/gateway/static/root/assets/{notes-api-Byt65v3r.js → notes-api-CKLw9vjk.js} +1 -1
  64. package/dist/gateway/static/root/assets/{notes-page-CgWNESGp.js → notes-page-CLZygZlm.js} +1 -1
  65. package/dist/gateway/static/root/assets/{oauth-api-BYsCbyGZ.js → oauth-api-CC5KkSgG.js} +1 -1
  66. package/dist/gateway/static/root/assets/{page-context-capture-button-Z72eiQZn.js → page-context-capture-button-KX9mrcJW.js} +1 -1
  67. package/dist/gateway/static/root/assets/{personal-page-BtMatL9a.js → personal-page-DnXlcJNJ.js} +1 -1
  68. package/dist/gateway/static/root/assets/{product-open-page-w5Hdf0hQ.js → product-open-page-D7pknlCh.js} +1 -1
  69. package/dist/gateway/static/root/assets/{project-detail-page-CP6I3ZCV.js → project-detail-page-DhV9DPj8.js} +1 -1
  70. package/dist/gateway/static/root/assets/{projects-page-DYs6XrrK.js → projects-page-D181xkFw.js} +1 -1
  71. package/dist/gateway/static/root/assets/{registry-api-7F2WNEZC.js → registry-api-CiN49wvk.js} +1 -1
  72. package/dist/gateway/static/root/assets/{remote-access-hub-DjYoYAEw.js → remote-access-hub-CQnBARQW.js} +1 -1
  73. package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-Qar_DXLv.js → runtime-tools-settings-panel-wZjlSBiM.js} +1 -1
  74. package/dist/gateway/static/root/assets/{scenes-page-BSIcDCa-.js → scenes-page-DWt54veq.js} +1 -1
  75. package/dist/gateway/static/root/assets/{schema-form-C_cJLGgF.js → schema-form-CMB61TV1.js} +1 -1
  76. package/dist/gateway/static/root/assets/secret-input-D93UrW4C.js +1 -0
  77. package/dist/gateway/static/root/assets/{send-session-input-D1oc6BC6.js → send-session-input-jH6MQwdZ.js} +1 -1
  78. package/dist/gateway/static/root/assets/{session-api-N3N37MrR.js → session-api-CW2X7g_U.js} +1 -1
  79. package/dist/gateway/static/root/assets/{session-manager-CMGUwtbN.js → session-manager-BDpdi3lF.js} +2 -2
  80. package/dist/gateway/static/root/assets/{sessions-page-BBV5Z24a.js → sessions-page-DPEdjUdR.js} +1 -1
  81. package/dist/gateway/static/root/assets/settings-advanced-gate-B6WGnTLY.js +1 -0
  82. package/dist/gateway/static/root/assets/{settings-page-F2vGXBw7.js → settings-page-Ch71KQjb.js} +1 -1
  83. package/dist/gateway/static/root/assets/{setup-status-panel-DJxbjUOg.js → setup-status-panel-C7sLy8Hl.js} +1 -1
  84. package/dist/gateway/static/root/assets/{share-link-dialog-TBBGJPfT.js → share-link-dialog-DCSmx-Rl.js} +1 -1
  85. package/dist/gateway/static/root/assets/{share-preview-page-DyRLPsPv.js → share-preview-page-C93IM3QK.js} +1 -1
  86. package/dist/gateway/static/root/assets/{shares-api-DU0fHP2G.js → shares-api-B4rLfG3l.js} +1 -1
  87. package/dist/gateway/static/root/assets/{shares-settings-CJa6FBpP.js → shares-settings-C_6idV8e.js} +1 -1
  88. package/dist/gateway/static/root/assets/{skill-api-C340XD9d.js → skill-api-sKX8SSlQ.js} +1 -1
  89. package/dist/gateway/static/root/assets/{skill-reload-api-ClyFqHk7.js → skill-reload-api-Ro-s69NW.js} +1 -1
  90. package/dist/gateway/static/root/assets/{skills-page-C4lF94m5.js → skills-page-TsrjLYcI.js} +1 -1
  91. package/dist/gateway/static/root/assets/{system-settings-panel-CmJUu3lb.js → system-settings-panel-DIjaUlla.js} +1 -1
  92. package/dist/gateway/static/root/assets/{task-detail-page-De-Rr8W6.js → task-detail-page-B4Lby289.js} +1 -1
  93. package/dist/gateway/static/root/assets/{theme-store-OhcbFEUR.js → theme-store-DbRLBHVY.js} +1 -1
  94. package/dist/gateway/static/root/assets/tracing-settings-page-IgY26AYH.js +1 -0
  95. package/dist/gateway/static/root/assets/{tunnel-api-Bl4nrCuE.js → tunnel-api-CgARwbus.js} +1 -1
  96. package/dist/gateway/static/root/assets/{usage-page-QZEAaa8n.js → usage-page-CKju62Cm.js} +1 -1
  97. package/dist/gateway/static/root/assets/{use-autosave-veoM0dHn.js → use-autosave-C889OTsP.js} +1 -1
  98. package/dist/gateway/static/root/assets/{use-composer-attachments-DB0bBGzZ.js → use-composer-attachments-Dlm9EFTO.js} +1 -1
  99. package/dist/gateway/static/root/assets/{use-file-preview-expanded-Bope6MW6.js → use-file-preview-expanded-BOpcSApw.js} +2 -2
  100. package/dist/gateway/static/root/assets/{user-model-page-Crh2oNpZ.js → user-model-page-CTkCLRhE.js} +1 -1
  101. package/dist/gateway/static/root/assets/{voice-api-key-field-CwD6a3KQ.js → voice-api-key-field-evWflGY6.js} +1 -1
  102. package/dist/gateway/static/root/assets/{voice-config-api-Daexehmc.js → voice-config-api-CZoV2Lt4.js} +1 -1
  103. package/dist/gateway/static/root/assets/{work-discovery-overlay-9jnjEAaz.js → work-discovery-overlay-B2-2F39_.js} +1 -1
  104. package/dist/gateway/static/root/assets/{workflow-run-setup-panel-BAcPxdcT.js → workflow-run-setup-panel-cOGM8Nug.js} +1 -1
  105. package/dist/gateway/static/root/assets/{workflows-page-D8Zm-ooa.js → workflows-page-Csk8xrRk.js} +1 -1
  106. package/dist/gateway/static/root/assets/{workspace-api-Cs4sjV2A.js → workspace-api-B9M9ECTB.js} +2 -2
  107. package/dist/gateway/static/root/index.html +28 -28
  108. package/dist/package.js +1 -1
  109. package/dist/packages/gateway-contract/src/session-input-command.js +1 -0
  110. package/dist/src/agent/agent-manager.d.ts +1 -0
  111. package/dist/src/agent/agent-manager.js +34 -2
  112. package/dist/src/agent/context/execution-context.js +1 -1
  113. package/dist/src/agent/context/project-context.js +4 -4
  114. package/dist/src/agent/embedded/run-for-session.js +1 -1
  115. package/dist/src/agent/inbound/attachment-pipeline.js +1 -1
  116. package/dist/src/agent/prompt/voice-presentation.d.ts +1 -1
  117. package/dist/src/agent/prompt/voice-presentation.js +1 -1
  118. package/dist/src/agent/service/direct-turn-helpers.js +17 -1
  119. package/dist/src/agent/service.js +2 -2
  120. package/dist/src/agent/tools/delegation-parent-policy.js +2 -0
  121. package/dist/src/agent/tools/delegation-policy.js +2 -0
  122. package/dist/src/agent/tools/factory.d.ts +2 -0
  123. package/dist/src/agent/tools/factory.js +26 -4
  124. package/dist/src/agent/tools/index.d.ts +2 -2
  125. package/dist/src/agent/tools/index.js +3 -3
  126. package/dist/src/agent/tools/knowledge-memory-tool.d.ts +2 -0
  127. package/dist/src/agent/tools/knowledge-memory-tool.js +60 -1
  128. package/dist/src/agent/tools/personal-task-tool.d.ts +12 -8
  129. package/dist/src/agent/tools/personal-task-tool.js +35 -41
  130. package/dist/src/agent/tools/user-context-tool.d.ts +2 -0
  131. package/dist/src/agent/tools/user-context-tool.js +61 -2
  132. package/dist/src/agent-catalog/repository.d.ts +1 -0
  133. package/dist/src/agent-catalog/repository.js +3 -0
  134. package/dist/src/chat-commands/personal-command-policy.d.ts +2 -0
  135. package/dist/src/chat-commands/personal-command-policy.js +9 -0
  136. package/dist/src/chat-commands/registry.js +6 -0
  137. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  138. package/dist/src/gateway/agent-builtin-tools.d.ts +1 -1
  139. package/dist/src/gateway/hono/routes/observability.js +8 -0
  140. package/dist/src/gateway/hono/routes/projects.js +1 -1
  141. package/dist/src/gateway/hono/routes/session-input-handler.d.ts +2 -0
  142. package/dist/src/gateway/hono/routes/session-input-handler.js +8 -0
  143. package/dist/src/gateway/hono/routes/sessions.js +1 -1
  144. package/dist/src/gateway/hono/routes/voice.js +1 -1
  145. package/dist/src/gateway/service/agent-runner.d.ts +1 -0
  146. package/dist/src/gateway/service/agent-runner.js +12 -1
  147. package/dist/src/gateway/service/run-gateway-agent.d.ts +1 -0
  148. package/dist/src/gateway/service/run-gateway-agent.js +15 -0
  149. package/dist/src/gateway/service/session-command-service.js +5 -3
  150. package/dist/src/gateway/service/session-input-coordinator.d.ts +12 -0
  151. package/dist/src/gateway/service/session-input-coordinator.js +63 -5
  152. package/dist/src/gateway/service/sessions-api.js +1 -1
  153. package/dist/src/gateway/service.d.ts +2 -0
  154. package/dist/src/gateway/service.js +28 -14
  155. package/dist/src/gateway/session-context-summary.js +1 -1
  156. package/dist/src/gateway/session-reset-service.js +1 -1
  157. package/dist/src/home-intelligence/host.js +2 -2
  158. package/dist/src/local-apps/service.js +1 -1
  159. package/dist/src/personal-agent/capability-service.js +3 -2
  160. package/dist/src/personal-agent/communication.d.ts +3 -2
  161. package/dist/src/personal-agent/communication.js +5 -4
  162. package/dist/src/personal-agent/conversation-state.d.ts +5 -0
  163. package/dist/src/personal-agent/conversation-state.js +17 -0
  164. package/dist/src/personal-agent/persona.d.ts +6 -0
  165. package/dist/src/personal-agent/persona.js +16 -0
  166. package/dist/src/personal-agent/policy.d.ts +3 -1
  167. package/dist/src/personal-agent/policy.js +26 -6
  168. package/dist/src/personal-agent/prompt-context.d.ts +10 -0
  169. package/dist/src/personal-agent/prompt-context.js +119 -0
  170. package/dist/src/personal-agent/prompts.d.ts +7 -0
  171. package/dist/src/personal-agent/prompts.js +124 -0
  172. package/dist/src/personal-agent/reply-composer.d.ts +22 -0
  173. package/dist/src/personal-agent/reply-composer.js +304 -0
  174. package/dist/src/personal-agent/reply-style.d.ts +2 -0
  175. package/dist/src/personal-agent/reply-style.js +14 -0
  176. package/dist/src/personal-agent/repository.d.ts +1 -1
  177. package/dist/src/personal-agent/repository.js +1 -1
  178. package/dist/src/personal-agent/request-delivery.d.ts +1 -1
  179. package/dist/src/personal-agent/request-delivery.js +18 -4
  180. package/dist/src/personal-agent/request-service.js +3 -3
  181. package/dist/src/personal-agent/service.d.ts +1 -2
  182. package/dist/src/personal-agent/service.js +4 -84
  183. package/dist/src/personal-agent/specialist-capabilities.d.ts +9 -0
  184. package/dist/src/personal-agent/specialist-capabilities.js +37 -0
  185. package/dist/src/session/init-session-turn.js +10 -0
  186. package/dist/src/session/store.js +1 -1
  187. package/dist/src/storage/sqlite/migrations/234_task_result_reply.sql +14 -0
  188. package/dist/src/storage/sqlite/migrations/235_personal_conversation_priority.sql +3 -0
  189. package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
  190. package/dist/src/storage/sqlite/migrations/runner.js +3 -3
  191. package/dist/src/storage/sqlite/schema.js +1 -1
  192. package/dist/src/storage/sqlite/session-input-repository.d.ts +2 -0
  193. package/dist/src/storage/sqlite/session-input-repository.js +18 -5
  194. package/dist/src/tasks/execution-context.js +1 -1
  195. package/dist/src/tasks/task-main-update-decision-service.js +1 -1
  196. package/dist/src/tasks/task-result-delivery-service.js +20 -4
  197. package/dist/src/voice/realtime/agentBroker.js +11 -2
  198. package/dist/src/voice/realtime/agentEngine.js +50 -17
  199. package/dist/src/voice/realtime/engine.d.ts +1 -0
  200. package/dist/src/voice/realtime/omniEngine.d.ts +1 -0
  201. package/dist/src/voice/realtime/omniEngine.js +21 -2
  202. package/dist/src/voice/realtime/playback-echo.d.ts +7 -0
  203. package/dist/src/voice/realtime/playback-echo.js +23 -1
  204. package/dist/src/voice/realtime/runtime.d.ts +1 -0
  205. package/dist/src/voice/realtime/runtime.js +5 -0
  206. package/dist/src/voice/realtime/runtime.types.d.ts +2 -0
  207. package/dist/src/work-discovery/service.js +1 -1
  208. package/dist/src/workflows/service/workflow-run-service.js +1 -1
  209. package/package.json +4 -4
  210. package/dist/gateway/static/root/assets/gateway-realtime-store-DBvCRclh.js +0 -1
  211. package/dist/gateway/static/root/assets/index-BYNmHn-z.js +0 -106
  212. package/dist/gateway/static/root/assets/local-session-drafts-gbemPamv.js +0 -1
  213. package/dist/gateway/static/root/assets/messages-BHvpZNe9.js +0 -3
  214. package/dist/gateway/static/root/assets/models-hub-cache-B9SKjidc.js +0 -1
  215. package/dist/gateway/static/root/assets/secret-input-DPl3VYM8.js +0 -1
  216. package/dist/gateway/static/root/assets/settings-advanced-gate-DRc9IDJf.js +0 -1
  217. package/dist/gateway/static/root/assets/tracing-settings-page-DoBJ0TYY.js +0 -1
@@ -1 +1 @@
1
- import{a as e,c as t,d as n,f as r,g as i,h as ee,i as a,l as o,n as te,o as s,p as c,r as l,s as u,t as d,u as f,v as ne}from"./schemas-CObaziC7.js";import{_ as p,c as re,d as ie,f as m,h as ae,l as h,n as oe,o as g,s as se}from"./tasks-CH6KoBeY.js";import{i as ce,n as _,t as v}from"./local-apps-yys1VChX.js";import{h as y,m as b}from"./local-session-drafts-gbemPamv.js";var x=f({id:c(),kind:d([`task`,`connector_approval`]),title:c(),detail:c().optional(),reason:d([`needs_input`,`blocked`,`user_input`,`user_approval`,`dependency`,`external`,`scheduled`,`retry`,`paused`,`overdue`,`due_soon`,`decision_needed`,`approval_required`]),urgency:d([`now`,`soon`]),href:c(),projectId:c().optional(),projectName:c().optional(),dueAt:o().int().nonnegative().optional(),updatedAt:o(),response:e(`kind`,[f({kind:u(`connector_approval`),approvalId:c()})]).optional()});f({id:c(),kind:d([`automation_run`,`workflow_run`]),runId:c(),title:c(),detail:c(),reason:d([`run_failed`,`run_timeout`]),href:c(),updatedAt:o(),conversationId:c().optional()});var S=e(`type`,[f({type:u(`open`),label:c(),href:c()}),f({type:u(`connector_decision`),label:c(),approvalId:c(),decision:d([`approve`,`deny`])}),f({type:u(`retry_run`),label:c(),subjectKind:d([`automation_run`,`workflow_run`]),runId:c()}),f({type:u(`acknowledge_run`),label:c(),subjectKind:d([`automation_run`,`workflow_run`]),runId:c()})]),C=f({id:c(),kind:d([`decision`,`failure`,`running`,`scheduled`]),title:c(),summary:c(),recommendation:c().optional(),dueAt:o().int().nonnegative().optional(),statusLabel:c().optional(),updatedAt:o(),openAction:S.optional(),primaryAction:S.optional(),secondaryActions:l(S).max(2).default([])}),le=f({conversationId:c(),runId:c(),title:c().optional(),agentId:c().optional(),updatedAt:o()}),ue=r({id:c().trim().min(1).max(300),sourceType:d([`project`,`task`,`conversation`,`scene`,`calendar`,`mail`,`communication`,`file`,`user_model`]),sourceRef:c().trim().min(1).max(1e3),revision:c().trim().min(1).max(300),observation:c().trim().min(1).max(1e3),observedAt:o().int().nonnegative(),freshUntil:o().int().nonnegative(),href:c().trim().min(1).max(2e3).optional()}),de=r({kind:d([`connector`,`skill`,`agent`]),capability:c().trim().min(1).max(200),resolvedId:c().trim().min(1).max(300).optional(),readiness:d([`ready`,`needs_setup`,`unavailable`]),required:a(),recoveryPath:c().trim().min(1).max(2e3).optional(),reason:c().trim().min(1).max(500).optional()}),fe=r({kind:d([`connector`,`skill`,`agent`]),capability:c().trim().min(1).max(200),code:d([`not_installed`,`disabled`,`agent_not_allowed`,`scope_too_narrow`,`connection_missing`,`account_selection_required`,`reauthorization_required`,`requirements_unmet`,`model_invocation_disabled`,`tool_gated`,`agent_unavailable`]),message:c().trim().min(1).max(500),recoveryPath:c().trim().min(1).max(2e3)}),pe=e(`state`,[r({state:u(`ready`)}),r({state:u(`needs_setup`),blockers:l(fe).min(1).max(12),recoveryActions:l(r({capability:c().trim().min(1).max(200),href:c().trim().min(1).max(2e3)})).min(1).max(12),degradedAction:r({mode:u(`degraded_start`)}).optional()})]),w=r({id:c().trim().min(1).max(200),revision:o().int().positive(),kind:d([`project_next_step`,`delivery_risk`,`meeting_prep`,`commitment_follow_up`,`automation_candidate`]),projectId:c().trim().min(1).max(200).optional(),title:c().trim().min(1).max(160),outcome:c().trim().min(1).max(1e3),rationale:c().trim().min(1).max(1500),evidence:l(ue).min(1).max(8),confidence:d([`high`,`medium`,`low`]),urgency:d([`now`,`today`,`this_week`]),estimatedMinutes:o().int().min(1).max(480).optional(),risk:d([`analysis`,`external_read`,`file_write`,`external_write`]),proposedSteps:l(c().trim().min(1).max(500)).min(1).max(6),capabilities:l(de).max(12),verification:l(c().trim().min(1).max(500)).max(8),actionPrompt:c().trim().min(1).max(4e3),degradedActionPrompt:c().trim().min(1).max(4e3).optional(),continuation:e(`kind`,[r({kind:u(`scene`),reason:u(`prior_success`),href:c().trim().min(1).max(2e3)}),r({kind:u(`automation`),reason:u(`repeated_success`),href:c().trim().min(1).max(4e3),successCount:o().int().min(2)})]).optional(),actions:r({canStart:a(),canDiscuss:a(),degradedStartAvailable:a()}),generatedAt:o().int().nonnegative(),expiresAt:o().int().nonnegative()}),me=r({id:c().trim().min(1).max(200),revision:o().int().positive(),question:c().trim().min(1).max(500),options:l(r({id:c().trim().min(1).max(100),label:c().trim().min(1).max(200)})).min(2).max(3),evidenceIds:l(c().trim().min(1).max(300)).min(1).max(8)}),he=e(`state`,[r({state:u(`disabled`)}),r({state:u(`quiet`),reason:d([`no_change`,`insufficient_value`,`model_unavailable`,`generation_failed`,`budget_exhausted`])}),r({state:u(`refreshing`),previous:w.optional(),requestedAt:o().int().nonnegative()}),r({state:u(`clarification`),question:me,generatedAt:o().int().nonnegative(),expiresAt:o().int().nonnegative()}),r({state:u(`ready`),primary:w,alternatives:l(w).max(2),placement:d([`primary`,`compact`]),generatedAt:o().int().nonnegative(),expiresAt:o().int().nonnegative(),stale:a()})]);r({idempotencyKey:c().trim().min(1).max(200),locale:c().trim().max(30).optional()}),r({idempotencyKey:c().trim().min(1).max(200),expectedRevision:o().int().positive(),kind:d([`already_done`,`irrelevant`,`too_early`,`source_incorrect`,`less_like_this`,`snoozed`]),reasonCode:c().trim().min(1).max(100).optional(),note:c().trim().min(1).max(1e3).optional(),snoozedUntil:o().int().nonnegative().optional()}),r({idempotencyKey:c().trim().min(1).max(200)});var ge=r({items:l(r({opportunity:w,status:d([`available`,`started`,`discussing`,`completed`,`snoozed`,`dismissed`,`expired`,`superseded`]),feedbackKind:d([`started`,`discussed`,`already_done`,`irrelevant`,`too_early`,`source_incorrect`,`less_like_this`,`snoozed`]).optional(),updatedAt:o().int().nonnegative(),snoozedUntil:o().int().nonnegative().optional(),href:c().trim().min(1).max(2e3).optional()})).max(100)});r({idempotencyKey:c().trim().min(1).max(200),expectedRevision:o().int().positive(),mode:d([`start`,`degraded_start`,`discuss`])});var _e=e(`outcome`,[r({outcome:u(`task`),taskId:c(),href:c()}),r({outcome:u(`chat_draft`),href:c()}),r({outcome:u(`needs_setup`),preflight:pe})]),ve=f({runningConversations:l(le).default([]),needsUser:l(C),background:l(C),backgroundCount:o().int().nonnegative(),decisions:l(x),advisor:he,attentionPolicy:f({visibleDecisionCount:o().int().nonnegative(),suppressedDecisionCount:o().int().nonnegative(),visibleAttentionCount:o().int().nonnegative(),suppressedAttentionCount:o().int().nonnegative()}).default({visibleDecisionCount:0,suppressedDecisionCount:0,visibleAttentionCount:0,suppressedAttentionCount:0})});r({window:r({since:o().int().nonnegative(),until:o().int().nonnegative()}),currentStrategyVersion:c().trim().min(1).max(100),generations:r({total:o().int().nonnegative(),succeeded:o().int().nonnegative(),quiet:o().int().nonnegative(),failed:o().int().nonnegative(),estimatedCostUsd:o().nonnegative()}),outcomes:r({opportunities:o().int().nonnegative(),started:o().int().nonnegative(),discussed:o().int().nonnegative(),completed:o().int().nonnegative(),corrected:o().int().nonnegative(),expired:o().int().nonnegative()}),rates:r({start:o().min(0).max(1),completionFromStarted:o().min(0).max(1),correction:o().min(0).max(1)}),feedback:r({alreadyDone:o().int().nonnegative(),irrelevant:o().int().nonnegative(),tooEarly:o().int().nonnegative(),sourceIncorrect:o().int().nonnegative(),lessLikeThis:o().int().nonnegative()}),strategies:l(r({version:c().trim().min(1).max(100),generations:o().int().nonnegative(),opportunities:o().int().nonnegative(),started:o().int().nonnegative(),completed:o().int().nonnegative()}))});var ye=f({northStar:f({weeklyTrustedProgress:o(),weeklyActiveUsers:o(),trustedProgressPerWeeklyActiveUser:o()}),tasks:f({total:o(),achieved:o(),partial:o(),notAchieved:o(),userCorrected:o(),achievementRate:o(),correctionRate:o(),trusted:o(),trustedRate:o()})});function be(e){return ve.parse(e)}var xe=e(`kind`,[f({kind:u(`once`),at:c()}),f({kind:u(`interval`),everyMs:o().positive(),anchorMs:o().optional()}),f({kind:u(`cron`),expr:c(),tz:c().optional()})]),T=e(`kind`,[f({kind:u(`manual`)}),f({kind:u(`schedule`),schedule:xe}),f({kind:u(`webhook`),secretId:c().optional()}),f({kind:u(`event`),eventType:c(),source:c().optional(),payloadMatch:n(c(),ee([c(),o(),a(),te()])).optional()})]),E=e(`kind`,[f({kind:u(`agent`),agentId:c().optional(),instruction:c(),workingDirectory:c().optional(),model:c().optional(),timeoutSeconds:o().positive().optional()}),f({kind:u(`workflow`),workflowId:c(),agentId:c().optional(),input:i().optional(),inputEnvelope:i().optional(),goal:c().optional(),concurrency:o().int().positive().optional(),maxSubagents:o().int().nonnegative().optional(),timeoutSeconds:o().positive().optional()}),f({kind:u(`browser_automation`),automationId:c(),inputs:n(c(),i()).optional(),timeoutSeconds:o().positive().optional()}),f({kind:u(`task_command`),taskId:c(),command:oe}),f({kind:u(`system`),capability:d([`home.advisor.refresh`,`memory.temporal_sweep`,`memory.daily_reconciliation`,`memory.weekly_knowledge`])})]),D=d([`queued`,`running`,`cancelling`,`succeeded`,`failed`,`cancelled`,`timeout`]),O=e(`kind`,[f({key:c(),kind:u(`gateway_event`)}),f({key:c(),kind:u(`webhook`),endpoint:c().url().startsWith(`https://`),secretId:c()}),f({key:c(),kind:u(`file`),targetId:c(),pathTemplate:c()}),f({key:c(),kind:u(`card`),channelId:c(),templateId:c()})]),k=f({id:c(),name:c(),description:c().optional(),projectId:c().optional(),enabled:a(),trigger:T,action:E,safety:f({mode:d([`suggest_only`,`ask_before_apply`,`auto_apply`])}).optional(),conversationMode:d([`new_session`,`continuous`]).optional(),delivery:f({notificationPolicy:d([`attention`,`all`,`none`]),destinations:l(O)}),reliability:f({executionTimeoutSeconds:o().positive().optional(),retryCount:o().int().nonnegative().optional(),maxConcurrentRuns:o().int().positive().optional(),disableAfterConsecutiveFailures:o().int().positive().optional()}).optional(),management:f({owner:c(),editable:l(d([`enabled`,`trigger`])),runnable:a(),deletable:a()}).optional(),state:f({nextRunAtMs:o().optional(),runningRunId:c().optional(),lastRunAtMs:o().optional(),lastRunStatus:D.optional(),lastError:c().optional(),consecutiveFailures:o().int().nonnegative().optional()}),createdAtMs:o(),updatedAtMs:o()}),A=f({id:c(),automationId:c(),automationName:c(),status:D,triggerSnapshot:T,actionSnapshot:E,manual:a(),createdAtMs:o(),startedAtMs:o().optional(),endedAtMs:o().optional(),durationMs:o().optional(),summary:c().optional(),error:c().optional(),conversationId:c().optional(),workflowRunId:c().optional(),model:c().optional(),deadlineAtMs:o().optional(),currentPhase:d([`queued`,`action`,`cancelling`,`completed`]).optional(),cancelRequestedAtMs:o().optional(),cancelConfirmedAtMs:o().optional(),termination:f({reason:d([`completed`,`failed`,`user_cancelled`,`deadline_exceeded`]),component:d([`automation`,`agent_turn`,`tool`,`mcp`,`process`]).optional(),componentName:c().optional(),cancellationConfirmed:a()}).optional(),heartbeatAtMs:o().optional(),leaseOwner:c().optional(),leaseExpiresAtMs:o().optional(),attemptNumber:o().int().positive().optional(),rootRunId:c().optional()}),j=f({id:c(),runId:c(),automationId:c(),type:d([`run.queued`,`run.started`,`run.deadline_resolved`,`run.cancel_requested`,`run.cancel_confirmed`,`run.cancellation_unconfirmed`,`run.recovered`,`action.started`,`action.retry_scheduled`,`action.completed`,`action.failed`,`run.completed`]),message:c(),data:i().optional(),createdAtMs:o()}),M=f({totalAutomations:o().int().nonnegative(),enabledAutomations:o().int().nonnegative(),runningRuns:o().int().nonnegative(),failedLastHour:o().int().nonnegative(),nextRun:f({automationId:c(),name:c(),runAtMs:o()}).optional(),pendingEvents:o().int().nonnegative(),oldestPendingEventAgeMs:o().int().nonnegative(),projectionDeadLetters:o().int().nonnegative(),pendingRunDeliveries:o().int().nonnegative(),runDeliveryDeadLetters:o().int().nonnegative(),pendingResultDeliveries:o().int().nonnegative(),resultDeliveryDeadLetters:o().int().nonnegative(),activeExecutions:o().int().nonnegative(),activeDeliveryLeases:o().int().nonnegative()}),N=c().trim().min(1).max(200),P=l(N).max(100).refine(e=>new Set(e).size===e.length,`Duplicate identifiers`),Se=[`no_change`,`observation`,`artifact`,`decision`,`state_change`,`effect_proposal`,`receipt`],F=[`needs_setup`,`active`,`paused`,`completed`,`archived`],Ce=e(`kind`,[r({kind:u(`personal`)}),r({kind:u(`project`),id:N}),r({kind:u(`conversation`),id:N}),r({kind:u(`objects`),ids:P.refine(e=>e.length>0)})]),we=r({timeoutSeconds:o().int().min(1).max(600),maxIterations:o().int().min(1).max(30),maxToolCalls:o().int().min(0).max(100),maxOutputTokens:o().int().min(1).max(32768)}),I=r({kind:c().regex(/^[a-z][a-z0-9_-]{0,63}$/),instruction:c().trim().min(1).max(32e3),limits:we}),L=r({schemaVersion:u(1),key:c().regex(/^[a-z][a-z0-9-]{0,79}$/),version:c().regex(/^\d+\.\d+\.\d+$/),title:c().trim().min(1).max(120),description:c().trim().min(1).max(2e3),goalMode:d([`finite`,`ongoing`]),contextProviders:P,triggers:l(e(`type`,[r({id:N,type:u(`manual`)}),r({id:N,type:u(`event`),eventType:N}),r({id:N,type:u(`schedule`)})])).min(1).max(20).refine(e=>new Set(e.map(e=>e.id)).size===e.length,`Duplicate trigger IDs`),execution:I,allowedOutcomeKinds:l(d(Se)).min(1),allowedEffectHandlers:P}),Te=r({accountIds:P,contextProviders:P,effectHandlers:P}),Ee=r({expectedRevision:o().int().nonnegative(),content:c().trim().max(32e3),validUntil:o().int().nonnegative().nullable().default(null)}),R=r({templateKey:N,templateVersion:N,goal:c().trim().min(1).max(12e3),scope:Ce,permissions:Te}),z=R.extend({id:N,ownerId:N,workspaceId:c().min(1),status:d(F),setupMissing:l(c()).optional(),revision:o().int().positive()}),De=R.pick({goal:!0,scope:!0,permissions:!0}).extend({expectedRevision:o().int().positive()}),Oe=r({expectedRevision:o().int().positive(),status:d(F)}),B=r({subjectId:N,accountId:N,dueAt:o().int().nonnegative()}),ke=r({expectedRevision:o().int().positive(),dueAt:o().int().nonnegative().optional(),status:d([`watching`,`paused`,`completed`]).optional()}).refine(e=>e.dueAt!==void 0||e.status!==void 0,`Work item update is empty`),V=B.extend({id:N,activationId:N,revision:o().int().positive(),status:d([`watching`,`paused`,`completed`])}),H=o().int().min(0).max(23),U=r({level:d([`quiet`,`balanced`,`active`]).default(`balanced`),timezone:c().min(1).max(100).refine(e=>{try{return new Intl.DateTimeFormat(`en`,{timeZone:e}),!0}catch{return!1}}).default(`Asia/Shanghai`),quietStartHour:H.default(22),quietEndHour:H.default(8),dailyNotificationLimit:o().int().min(0).max(30).default(3),digestEnabled:a().default(!1),digestHour:H.default(18),digestMinute:o().int().min(0).max(59).default(0),preferredChannel:d([`in_app`,`browser`]).default(`browser`),suppressWhileViewing:a().default(!0),checksPaused:a().default(!1),checksPausedUntil:c().datetime({offset:!0}).nullable().default(null),notificationsMuted:a().default(!1)}),W=U.shape;r({expectedRevision:o().int().nonnegative(),level:W.level.removeDefault().optional(),timezone:W.timezone.removeDefault().optional(),quietStartHour:W.quietStartHour.removeDefault().optional(),quietEndHour:W.quietEndHour.removeDefault().optional(),dailyNotificationLimit:W.dailyNotificationLimit.removeDefault().optional(),digestEnabled:W.digestEnabled.removeDefault().optional(),digestHour:W.digestHour.removeDefault().optional(),digestMinute:W.digestMinute.removeDefault().optional(),preferredChannel:W.preferredChannel.removeDefault().optional(),suppressWhileViewing:W.suppressWhileViewing.removeDefault().optional(),checksPaused:W.checksPaused.removeDefault().optional(),checksPausedUntil:W.checksPausedUntil.removeDefault().optional(),notificationsMuted:W.notificationsMuted.removeDefault().optional()});var Ae=r({expectedRevision:o().int().nonnegative(),rating:d([`useful`,`not_useful`]),note:c().trim().max(2e3).optional()}),je=r({weekdays:l(o().int().min(0).max(6)).min(1).max(7).refine(e=>new Set(e).size===e.length,`Duplicate weekdays`),hour:o().int().min(0).max(23),minute:o().int().min(0).max(59),timeZone:c().trim().min(1).max(100).refine(e=>{try{return new Intl.DateTimeFormat(`en`,{timeZone:e}),!0}catch{return!1}},`Invalid time zone`)});d([`http`,`agent`,`cli`,`automation`,`mcp`,`extension`]),d([`INVALID_INPUT`,`FORBIDDEN`,`NOT_FOUND`,`REVISION_CONFLICT`,`CONTRACT_CHANGED`,`APPROVAL_REQUIRED`,`IN_PROGRESS`,`UNAVAILABLE`,`OUTCOME_UNKNOWN`,`CANCELLED`,`INTERNAL`]);var Me=r({majorVersion:o().int().positive(),descriptorDigest:c().regex(/^[a-f0-9]{64}$/),input:s(),idempotencyKey:c().min(1).max(200).optional()}),Ne=f({triggerSummary:c(),actionSummary:c(),safetyNotes:l(c()),requiredConfirmations:l(c()),canRunNow:a(),runNowBlockedReason:c().optional()});r({agentId:c().trim().min(1).max(64).optional(),language:d([`en`,`zh`]).default(`en`)}),f({draftId:c(),explanation:c(),assumptions:l(c()),risks:l(c()),automation:t({name:c(),trigger:s(),action:s()}),simulation:Ne,repairAttempts:o().int().nonnegative()}),f({draftId:c(),patch:n(c(),s()),explanation:c(),expectedEffect:c(),risks:l(c()),requiresApproval:a(),repairAttempts:o().int().nonnegative()});var Pe=r({eventId:c().min(1),kind:d([`note`,`task`,`project`,`automation`,`scene`,`local_app`]),id:c().min(1),revision:o().int().nonnegative(),operation:d([`created`,`updated`,`deleted`]),operationId:c().optional()}),G=r({id:c().trim().min(1).max(512)}),K=r({limit:o().int().min(1).max(100).default(50),afterId:c().max(200).default(``)});f({activation:z}),Oe.extend({id:c().min(1).max(512)}),f({activation:z}),U.extend({revision:o().int().positive()}),Ae.extend({id:c().min(1).max(512)}),f({revision:o().int().positive()}),G.extend({read:a()}),f({ok:u(!0),presentationId:c(),read:a()}),G.extend({triggerKey:c().min(1).max(200),expectedRevision:o().int().nonnegative(),schedule:je}),f({revision:o().int().positive()}),De.extend({id:c().min(1).max(512)}),f({activation:z}),f({intentId:c()}),Ee.extend({id:c().min(1).max(512)}),f({revision:o().int().positive()}),B.extend({id:c().min(1).max(512)}),f({workItem:V}),ke.safeExtend({id:c().min(1).max(512)}),f({workItem:V});var q=t({id:c(),activationId:c(),outcomeId:c(),status:c(),content:s(),readOnly:a(),createdAt:o(),sources:l(f({kind:c(),title:c(),sender:c(),href:c()})),sourceHealth:n(c(),s()).nullable()});G.extend({expectedVersion:o().int().positive(),reason:c().trim().min(1).max(4096).default(`TaskRun cancelled`)}),G.extend({rating:d([`helpful`,`not_helpful`]),reason:c().trim().max(4096).optional()}),f({ok:u(!0),feedback:f({id:c(),runId:c(),rating:d([`helpful`,`not_helpful`]),reason:c().optional(),createdAt:o()})}),f({ok:u(!0),run:m,receipt:h,model:g.pick({task:!0,operationalState:!0,attention:!0,allowedCommands:!0}),executionStopConfirmed:u(!1)}),G.extend({enabled:a(),expectedRevision:o().int().nonnegative()}),f({ok:u(!0),automation:k.loose()}).extend({run:A.loose()}),f({ok:u(!0),cancelled:a(),confirmed:a()}),f({ok:u(!0),marked:u(!0)}),r({projectId:c().trim().min(1).max(512).optional()}),f({ok:u(!0),count:o().int().nonnegative()}),G.extend({reason:c().trim().min(1).max(2e3)}),r({runId:c().trim().min(1).max(200),destinationKey:c().trim().min(1).max(100),reason:c().trim().min(1).max(2e3)}),f({ok:u(!0),accepted:u(!0)}),G.extend({expectedRevision:o().int().nonnegative().nullable()}),f({ok:u(!0),removed:a(),automation:k.loose().optional(),cancelRunId:c().optional()});var Fe=r({status:d([`inbox`,`processed`,`archived`,`trashed`]).optional(),kind:d([`thought`,`todo`,`voice`,`media`,`bookmark`,`mixed`,`task`]).optional(),tag:c().max(512).optional(),projectId:c().min(1).max(512).optional(),unassigned:a().optional(),agentEdited:a().optional(),search:c().max(4096).optional(),pinned:a().optional(),limit:o().int().min(1).max(100).default(20),offset:o().int().min(0).default(0),sortBy:d([`createdAt`,`updatedAt`,`lastOpenedAt`]).optional(),sortOrder:d([`asc`,`desc`]).optional()}),J=t({id:c().min(1),markdown:c(),kind:d([`thought`,`todo`,`voice`,`media`,`bookmark`,`mixed`,`task`]),status:d([`inbox`,`processed`,`archived`,`trashed`]),createdAt:o(),updatedAt:o(),title:c().optional(),localVersion:o().optional()}),Ie=f({note:J});G.extend({expectedRevision:o().int().positive(),revokeShares:a().default(!0)}),f({deleted:u(!0),revokedShares:o().int().nonnegative()});var Le=r({title:c().max(1e3).optional(),markdown:c().max(2e6).default(``),kind:J.shape.kind.optional(),tags:l(c().max(512)).max(100).optional(),capturedVia:r({channel:d([`app`,`web`,`electron`,`tui`,`telegram`,`wechat`,`feishu`]),platform:d([`ios`,`android`,`harmonyos`]).optional()}).default({channel:`web`}),pinned:a().default(!1),projectId:c().min(1).optional()});r({id:c().min(1),expectedRevision:o().int().positive(),trigger:d([`edit`,`ai_edit`,`sync`,`restore`]).optional(),patch:r({title:c().max(1e3).optional(),markdown:c().max(2e6).optional(),tags:l(c().max(512)).max(100).optional(),pinned:a().optional(),kind:J.shape.kind.optional(),status:J.shape.status.optional(),localVersion:o().int().positive().optional(),ai:n(c(),s()).optional(),aiDeep:t({processedAt:o()}).optional()})}),r({text:c().trim().min(1).max(2e6),capturedVia:Le.shape.capturedVia}),r({id:c().min(1),expectedRevision:o().int().positive().optional(),content:c().trim().min(1).max(2e6),heading:c().trim().min(1).max(1e3).default(`AI 讨论沉淀`)}),r({id:c().min(1),timestamp:o().int().positive(),expectedRevision:o().int().positive()});var Re=t({items:l(t({id:c().min(1)})),total:o().int().nonnegative()}),ze=r({phase:ae.optional(),priority:re.optional(),projectId:c().min(1).max(512).optional(),search:c().max(4096).optional(),limit:o().int().min(1).max(200).default(50),offset:o().int().nonnegative().default(0)}),Y=t({id:c().min(1),name:c(),slug:c(),status:d([`planned`,`active`,`paused`,`completed`,`cancelled`,`archived`]),executionMode:d([`local_checkout`,`managed_worktree`]),successCriteria:l(c()),scope:n(c(),i()),nonGoals:l(c()),health:d([`unknown`,`on_track`,`at_risk`,`off_track`]),version:o().int().positive(),createdAt:o(),updatedAt:o(),workspaceRoot:c().optional(),defaultAgentId:c().optional()}),Be=r({id:c().trim().min(1),expectedVersion:o().int().positive(),pinned:a()});f({ok:u(!0),project:Y}),r({workspacePath:c().trim().min(1).max(4096),agentId:c().trim().min(1).max(512).optional(),defaultAgentId:c().trim().max(512).optional(),projectKind:d([`auto`,`coding`,`general`,`unknown`]).optional(),autoCreate:a().default(!1),conversationId:ne().optional()}),f({ok:u(!0),project:Y.nullable(),reason:d([`exact`,`contained`,`auto_created`]).optional(),created:a().optional()}),Be.omit({pinned:!0}),f({ok:u(!0),deleted:u(!0),executionStopConfirmed:u(!1)});var X={name:c().trim().min(1).max(1e3).optional(),description:c().max(2e4).optional(),defaultAgentId:c().trim().max(512).optional(),workspaceRoot:c().trim().min(1).max(4096).optional(),createWorkspaceRoot:a().optional(),executionMode:Y.shape.executionMode.optional(),brief:c().max(2e4).optional(),instructions:c().max(1e5).optional(),outcome:c().max(2e4).optional(),successCriteria:l(c().max(4096)).max(100).optional(),scope:n(c(),s()).optional(),nonGoals:l(c().max(4096)).max(100).optional(),health:Y.shape.health.optional(),ownerId:c().max(512).optional(),targetAt:o().finite().optional()};r({...X,projectKind:d([`auto`,`coding`,`general`,`unknown`]).optional(),autoUnderstand:a().default(!1)}).refine(e=>!!(e.name||e.workspaceRoot),`name or workspaceRoot is required`),r({id:c().trim().min(1),expectedVersion:o().int().positive(),patch:r({...X,status:Y.shape.status.optional(),description:X.description.unwrap().nullable().optional(),defaultAgentId:X.defaultAgentId.unwrap().nullable().optional(),workspaceRoot:c().trim().max(4096).nullable().optional(),brief:X.brief.unwrap().nullable().optional(),instructions:X.instructions.unwrap().nullable().optional(),outcome:X.outcome.unwrap().nullable().optional(),ownerId:X.ownerId.unwrap().nullable().optional(),targetAt:X.targetAt.unwrap().nullable().optional()}).refine(e=>Object.values(e).some(e=>e!==void 0),`Empty project patch`)});var Ve=r({status:Y.shape.status.optional(),search:c().max(4096).optional(),sortBy:d([`updatedAt`,`createdAt`,`name`]).optional(),sortOrder:d([`asc`,`desc`]).optional(),limit:o().int().min(1).max(500).default(50),offset:o().int().nonnegative().default(0)}),Z=t({id:c(),projectId:c(),title:c(),status:d([`planned`,`active`,`completed`,`cancelled`]),sortOrder:o(),createdAt:o(),updatedAt:o()}),Q=t({id:c(),projectId:c(),summary:c(),health:Y.shape.health,createdAt:o()}),$={title:c().trim().min(1).max(1e3),description:c().max(2e4).optional(),status:Z.shape.status.optional(),targetAt:o().int().nonnegative().optional(),sortOrder:o().int().optional()};r({projectId:c().trim().min(1),...$}),r({projectId:c().trim().min(1),id:c().trim().min(1),expectedRevision:o().int().nonnegative(),patch:r({...$,description:c().max(2e4).nullable().optional(),targetAt:o().int().nonnegative().nullable().optional()}).partial().refine(e=>Object.values(e).some(e=>e!==void 0),`Empty milestone patch`)}).omit({patch:!0}),f({ok:u(!0),milestone:Z,project:Y}),f({ok:u(!0),deleted:u(!0)}),r({projectId:c().trim().min(1),expectedVersion:o().int().positive(),health:Y.shape.health,summary:c().trim().min(1).max(2e4),progress:l(c().max(1e4)).max(100).default([]),risks:l(c().max(1e4)).max(100).default([]),nextSteps:l(c().max(1e4)).max(100).default([])}),f({ok:u(!0),update:Q,project:Y});var He={"xopc.context.resolve":{input:b,output:y},"xopc.notes.preview_edit":{input:G.extend({instruction:c().trim().min(1).max(16e3),markdown:c().max(2e6).optional(),context:t({type:d([`selection`,`section`,`block`,`note`]),range:r({start:o().int().nonnegative(),end:o().int().nonnegative()})}).optional()}),output:f({message:c(),patch:f({id:c(),summary:c(),operations:l(f({type:u(`replaceRange`),from:o().int().nonnegative(),to:o().int().nonnegative(),markdown:c()}))})})},"xopc.automations.get_run":{input:G,output:f({ok:u(!0),run:A.loose()})},"xopc.automations.run_events":{input:G,output:f({ok:u(!0),events:l(j.loose())})},"xopc.automations.metrics":{input:r({}),output:f({ok:u(!0),metrics:M})},"xopc.automations.events":{input:r({type:c().trim().min(1).max(512).optional(),source:c().trim().min(1).max(512).optional(),limit:o().int().min(1).max(200).default(50)}),output:f({ok:u(!0),items:l(f({event:f({id:c(),type:c(),schemaVersion:o().int(),source:c(),subject:f({kind:c(),id:c()}).optional(),payload:n(c(),i()),occurredAtMs:o(),ingestedAtMs:o(),correlationId:c(),causationId:c().optional(),rootEventId:c(),chainDepth:o().int(),dedupeKey:c().optional(),trust:d([`system`,`user`,`connector`,`untrusted_webhook`])}),projectionStatus:d([`pending`,`projecting`,`retrying`,`projected`,`dead_letter`]),projectionAttempts:o().int(),projectionError:c().optional(),deliveries:l(f({automationId:c(),status:d([`pending`,`retrying`,`queued`,`completed`,`failed`,`cancelled`,`skipped`,`dead_letter`]),runId:c().optional(),attempts:o().int(),lastError:c().optional()}))}))})},"xopc.automations.deliveries":{input:r({runId:c().trim().min(1).max(200).optional(),status:d([`pending`,`delivering`,`retrying`,`delivered`,`dead_letter`]).optional(),limit:o().int().min(1).max(200).default(50)}),output:f({ok:u(!0),items:l(f({runId:c(),destinationKey:c(),kind:c(),status:d([`pending`,`delivering`,`retrying`,`delivered`,`dead_letter`]),attempts:o().int(),nextAttemptAtMs:o(),lastError:c().optional(),createdAtMs:o(),updatedAtMs:o()}))})},"xopc.automations.product_events":{input:r({eventType:c().trim().min(1).max(512),source:c().trim().min(1).max(512).optional(),payloadKey:c().trim().min(1).max(512).optional(),payloadValue:c().max(4096).optional(),limit:o().int().min(1).max(100).default(10)}).refine(e=>e.payloadKey===void 0==(e.payloadValue===void 0),`payloadKey and payloadValue must be supplied together`),output:f({ok:u(!0),items:l(f({run:A.loose(),triggerEvent:j.loose()}))})},"xopc.automations.list":{input:r({projectId:c().trim().min(1).optional()}),output:f({ok:u(!0),items:l(k.loose()),projectId:c().optional()})},"xopc.automations.get":{input:G,output:f({ok:u(!0),automation:k.loose()})},"xopc.automations.history":{input:r({automationId:c().trim().min(1).optional(),projectId:c().trim().min(1).optional(),limit:o().int().min(1).max(200).default(50)}),output:f({ok:u(!0),items:l(A.loose()),projectId:c().optional()})},"xopc.scenes.templates":{input:r({}),output:f({templates:l(L)})},"xopc.scenes.mail_accounts":{input:r({}),output:f({accounts:l(f({id:c(),label:c()}))})},"xopc.scenes.mail_sources":{input:K,output:f({sources:l(f({id:c(),accountId:c(),subject:c(),sender:c()})),nextCursor:c().nullable()})},"xopc.scenes.results":{input:K.extend({activationId:c().min(1).max(200).optional()}),output:f({outcomes:l(q),nextCursor:c().nullable()})},"xopc.scenes.get_presentation":{input:G,output:f({outcome:q})},"xopc.scenes.get_feedback":{input:G,output:f({feedback:f({rating:d([`useful`,`not_useful`]),note:c(),revision:o().int().nonnegative()}).nullable()})},"xopc.scenes.digest_results":{input:K.extend({id:c().min(1).max(512)}),output:f({outcomes:l(q),nextCursor:c().nullable()})},"xopc.scenes.metrics":{input:r({days:o().int().min(1).max(90).default(7)}),output:f({window:f({since:o(),until:o(),days:o().int()}),ratedOutcomes:o().int().nonnegative(),usefulOutcomes:o().int().nonnegative(),unhelpfulOutcomes:o().int().nonnegative(),scenesWithUsefulOutcomes:o().int().nonnegative(),checks:o().int().nonnegative(),failedChecks:o().int().nonnegative(),skippedChecks:o().int().nonnegative()})},"xopc.scenes.diagnostics":{input:r({}),output:f({checksPaused:a(),currentModel:c().nullable(),pendingChecks:o().int().nonnegative(),oldestDueWaitMs:o().nonnegative(),notifications:l(f({status:c(),count:o().int().nonnegative()})),activations:l(n(c(),s()))})},"xopc.scenes.get_preferences":{input:r({}),output:U.extend({revision:o().int().nonnegative()})},"xopc.scenes.preflight":{input:R,output:f({ready:a(),missing:l(c())})},"xopc.scenes.get_template":{input:r({key:c().min(1).max(200),version:c().min(1).max(200)}),output:f({template:L})},"xopc.scenes.list":{input:K,output:f({activations:l(z),nextCursor:c().nullable()})},"xopc.scenes.get":{input:G,output:f({activation:z,runs:l(t({id:c(),status:c(),attempt:o().int(),reason:c().nullable(),createdAt:o()})),schedules:l(t({triggerKey:c(),revision:o().int(),nextDueAt:o(),schedule:s()}))})},"xopc.scenes.read_notes":{input:G,output:f({notes:f({content:c(),revision:o().int().nonnegative(),validUntil:o().nullable()})})},"xopc.scenes.list_runs":{input:K.extend({id:c().min(1).max(512)}),output:f({runs:l(t({id:c(),activationId:c(),status:c(),attempt:o().int(),reason:c().nullable(),createdAt:o()})),nextCursor:c().nullable()})},"xopc.scenes.list_schedules":{input:G,output:f({schedules:l(t({triggerKey:c(),revision:o().int(),nextDueAt:o(),schedule:s()}))})},"xopc.scenes.list_work_items":{input:K.extend({id:c().min(1).max(512)}),output:f({workItems:l(t({id:c(),subjectId:c(),accountId:c(),dueAt:o(),status:c(),revision:o().int(),lastCheckReason:c().nullable()})),nextCursor:c().nullable()})},"xopc.settings.open":{input:r({section:c().trim().regex(/^[a-z0-9][a-z0-9/_-]*$/i).max(512).default(`overview`),title:c().trim().min(1).max(512).default(`Settings`),summary:c().trim().max(4096).optional()}),output:f({ok:u(!0),settings:f({section:c(),title:c(),summary:c().optional()})})},"xopc.local_apps.list":{input:r({}),output:f({apps:l(_)})},"xopc.local_apps.get":{input:G,output:f({app:v})},"xopc.local_apps.validate":{input:G,output:f({validation:ce})},"xopc.projects.get":{input:G,output:f({ok:u(!0),project:Y})},"xopc.projects.list":{input:Ve,output:t({ok:u(!0),items:l(Y),total:o().int().nonnegative()})},"xopc.projects.list_milestones":{input:G,output:f({ok:u(!0),projectId:c(),items:l(Z)})},"xopc.projects.list_updates":{input:G.extend({limit:o().int().min(1).max(500).default(20)}),output:f({ok:u(!0),projectId:c(),items:l(Q)})},"xopc.task_runs.get":{input:G,output:f({ok:u(!0),run:m,receipt:h.optional(),events:l(ie),activeWaits:l(p)})},"xopc.task_runs.list":{input:r({taskId:c().trim().min(1),limit:o().int().min(1).max(200).default(20)}),output:f({ok:u(!0),taskId:c(),items:l(m),receipts:l(h),activeWaits:l(p)})},"xopc.notes.project_summaries":{input:r({}),output:f({items:l(f({id:c(),name:c(),description:c().optional(),noteCount:o().int().nonnegative(),updatedAt:o().optional()}))})},"xopc.notes.history":{input:G,output:f({entries:l(f({timestamp:o().int().nonnegative(),trigger:d([`edit`,`ai_edit`,`sync`,`restore`]),snippet:c().optional()}))})},"xopc.notes.snapshot":{input:G.extend({timestamp:o().int().nonnegative()}),output:f({snapshot:f({noteId:c(),timestamp:o().int().nonnegative(),trigger:d([`edit`,`ai_edit`,`sync`,`restore`]),title:c().optional(),markdown:c(),tags:l(c()).optional(),kind:J.shape.kind,status:J.shape.status})})},"xopc.notes.get":{input:G,output:Ie},"xopc.notes.list":{input:Fe,output:Re},"xopc.tasks.metrics":{input:r({}),output:f({ok:u(!0),metrics:ye})},"xopc.tasks.get":{input:G,output:g},"xopc.tasks.list":{input:ze,output:se.extend({total:o().int().nonnegative()})}};export{ge as a,_e as i,He as n,be as o,Pe as r,Me as t};
1
+ import{a as e,c as t,d as n,f as r,g as i,h as ee,i as a,l as o,n as te,o as s,p as c,r as l,s as u,t as d,u as f,v as ne}from"./schemas-CObaziC7.js";import{_ as p,c as re,d as ie,f as m,h as ae,l as h,n as oe,o as g,s as se}from"./tasks-CH6KoBeY.js";import{i as ce,n as _,t as v}from"./local-apps-yys1VChX.js";import{h as y,m as b}from"./local-session-drafts-C4et6msJ.js";var x=f({id:c(),kind:d([`task`,`connector_approval`]),title:c(),detail:c().optional(),reason:d([`needs_input`,`blocked`,`user_input`,`user_approval`,`dependency`,`external`,`scheduled`,`retry`,`paused`,`overdue`,`due_soon`,`decision_needed`,`approval_required`]),urgency:d([`now`,`soon`]),href:c(),projectId:c().optional(),projectName:c().optional(),dueAt:o().int().nonnegative().optional(),updatedAt:o(),response:e(`kind`,[f({kind:u(`connector_approval`),approvalId:c()})]).optional()});f({id:c(),kind:d([`automation_run`,`workflow_run`]),runId:c(),title:c(),detail:c(),reason:d([`run_failed`,`run_timeout`]),href:c(),updatedAt:o(),conversationId:c().optional()});var S=e(`type`,[f({type:u(`open`),label:c(),href:c()}),f({type:u(`connector_decision`),label:c(),approvalId:c(),decision:d([`approve`,`deny`])}),f({type:u(`retry_run`),label:c(),subjectKind:d([`automation_run`,`workflow_run`]),runId:c()}),f({type:u(`acknowledge_run`),label:c(),subjectKind:d([`automation_run`,`workflow_run`]),runId:c()})]),C=f({id:c(),kind:d([`decision`,`failure`,`running`,`scheduled`]),title:c(),summary:c(),recommendation:c().optional(),dueAt:o().int().nonnegative().optional(),statusLabel:c().optional(),updatedAt:o(),openAction:S.optional(),primaryAction:S.optional(),secondaryActions:l(S).max(2).default([])}),le=f({conversationId:c(),runId:c(),title:c().optional(),agentId:c().optional(),updatedAt:o()}),ue=r({id:c().trim().min(1).max(300),sourceType:d([`project`,`task`,`conversation`,`scene`,`calendar`,`mail`,`communication`,`file`,`user_model`]),sourceRef:c().trim().min(1).max(1e3),revision:c().trim().min(1).max(300),observation:c().trim().min(1).max(1e3),observedAt:o().int().nonnegative(),freshUntil:o().int().nonnegative(),href:c().trim().min(1).max(2e3).optional()}),de=r({kind:d([`connector`,`skill`,`agent`]),capability:c().trim().min(1).max(200),resolvedId:c().trim().min(1).max(300).optional(),readiness:d([`ready`,`needs_setup`,`unavailable`]),required:a(),recoveryPath:c().trim().min(1).max(2e3).optional(),reason:c().trim().min(1).max(500).optional()}),fe=r({kind:d([`connector`,`skill`,`agent`]),capability:c().trim().min(1).max(200),code:d([`not_installed`,`disabled`,`agent_not_allowed`,`scope_too_narrow`,`connection_missing`,`account_selection_required`,`reauthorization_required`,`requirements_unmet`,`model_invocation_disabled`,`tool_gated`,`agent_unavailable`]),message:c().trim().min(1).max(500),recoveryPath:c().trim().min(1).max(2e3)}),pe=e(`state`,[r({state:u(`ready`)}),r({state:u(`needs_setup`),blockers:l(fe).min(1).max(12),recoveryActions:l(r({capability:c().trim().min(1).max(200),href:c().trim().min(1).max(2e3)})).min(1).max(12),degradedAction:r({mode:u(`degraded_start`)}).optional()})]),w=r({id:c().trim().min(1).max(200),revision:o().int().positive(),kind:d([`project_next_step`,`delivery_risk`,`meeting_prep`,`commitment_follow_up`,`automation_candidate`]),projectId:c().trim().min(1).max(200).optional(),title:c().trim().min(1).max(160),outcome:c().trim().min(1).max(1e3),rationale:c().trim().min(1).max(1500),evidence:l(ue).min(1).max(8),confidence:d([`high`,`medium`,`low`]),urgency:d([`now`,`today`,`this_week`]),estimatedMinutes:o().int().min(1).max(480).optional(),risk:d([`analysis`,`external_read`,`file_write`,`external_write`]),proposedSteps:l(c().trim().min(1).max(500)).min(1).max(6),capabilities:l(de).max(12),verification:l(c().trim().min(1).max(500)).max(8),actionPrompt:c().trim().min(1).max(4e3),degradedActionPrompt:c().trim().min(1).max(4e3).optional(),continuation:e(`kind`,[r({kind:u(`scene`),reason:u(`prior_success`),href:c().trim().min(1).max(2e3)}),r({kind:u(`automation`),reason:u(`repeated_success`),href:c().trim().min(1).max(4e3),successCount:o().int().min(2)})]).optional(),actions:r({canStart:a(),canDiscuss:a(),degradedStartAvailable:a()}),generatedAt:o().int().nonnegative(),expiresAt:o().int().nonnegative()}),me=r({id:c().trim().min(1).max(200),revision:o().int().positive(),question:c().trim().min(1).max(500),options:l(r({id:c().trim().min(1).max(100),label:c().trim().min(1).max(200)})).min(2).max(3),evidenceIds:l(c().trim().min(1).max(300)).min(1).max(8)}),he=e(`state`,[r({state:u(`disabled`)}),r({state:u(`quiet`),reason:d([`no_change`,`insufficient_value`,`model_unavailable`,`generation_failed`,`budget_exhausted`])}),r({state:u(`refreshing`),previous:w.optional(),requestedAt:o().int().nonnegative()}),r({state:u(`clarification`),question:me,generatedAt:o().int().nonnegative(),expiresAt:o().int().nonnegative()}),r({state:u(`ready`),primary:w,alternatives:l(w).max(2),placement:d([`primary`,`compact`]),generatedAt:o().int().nonnegative(),expiresAt:o().int().nonnegative(),stale:a()})]);r({idempotencyKey:c().trim().min(1).max(200),locale:c().trim().max(30).optional()}),r({idempotencyKey:c().trim().min(1).max(200),expectedRevision:o().int().positive(),kind:d([`already_done`,`irrelevant`,`too_early`,`source_incorrect`,`less_like_this`,`snoozed`]),reasonCode:c().trim().min(1).max(100).optional(),note:c().trim().min(1).max(1e3).optional(),snoozedUntil:o().int().nonnegative().optional()}),r({idempotencyKey:c().trim().min(1).max(200)});var ge=r({items:l(r({opportunity:w,status:d([`available`,`started`,`discussing`,`completed`,`snoozed`,`dismissed`,`expired`,`superseded`]),feedbackKind:d([`started`,`discussed`,`already_done`,`irrelevant`,`too_early`,`source_incorrect`,`less_like_this`,`snoozed`]).optional(),updatedAt:o().int().nonnegative(),snoozedUntil:o().int().nonnegative().optional(),href:c().trim().min(1).max(2e3).optional()})).max(100)});r({idempotencyKey:c().trim().min(1).max(200),expectedRevision:o().int().positive(),mode:d([`start`,`degraded_start`,`discuss`])});var _e=e(`outcome`,[r({outcome:u(`task`),taskId:c(),href:c()}),r({outcome:u(`chat_draft`),href:c()}),r({outcome:u(`needs_setup`),preflight:pe})]),ve=f({runningConversations:l(le).default([]),needsUser:l(C),background:l(C),backgroundCount:o().int().nonnegative(),decisions:l(x),advisor:he,attentionPolicy:f({visibleDecisionCount:o().int().nonnegative(),suppressedDecisionCount:o().int().nonnegative(),visibleAttentionCount:o().int().nonnegative(),suppressedAttentionCount:o().int().nonnegative()}).default({visibleDecisionCount:0,suppressedDecisionCount:0,visibleAttentionCount:0,suppressedAttentionCount:0})});r({window:r({since:o().int().nonnegative(),until:o().int().nonnegative()}),currentStrategyVersion:c().trim().min(1).max(100),generations:r({total:o().int().nonnegative(),succeeded:o().int().nonnegative(),quiet:o().int().nonnegative(),failed:o().int().nonnegative(),estimatedCostUsd:o().nonnegative()}),outcomes:r({opportunities:o().int().nonnegative(),started:o().int().nonnegative(),discussed:o().int().nonnegative(),completed:o().int().nonnegative(),corrected:o().int().nonnegative(),expired:o().int().nonnegative()}),rates:r({start:o().min(0).max(1),completionFromStarted:o().min(0).max(1),correction:o().min(0).max(1)}),feedback:r({alreadyDone:o().int().nonnegative(),irrelevant:o().int().nonnegative(),tooEarly:o().int().nonnegative(),sourceIncorrect:o().int().nonnegative(),lessLikeThis:o().int().nonnegative()}),strategies:l(r({version:c().trim().min(1).max(100),generations:o().int().nonnegative(),opportunities:o().int().nonnegative(),started:o().int().nonnegative(),completed:o().int().nonnegative()}))});var ye=f({northStar:f({weeklyTrustedProgress:o(),weeklyActiveUsers:o(),trustedProgressPerWeeklyActiveUser:o()}),tasks:f({total:o(),achieved:o(),partial:o(),notAchieved:o(),userCorrected:o(),achievementRate:o(),correctionRate:o(),trusted:o(),trustedRate:o()})});function be(e){return ve.parse(e)}var xe=e(`kind`,[f({kind:u(`once`),at:c()}),f({kind:u(`interval`),everyMs:o().positive(),anchorMs:o().optional()}),f({kind:u(`cron`),expr:c(),tz:c().optional()})]),T=e(`kind`,[f({kind:u(`manual`)}),f({kind:u(`schedule`),schedule:xe}),f({kind:u(`webhook`),secretId:c().optional()}),f({kind:u(`event`),eventType:c(),source:c().optional(),payloadMatch:n(c(),ee([c(),o(),a(),te()])).optional()})]),E=e(`kind`,[f({kind:u(`agent`),agentId:c().optional(),instruction:c(),workingDirectory:c().optional(),model:c().optional(),timeoutSeconds:o().positive().optional()}),f({kind:u(`workflow`),workflowId:c(),agentId:c().optional(),input:i().optional(),inputEnvelope:i().optional(),goal:c().optional(),concurrency:o().int().positive().optional(),maxSubagents:o().int().nonnegative().optional(),timeoutSeconds:o().positive().optional()}),f({kind:u(`browser_automation`),automationId:c(),inputs:n(c(),i()).optional(),timeoutSeconds:o().positive().optional()}),f({kind:u(`task_command`),taskId:c(),command:oe}),f({kind:u(`system`),capability:d([`home.advisor.refresh`,`memory.temporal_sweep`,`memory.daily_reconciliation`,`memory.weekly_knowledge`])})]),D=d([`queued`,`running`,`cancelling`,`succeeded`,`failed`,`cancelled`,`timeout`]),O=e(`kind`,[f({key:c(),kind:u(`gateway_event`)}),f({key:c(),kind:u(`webhook`),endpoint:c().url().startsWith(`https://`),secretId:c()}),f({key:c(),kind:u(`file`),targetId:c(),pathTemplate:c()}),f({key:c(),kind:u(`card`),channelId:c(),templateId:c()})]),k=f({id:c(),name:c(),description:c().optional(),projectId:c().optional(),enabled:a(),trigger:T,action:E,safety:f({mode:d([`suggest_only`,`ask_before_apply`,`auto_apply`])}).optional(),conversationMode:d([`new_session`,`continuous`]).optional(),delivery:f({notificationPolicy:d([`attention`,`all`,`none`]),destinations:l(O)}),reliability:f({executionTimeoutSeconds:o().positive().optional(),retryCount:o().int().nonnegative().optional(),maxConcurrentRuns:o().int().positive().optional(),disableAfterConsecutiveFailures:o().int().positive().optional()}).optional(),management:f({owner:c(),editable:l(d([`enabled`,`trigger`])),runnable:a(),deletable:a()}).optional(),state:f({nextRunAtMs:o().optional(),runningRunId:c().optional(),lastRunAtMs:o().optional(),lastRunStatus:D.optional(),lastError:c().optional(),consecutiveFailures:o().int().nonnegative().optional()}),createdAtMs:o(),updatedAtMs:o()}),A=f({id:c(),automationId:c(),automationName:c(),status:D,triggerSnapshot:T,actionSnapshot:E,manual:a(),createdAtMs:o(),startedAtMs:o().optional(),endedAtMs:o().optional(),durationMs:o().optional(),summary:c().optional(),error:c().optional(),conversationId:c().optional(),workflowRunId:c().optional(),model:c().optional(),deadlineAtMs:o().optional(),currentPhase:d([`queued`,`action`,`cancelling`,`completed`]).optional(),cancelRequestedAtMs:o().optional(),cancelConfirmedAtMs:o().optional(),termination:f({reason:d([`completed`,`failed`,`user_cancelled`,`deadline_exceeded`]),component:d([`automation`,`agent_turn`,`tool`,`mcp`,`process`]).optional(),componentName:c().optional(),cancellationConfirmed:a()}).optional(),heartbeatAtMs:o().optional(),leaseOwner:c().optional(),leaseExpiresAtMs:o().optional(),attemptNumber:o().int().positive().optional(),rootRunId:c().optional()}),j=f({id:c(),runId:c(),automationId:c(),type:d([`run.queued`,`run.started`,`run.deadline_resolved`,`run.cancel_requested`,`run.cancel_confirmed`,`run.cancellation_unconfirmed`,`run.recovered`,`action.started`,`action.retry_scheduled`,`action.completed`,`action.failed`,`run.completed`]),message:c(),data:i().optional(),createdAtMs:o()}),M=f({totalAutomations:o().int().nonnegative(),enabledAutomations:o().int().nonnegative(),runningRuns:o().int().nonnegative(),failedLastHour:o().int().nonnegative(),nextRun:f({automationId:c(),name:c(),runAtMs:o()}).optional(),pendingEvents:o().int().nonnegative(),oldestPendingEventAgeMs:o().int().nonnegative(),projectionDeadLetters:o().int().nonnegative(),pendingRunDeliveries:o().int().nonnegative(),runDeliveryDeadLetters:o().int().nonnegative(),pendingResultDeliveries:o().int().nonnegative(),resultDeliveryDeadLetters:o().int().nonnegative(),activeExecutions:o().int().nonnegative(),activeDeliveryLeases:o().int().nonnegative()}),N=c().trim().min(1).max(200),P=l(N).max(100).refine(e=>new Set(e).size===e.length,`Duplicate identifiers`),Se=[`no_change`,`observation`,`artifact`,`decision`,`state_change`,`effect_proposal`,`receipt`],F=[`needs_setup`,`active`,`paused`,`completed`,`archived`],Ce=e(`kind`,[r({kind:u(`personal`)}),r({kind:u(`project`),id:N}),r({kind:u(`conversation`),id:N}),r({kind:u(`objects`),ids:P.refine(e=>e.length>0)})]),we=r({timeoutSeconds:o().int().min(1).max(600),maxIterations:o().int().min(1).max(30),maxToolCalls:o().int().min(0).max(100),maxOutputTokens:o().int().min(1).max(32768)}),I=r({kind:c().regex(/^[a-z][a-z0-9_-]{0,63}$/),instruction:c().trim().min(1).max(32e3),limits:we}),L=r({schemaVersion:u(1),key:c().regex(/^[a-z][a-z0-9-]{0,79}$/),version:c().regex(/^\d+\.\d+\.\d+$/),title:c().trim().min(1).max(120),description:c().trim().min(1).max(2e3),goalMode:d([`finite`,`ongoing`]),contextProviders:P,triggers:l(e(`type`,[r({id:N,type:u(`manual`)}),r({id:N,type:u(`event`),eventType:N}),r({id:N,type:u(`schedule`)})])).min(1).max(20).refine(e=>new Set(e.map(e=>e.id)).size===e.length,`Duplicate trigger IDs`),execution:I,allowedOutcomeKinds:l(d(Se)).min(1),allowedEffectHandlers:P}),Te=r({accountIds:P,contextProviders:P,effectHandlers:P}),Ee=r({expectedRevision:o().int().nonnegative(),content:c().trim().max(32e3),validUntil:o().int().nonnegative().nullable().default(null)}),R=r({templateKey:N,templateVersion:N,goal:c().trim().min(1).max(12e3),scope:Ce,permissions:Te}),z=R.extend({id:N,ownerId:N,workspaceId:c().min(1),status:d(F),setupMissing:l(c()).optional(),revision:o().int().positive()}),De=R.pick({goal:!0,scope:!0,permissions:!0}).extend({expectedRevision:o().int().positive()}),Oe=r({expectedRevision:o().int().positive(),status:d(F)}),B=r({subjectId:N,accountId:N,dueAt:o().int().nonnegative()}),ke=r({expectedRevision:o().int().positive(),dueAt:o().int().nonnegative().optional(),status:d([`watching`,`paused`,`completed`]).optional()}).refine(e=>e.dueAt!==void 0||e.status!==void 0,`Work item update is empty`),V=B.extend({id:N,activationId:N,revision:o().int().positive(),status:d([`watching`,`paused`,`completed`])}),H=o().int().min(0).max(23),U=r({level:d([`quiet`,`balanced`,`active`]).default(`balanced`),timezone:c().min(1).max(100).refine(e=>{try{return new Intl.DateTimeFormat(`en`,{timeZone:e}),!0}catch{return!1}}).default(`Asia/Shanghai`),quietStartHour:H.default(22),quietEndHour:H.default(8),dailyNotificationLimit:o().int().min(0).max(30).default(3),digestEnabled:a().default(!1),digestHour:H.default(18),digestMinute:o().int().min(0).max(59).default(0),preferredChannel:d([`in_app`,`browser`]).default(`browser`),suppressWhileViewing:a().default(!0),checksPaused:a().default(!1),checksPausedUntil:c().datetime({offset:!0}).nullable().default(null),notificationsMuted:a().default(!1)}),W=U.shape;r({expectedRevision:o().int().nonnegative(),level:W.level.removeDefault().optional(),timezone:W.timezone.removeDefault().optional(),quietStartHour:W.quietStartHour.removeDefault().optional(),quietEndHour:W.quietEndHour.removeDefault().optional(),dailyNotificationLimit:W.dailyNotificationLimit.removeDefault().optional(),digestEnabled:W.digestEnabled.removeDefault().optional(),digestHour:W.digestHour.removeDefault().optional(),digestMinute:W.digestMinute.removeDefault().optional(),preferredChannel:W.preferredChannel.removeDefault().optional(),suppressWhileViewing:W.suppressWhileViewing.removeDefault().optional(),checksPaused:W.checksPaused.removeDefault().optional(),checksPausedUntil:W.checksPausedUntil.removeDefault().optional(),notificationsMuted:W.notificationsMuted.removeDefault().optional()});var Ae=r({expectedRevision:o().int().nonnegative(),rating:d([`useful`,`not_useful`]),note:c().trim().max(2e3).optional()}),je=r({weekdays:l(o().int().min(0).max(6)).min(1).max(7).refine(e=>new Set(e).size===e.length,`Duplicate weekdays`),hour:o().int().min(0).max(23),minute:o().int().min(0).max(59),timeZone:c().trim().min(1).max(100).refine(e=>{try{return new Intl.DateTimeFormat(`en`,{timeZone:e}),!0}catch{return!1}},`Invalid time zone`)});d([`http`,`agent`,`cli`,`automation`,`mcp`,`extension`]),d([`INVALID_INPUT`,`FORBIDDEN`,`NOT_FOUND`,`REVISION_CONFLICT`,`CONTRACT_CHANGED`,`APPROVAL_REQUIRED`,`IN_PROGRESS`,`UNAVAILABLE`,`OUTCOME_UNKNOWN`,`CANCELLED`,`INTERNAL`]);var Me=r({majorVersion:o().int().positive(),descriptorDigest:c().regex(/^[a-f0-9]{64}$/),input:s(),idempotencyKey:c().min(1).max(200).optional()}),Ne=f({triggerSummary:c(),actionSummary:c(),safetyNotes:l(c()),requiredConfirmations:l(c()),canRunNow:a(),runNowBlockedReason:c().optional()});r({agentId:c().trim().min(1).max(64).optional(),language:d([`en`,`zh`]).default(`en`)}),f({draftId:c(),explanation:c(),assumptions:l(c()),risks:l(c()),automation:t({name:c(),trigger:s(),action:s()}),simulation:Ne,repairAttempts:o().int().nonnegative()}),f({draftId:c(),patch:n(c(),s()),explanation:c(),expectedEffect:c(),risks:l(c()),requiresApproval:a(),repairAttempts:o().int().nonnegative()});var Pe=r({eventId:c().min(1),kind:d([`note`,`task`,`project`,`automation`,`scene`,`local_app`]),id:c().min(1),revision:o().int().nonnegative(),operation:d([`created`,`updated`,`deleted`]),operationId:c().optional()}),G=r({id:c().trim().min(1).max(512)}),K=r({limit:o().int().min(1).max(100).default(50),afterId:c().max(200).default(``)});f({activation:z}),Oe.extend({id:c().min(1).max(512)}),f({activation:z}),U.extend({revision:o().int().positive()}),Ae.extend({id:c().min(1).max(512)}),f({revision:o().int().positive()}),G.extend({read:a()}),f({ok:u(!0),presentationId:c(),read:a()}),G.extend({triggerKey:c().min(1).max(200),expectedRevision:o().int().nonnegative(),schedule:je}),f({revision:o().int().positive()}),De.extend({id:c().min(1).max(512)}),f({activation:z}),f({intentId:c()}),Ee.extend({id:c().min(1).max(512)}),f({revision:o().int().positive()}),B.extend({id:c().min(1).max(512)}),f({workItem:V}),ke.safeExtend({id:c().min(1).max(512)}),f({workItem:V});var q=t({id:c(),activationId:c(),outcomeId:c(),status:c(),content:s(),readOnly:a(),createdAt:o(),sources:l(f({kind:c(),title:c(),sender:c(),href:c()})),sourceHealth:n(c(),s()).nullable()});G.extend({expectedVersion:o().int().positive(),reason:c().trim().min(1).max(4096).default(`TaskRun cancelled`)}),G.extend({rating:d([`helpful`,`not_helpful`]),reason:c().trim().max(4096).optional()}),f({ok:u(!0),feedback:f({id:c(),runId:c(),rating:d([`helpful`,`not_helpful`]),reason:c().optional(),createdAt:o()})}),f({ok:u(!0),run:m,receipt:h,model:g.pick({task:!0,operationalState:!0,attention:!0,allowedCommands:!0}),executionStopConfirmed:u(!1)}),G.extend({enabled:a(),expectedRevision:o().int().nonnegative()}),f({ok:u(!0),automation:k.loose()}).extend({run:A.loose()}),f({ok:u(!0),cancelled:a(),confirmed:a()}),f({ok:u(!0),marked:u(!0)}),r({projectId:c().trim().min(1).max(512).optional()}),f({ok:u(!0),count:o().int().nonnegative()}),G.extend({reason:c().trim().min(1).max(2e3)}),r({runId:c().trim().min(1).max(200),destinationKey:c().trim().min(1).max(100),reason:c().trim().min(1).max(2e3)}),f({ok:u(!0),accepted:u(!0)}),G.extend({expectedRevision:o().int().nonnegative().nullable()}),f({ok:u(!0),removed:a(),automation:k.loose().optional(),cancelRunId:c().optional()});var Fe=r({status:d([`inbox`,`processed`,`archived`,`trashed`]).optional(),kind:d([`thought`,`todo`,`voice`,`media`,`bookmark`,`mixed`,`task`]).optional(),tag:c().max(512).optional(),projectId:c().min(1).max(512).optional(),unassigned:a().optional(),agentEdited:a().optional(),search:c().max(4096).optional(),pinned:a().optional(),limit:o().int().min(1).max(100).default(20),offset:o().int().min(0).default(0),sortBy:d([`createdAt`,`updatedAt`,`lastOpenedAt`]).optional(),sortOrder:d([`asc`,`desc`]).optional()}),J=t({id:c().min(1),markdown:c(),kind:d([`thought`,`todo`,`voice`,`media`,`bookmark`,`mixed`,`task`]),status:d([`inbox`,`processed`,`archived`,`trashed`]),createdAt:o(),updatedAt:o(),title:c().optional(),localVersion:o().optional()}),Ie=f({note:J});G.extend({expectedRevision:o().int().positive(),revokeShares:a().default(!0)}),f({deleted:u(!0),revokedShares:o().int().nonnegative()});var Le=r({title:c().max(1e3).optional(),markdown:c().max(2e6).default(``),kind:J.shape.kind.optional(),tags:l(c().max(512)).max(100).optional(),capturedVia:r({channel:d([`app`,`web`,`electron`,`tui`,`telegram`,`wechat`,`feishu`]),platform:d([`ios`,`android`,`harmonyos`]).optional()}).default({channel:`web`}),pinned:a().default(!1),projectId:c().min(1).optional()});r({id:c().min(1),expectedRevision:o().int().positive(),trigger:d([`edit`,`ai_edit`,`sync`,`restore`]).optional(),patch:r({title:c().max(1e3).optional(),markdown:c().max(2e6).optional(),tags:l(c().max(512)).max(100).optional(),pinned:a().optional(),kind:J.shape.kind.optional(),status:J.shape.status.optional(),localVersion:o().int().positive().optional(),ai:n(c(),s()).optional(),aiDeep:t({processedAt:o()}).optional()})}),r({text:c().trim().min(1).max(2e6),capturedVia:Le.shape.capturedVia}),r({id:c().min(1),expectedRevision:o().int().positive().optional(),content:c().trim().min(1).max(2e6),heading:c().trim().min(1).max(1e3).default(`AI 讨论沉淀`)}),r({id:c().min(1),timestamp:o().int().positive(),expectedRevision:o().int().positive()});var Re=t({items:l(t({id:c().min(1)})),total:o().int().nonnegative()}),ze=r({phase:ae.optional(),priority:re.optional(),projectId:c().min(1).max(512).optional(),search:c().max(4096).optional(),limit:o().int().min(1).max(200).default(50),offset:o().int().nonnegative().default(0)}),Y=t({id:c().min(1),name:c(),slug:c(),status:d([`planned`,`active`,`paused`,`completed`,`cancelled`,`archived`]),executionMode:d([`local_checkout`,`managed_worktree`]),successCriteria:l(c()),scope:n(c(),i()),nonGoals:l(c()),health:d([`unknown`,`on_track`,`at_risk`,`off_track`]),version:o().int().positive(),createdAt:o(),updatedAt:o(),workspaceRoot:c().optional(),defaultAgentId:c().optional()}),Be=r({id:c().trim().min(1),expectedVersion:o().int().positive(),pinned:a()});f({ok:u(!0),project:Y}),r({workspacePath:c().trim().min(1).max(4096),agentId:c().trim().min(1).max(512).optional(),defaultAgentId:c().trim().max(512).optional(),projectKind:d([`auto`,`coding`,`general`,`unknown`]).optional(),autoCreate:a().default(!1),conversationId:ne().optional()}),f({ok:u(!0),project:Y.nullable(),reason:d([`exact`,`contained`,`auto_created`]).optional(),created:a().optional()}),Be.omit({pinned:!0}),f({ok:u(!0),deleted:u(!0),executionStopConfirmed:u(!1)});var X={name:c().trim().min(1).max(1e3).optional(),description:c().max(2e4).optional(),defaultAgentId:c().trim().max(512).optional(),workspaceRoot:c().trim().min(1).max(4096).optional(),createWorkspaceRoot:a().optional(),executionMode:Y.shape.executionMode.optional(),brief:c().max(2e4).optional(),instructions:c().max(1e5).optional(),outcome:c().max(2e4).optional(),successCriteria:l(c().max(4096)).max(100).optional(),scope:n(c(),s()).optional(),nonGoals:l(c().max(4096)).max(100).optional(),health:Y.shape.health.optional(),ownerId:c().max(512).optional(),targetAt:o().finite().optional()};r({...X,projectKind:d([`auto`,`coding`,`general`,`unknown`]).optional(),autoUnderstand:a().default(!1)}).refine(e=>!!(e.name||e.workspaceRoot),`name or workspaceRoot is required`),r({id:c().trim().min(1),expectedVersion:o().int().positive(),patch:r({...X,status:Y.shape.status.optional(),description:X.description.unwrap().nullable().optional(),defaultAgentId:X.defaultAgentId.unwrap().nullable().optional(),workspaceRoot:c().trim().max(4096).nullable().optional(),brief:X.brief.unwrap().nullable().optional(),instructions:X.instructions.unwrap().nullable().optional(),outcome:X.outcome.unwrap().nullable().optional(),ownerId:X.ownerId.unwrap().nullable().optional(),targetAt:X.targetAt.unwrap().nullable().optional()}).refine(e=>Object.values(e).some(e=>e!==void 0),`Empty project patch`)});var Ve=r({status:Y.shape.status.optional(),search:c().max(4096).optional(),sortBy:d([`updatedAt`,`createdAt`,`name`]).optional(),sortOrder:d([`asc`,`desc`]).optional(),limit:o().int().min(1).max(500).default(50),offset:o().int().nonnegative().default(0)}),Z=t({id:c(),projectId:c(),title:c(),status:d([`planned`,`active`,`completed`,`cancelled`]),sortOrder:o(),createdAt:o(),updatedAt:o()}),Q=t({id:c(),projectId:c(),summary:c(),health:Y.shape.health,createdAt:o()}),$={title:c().trim().min(1).max(1e3),description:c().max(2e4).optional(),status:Z.shape.status.optional(),targetAt:o().int().nonnegative().optional(),sortOrder:o().int().optional()};r({projectId:c().trim().min(1),...$}),r({projectId:c().trim().min(1),id:c().trim().min(1),expectedRevision:o().int().nonnegative(),patch:r({...$,description:c().max(2e4).nullable().optional(),targetAt:o().int().nonnegative().nullable().optional()}).partial().refine(e=>Object.values(e).some(e=>e!==void 0),`Empty milestone patch`)}).omit({patch:!0}),f({ok:u(!0),milestone:Z,project:Y}),f({ok:u(!0),deleted:u(!0)}),r({projectId:c().trim().min(1),expectedVersion:o().int().positive(),health:Y.shape.health,summary:c().trim().min(1).max(2e4),progress:l(c().max(1e4)).max(100).default([]),risks:l(c().max(1e4)).max(100).default([]),nextSteps:l(c().max(1e4)).max(100).default([])}),f({ok:u(!0),update:Q,project:Y});var He={"xopc.context.resolve":{input:b,output:y},"xopc.notes.preview_edit":{input:G.extend({instruction:c().trim().min(1).max(16e3),markdown:c().max(2e6).optional(),context:t({type:d([`selection`,`section`,`block`,`note`]),range:r({start:o().int().nonnegative(),end:o().int().nonnegative()})}).optional()}),output:f({message:c(),patch:f({id:c(),summary:c(),operations:l(f({type:u(`replaceRange`),from:o().int().nonnegative(),to:o().int().nonnegative(),markdown:c()}))})})},"xopc.automations.get_run":{input:G,output:f({ok:u(!0),run:A.loose()})},"xopc.automations.run_events":{input:G,output:f({ok:u(!0),events:l(j.loose())})},"xopc.automations.metrics":{input:r({}),output:f({ok:u(!0),metrics:M})},"xopc.automations.events":{input:r({type:c().trim().min(1).max(512).optional(),source:c().trim().min(1).max(512).optional(),limit:o().int().min(1).max(200).default(50)}),output:f({ok:u(!0),items:l(f({event:f({id:c(),type:c(),schemaVersion:o().int(),source:c(),subject:f({kind:c(),id:c()}).optional(),payload:n(c(),i()),occurredAtMs:o(),ingestedAtMs:o(),correlationId:c(),causationId:c().optional(),rootEventId:c(),chainDepth:o().int(),dedupeKey:c().optional(),trust:d([`system`,`user`,`connector`,`untrusted_webhook`])}),projectionStatus:d([`pending`,`projecting`,`retrying`,`projected`,`dead_letter`]),projectionAttempts:o().int(),projectionError:c().optional(),deliveries:l(f({automationId:c(),status:d([`pending`,`retrying`,`queued`,`completed`,`failed`,`cancelled`,`skipped`,`dead_letter`]),runId:c().optional(),attempts:o().int(),lastError:c().optional()}))}))})},"xopc.automations.deliveries":{input:r({runId:c().trim().min(1).max(200).optional(),status:d([`pending`,`delivering`,`retrying`,`delivered`,`dead_letter`]).optional(),limit:o().int().min(1).max(200).default(50)}),output:f({ok:u(!0),items:l(f({runId:c(),destinationKey:c(),kind:c(),status:d([`pending`,`delivering`,`retrying`,`delivered`,`dead_letter`]),attempts:o().int(),nextAttemptAtMs:o(),lastError:c().optional(),createdAtMs:o(),updatedAtMs:o()}))})},"xopc.automations.product_events":{input:r({eventType:c().trim().min(1).max(512),source:c().trim().min(1).max(512).optional(),payloadKey:c().trim().min(1).max(512).optional(),payloadValue:c().max(4096).optional(),limit:o().int().min(1).max(100).default(10)}).refine(e=>e.payloadKey===void 0==(e.payloadValue===void 0),`payloadKey and payloadValue must be supplied together`),output:f({ok:u(!0),items:l(f({run:A.loose(),triggerEvent:j.loose()}))})},"xopc.automations.list":{input:r({projectId:c().trim().min(1).optional()}),output:f({ok:u(!0),items:l(k.loose()),projectId:c().optional()})},"xopc.automations.get":{input:G,output:f({ok:u(!0),automation:k.loose()})},"xopc.automations.history":{input:r({automationId:c().trim().min(1).optional(),projectId:c().trim().min(1).optional(),limit:o().int().min(1).max(200).default(50)}),output:f({ok:u(!0),items:l(A.loose()),projectId:c().optional()})},"xopc.scenes.templates":{input:r({}),output:f({templates:l(L)})},"xopc.scenes.mail_accounts":{input:r({}),output:f({accounts:l(f({id:c(),label:c()}))})},"xopc.scenes.mail_sources":{input:K,output:f({sources:l(f({id:c(),accountId:c(),subject:c(),sender:c()})),nextCursor:c().nullable()})},"xopc.scenes.results":{input:K.extend({activationId:c().min(1).max(200).optional()}),output:f({outcomes:l(q),nextCursor:c().nullable()})},"xopc.scenes.get_presentation":{input:G,output:f({outcome:q})},"xopc.scenes.get_feedback":{input:G,output:f({feedback:f({rating:d([`useful`,`not_useful`]),note:c(),revision:o().int().nonnegative()}).nullable()})},"xopc.scenes.digest_results":{input:K.extend({id:c().min(1).max(512)}),output:f({outcomes:l(q),nextCursor:c().nullable()})},"xopc.scenes.metrics":{input:r({days:o().int().min(1).max(90).default(7)}),output:f({window:f({since:o(),until:o(),days:o().int()}),ratedOutcomes:o().int().nonnegative(),usefulOutcomes:o().int().nonnegative(),unhelpfulOutcomes:o().int().nonnegative(),scenesWithUsefulOutcomes:o().int().nonnegative(),checks:o().int().nonnegative(),failedChecks:o().int().nonnegative(),skippedChecks:o().int().nonnegative()})},"xopc.scenes.diagnostics":{input:r({}),output:f({checksPaused:a(),currentModel:c().nullable(),pendingChecks:o().int().nonnegative(),oldestDueWaitMs:o().nonnegative(),notifications:l(f({status:c(),count:o().int().nonnegative()})),activations:l(n(c(),s()))})},"xopc.scenes.get_preferences":{input:r({}),output:U.extend({revision:o().int().nonnegative()})},"xopc.scenes.preflight":{input:R,output:f({ready:a(),missing:l(c())})},"xopc.scenes.get_template":{input:r({key:c().min(1).max(200),version:c().min(1).max(200)}),output:f({template:L})},"xopc.scenes.list":{input:K,output:f({activations:l(z),nextCursor:c().nullable()})},"xopc.scenes.get":{input:G,output:f({activation:z,runs:l(t({id:c(),status:c(),attempt:o().int(),reason:c().nullable(),createdAt:o()})),schedules:l(t({triggerKey:c(),revision:o().int(),nextDueAt:o(),schedule:s()}))})},"xopc.scenes.read_notes":{input:G,output:f({notes:f({content:c(),revision:o().int().nonnegative(),validUntil:o().nullable()})})},"xopc.scenes.list_runs":{input:K.extend({id:c().min(1).max(512)}),output:f({runs:l(t({id:c(),activationId:c(),status:c(),attempt:o().int(),reason:c().nullable(),createdAt:o()})),nextCursor:c().nullable()})},"xopc.scenes.list_schedules":{input:G,output:f({schedules:l(t({triggerKey:c(),revision:o().int(),nextDueAt:o(),schedule:s()}))})},"xopc.scenes.list_work_items":{input:K.extend({id:c().min(1).max(512)}),output:f({workItems:l(t({id:c(),subjectId:c(),accountId:c(),dueAt:o(),status:c(),revision:o().int(),lastCheckReason:c().nullable()})),nextCursor:c().nullable()})},"xopc.settings.open":{input:r({section:c().trim().regex(/^[a-z0-9][a-z0-9/_-]*$/i).max(512).default(`overview`),title:c().trim().min(1).max(512).default(`Settings`),summary:c().trim().max(4096).optional()}),output:f({ok:u(!0),settings:f({section:c(),title:c(),summary:c().optional()})})},"xopc.local_apps.list":{input:r({}),output:f({apps:l(_)})},"xopc.local_apps.get":{input:G,output:f({app:v})},"xopc.local_apps.validate":{input:G,output:f({validation:ce})},"xopc.projects.get":{input:G,output:f({ok:u(!0),project:Y})},"xopc.projects.list":{input:Ve,output:t({ok:u(!0),items:l(Y),total:o().int().nonnegative()})},"xopc.projects.list_milestones":{input:G,output:f({ok:u(!0),projectId:c(),items:l(Z)})},"xopc.projects.list_updates":{input:G.extend({limit:o().int().min(1).max(500).default(20)}),output:f({ok:u(!0),projectId:c(),items:l(Q)})},"xopc.task_runs.get":{input:G,output:f({ok:u(!0),run:m,receipt:h.optional(),events:l(ie),activeWaits:l(p)})},"xopc.task_runs.list":{input:r({taskId:c().trim().min(1),limit:o().int().min(1).max(200).default(20)}),output:f({ok:u(!0),taskId:c(),items:l(m),receipts:l(h),activeWaits:l(p)})},"xopc.notes.project_summaries":{input:r({}),output:f({items:l(f({id:c(),name:c(),description:c().optional(),noteCount:o().int().nonnegative(),updatedAt:o().optional()}))})},"xopc.notes.history":{input:G,output:f({entries:l(f({timestamp:o().int().nonnegative(),trigger:d([`edit`,`ai_edit`,`sync`,`restore`]),snippet:c().optional()}))})},"xopc.notes.snapshot":{input:G.extend({timestamp:o().int().nonnegative()}),output:f({snapshot:f({noteId:c(),timestamp:o().int().nonnegative(),trigger:d([`edit`,`ai_edit`,`sync`,`restore`]),title:c().optional(),markdown:c(),tags:l(c()).optional(),kind:J.shape.kind,status:J.shape.status})})},"xopc.notes.get":{input:G,output:Ie},"xopc.notes.list":{input:Fe,output:Re},"xopc.tasks.metrics":{input:r({}),output:f({ok:u(!0),metrics:ye})},"xopc.tasks.get":{input:G,output:g},"xopc.tasks.list":{input:ze,output:se.extend({total:o().int().nonnegative()})}};export{ge as a,_e as i,He as n,be as o,Pe as r,Me as t};
@@ -1 +1 @@
1
- import{a as e,r as t}from"./locale-store-DId6-v2R.js";import{n}from"./capabilities-CT_ZW9fT.js";async function r(r,i){let a=n[r],o=a.input.parse(i),s=`/api/capabilities/operations/${encodeURIComponent(r)}`,c=await e(t(s)),l=await e(t(`${s}/invocations`),{method:`POST`,body:JSON.stringify({majorVersion:c.majorVersion,descriptorDigest:c.descriptorDigest,input:o})});return a.output.parse(l.data)}export{r as t};
1
+ import{a as e,r as t}from"./locale-store-CvNO-hbt.js";import{n}from"./capabilities-C4grvUkw.js";async function r(r,i){let a=n[r],o=a.input.parse(i),s=`/api/capabilities/operations/${encodeURIComponent(r)}`,c=await e(t(s)),l=await e(t(`${s}/invocations`),{method:`POST`,body:JSON.stringify({majorVersion:c.majorVersion,descriptorDigest:c.descriptorDigest,input:o})});return a.output.parse(l.data)}export{r as t};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/skills-page-C4lF94m5.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-BYNmHn-z.js","assets/preload-helper-zJ_50EbN.js","assets/es2015-DBLcMg5B.js","assets/vendor-react-BOUWij0V.js","assets/dist-CxGUk8J-.js","assets/dist-CI_fqRk-.js","assets/floating-ui.dom-B7uQOZZW.js","assets/markdown-view-DQZ51j9e.js","assets/dist-BGTk37IG.js","assets/chunk-KS7C4IRE-BMYIfy9x.js","assets/createLucideIcon-DPHK1VkS.js","assets/download-Dk-ZjtO6.js","assets/plus-Q2yW6OE7.js","assets/x-B_N4OPjy.js","assets/locale-store-DId6-v2R.js","assets/messages-BHvpZNe9.js","assets/cn-JdwAhgNB.js","assets/app-link-DRL0YnPs.js","assets/product-delivery-BAks11S4.js","assets/schemas-CObaziC7.js","assets/local-apps-yys1VChX.js","assets/copy-to-clipboard-HOJ79TWv.js","assets/markdown-view-DSjfHfaW.css","assets/dist-Che_jiQF.js","assets/vendor-swr-BIWyz7Rc.js","assets/activity-YogQEteU.js","assets/bot-DjLkhyZL.js","assets/check-DUBLcKHA.js","assets/chevron-right-BweFrslA.js","assets/popover-select-BgSdSbCL.js","assets/dist-C3DSFZCi.js","assets/skeleton-BwbyijEw.js","assets/settings-shell-dialog-layer-BU3UuiJr.js","assets/circle-alert-BEjgurr2.js","assets/circle-check-C23XjkUj.js","assets/circle-dashed-8qMD7gHf.js","assets/circle-dot-BAseJTrF.js","assets/circle-pause-CN9jYH2s.js","assets/clock-3-DnrAnuyZ.js","assets/cloud-C4-yfnnk.js","assets/copy-Dv6d4Dvw.js","assets/ellipsis-0k4rZLoy.js","assets/external-link-DjqjBmc3.js","assets/secret-input-DPl3VYM8.js","assets/eye-CABVeTq0.js","assets/loader-circle-CifKLtgG.js","assets/form-field-width-DJw_jULe.js","assets/interaction-BdhHBbYa.js","assets/is-masked-secret-DOkL5b_X.js","assets/use-composer-attachments-DB0bBGzZ.js","assets/mic-CuUb7zc-.js","assets/use-file-preview-expanded-Bope6MW6.js","assets/folder-open-CyzJ19I9.js","assets/link-2-D_ZKYUW7.js","assets/message-square-plus-XP0tGdlV.js","assets/minimize-2-DtOGrlpo.js","assets/pencil-DmIY3Oa-.js","assets/rotate-cw-LIg3Am9S.js","assets/search-DA7gz22f.js","assets/index.module-Cd9ENXfk.js","assets/session-api-N3N37MrR.js","assets/gateway-startup-retry-FDS6S6qa.js","assets/constants-Dy8Gw0sF.js","assets/app-chrome-BeB4KgOf.js","assets/attachment-utils-core-BIOUBrpT.js","assets/workspace-api-Cs4sjV2A.js","assets/files-Bw4SBGdM.js","assets/electron-env-Dit0bHgy.js","assets/use-async-resource-GrnWNwMZ.js","assets/activity-store-GvR2gZ0T.js","assets/share-link-dialog-TBBGJPfT.js","assets/globe-DSSGFWFn.js","assets/button-CS04eWY9.js","assets/copy-text-row-BHDs3cBa.js","assets/capabilities-CT_ZW9fT.js","assets/local-session-drafts-gbemPamv.js","assets/tasks-CH6KoBeY.js","assets/skill-wire-pattern-BPpeIcCi.js","assets/shares-api-DU0fHP2G.js","assets/capabilities-BKu9BqPe.js","assets/git-branch-Dh9uxTot.js","assets/notes-api-Byt65v3r.js","assets/message-square-fVE7Ghj1.js","assets/pause-DuPxgSxk.js","assets/play-kxZvpBg8.js","assets/rotate-ccw-JM1TBLpp.js","assets/settings-2-D-csvaET.js","assets/sparkles-DHlfQFAF.js","assets/middleware-Pd0e8Igk.js","assets/gateway-realtime-D0ygm6bc.js","assets/gateway-realtime-store-DBvCRclh.js","assets/extension-provider-F9JzOWZ3.js","assets/session-manager-CMGUwtbN.js","assets/tool-activity-BtJkgjFf.js","assets/registry-api-7F2WNEZC.js","assets/agents-admin-api-BkXb7VEZ.js","assets/gateway-config-swr-CoRoOG1l.js","assets/send-session-input-D1oc6BC6.js","assets/theme-store-OhcbFEUR.js","assets/loopi-Djb8XU3l.js","assets/loopi-C09I2mNj.css","assets/models-hub-cache-B9SKjidc.js","assets/oauth-api-BYsCbyGZ.js","assets/skill-api-utils-C7V4JVXM.js","assets/settings-form-draft-Dy10ldo8.js","assets/index-CbJNcWAn.css","assets/page-tabs-D2xpUV26.js","assets/capability-header-actions--aC5XB9E.js","assets/capability-icon-BYm2-nS-.js","assets/skill-api-C340XD9d.js","assets/skill-reload-api-ClyFqHk7.js","assets/connectors-page-Um_Jy5zh.js","assets/connector-service-page-1_QB5D-t.js","assets/agent-plugin-dialog-BY6tPYOK.js","assets/apps-page-CS6-hrIB.js","assets/agents-CdSEoeje.js","assets/directory-picker-path-field-BnilGgwM.js","assets/fallback-models-bZcxkEDz.js","assets/image-generation-api-BPd76jW5.js","assets/settings-page-layout-X1x-2Cp9.js","assets/channels-JnAQP1bt.js","assets/browser-BLJWD7WI.js","assets/schema-form-C_cJLGgF.js","assets/settings-loading-skeleton-CAmWMaOT.js"])))=>i.map(i=>d[i]);
2
- 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"./preload-helper-zJ_50EbN.js";import{m as a,r as o}from"./chunk-KS7C4IRE-BMYIfy9x.js";import{t as s}from"./messages-BHvpZNe9.js";import{n as c}from"./locale-store-DId6-v2R.js";import{t as l}from"./skeleton-BwbyijEw.js";import{$a as u,Yi as d}from"./index-BYNmHn-z.js";import{t as f}from"./capability-header-actions--aC5XB9E.js";var p=n(),m=e(t(),1),h=r(),g=(0,m.lazy)(()=>i(()=>import(`./skills-page-C4lF94m5.js`).then(e=>({default:e.SkillsPage})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112]))),_=(0,m.lazy)(()=>i(()=>import(`./connectors-page-Um_Jy5zh.js`).then(e=>({default:e.ConnectorsPage})),__vite__mapDeps([113,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115]))),v=(0,m.lazy)(()=>i(()=>import(`./apps-page-CS6-hrIB.js`).then(e=>({default:e.ExtensionsPage})),__vite__mapDeps([116,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,115]))),y=(0,m.lazy)(()=>i(()=>import(`./agents-CdSEoeje.js`).then(e=>({default:e.AgentsSettingsPanel})),__vite__mapDeps([117,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,118,119,120,121]))),b=(0,m.lazy)(()=>i(()=>import(`./channels-JnAQP1bt.js`).then(e=>({default:e.ChannelsSettingsPanel})),__vite__mapDeps([122,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,123,124,125,121])));function x(e){return u.includes(e)?e:null}function S(e){let t=(0,p.c)(3),{label:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=Array.from({length:6},C),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,h.jsx)(`div`,{className:`mx-auto grid w-full max-w-7xl gap-4 px-4 pb-7 pt-3 sm:grid-cols-2 sm:px-6 lg:grid-cols-3 lg:px-8 lg:pb-9 lg:pt-4`,"aria-label":n,"aria-busy":!0,children:r}),t[1]=n,t[2]=i),i}function C(e,t){return(0,h.jsx)(l,{className:`h-40 rounded-xl`},t)}function w(){let e=(0,p.c)(41),t=c(D),n;e[0]===t?n=e[1]:(n=s(t),e[0]=t,e[1]=n);let r=n,i=r.capabilitiesHub,{section:l,detailId:u}=a(),C;e[2]===l?C=e[3]:(C=x(l),e[2]=l,e[3]=C);let w=C,O=w??`skills`,k=r.productNavigation.sections[`capabilities-${O}`],A=d(E),j=d(T),M;e[4]===O?M=e[5]:(M={section:O,value:null},e[4]=O,e[5]=M);let[N,P]=(0,m.useState)(M),F=N.section===O?N.value:null,I;e[6]===O?I=e[7]:(I=e=>{P({section:O,value:e})},e[6]=O,e[7]=I);let L=I,R,z;if(e[8]!==j||e[9]!==F||e[10]!==k||e[11]!==A?(R=()=>(A({startExtra:null,main:(0,h.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:k}),end:(0,h.jsx)(f,{contribution:F})}),()=>j()),z=[j,F,k,A],e[8]=j,e[9]=F,e[10]=k,e[11]=A,e[12]=R,e[13]=z):(R=e[12],z=e[13]),(0,m.useLayoutEffect)(R,z),!w){let t;return e[14]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,h.jsx)(o,{to:`/capabilities/skills`,replace:!0}),e[14]=t):t=e[14],t}let B;e[15]===i.discoverLoading?B=e[16]:(B=(0,h.jsx)(S,{label:i.discoverLoading}),e[15]=i.discoverLoading,e[16]=B);let V;e[17]!==u||e[18]!==L||e[19]!==O?(V=O===`agents`?(0,h.jsx)(y,{agentId:u,onHeaderActionChange:L}):null,e[17]=u,e[18]=L,e[19]=O,e[20]=V):V=e[20];let H;e[21]!==L||e[22]!==O?(H=O===`skills`?(0,h.jsx)(g,{embedded:!0,onHeaderActionChange:L}):null,e[21]=L,e[22]=O,e[23]=H):H=e[23];let U;e[24]!==L||e[25]!==O?(U=O===`connectors`?(0,h.jsx)(_,{embedded:!0,onHeaderActionChange:L}):null,e[24]=L,e[25]=O,e[26]=U):U=e[26];let W;e[27]!==u||e[28]!==L||e[29]!==O?(W=O===`channels`?(0,h.jsx)(b,{channelId:u,onHeaderActionChange:L}):null,e[27]=u,e[28]=L,e[29]=O,e[30]=W):W=e[30];let G;e[31]!==L||e[32]!==O?(G=O===`extensions`?(0,h.jsx)(v,{embedded:!0,onHeaderActionChange:L}):null,e[31]=L,e[32]=O,e[33]=G):G=e[33];let K;return e[34]!==W||e[35]!==G||e[36]!==B||e[37]!==V||e[38]!==H||e[39]!==U?(K=(0,h.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:(0,h.jsxs)(m.Suspense,{fallback:B,children:[V,H,U,W,G]})}),e[34]=W,e[35]=G,e[36]=B,e[37]=V,e[38]=H,e[39]=U,e[40]=K):K=e[40],K}function T(e){return e.clearPageHeader}function E(e){return e.setPageHeader}function D(e){return e.language}export{w as CapabilitiesPage};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/skills-page-TsrjLYcI.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-6JNNrzCq.js","assets/preload-helper-zJ_50EbN.js","assets/es2015-DBLcMg5B.js","assets/vendor-react-BOUWij0V.js","assets/dist-CxGUk8J-.js","assets/dist-CI_fqRk-.js","assets/floating-ui.dom-B7uQOZZW.js","assets/markdown-view-DDJlD5jR.js","assets/dist-BGTk37IG.js","assets/chunk-KS7C4IRE-BMYIfy9x.js","assets/createLucideIcon-DPHK1VkS.js","assets/download-Dk-ZjtO6.js","assets/plus-Q2yW6OE7.js","assets/x-B_N4OPjy.js","assets/locale-store-CvNO-hbt.js","assets/messages-pGa2qMzG.js","assets/cn-JdwAhgNB.js","assets/app-link-DRL0YnPs.js","assets/product-delivery-BAks11S4.js","assets/schemas-CObaziC7.js","assets/local-apps-yys1VChX.js","assets/copy-to-clipboard-HOJ79TWv.js","assets/markdown-view-DSjfHfaW.css","assets/dist-Che_jiQF.js","assets/vendor-swr-BIWyz7Rc.js","assets/activity-YogQEteU.js","assets/bot-DjLkhyZL.js","assets/check-DUBLcKHA.js","assets/chevron-right-BweFrslA.js","assets/popover-select-BgSdSbCL.js","assets/dist-C3DSFZCi.js","assets/skeleton-BwbyijEw.js","assets/settings-shell-dialog-layer-BU3UuiJr.js","assets/circle-alert-BEjgurr2.js","assets/circle-check-C23XjkUj.js","assets/circle-dashed-8qMD7gHf.js","assets/circle-dot-BAseJTrF.js","assets/circle-pause-CN9jYH2s.js","assets/clock-3-DnrAnuyZ.js","assets/cloud-C4-yfnnk.js","assets/copy-Dv6d4Dvw.js","assets/ellipsis-0k4rZLoy.js","assets/external-link-DjqjBmc3.js","assets/secret-input-D93UrW4C.js","assets/eye-CABVeTq0.js","assets/loader-circle-CifKLtgG.js","assets/form-field-width-DJw_jULe.js","assets/interaction-BdhHBbYa.js","assets/is-masked-secret-DOkL5b_X.js","assets/use-composer-attachments-Dlm9EFTO.js","assets/mic-CuUb7zc-.js","assets/use-file-preview-expanded-BOpcSApw.js","assets/folder-open-CyzJ19I9.js","assets/link-2-D_ZKYUW7.js","assets/message-square-plus-XP0tGdlV.js","assets/minimize-2-DtOGrlpo.js","assets/pencil-DmIY3Oa-.js","assets/rotate-cw-LIg3Am9S.js","assets/search-DA7gz22f.js","assets/index.module-Cd9ENXfk.js","assets/session-api-CW2X7g_U.js","assets/gateway-startup-retry-D_EwU7-6.js","assets/constants-Dy8Gw0sF.js","assets/app-chrome-BeB4KgOf.js","assets/attachment-utils-core-BIOUBrpT.js","assets/workspace-api-B9M9ECTB.js","assets/files-Bw4SBGdM.js","assets/electron-env-Dit0bHgy.js","assets/use-async-resource-GrnWNwMZ.js","assets/activity-store-SVmnh__i.js","assets/share-link-dialog-DCSmx-Rl.js","assets/globe-DSSGFWFn.js","assets/button-CS04eWY9.js","assets/copy-text-row-BHDs3cBa.js","assets/capabilities-C4grvUkw.js","assets/local-session-drafts-C4et6msJ.js","assets/tasks-CH6KoBeY.js","assets/skill-wire-pattern-BPpeIcCi.js","assets/shares-api-B4rLfG3l.js","assets/capabilities-CAIQmCrH.js","assets/git-branch-Dh9uxTot.js","assets/notes-api-CKLw9vjk.js","assets/message-square-fVE7Ghj1.js","assets/pause-DuPxgSxk.js","assets/play-kxZvpBg8.js","assets/rotate-ccw-JM1TBLpp.js","assets/settings-2-D-csvaET.js","assets/sparkles-DHlfQFAF.js","assets/middleware-Pd0e8Igk.js","assets/gateway-realtime-DD70L42G.js","assets/gateway-realtime-store-DeUVEPPE.js","assets/extension-provider-DaLt3bC-.js","assets/session-manager-BDpdi3lF.js","assets/tool-activity-BtJkgjFf.js","assets/registry-api-CiN49wvk.js","assets/agents-admin-api-CVdFV-cU.js","assets/gateway-config-swr-DIIzvDLQ.js","assets/send-session-input-jH6MQwdZ.js","assets/theme-store-DbRLBHVY.js","assets/loopi-Djb8XU3l.js","assets/loopi-C09I2mNj.css","assets/models-hub-cache-DzFiL4xV.js","assets/oauth-api-CC5KkSgG.js","assets/skill-api-utils-C7V4JVXM.js","assets/settings-form-draft-Dy10ldo8.js","assets/index-CbJNcWAn.css","assets/page-tabs-D2xpUV26.js","assets/capability-header-actions-BA1M7RRP.js","assets/capability-icon-BYm2-nS-.js","assets/skill-api-sKX8SSlQ.js","assets/skill-reload-api-Ro-s69NW.js","assets/connectors-page-CUOL6JX0.js","assets/connector-service-page-CY_3H_l9.js","assets/agent-plugin-dialog-1tRxDfjI.js","assets/apps-page-BoB3MbsB.js","assets/agents-gdT0whx9.js","assets/directory-picker-path-field-CBTI3tKh.js","assets/fallback-models-BLJFYASE.js","assets/image-generation-api-BkK22JsL.js","assets/settings-page-layout-X1x-2Cp9.js","assets/channels-EQGCxr8W.js","assets/browser-BLJWD7WI.js","assets/schema-form-CMB61TV1.js","assets/settings-loading-skeleton-CAmWMaOT.js"])))=>i.map(i=>d[i]);
2
+ 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"./preload-helper-zJ_50EbN.js";import{m as a,r as o}from"./chunk-KS7C4IRE-BMYIfy9x.js";import{t as s}from"./messages-pGa2qMzG.js";import{n as c}from"./locale-store-CvNO-hbt.js";import{t as l}from"./skeleton-BwbyijEw.js";import{$a as u,Yi as d}from"./index-6JNNrzCq.js";import{t as f}from"./capability-header-actions-BA1M7RRP.js";var p=n(),m=e(t(),1),h=r(),g=(0,m.lazy)(()=>i(()=>import(`./skills-page-TsrjLYcI.js`).then(e=>({default:e.SkillsPage})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112]))),_=(0,m.lazy)(()=>i(()=>import(`./connectors-page-CUOL6JX0.js`).then(e=>({default:e.ConnectorsPage})),__vite__mapDeps([113,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,114,115]))),v=(0,m.lazy)(()=>i(()=>import(`./apps-page-BoB3MbsB.js`).then(e=>({default:e.ExtensionsPage})),__vite__mapDeps([116,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,115]))),y=(0,m.lazy)(()=>i(()=>import(`./agents-gdT0whx9.js`).then(e=>({default:e.AgentsSettingsPanel})),__vite__mapDeps([117,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,118,119,120,121]))),b=(0,m.lazy)(()=>i(()=>import(`./channels-EQGCxr8W.js`).then(e=>({default:e.ChannelsSettingsPanel})),__vite__mapDeps([122,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,123,124,125,121])));function x(e){return u.includes(e)?e:null}function S(e){let t=(0,p.c)(3),{label:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=Array.from({length:6},C),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,h.jsx)(`div`,{className:`mx-auto grid w-full max-w-7xl gap-4 px-4 pb-7 pt-3 sm:grid-cols-2 sm:px-6 lg:grid-cols-3 lg:px-8 lg:pb-9 lg:pt-4`,"aria-label":n,"aria-busy":!0,children:r}),t[1]=n,t[2]=i),i}function C(e,t){return(0,h.jsx)(l,{className:`h-40 rounded-xl`},t)}function w(){let e=(0,p.c)(41),t=c(D),n;e[0]===t?n=e[1]:(n=s(t),e[0]=t,e[1]=n);let r=n,i=r.capabilitiesHub,{section:l,detailId:u}=a(),C;e[2]===l?C=e[3]:(C=x(l),e[2]=l,e[3]=C);let w=C,O=w??`skills`,k=r.productNavigation.sections[`capabilities-${O}`],A=d(E),j=d(T),M;e[4]===O?M=e[5]:(M={section:O,value:null},e[4]=O,e[5]=M);let[N,P]=(0,m.useState)(M),F=N.section===O?N.value:null,I;e[6]===O?I=e[7]:(I=e=>{P({section:O,value:e})},e[6]=O,e[7]=I);let L=I,R,z;if(e[8]!==j||e[9]!==F||e[10]!==k||e[11]!==A?(R=()=>(A({startExtra:null,main:(0,h.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:k}),end:(0,h.jsx)(f,{contribution:F})}),()=>j()),z=[j,F,k,A],e[8]=j,e[9]=F,e[10]=k,e[11]=A,e[12]=R,e[13]=z):(R=e[12],z=e[13]),(0,m.useLayoutEffect)(R,z),!w){let t;return e[14]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,h.jsx)(o,{to:`/capabilities/skills`,replace:!0}),e[14]=t):t=e[14],t}let B;e[15]===i.discoverLoading?B=e[16]:(B=(0,h.jsx)(S,{label:i.discoverLoading}),e[15]=i.discoverLoading,e[16]=B);let V;e[17]!==u||e[18]!==L||e[19]!==O?(V=O===`agents`?(0,h.jsx)(y,{agentId:u,onHeaderActionChange:L}):null,e[17]=u,e[18]=L,e[19]=O,e[20]=V):V=e[20];let H;e[21]!==L||e[22]!==O?(H=O===`skills`?(0,h.jsx)(g,{embedded:!0,onHeaderActionChange:L}):null,e[21]=L,e[22]=O,e[23]=H):H=e[23];let U;e[24]!==L||e[25]!==O?(U=O===`connectors`?(0,h.jsx)(_,{embedded:!0,onHeaderActionChange:L}):null,e[24]=L,e[25]=O,e[26]=U):U=e[26];let W;e[27]!==u||e[28]!==L||e[29]!==O?(W=O===`channels`?(0,h.jsx)(b,{channelId:u,onHeaderActionChange:L}):null,e[27]=u,e[28]=L,e[29]=O,e[30]=W):W=e[30];let G;e[31]!==L||e[32]!==O?(G=O===`extensions`?(0,h.jsx)(v,{embedded:!0,onHeaderActionChange:L}):null,e[31]=L,e[32]=O,e[33]=G):G=e[33];let K;return e[34]!==W||e[35]!==G||e[36]!==B||e[37]!==V||e[38]!==H||e[39]!==U?(K=(0,h.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:(0,h.jsxs)(m.Suspense,{fallback:B,children:[V,H,U,W,G]})}),e[34]=W,e[35]=G,e[36]=B,e[37]=V,e[38]=H,e[39]=U,e[40]=K):K=e[40],K}function T(e){return e.clearPageHeader}function E(e){return e.setPageHeader}function D(e){return e.language}export{w as CapabilitiesPage};
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-swr-BIWyz7Rc.js","assets/rolldown-runtime-aKtaBQYM.js","assets/vendor-react-BOUWij0V.js"])))=>i.map(i=>d[i]);
2
- 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"./preload-helper-zJ_50EbN.js";import{f as a,g as o,m as s,r as c,t as l}from"./chunk-KS7C4IRE-BMYIfy9x.js";import{t as u}from"./chevron-right-BweFrslA.js";import{n as d,r as f,t as p}from"./popover-select-BgSdSbCL.js";import{t as m}from"./circle-check-C23XjkUj.js";import{t as h}from"./circle-dashed-8qMD7gHf.js";import{t as g}from"./cloud-C4-yfnnk.js";import{t as _}from"./external-link-DjqjBmc3.js";import{t as v}from"./secret-input-DPl3VYM8.js";import{t as y}from"./eye-CABVeTq0.js";import{t as b}from"./loader-circle-CifKLtgG.js";import{t as x}from"./mic-CuUb7zc-.js";import{t as S}from"./pencil-DmIY3Oa-.js";import{t as C}from"./play-kxZvpBg8.js";import{t as w}from"./plus-Q2yW6OE7.js";import{t as T}from"./settings-2-D-csvaET.js";import{t as E}from"./x-B_N4OPjy.js";import{t as D}from"./messages-BHvpZNe9.js";import{t as O}from"./cn-JdwAhgNB.js";import{a as k,c as A,i as j,n as M,r as N}from"./locale-store-DId6-v2R.js";import{a as P,i as F,n as I,o as L,r as R,s as ee,t as z}from"./dist-BGTk37IG.js";import{i as B}from"./vendor-swr-BIWyz7Rc.js";import{t as V}from"./button-CS04eWY9.js";import{n as H,t as U}from"./interaction-BdhHBbYa.js";import{n as W,r as G}from"./gateway-config-swr-CoRoOG1l.js";import{a as K,o as te,s as q}from"./form-field-width-DJw_jULe.js";import{n as ne}from"./is-masked-secret-DOkL5b_X.js";import{t as J}from"./skeleton-BwbyijEw.js";import{i as Y,o as X}from"./settings-shell-dialog-layer-BU3UuiJr.js";import{t as Z}from"./electron-env-Dit0bHgy.js";import{n as re,t as ie}from"./settings-form-draft-Dy10ldo8.js";import{i as ae,r as oe,t as se}from"./models-hub-cache-B9SKjidc.js";import{a as ce,i as le,n as ue,o as de,r as fe,t as pe}from"./oauth-api-BYsCbyGZ.js";import{Ao as me,At as he,Ct as ge,Do as _e,Dt as ve,Et as ye,Fc as be,Ft as xe,Go as Se,Gr as Ce,It as we,Lt as Te,Ns as Ee,Nt as De,Ot as Oe,Pc as ke,Qi as Ae,Ro as je,So as Me,St as Ne,Tt as Pe,Xi as Fe,Zi as Ie,_t as Le,aa as Re,bn as ze,bt as Be,ca as Ve,da as He,do as Ue,fa as We,fs as Ge,gt as Ke,hn as qe,ht as Je,ii as Ye,jt as Xe,ks as Ze,kt as Qe,la as $e,ma as et,na as tt,pa as nt,ro as rt,ta as it,to as at,ua as ot,uo as st,vt as ct,wt as lt,xt as ut,yt as dt}from"./index-BYNmHn-z.js";import{t as ft}from"./page-tabs-D2xpUV26.js";import{n as pt,r as mt}from"./settings-page-layout-X1x-2Cp9.js";import{n as ht,t as gt}from"./settings-form-section-exRhP9xn.js";import{t as _t}from"./settings-loading-skeleton-CAmWMaOT.js";import{n as vt,t as yt}from"./use-autosave-veoM0dHn.js";import{c as bt,d as xt,i as St,l as Ct,n as wt,o as Tt,r as Et,s as Dt,t as Ot}from"./voice-config-api-Daexehmc.js";import{t as kt}from"./voice-api-key-field-CwD6a3KQ.js";import{t as At}from"./settings-advanced-gate-DRc9IDJf.js";import{a as jt,i as Mt,n as Nt,o as Pt,r as Ft,t as It}from"./image-generation-api-BPd76jW5.js";var Lt=n(),Q=e(t(),1),$=r(),Rt={en:{addTitle:`Add image service`,editTitle:`Manage image service`,intro:`Connect an endpoint that implements the OpenAI Images protocol.`,connection:`Connection`,providerId:`Provider ID`,providerIdHint:`Lowercase letters, numbers, hyphens, or underscores.`,name:`Display name`,baseUrl:`Base URL`,auth:`Authentication`,bearer:`Bearer token`,header:`Custom API key header`,none:`No authentication`,headerName:`Header name`,apiKey:`API key`,apiKeyHint:`Stored in the local credential store, separate from models.json.`,apiKeyUrl:`API key page (optional)`,docsUrl:`Documentation page (optional)`,openKeyPage:`Create API key`,paths:`Protocol and network`,generationsPath:`Generations path`,editsPath:`Edits path`,allowedHosts:`Allowed private hosts (optional)`,allowedHostsHint:`One exact hostname or IP per line. Private endpoints stay blocked unless listed here.`,staticHeaders:`Static headers (optional)`,staticHeadersHint:`One per line: X-Tenant: value. Credential headers are rejected.`,models:`Image models`,addModel:`Add model`,modelId:`Model ID`,modelName:`Name (optional)`,defaultModel:`Default model`,maxCount:`Max images`,defaultCount:`Default count`,defaultSize:`Default size`,format:`Output format`,supportsSize:`Supports size`,edit:`Supports edits`,remove:`Remove`,cancel:`Cancel`,save:`Save service`,saving:`Saving…`,test:`Test generation`,testing:`Generating…`,delete:`Delete service`,confirmDelete:`Delete permanently`,saved:`Image service saved.`,deleted:`Image service deleted.`,testReady:`Test image generated.`,show:`Show key`,hide:`Hide key`,copy:`Copy key`,copied:`Copied`,revealFailed:`Unable to reveal the saved key.`,notRevealable:`No revealable key is stored locally.`,required:`Complete the required connection and model fields.`,duplicateModels:`Model IDs must be unique.`,invalidHeaders:`Static headers must use “Name: value”, one per line.`},zh:{addTitle:`添加图片服务`,editTitle:`管理图片服务`,intro:`连接一个严格实现 OpenAI Images 协议的服务端点。`,connection:`连接信息`,providerId:`Provider ID`,providerIdHint:`仅支持小写字母、数字、连字符和下划线。`,name:`显示名称`,baseUrl:`Base URL`,auth:`认证方式`,bearer:`Bearer Token`,header:`自定义 API Key Header`,none:`无需认证`,headerName:`Header 名称`,apiKey:`API Key`,apiKeyHint:`密钥单独保存在本机凭据存储,不写入 models.json。`,apiKeyUrl:`API Key 创建页面(可选)`,docsUrl:`协议文档页面(可选)`,openKeyPage:`去创建 API Key`,paths:`协议与网络`,generationsPath:`生成路径`,editsPath:`编辑路径`,allowedHosts:`允许访问的私有主机(可选)`,allowedHostsHint:`每行一个精确主机名或 IP;未列出的私网端点保持阻止。`,staticHeaders:`静态 Headers(可选)`,staticHeadersHint:`每行一个:X-Tenant: value。认证 Header 会被拒绝。`,models:`图片模型`,addModel:`添加模型`,modelId:`模型 ID`,modelName:`名称(可选)`,defaultModel:`默认模型`,maxCount:`单次最大张数`,defaultCount:`默认张数`,defaultSize:`默认尺寸`,format:`输出格式`,supportsSize:`支持尺寸参数`,edit:`支持图片编辑`,remove:`移除`,cancel:`取消`,save:`保存服务`,saving:`保存中…`,test:`测试生成`,testing:`生成中…`,delete:`删除服务`,confirmDelete:`确认永久删除`,saved:`图片服务已保存。`,deleted:`图片服务已删除。`,testReady:`测试图片生成成功。`,show:`显示密钥`,hide:`隐藏密钥`,copy:`复制密钥`,copied:`已复制`,revealFailed:`无法查看已保存的密钥。`,notRevealable:`本机没有可查看的密钥。`,required:`请补全必填的连接和模型信息。`,duplicateModels:`模型 ID 不能重复。`,invalidHeaders:`静态 Header 必须使用“名称: 值”格式,每行一个。`}},zt=`mt-1.5 h-10 w-full rounded-lg border border-edge bg-surface-panel px-3 text-sm text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/20`;function Bt(e){let t=e??{id:``,capabilities:{generate:{maxCount:1,supportsSize:!0},edit:{enabled:!1}}};return{original:t,id:t.id,name:t.name??``,maxCount:String(t.capabilities.generate?.maxCount??1),defaultCount:t.defaults?.count?String(t.defaults.count):``,defaultSize:t.defaults?.size??``,outputFormat:t.defaults?.outputFormat??``,supportsSize:t.capabilities.generate?.supportsSize??!1,editEnabled:t.capabilities.edit?.enabled??!1}}function Vt(e){let t=e.split(`
2
+ 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"./preload-helper-zJ_50EbN.js";import{f as a,g as o,m as s,r as c,t as l}from"./chunk-KS7C4IRE-BMYIfy9x.js";import{t as u}from"./chevron-right-BweFrslA.js";import{n as d,r as f,t as p}from"./popover-select-BgSdSbCL.js";import{t as m}from"./circle-check-C23XjkUj.js";import{t as h}from"./circle-dashed-8qMD7gHf.js";import{t as g}from"./cloud-C4-yfnnk.js";import{t as _}from"./external-link-DjqjBmc3.js";import{t as v}from"./secret-input-D93UrW4C.js";import{t as y}from"./eye-CABVeTq0.js";import{t as b}from"./loader-circle-CifKLtgG.js";import{t as x}from"./mic-CuUb7zc-.js";import{t as S}from"./pencil-DmIY3Oa-.js";import{t as C}from"./play-kxZvpBg8.js";import{t as w}from"./plus-Q2yW6OE7.js";import{t as T}from"./settings-2-D-csvaET.js";import{t as E}from"./x-B_N4OPjy.js";import{t as D}from"./messages-pGa2qMzG.js";import{t as O}from"./cn-JdwAhgNB.js";import{a as k,c as A,i as j,n as M,r as N}from"./locale-store-CvNO-hbt.js";import{a as P,i as F,n as I,o as L,r as R,s as ee,t as z}from"./dist-BGTk37IG.js";import{i as B}from"./vendor-swr-BIWyz7Rc.js";import{t as V}from"./button-CS04eWY9.js";import{n as H,t as U}from"./interaction-BdhHBbYa.js";import{n as W,r as G}from"./gateway-config-swr-DIIzvDLQ.js";import{a as K,o as te,s as q}from"./form-field-width-DJw_jULe.js";import{n as ne}from"./is-masked-secret-DOkL5b_X.js";import{t as J}from"./skeleton-BwbyijEw.js";import{i as Y,o as X}from"./settings-shell-dialog-layer-BU3UuiJr.js";import{t as Z}from"./electron-env-Dit0bHgy.js";import{n as re,t as ie}from"./settings-form-draft-Dy10ldo8.js";import{i as ae,r as oe,t as se}from"./models-hub-cache-DzFiL4xV.js";import{a as ce,i as le,n as ue,o as de,r as fe,t as pe}from"./oauth-api-CC5KkSgG.js";import{Ao as me,At as he,Ct as ge,Do as _e,Dt as ve,Et as ye,Fc as be,Ft as xe,Go as Se,Gr as Ce,It as we,Lt as Te,Ns as Ee,Nt as De,Ot as Oe,Pc as ke,Qi as Ae,Ro as je,So as Me,St as Ne,Tt as Pe,Xi as Fe,Zi as Ie,_t as Le,aa as Re,bn as ze,bt as Be,ca as Ve,da as He,do as Ue,fa as We,fs as Ge,gt as Ke,hn as qe,ht as Je,ii as Ye,jt as Xe,ks as Ze,kt as Qe,la as $e,ma as et,na as tt,pa as nt,ro as rt,ta as it,to as at,ua as ot,uo as st,vt as ct,wt as lt,xt as ut,yt as dt}from"./index-6JNNrzCq.js";import{t as ft}from"./page-tabs-D2xpUV26.js";import{n as pt,r as mt}from"./settings-page-layout-X1x-2Cp9.js";import{n as ht,t as gt}from"./settings-form-section-exRhP9xn.js";import{t as _t}from"./settings-loading-skeleton-CAmWMaOT.js";import{n as vt,t as yt}from"./use-autosave-C889OTsP.js";import{c as bt,d as xt,i as St,l as Ct,n as wt,o as Tt,r as Et,s as Dt,t as Ot}from"./voice-config-api-CZoV2Lt4.js";import{t as kt}from"./voice-api-key-field-evWflGY6.js";import{t as At}from"./settings-advanced-gate-B6WGnTLY.js";import{a as jt,i as Mt,n as Nt,o as Pt,r as Ft,t as It}from"./image-generation-api-BkK22JsL.js";var Lt=n(),Q=e(t(),1),$=r(),Rt={en:{addTitle:`Add image service`,editTitle:`Manage image service`,intro:`Connect an endpoint that implements the OpenAI Images protocol.`,connection:`Connection`,providerId:`Provider ID`,providerIdHint:`Lowercase letters, numbers, hyphens, or underscores.`,name:`Display name`,baseUrl:`Base URL`,auth:`Authentication`,bearer:`Bearer token`,header:`Custom API key header`,none:`No authentication`,headerName:`Header name`,apiKey:`API key`,apiKeyHint:`Stored in the local credential store, separate from models.json.`,apiKeyUrl:`API key page (optional)`,docsUrl:`Documentation page (optional)`,openKeyPage:`Create API key`,paths:`Protocol and network`,generationsPath:`Generations path`,editsPath:`Edits path`,allowedHosts:`Allowed private hosts (optional)`,allowedHostsHint:`One exact hostname or IP per line. Private endpoints stay blocked unless listed here.`,staticHeaders:`Static headers (optional)`,staticHeadersHint:`One per line: X-Tenant: value. Credential headers are rejected.`,models:`Image models`,addModel:`Add model`,modelId:`Model ID`,modelName:`Name (optional)`,defaultModel:`Default model`,maxCount:`Max images`,defaultCount:`Default count`,defaultSize:`Default size`,format:`Output format`,supportsSize:`Supports size`,edit:`Supports edits`,remove:`Remove`,cancel:`Cancel`,save:`Save service`,saving:`Saving…`,test:`Test generation`,testing:`Generating…`,delete:`Delete service`,confirmDelete:`Delete permanently`,saved:`Image service saved.`,deleted:`Image service deleted.`,testReady:`Test image generated.`,show:`Show key`,hide:`Hide key`,copy:`Copy key`,copied:`Copied`,revealFailed:`Unable to reveal the saved key.`,notRevealable:`No revealable key is stored locally.`,required:`Complete the required connection and model fields.`,duplicateModels:`Model IDs must be unique.`,invalidHeaders:`Static headers must use “Name: value”, one per line.`},zh:{addTitle:`添加图片服务`,editTitle:`管理图片服务`,intro:`连接一个严格实现 OpenAI Images 协议的服务端点。`,connection:`连接信息`,providerId:`Provider ID`,providerIdHint:`仅支持小写字母、数字、连字符和下划线。`,name:`显示名称`,baseUrl:`Base URL`,auth:`认证方式`,bearer:`Bearer Token`,header:`自定义 API Key Header`,none:`无需认证`,headerName:`Header 名称`,apiKey:`API Key`,apiKeyHint:`密钥单独保存在本机凭据存储,不写入 models.json。`,apiKeyUrl:`API Key 创建页面(可选)`,docsUrl:`协议文档页面(可选)`,openKeyPage:`去创建 API Key`,paths:`协议与网络`,generationsPath:`生成路径`,editsPath:`编辑路径`,allowedHosts:`允许访问的私有主机(可选)`,allowedHostsHint:`每行一个精确主机名或 IP;未列出的私网端点保持阻止。`,staticHeaders:`静态 Headers(可选)`,staticHeadersHint:`每行一个:X-Tenant: value。认证 Header 会被拒绝。`,models:`图片模型`,addModel:`添加模型`,modelId:`模型 ID`,modelName:`名称(可选)`,defaultModel:`默认模型`,maxCount:`单次最大张数`,defaultCount:`默认张数`,defaultSize:`默认尺寸`,format:`输出格式`,supportsSize:`支持尺寸参数`,edit:`支持图片编辑`,remove:`移除`,cancel:`取消`,save:`保存服务`,saving:`保存中…`,test:`测试生成`,testing:`生成中…`,delete:`删除服务`,confirmDelete:`确认永久删除`,saved:`图片服务已保存。`,deleted:`图片服务已删除。`,testReady:`测试图片生成成功。`,show:`显示密钥`,hide:`隐藏密钥`,copy:`复制密钥`,copied:`已复制`,revealFailed:`无法查看已保存的密钥。`,notRevealable:`本机没有可查看的密钥。`,required:`请补全必填的连接和模型信息。`,duplicateModels:`模型 ID 不能重复。`,invalidHeaders:`静态 Header 必须使用“名称: 值”格式,每行一个。`}},zt=`mt-1.5 h-10 w-full rounded-lg border border-edge bg-surface-panel px-3 text-sm text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/20`;function Bt(e){let t=e??{id:``,capabilities:{generate:{maxCount:1,supportsSize:!0},edit:{enabled:!1}}};return{original:t,id:t.id,name:t.name??``,maxCount:String(t.capabilities.generate?.maxCount??1),defaultCount:t.defaults?.count?String(t.defaults.count):``,defaultSize:t.defaults?.size??``,outputFormat:t.defaults?.outputFormat??``,supportsSize:t.capabilities.generate?.supportsSize??!1,editEnabled:t.capabilities.edit?.enabled??!1}}function Vt(e){let t=e.split(`
3
3
  `).map(e=>e.trim()).filter(Boolean);if(t.length===0)return;let n=t.map(e=>{let t=e.indexOf(`:`);if(t<=0||!e.slice(t+1).trim())throw Error(`invalid_headers`);return[e.slice(0,t).trim(),e.slice(t+1).trim()]});return Object.fromEntries(n)}function Ht({open:e,onOpenChange:t,provider:n,configured:r,language:i,onSaved:a}){let o=Rt[i],[s,c]=(0,Q.useState)(``),[l,u]=(0,Q.useState)(``),[d,f]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(`bearer`),[g,_]=(0,Q.useState)(`x-api-key`),[x,S]=(0,Q.useState)(``),[C,T]=(0,Q.useState)(``),[D,k]=(0,Q.useState)(``),[A,j]=(0,Q.useState)(`/images/generations`),[M,N]=(0,Q.useState)(`/images/edits`),[B,H]=(0,Q.useState)(``),[U,W]=(0,Q.useState)(``),[G,K]=(0,Q.useState)([Bt()]),[te,q]=(0,Q.useState)(``),[J,Z]=(0,Q.useState)(),[re,ie]=(0,Q.useState)(!1),[ae,oe]=(0,Q.useState)(),[se,ce]=(0,Q.useState)(),[le,ue]=(0,Q.useState)();(0,Q.useEffect)(()=>{if(!e)return;let t=n?.imageGeneration;c(n?.providerId??``),u(t?.name??``),f(n?.baseUrl??``),h(t?.auth.type??`bearer`),_(t?.auth.type===`header`?t.auth.headerName:`x-api-key`),S(r?`••••••••••••`:``),T(t?.apiKeyUrl??``),k(t?.documentationUrl??``),j(t?.paths?.generations??`/images/generations`),N(t?.paths?.edits??`/images/edits`),H(t?.network?.allowedHosts.join(`
4
4
  `)??``),W(Object.entries(n?.headers??{}).map(([e,t])=>`${e}: ${t}`).join(`
5
5
  `)),K(t?.models.map(Bt)??[Bt()]),q(t?.defaultModel??``),ce(void 0),Z(void 0),ie(!1),oe(void 0),ue(void 0)},[r,e,n]);let de=(0,Q.useMemo)(()=>G.filter(e=>e.id.trim()).map(e=>({value:e.id.trim(),label:e.name.trim()||e.id.trim()})),[G]),fe=(e,t)=>{K(n=>n.map((n,r)=>r===e?{...n,...t}:n))},pe=()=>{let e=s.trim(),t=G.map(e=>({...e,id:e.id.trim(),name:e.name.trim()}));if(!e||!l.trim()||!d.trim()||t.some(e=>!e.id))throw Error(o.required);if(new Set(t.map(e=>e.id)).size!==t.length)throw Error(o.duplicateModels);let n=te||t[0]?.id;if(!n||!t.some(e=>e.id===n))throw Error(o.required);let r;try{r=Vt(U)}catch{throw Error(o.invalidHeaders)}return{providerId:e,input:{baseUrl:d.trim(),...r?{headers:r}:{},imageGeneration:{api:`openai-images`,name:l.trim(),...D.trim()?{documentationUrl:D.trim()}:{},...C.trim()?{apiKeyUrl:C.trim()}:{},defaultModel:n,auth:m===`header`?{type:`header`,headerName:g.trim()}:{type:m},paths:{...A.trim()?{generations:A.trim()}:{},...M.trim()?{edits:M.trim()}:{}},...B.trim()?{network:{allowedHosts:B.split(`
@@ -1 +1 @@
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"./search-DA7gz22f.js";import{t as a}from"./button-CS04eWY9.js";import{a as o,i as s,o as c,s as l}from"./dist-C3DSFZCi.js";import{U as u}from"./index-BYNmHn-z.js";var d=n(),f=e(t(),1),p=r(),m=(0,f.memo)(function(e){let t=(0,d.c)(8),{value:n,onChange:r,placeholder:a,ariaLabel:o}=e,s=o===void 0?a:o,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,p.jsx)(i,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-muted`,strokeWidth:1.75,"aria-hidden":!0}),t[0]=c):c=t[0];let l;t[1]===r?l=t[2]:(l=e=>r(e.currentTarget.value),t[1]=r,t[2]=l);let u;return t[3]!==s||t[4]!==a||t[5]!==l||t[6]!==n?(u=(0,p.jsxs)(`label`,{className:`relative flex h-11 min-w-0 w-full cursor-text items-center rounded-xl border border-edge bg-surface-base pl-9 pr-3 text-fg shadow-none focus-within:border-accent/60 focus-within:ring-2 focus-within:ring-accent/30 md:h-9`,children:[c,(0,p.jsx)(`input`,{type:`search`,"aria-label":s,enterKeyHint:`search`,value:n,onChange:l,placeholder:a,autoComplete:`off`,spellCheck:!1,className:`min-w-0 flex-1 appearance-none border-0 bg-transparent text-base leading-normal text-fg caret-current placeholder:text-fg-muted focus:border-0 focus:shadow-none focus:outline-none focus:ring-0 md:text-sm`})]}),t[3]=s,t[4]=a,t[5]=l,t[6]=n,t[7]=u):u=t[7],u});function h(e){let t=(0,d.c)(8),{contribution:n}=e,r=u(`(min-width: 768px)`),f;t[0]!==n||t[1]!==r?(f=n?.search?r?(0,p.jsx)(`div`,{className:`min-w-0 max-w-60 flex-1`,children:n.search}):(0,p.jsxs)(c,{children:[(0,p.jsx)(l,{asChild:!0,children:(0,p.jsx)(a,{type:`button`,variant:`secondary`,className:`size-9 shrink-0 p-0`,"aria-label":n.searchLabel,title:n.searchLabel,children:(0,p.jsx)(i,{className:`size-4`,"aria-hidden":!0})})}),(0,p.jsx)(o,{children:(0,p.jsx)(s,{align:`end`,sideOffset:8,className:`z-50 w-[min(20rem,calc(100vw-2rem))] rounded-xl border border-edge bg-surface-panel p-2 shadow-popover`,children:n.search})})]}):null,t[0]=n,t[1]=r,t[2]=f):f=t[2];let m=n?.secondary,h=n?.primary,g=n?.overflow,_;return t[3]!==f||t[4]!==m||t[5]!==h||t[6]!==g?(_=(0,p.jsxs)(`div`,{className:`flex min-w-0 items-center justify-end gap-2 xl:w-[27rem] 2xl:w-[31rem]`,children:[f,m,h,g]}),t[3]=f,t[4]=m,t[5]=h,t[6]=g,t[7]=_):_=t[7],_}export{m as n,h as t};
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"./search-DA7gz22f.js";import{t as a}from"./button-CS04eWY9.js";import{a as o,i as s,o as c,s as l}from"./dist-C3DSFZCi.js";import{U as u}from"./index-6JNNrzCq.js";var d=n(),f=e(t(),1),p=r(),m=(0,f.memo)(function(e){let t=(0,d.c)(8),{value:n,onChange:r,placeholder:a,ariaLabel:o}=e,s=o===void 0?a:o,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,p.jsx)(i,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-muted`,strokeWidth:1.75,"aria-hidden":!0}),t[0]=c):c=t[0];let l;t[1]===r?l=t[2]:(l=e=>r(e.currentTarget.value),t[1]=r,t[2]=l);let u;return t[3]!==s||t[4]!==a||t[5]!==l||t[6]!==n?(u=(0,p.jsxs)(`label`,{className:`relative flex h-11 min-w-0 w-full cursor-text items-center rounded-xl border border-edge bg-surface-base pl-9 pr-3 text-fg shadow-none focus-within:border-accent/60 focus-within:ring-2 focus-within:ring-accent/30 md:h-9`,children:[c,(0,p.jsx)(`input`,{type:`search`,"aria-label":s,enterKeyHint:`search`,value:n,onChange:l,placeholder:a,autoComplete:`off`,spellCheck:!1,className:`min-w-0 flex-1 appearance-none border-0 bg-transparent text-base leading-normal text-fg caret-current placeholder:text-fg-muted focus:border-0 focus:shadow-none focus:outline-none focus:ring-0 md:text-sm`})]}),t[3]=s,t[4]=a,t[5]=l,t[6]=n,t[7]=u):u=t[7],u});function h(e){let t=(0,d.c)(8),{contribution:n}=e,r=u(`(min-width: 768px)`),f;t[0]!==n||t[1]!==r?(f=n?.search?r?(0,p.jsx)(`div`,{className:`min-w-0 max-w-60 flex-1`,children:n.search}):(0,p.jsxs)(c,{children:[(0,p.jsx)(l,{asChild:!0,children:(0,p.jsx)(a,{type:`button`,variant:`secondary`,className:`size-9 shrink-0 p-0`,"aria-label":n.searchLabel,title:n.searchLabel,children:(0,p.jsx)(i,{className:`size-4`,"aria-hidden":!0})})}),(0,p.jsx)(o,{children:(0,p.jsx)(s,{align:`end`,sideOffset:8,className:`z-50 w-[min(20rem,calc(100vw-2rem))] rounded-xl border border-edge bg-surface-panel p-2 shadow-popover`,children:n.search})})]}):null,t[0]=n,t[1]=r,t[2]=f):f=t[2];let m=n?.secondary,h=n?.primary,g=n?.overflow,_;return t[3]!==f||t[4]!==m||t[5]!==h||t[6]!==g?(_=(0,p.jsxs)(`div`,{className:`flex min-w-0 items-center justify-end gap-2 xl:w-[27rem] 2xl:w-[31rem]`,children:[f,m,h,g]}),t[3]=f,t[4]=m,t[5]=h,t[6]=g,t[7]=_):_=t[7],_}export{m as n,h as t};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{f as i}from"./chunk-KS7C4IRE-BMYIfy9x.js";import{s as a,t as o}from"./popover-select-BgSdSbCL.js";import{t as s}from"./circle-alert-BEjgurr2.js";import{t as c}from"./circle-check-C23XjkUj.js";import{t as l}from"./external-link-DjqjBmc3.js";import{t as u}from"./loader-circle-CifKLtgG.js";import{t as d}from"./rotate-ccw-JM1TBLpp.js";import{t as f}from"./settings-2-D-csvaET.js";import{t as p}from"./x-B_N4OPjy.js";import{t as m}from"./messages-BHvpZNe9.js";import{t as h}from"./cn-JdwAhgNB.js";import{a as g,c as _,i as v,n as y,r as b}from"./locale-store-DId6-v2R.js";import{a as x,i as S,n as C,o as w,r as T,s as E,t as D}from"./dist-BGTk37IG.js";import{i as O}from"./vendor-swr-BIWyz7Rc.js";import{t as k}from"./button-CS04eWY9.js";import{t as ee}from"./interaction-BdhHBbYa.js";import{t as A}from"./skeleton-BwbyijEw.js";import{i as j,o as M}from"./settings-shell-dialog-layer-BU3UuiJr.js";import{Nr as N,Vo as P,_n as F,bo as I,ci as L,di as R,fn as z,gn as te,ri as ne,uo as re,vn as ie}from"./index-BYNmHn-z.js";import{r as ae}from"./settings-page-layout-X1x-2Cp9.js";import{t as oe}from"./browser-BLJWD7WI.js";import{n as se}from"./settings-loading-skeleton-CAmWMaOT.js";import{t as ce}from"./schema-form-C_cJLGgF.js";var B=e(t(),1),V=n();async function le(){return(await g(b(`/api/channels/status`))).payload?.channels||[]}function ue(){return b(`/api/channels/status`)}var de=le;function fe(e){let t=e.actions??{};for(let e of[`login.start`,`setup.start`]){let n=t[e];if(n?.result===`qr`)return[e,n]}let n=Object.entries(t).find(([,e])=>e.result===`qr`);if(n)return n;let r=e.ui?.card?.primaryAction;if(r&&t[r])return[r,t[r]];for(let e of[`login.start`,`setup.start`]){let n=t[e];if(n)return[e,n]}return Object.entries(t).find(([,e])=>e.result===`form`)??null}var pe=e(oe(),1),H=r();async function U(e){let t=await v(b(`/api/channels/${encodeURIComponent(e.channelId)}/actions/${encodeURIComponent(e.actionId)}?locale=${encodeURIComponent(e.locale)}`),{method:`POST`,body:JSON.stringify({...e.accountId?{accountId:e.accountId}:{},...e.input===void 0?{}:{input:e.input}})}),n=await t.json().catch(()=>({}));if(!t.ok||n.ok===!1)throw Error(n.error?.message??t.statusText);return n.payload??{type:`ok`}}function W(e){return e?.type===`poll`&&e.phase===`done`}function G(e){return e&&`message`in e&&typeof e.message==`string`?e.message:null}function K(e,t){return e?.type!==`qr`&&e?.type!==`poll`?null:e.qrPayload?e.qrPayload:t===`weixin`&&e.qrcodeUrl?e.qrcodeUrl:null}function q(e){return e?.type!==`qr`&&e?.type!==`poll`?null:e.qrcodeUrl??null}function me({entry:e,locale:t,messages:n,onChanged:r,compact:i=!1}){let a=(0,B.useMemo)(()=>fe(e),[e]),o=(0,B.useMemo)(()=>({defaultBooleanLabel:n.schemaBooleanDefault,unsupportedArrayType:n.schemaUnsupportedArrayType,arrayAddPlaceholder:n.schemaArrayAddPlaceholder,unsupportedFieldType:(e,t)=>n.schemaUnsupportedFieldType.replace(`{{title}}`,e).replace(`{{type}}`,t?` (${t})`:``)}),[n]),[s,d]=(0,B.useState)({payload:null,poll:null,busy:!1,error:null,formDraft:{},generatedQr:null});(0,B.useEffect)(()=>{d({payload:null,poll:null,busy:!1,error:null,formDraft:{},generatedQr:null})},[e.id]);let f=(0,B.useCallback)(async(n,i)=>{d(e=>({...e,busy:!0,error:null}));try{let a=await U({channelId:e.id,actionId:n,locale:t,input:i});d(e=>({...e,payload:a,poll:a.type===`qr`&&a.statusAction&&a.conversationId?{actionId:a.statusAction,conversationId:a.conversationId,intervalMs:Math.max(1e3,a.pollIntervalMs??2500)}:null,busy:!1,formDraft:a.type===`form`?a.values??{}:e.formDraft})),`configChanged`in a&&a.configChanged===!0&&await r()}catch(e){d(t=>({...t,busy:!1,error:e instanceof Error?e.message:String(e)}))}},[e.id,t,r]);(0,B.useEffect)(()=>{let t=K(s.payload,e.id);if(!t){d(e=>e.generatedQr?{...e,generatedQr:null}:e);return}let n=!1;return d(e=>e.generatedQr?{...e,generatedQr:null}:e),pe.toDataURL(t,{width:220,margin:1}).then(e=>{n||d(t=>({...t,generatedQr:e}))}),()=>{n=!0}},[e.id,s.payload]),(0,B.useEffect)(()=>{let n=s.poll;if(!n)return;let i=!1,a=window.setInterval(()=>{i||U({channelId:e.id,actionId:n.actionId,locale:t,input:{conversationId:n.conversationId}}).then(async e=>{i||(d(t=>({...t,payload:e,poll:W(e)?null:t.poll,error:null})),`configChanged`in e&&e.configChanged===!0&&await r(),W(e)&&window.clearInterval(a))}).catch(e=>{i||d(t=>({...t,error:e instanceof Error?e.message:String(e)}))})},n.intervalMs);return()=>{i=!0,window.clearInterval(a)}},[e.id,t,r,s.poll]);let p=a?.[1].label??(e.configured?n.reconnect:n.connect),m=e.actions?.[`doctor.run`]?.label??n.diagnose,g=G(s.payload),_=K(s.payload,e.id),v=_?s.generatedQr:q(s.payload),y=a?.[1].result===`qr`&&(s.busy||s.payload?.type===`qr`||s.payload?.type===`poll`),b=s.payload?.type===`form`?s.payload:null,x=s.payload?.type===`diagnostics`?s.payload.checks:null;return(0,H.jsxs)(`div`,{className:i?`space-y-3`:`rounded-lg bg-surface-panel/80 p-4 shadow-surface`,children:[(0,H.jsxs)(`div`,{className:h(`flex flex-wrap items-start gap-3`,i?`justify-end`:`justify-between`),children:[i?null:(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.setupTitle}),(0,H.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:e.configured?n.setupConfiguredHint:n.setupEmptyHint})]}),(0,H.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[a?(0,H.jsxs)(k,{type:`button`,variant:`primary`,disabled:s.busy,onClick:()=>void f(a[0]),children:[s.busy?(0,H.jsx)(u,{className:`size-4 animate-spin`}):(0,H.jsx)(P,{className:`size-4`}),p]}):null,e.actions?.[`doctor.run`]?(0,H.jsxs)(k,{type:`button`,variant:`secondary`,disabled:s.busy,onClick:()=>void f(`doctor.run`),children:[(0,H.jsx)(I,{className:`size-4`}),m]}):null]})]}),g?(0,H.jsx)(`p`,{className:`mt-3 text-sm text-fg-muted`,children:g}):null,s.error?(0,H.jsx)(`p`,{className:`mt-3 text-sm text-red-600 dark:text-red-400`,children:s.error}):null,y?(0,H.jsxs)(`div`,{className:h(`flex h-80 items-center justify-center gap-4 overflow-hidden rounded-lg bg-surface-base p-3 shadow-surface`,i?`mt-1 flex-col text-center sm:h-64 sm:flex-row sm:text-left`:`mt-4 flex-col sm:h-64 sm:flex-row`),children:[(0,H.jsx)(`div`,{className:`flex size-56 shrink-0 items-center justify-center rounded-lg border border-edge bg-white p-3`,children:v?(0,H.jsx)(`img`,{src:v,alt:`${e.label} setup QR`,className:`size-52 object-contain`}):(0,H.jsx)(`div`,{className:`flex size-52 items-center justify-center rounded-md bg-surface-base`,children:(0,H.jsx)(A,{className:`size-48 rounded-md`})})}),(0,H.jsxs)(`div`,{className:h(`min-w-0 max-w-sm text-sm text-fg-muted`,i&&`w-full sm:w-auto`),children:[v?(0,H.jsx)(`p`,{className:`line-clamp-3`,children:n.waitingConfirmation}):(0,H.jsxs)(`div`,{className:`space-y-2`,"aria-busy":`true`,children:[(0,H.jsx)(A,{className:`h-4 w-48 max-w-full`}),(0,H.jsx)(A,{className:`h-4 w-36 max-w-full`})]}),_?(0,H.jsxs)(`a`,{className:`mt-2 inline-flex items-center gap-1 text-accent hover:underline`,href:_,target:`_blank`,rel:`noreferrer`,children:[n.openSetupLink,(0,H.jsx)(l,{className:`size-3.5`})]}):null]})]}):null,s.payload?.type===`poll`&&s.payload.phase===`done`?(0,H.jsxs)(`div`,{className:`mt-4 flex items-center gap-2 rounded-lg bg-surface-base px-3 py-2 text-sm shadow-surface`,children:[(0,H.jsx)(c,{className:s.payload.ok?`size-4 text-green-600`:`size-4 text-red-600`}),(0,H.jsx)(`span`,{className:s.payload.ok?`text-fg`:`text-red-600 dark:text-red-400`,children:s.payload.message??(s.payload.ok?n.complete:n.failed)})]}):null,b?(0,H.jsxs)(`div`,{className:`mt-4 space-y-3`,children:[(0,H.jsx)(ce,{schema:b.schema,values:s.formDraft,onChange:e=>d(t=>({...t,formDraft:e})),disabled:s.busy,labels:o}),(0,H.jsx)(k,{type:`button`,variant:`primary`,disabled:s.busy,onClick:()=>void f(b.submitAction,s.formDraft),children:n.saveSetup})]}):null,x?(0,H.jsx)(`div`,{className:`mt-4 space-y-2`,children:x.map((e,t)=>(0,H.jsxs)(`div`,{className:`rounded-lg bg-surface-base px-3 py-2 shadow-surface`,children:[(0,H.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,H.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:e.label??e.id??n.diagnosticCheckFallback.replace(`{{index}}`,String(t+1))}),(0,H.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-xs text-fg-muted`,children:e.status??`unknown`})]}),e.message?(0,H.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:e.message}):null]},e.id??t))}):null]})}var he=40;function J(e){return`ui:route:channel:${e.trim().toLowerCase()}`}function ge(e,t){return e.find(e=>e.id===J(t))?.agentId?.trim().toLowerCase()??``}function _e(e,t,n){let r=J(t),i=e.filter(e=>e.id!==r),a=n.trim().toLowerCase();return a?[...i,{id:r,agentId:a,priority:he,enabled:!0,match:{channel:t.trim().toLowerCase(),accountId:`*`}}]:i}function ve(e){let t=e.configured===!0,n=e.enabled===!0;return e.setupStatus??{enabled:n,ready:t,state:n&&!t?`needs_setup`:n?`ready`:`disabled`,issues:[]}}function ye(e,t,n){let r=ve(e);return r.ready?r.enabled?n?t?.connected===!0?`running`:`stopped`:`checking`:`disabled`:`needs_setup`}function be(e,t=!1){return e===`drawer`?h(`xopc-drawer-right fixed right-0 top-0 flex size-full flex-col overflow-hidden border-l border-edge bg-surface-overlay shadow-popover outline-none dark:border-edge`,t?`max-w-[36rem]`:`max-w-xl`,j):h(`xopc-dialog-content fixed left-1/2 top-1/2 flex h-[min(calc(100dvh-2rem),52rem)] w-[min(calc(100%-2rem),32rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden`,t&&`h-[min(calc(100dvh-2rem),48rem)] w-[min(calc(100%-2rem),36rem)]`,j,`rounded-2xl border border-edge bg-surface-overlay outline-none dark:border-edge`)}function xe(e){let t=(0,V.c)(33),{presentation:n,open:r,onOpenChange:i,title:o,description:s,srTitle:c,srDescription:l,closeAriaLabel:u,children:d,footer:f,wide:m,headerExtra:g}=e,_=m===void 0?!1:m,v=n===`drawer`,[y,b]=(0,B.useState)(null),O;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,H.jsx)(x,{className:h(`xopc-dialog-overlay fixed inset-0 bg-scrim backdrop-blur-[1px]`,M)}),t[0]=O):O=t[0];let A;t[1]!==n||t[2]!==_?(A=be(n,_),t[1]=n,t[2]=_,t[3]=A):A=t[3];let j;t[4]===c?j=t[5]:(j=c?(0,H.jsx)(E,{className:`sr-only`,children:c}):null,t[4]=c,t[5]=j);let N;t[6]===l?N=t[7]:(N=l?(0,H.jsx)(S,{className:`sr-only`,children:l}):null,t[6]=l,t[7]=N);let P;t[8]!==u||t[9]!==s||t[10]!==g||t[11]!==v||t[12]!==o?(P=v?(0,H.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,H.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[o?(0,H.jsx)(`div`,{className:`text-base font-semibold text-fg`,children:o}):null,s?(0,H.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:s}):null]}),(0,H.jsx)(C,{asChild:!0,children:(0,H.jsx)(k,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":u,children:(0,H.jsx)(p,{className:`size-5`,strokeWidth:1.75})})})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(C,{asChild:!0,children:(0,H.jsx)(`button`,{type:`button`,className:h(ee,`absolute right-3 top-3 z-20 p-1.5 hover:bg-surface-hover`),"aria-label":u,children:(0,H.jsx)(p,{className:`size-4`})})}),g]}),t[8]=u,t[9]=s,t[10]=g,t[11]=v,t[12]=o,t[13]=P):P=t[13];let F=v?`p-4`:`p-6`,I;t[14]===F?I=t[15]:(I=h(`min-h-0 flex-1 overflow-y-auto`,F),t[14]=F,t[15]=I);let L;t[16]!==d||t[17]!==I?(L=(0,H.jsx)(`div`,{className:I,children:d}),t[16]=d,t[17]=I,t[18]=L):L=t[18];let R;t[19]!==f||t[20]!==y||t[21]!==j||t[22]!==N||t[23]!==P||t[24]!==L?(R=(0,H.jsxs)(a,{layer:`modal`,portalContainer:y,children:[j,N,P,L,f]}),t[19]=f,t[20]=y,t[21]=j,t[22]=N,t[23]=P,t[24]=L,t[25]=R):R=t[25];let z;t[26]!==R||t[27]!==A?(z=(0,H.jsxs)(w,{children:[O,(0,H.jsx)(T,{ref:b,className:A,onOpenAutoFocus:Se,children:R})]}),t[26]=R,t[27]=A,t[28]=z):z=t[28];let te;return t[29]!==i||t[30]!==r||t[31]!==z?(te=(0,H.jsx)(D,{open:r,onOpenChange:i,children:z}),t[29]=i,t[30]=r,t[31]=z,t[32]=te):te=t[32],te}function Se(e){return e.preventDefault()}var Ce=(0,B.memo)(function(e){let t=(0,V.c)(10),{ch:n,refreshing:r,saveOk:i,onRefresh:a}=e,o;t[0]!==n.saved||t[1]!==i?(o=i?(0,H.jsx)(`span`,{className:`text-sm text-fg-muted`,children:n.saved}):null,t[0]=n.saved,t[1]=i,t[2]=o):o=t[2];let s;t[3]!==n.refresh||t[4]!==a||t[5]!==r?(s=(0,H.jsx)(ne,{className:`size-9 shrink-0 p-0`,loading:r,label:n.refresh,onClick:a}),t[3]=n.refresh,t[4]=a,t[5]=r,t[6]=s):s=t[6];let c;return t[7]!==o||t[8]!==s?(c=(0,H.jsxs)(`div`,{className:`flex min-w-0 shrink-0 items-center justify-end gap-2`,children:[o,s]}),t[7]=o,t[8]=s,t[9]=c):c=t[9],c});function we(e){let t=(0,V.c)(24),{ch:n,dirty:r,saving:i,onCancel:a,onDiscard:o,onSave:s,showCancel:c}=e,l=c===void 0?!0:c,u;t[0]!==n.unsavedHint||t[1]!==r?(u=r?(0,H.jsx)(`p`,{className:`mb-3 text-xs text-amber-800 dark:text-amber-200`,children:n.unsavedHint}):null,t[0]=n.unsavedHint,t[1]=r,t[2]=u):u=t[2];let d;t[3]!==n.modalCancel||t[4]!==a||t[5]!==l?(d=l?(0,H.jsx)(k,{type:`button`,variant:`secondary`,onClick:a,children:n.modalCancel}):null,t[3]=n.modalCancel,t[4]=a,t[5]=l,t[6]=d):d=t[6];let f=!r||i,p;t[7]!==n.discard||t[8]!==o||t[9]!==f?(p=(0,H.jsx)(k,{type:`button`,variant:`secondary`,disabled:f,onClick:o,children:n.discard}),t[7]=n.discard,t[8]=o,t[9]=f,t[10]=p):p=t[10];let m=!r||i,h;t[11]===s?h=t[12]:(h=()=>void s(),t[11]=s,t[12]=h);let g=i?n.saving:n.save,_;t[13]!==m||t[14]!==h||t[15]!==g?(_=(0,H.jsx)(k,{type:`button`,variant:`primary`,disabled:m,onClick:h,children:g}),t[13]=m,t[14]=h,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==d||t[18]!==p||t[19]!==_?(v=(0,H.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[d,p,_]}),t[17]=d,t[18]=p,t[19]=_,t[20]=v):v=t[20];let y;return t[21]!==v||t[22]!==u?(y=(0,H.jsxs)(`div`,{className:`sticky bottom-0 shrink-0 border-t border-edge-subtle bg-surface-panel px-6 py-4 dark:border-edge-subtle`,children:[u,v]}),t[21]=v,t[22]=u,t[23]=y):y=t[23],y}function Te(e){return b(`/api/channels/catalog?locale=${encodeURIComponent(e)}`)}async function Ee(e){return(await g(Te(e))).payload?.channels??[]}function De(e,t){let n=(0,V.c)(14),r;n[0]!==e||n[1]!==t?(r=e?Te(t):null,n[0]=e,n[1]=t,n[2]=r):r=n[2];let i;n[3]===t?i=n[4]:(i=()=>Ee(t),n[3]=t,n[4]=i);let a;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(a={revalidateOnFocus:!1},n[5]=a):a=n[5];let{data:o,error:s,isLoading:c,isValidating:l,mutate:u}=O(r,i,a),d;n[6]===o?d=n[7]:(d=o??[],n[6]=o,n[7]=d);let f;return n[8]!==s||n[9]!==c||n[10]!==l||n[11]!==u||n[12]!==d?(f={entries:d,isLoading:c,isValidating:l,error:s,mutate:u},n[8]=s,n[9]=c,n[10]=l,n[11]=u,n[12]=d,n[13]=f):f=n[13],f}var Oe=`channels-status`;function ke(e){if(!e||typeof e!=`object`)return null;let t=e.channels;return Array.isArray(t)?t:null}function Ae(e){let t=t=>e(t.detail);return window.addEventListener(Oe,t),()=>window.removeEventListener(Oe,t)}function je(e,t){let n=(0,V.c)(4),r=t===void 0?!0:t,i,a;n[0]!==r||n[1]!==e?(i=()=>{if(r)return Ae(e)},a=[r,e],n[0]=r,n[1]=e,n[2]=i,n[3]=a):(i=n[2],a=n[3]),(0,B.useEffect)(i,a)}function Me(e){return e?b(`/api/channels/${encodeURIComponent(e)}/config`):null}async function Ne(e){return(await g(b(`/api/channels/${encodeURIComponent(e)}/config`))).payload?.config??{}}var Pe=[`enabled`],Fe=`max-w-7xl`,Ie=`px-4 pb-7 pt-3 sm:px-6 lg:px-8 lg:pb-9 lg:pt-4`;async function Le(){let e=await g(b(`/api/config`));return{channels:e.payload?.config?.channels??{},bindings:e.payload?.config?.bindings??[]}}function Re(e){return e.split(`/`).filter(Boolean).map(e=>encodeURIComponent(e)).join(`/`)}function ze(e){return e.configPath.startsWith(`channels.`)&&e.configPath.slice(9).split(`.`)[0]||e.id}function Y(e){let t=e.configured===!0,n=e.enabled===!0;return e.setupStatus??{enabled:n,ready:t,state:n&&!t?`needs_setup`:n?`ready`:`disabled`,issues:[]}}function Be(e,t){return e===`running`?t.connectionRunning:e===`stopped`?t.connectionStopped:e===`checking`?t.connectionChecking:e===`disabled`?t.connectionDisabled:t.connectionNeedsSetup}function Ve(e,t){return e===`running`?t.connectionRunningHint:e===`stopped`?t.connectionStoppedHint:e===`disabled`?t.connectionDisabledHint:e===`needs_setup`?t.connectionNeedsSetupHint:t.connectionChecking}function He(e){return e===`running`?`bg-emerald-500/12 text-emerald-700 dark:text-emerald-300`:e===`stopped`?`bg-red-500/10 text-red-700 dark:text-red-300`:e===`checking`?`bg-amber-500/10 text-amber-700 dark:text-amber-300`:e===`disabled`?`bg-surface-hover text-fg-muted`:`bg-amber-500/10 text-amber-700 dark:text-amber-300`}function Ue(e){if(!e)return[];let t=e.uiHints??{},n=X(e.configSchema)&&Array.isArray(e.configSchema.required)?e.configSchema.required.map(String):[],r=Y(e).issues.map(e=>e.fieldPath).filter(e=>!!e),i=Object.entries(t).filter(([,e])=>!X(e)||e.advanced===!0?!1:(Array.isArray(e.tags)?e.tags.map(String):[]).includes(`basic`)||e.advanced===!1).map(([e])=>e).filter(e=>!Pe.includes(e));return Array.from(new Set([...i,...n,...r])).filter(e=>!Pe.includes(e))}function X(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Z(e){return JSON.parse(JSON.stringify(e??{type:`object`,properties:{}}))}function We(e,t){let n={...Z(e),properties:{}};for(let r of t){let t=r.split(`.`),i=e,a=n;for(let[e,n]of t.entries()){let r=i.properties;if(!X(r)||!X(r[n]))break;let o=X(a.properties)?a.properties:{};if(a.properties=o,o[n]||(o[n]={...Z(r[n]),properties:{}}),e===t.length-1){o[n]=Z(r[n]);break}i=r[n],a=o[n]}}return n}function Ge(e){let t=e.properties;if(!X(t))return!1;for(let[e,n]of Object.entries(t))X(n)&&n.type===`object`&&Ge(n)&&delete t[e];return Object.keys(t).length===0}function Ke(e,t){let n=Z(e);for(let e of t){let t=e.split(`.`),r=n;for(let[e,n]of t.entries()){let i=r.properties;if(!X(i))break;if(e===t.length-1){delete i[n];break}if(!X(i[n]))break;r=i[n]}}return Ge(n),n}function qe(e){return e.type===`object`&&X(e.properties)&&Object.keys(e.properties).length>0}function Q(e,t){let n=e;for(let e of t.split(`.`)){if(!X(n))return;n=n[e]}return n}function Je(e){let t=e.accounts;return X(t)?Object.values(t).filter(e=>X(e)&&e.enabled!==!1).length:+(e.configured===!0)}function Ye(e,t,n){return t==null||t===``?null:e.toLowerCase().includes(`dmpolicy`)&&typeof t==`string`?`${n.dmPolicy}: ${n.policy.dm[t]??t}`:(e.toLowerCase().includes(`stream`)||e.toLowerCase().includes(`streaming`))&&typeof t==`string`?`${n.cardStream}: ${n.policy.stream[t]??t}`:typeof t==`boolean`?t?n.enabledLabel:n.disabledLabel:String(t)}function Xe(e,t,n){let r=[],i=Y(e);if(i.issues.length>0&&r.push($(i.issues[0],n)),t){let i=e.ui?.card?.summaryFields??[`dmPolicy`,`streamMode`,`streaming.mode`];for(let e of i){let i=Ye(e,Q(t,e),n);i&&r.push(i)}let a=Je(t);a>0&&r.push(n.cardAccounts.replace(`{{count}}`,String(a)))}return r.length>0?r.slice(0,2):i.ready?[n.hubStatusConfigured]:[]}function Ze(e,t){let n=Y(e),r=fe(e);return n.state===`needs_setup`?r?.[1].label??t.completeSetup:!n.enabled&&n.ready?t.enableChannel:n.state===`error`?t.diagnose:n.ready?t.manageChannel:r?.[1].label??t.startConfiguration}function Qe(e,t){let n=fe(e);return n?.[1].result===`qr`?t.cardSetupQrHint:n?.[1].result===`form`?t.cardSetupConfigHint:t.cardSetupGenericHint}function $e(e,t){let n=e.capabilities??{},r=[];return n.login===!0&&r.push(t.cardCapabilityLogin),n.pairing===!0&&r.push(t.cardCapabilityPairing),n.multiAccount===!0&&r.push(t.cardCapabilityMultiAccount),n.streaming===!0&&r.push(t.cardCapabilityStreaming),n.media===!0&&r.push(t.cardCapabilityMedia),n.doctor===!0&&r.push(t.cardCapabilityDoctor),r.slice(0,3)}function $(e,t){return e.code===`telegram.missing_credential`?t.setupIssueTelegramMissingCredential:e.code===`weixin.missing_account`?t.setupIssueWeixinMissingAccount:e.code===`feishu.missing_credentials`?t.setupIssueFeishuMissingCredentials:e.code===`config.missing_required`&&e.fieldPath?t.setupIssueMissingRequired.replace(`{{field}}`,e.fieldPath):e.message}function et({entry:e}){let[t,n]=(0,B.useState)(!1),r=(0,B.useMemo)(()=>!e.ui?.icon||t?null:new URL(b(`/api/extensions/${encodeURIComponent(e.extensionId)}/assets/${Re(e.ui.icon)}`)).toString(),[t,e.extensionId,e.ui?.icon]);return(0,H.jsx)(`span`,{className:`flex size-12 shrink-0 items-center justify-center rounded-2xl bg-surface-base text-fg`,children:r?(0,H.jsx)(`img`,{src:r,alt:``,draggable:!1,className:`size-7`,"aria-hidden":!0,onError:()=>n(!0)}):(0,H.jsx)(R,{sourceChannel:e.id,className:`size-7`})})}function tt(e){let t=(0,V.c)(16),{checked:n,disabled:r,onToggle:i,label:a}=e,o;t[0]===i?o=t[1]:(o=e=>{e.stopPropagation(),i()},t[0]=i,t[1]=o);let s=n?`border-accent bg-accent`:`border-edge bg-surface-hover`,c=r&&`cursor-not-allowed opacity-60`,l;t[2]!==s||t[3]!==c?(l=h(`relative inline-flex h-6 w-11 shrink-0 items-center rounded-full border transition-colors`,s,c),t[2]=s,t[3]=c,t[4]=l):l=t[4];let u=n?`translate-x-5`:`translate-x-0.5`,d;t[5]===u?d=t[6]:(d=h(`size-5 rounded-full bg-white shadow-surface transition-transform`,u),t[5]=u,t[6]=d);let f;t[7]===d?f=t[8]:(f=(0,H.jsx)(`span`,{className:d}),t[7]=d,t[8]=f);let p;return t[9]!==n||t[10]!==r||t[11]!==a||t[12]!==o||t[13]!==l||t[14]!==f?(p=(0,H.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":n,"aria-label":a,disabled:r,onClick:o,className:l,children:f}),t[9]=n,t[10]=r,t[11]=a,t[12]=o,t[13]=l,t[14]=f,t[15]=p):p=t[15],p}function nt(e){let t=(0,V.c)(71),{entry:n,config:r,runtime:i,busy:a,restarting:o,ch:s,onOpen:c,onToggle:l,onRestart:d}=e,f;t[0]===n?f=t[1]:(f=Y(n),t[0]=n,t[1]=f);let p=f,m,g,_,v,y,b,x;if(t[2]!==a||t[3]!==s||t[4]!==r||t[5]!==n||t[6]!==c||t[7]!==d||t[8]!==l||t[9]!==i||t[10]!==p.enabled||t[11]!==p.ready){let e=Xe(n,r,s),o=$e(n,s);m=!p.enabled&&p.ready?l:i===`stopped`?d:c,b=`flex min-h-[15.5rem] flex-col rounded-xl bg-surface-panel p-4 shadow-surface transition-colors hover:bg-surface-hover/45`;let u;t[19]===n?u=t[20]:(u=(0,H.jsx)(et,{entry:n}),t[19]=n,t[20]=u);let f;t[21]===n.label?f=t[22]:(f=(0,H.jsx)(`h2`,{className:`truncate text-base font-semibold text-fg`,children:n.label}),t[21]=n.label,t[22]=f);let S;t[23]===i?S=t[24]:(S=h(`mt-1 inline-flex rounded-full px-2 py-0.5 text-xs font-medium`,He(i)),t[23]=i,t[24]=S);let C;t[25]!==s||t[26]!==i?(C=Be(i,s),t[25]=s,t[26]=i,t[27]=C):C=t[27];let w;t[28]!==S||t[29]!==C?(w=(0,H.jsx)(`span`,{className:S,children:C}),t[28]=S,t[29]=C,t[30]=w):w=t[30];let T;t[31]!==w||t[32]!==f?(T=(0,H.jsxs)(`div`,{className:`min-w-0`,children:[f,w]}),t[31]=w,t[32]=f,t[33]=T):T=t[33];let E;t[34]!==T||t[35]!==u?(E=(0,H.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[u,T]}),t[34]=T,t[35]=u,t[36]=E):E=t[36];let D=p.enabled,O;t[37]!==s.toggleChannel||t[38]!==n.label?(O=s.toggleChannel.replace(`{{channel}}`,n.label),t[37]=s.toggleChannel,t[38]=n.label,t[39]=O):O=t[39];let k;t[40]!==a||t[41]!==l||t[42]!==p.enabled||t[43]!==O?(k=(0,H.jsx)(tt,{checked:D,disabled:a,label:O,onToggle:l}),t[40]=a,t[41]=l,t[42]=p.enabled,t[43]=O,t[44]=k):k=t[44],t[45]!==E||t[46]!==k?(x=(0,H.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[E,k]}),t[45]=E,t[46]=k,t[47]=x):x=t[47],g=`button`,_=c,v=`mt-5 min-h-[6.25rem] text-left`,y=p.ready?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`p`,{className:`line-clamp-2 text-sm leading-6 text-fg-muted`,children:n.description??n.id}),e.length>0?(0,H.jsx)(`div`,{className:`mt-3 space-y-0.5 text-sm leading-5 text-fg-muted`,children:e.map(it)}):null]}):(0,H.jsxs)(`div`,{className:`rounded-lg bg-surface-base p-3`,children:[(0,H.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:s.cardSetupTitle}),(0,H.jsx)(`p`,{className:`mt-1 line-clamp-2 text-sm leading-5 text-fg-muted`,children:e[0]??Qe(n,s)}),o.length>0?(0,H.jsx)(`div`,{className:`mt-3 flex flex-wrap gap-1.5`,children:o.map(rt)}):null]}),t[2]=a,t[3]=s,t[4]=r,t[5]=n,t[6]=c,t[7]=d,t[8]=l,t[9]=i,t[10]=p.enabled,t[11]=p.ready,t[12]=m,t[13]=g,t[14]=_,t[15]=v,t[16]=y,t[17]=b,t[18]=x}else m=t[12],g=t[13],_=t[14],v=t[15],y=t[16],b=t[17],x=t[18];let S;t[48]!==g||t[49]!==_||t[50]!==v||t[51]!==y?(S=(0,H.jsx)(`button`,{type:g,onClick:_,className:v,children:y}),t[48]=g,t[49]=_,t[50]=v,t[51]=y,t[52]=S):S=t[52];let C=a||o,w;t[53]!==a||t[54]!==o?(w=a||o?(0,H.jsx)(u,{className:`size-4 animate-spin`}):null,t[53]=a,t[54]=o,t[55]=w):w=t[55];let T;t[56]!==s||t[57]!==n||t[58]!==o||t[59]!==i?(T=o?s.restartingChannel:i===`stopped`?s.restartChannel:Ze(n,s),t[56]=s,t[57]=n,t[58]=o,t[59]=i,t[60]=T):T=t[60];let E;t[61]!==m||t[62]!==w||t[63]!==T||t[64]!==C?(E=(0,H.jsx)(`div`,{className:`mt-auto pt-4`,children:(0,H.jsxs)(k,{type:`button`,variant:`secondary`,className:`w-full rounded-2xl py-2.5`,onClick:m,disabled:C,children:[w,T]})}),t[61]=m,t[62]=w,t[63]=T,t[64]=C,t[65]=E):E=t[65];let D;return t[66]!==E||t[67]!==b||t[68]!==x||t[69]!==S?(D=(0,H.jsxs)(`article`,{className:b,children:[x,S,E]}),t[66]=E,t[67]=b,t[68]=x,t[69]=S,t[70]=D):D=t[70],D}function rt(e){return(0,H.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-xs text-fg-muted`,children:e},e)}function it(e){return(0,H.jsx)(`p`,{className:`truncate`,title:e,children:e},e)}function at(e){let t=(0,V.c)(51),{runtime:n,restarting:r,checking:i,showConnectionOptions:a,canManageConnection:o,ch:l,onRestart:f,onCheck:p,onManageConnection:m}=e,g=n===`running`?c:n===`stopped`||n===`needs_setup`?s:u,_=n===`running`&&`text-emerald-600 dark:text-emerald-400`,v=n===`stopped`&&`text-red-600 dark:text-red-400`,y=n===`checking`&&`animate-spin text-amber-600 dark:text-amber-400`,b=n===`disabled`&&`text-fg-muted`,x=n===`needs_setup`&&`text-amber-600 dark:text-amber-400`,S;t[0]!==_||t[1]!==v||t[2]!==y||t[3]!==b||t[4]!==x?(S=h(`mt-0.5 size-5 shrink-0`,_,v,y,b,x),t[0]=_,t[1]=v,t[2]=y,t[3]=b,t[4]=x,t[5]=S):S=t[5];let C;t[6]!==g||t[7]!==S?(C=(0,H.jsx)(g,{className:S}),t[6]=g,t[7]=S,t[8]=C):C=t[8];let w;t[9]===l.connectionStatus?w=t[10]:(w=(0,H.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:l.connectionStatus}),t[9]=l.connectionStatus,t[10]=w);let T;t[11]!==l||t[12]!==n?(T=Ve(n,l),t[11]=l,t[12]=n,t[13]=T):T=t[13];let E;t[14]===T?E=t[15]:(E=(0,H.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:T}),t[14]=T,t[15]=E);let D;t[16]!==E||t[17]!==w?(D=(0,H.jsxs)(`div`,{children:[w,E]}),t[16]=E,t[17]=w,t[18]=D):D=t[18];let O;t[19]!==D||t[20]!==C?(O=(0,H.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[C,D]}),t[19]=D,t[20]=C,t[21]=O):O=t[21];let ee=i||r,A;t[22]===i?A=t[23]:(A=i?(0,H.jsx)(u,{className:`size-4 animate-spin`}):null,t[22]=i,t[23]=A);let j=i?l.checkingConnection:l.checkConnection,M;t[24]!==p||t[25]!==ee||t[26]!==A||t[27]!==j?(M=(0,H.jsxs)(k,{type:`button`,variant:`secondary`,className:`px-2.5 py-1.5 text-xs`,disabled:ee,onClick:p,children:[A,j]}),t[24]=p,t[25]=ee,t[26]=A,t[27]=j,t[28]=M):M=t[28];let N;t[29]!==l.restartChannel||t[30]!==l.restartingChannel||t[31]!==i||t[32]!==f||t[33]!==r||t[34]!==n?(N=n===`stopped`?(0,H.jsxs)(k,{type:`button`,variant:`primary`,className:`px-2.5 py-1.5 text-xs`,disabled:r||i,onClick:f,children:[r?(0,H.jsx)(u,{className:`size-4 animate-spin`}):(0,H.jsx)(d,{className:`size-4`}),r?l.restartingChannel:l.restartChannel]}):null,t[29]=l.restartChannel,t[30]=l.restartingChannel,t[31]=i,t[32]=f,t[33]=r,t[34]=n,t[35]=N):N=t[35];let P;t[36]!==o||t[37]!==l.connectionOptions||t[38]!==l.hideConnectionOptions||t[39]!==i||t[40]!==m||t[41]!==r||t[42]!==a?(P=o?(0,H.jsx)(k,{type:`button`,variant:`ghost`,className:`px-2.5 py-1.5 text-xs`,disabled:i||r,onClick:m,children:a?l.hideConnectionOptions:l.connectionOptions}):null,t[36]=o,t[37]=l.connectionOptions,t[38]=l.hideConnectionOptions,t[39]=i,t[40]=m,t[41]=r,t[42]=a,t[43]=P):P=t[43];let F;t[44]!==M||t[45]!==N||t[46]!==P?(F=(0,H.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[M,N,P]}),t[44]=M,t[45]=N,t[46]=P,t[47]=F):F=t[47];let I;return t[48]!==O||t[49]!==F?(I=(0,H.jsx)(`section`,{className:`rounded-xl bg-surface-panel/80 p-4 shadow-surface`,children:(0,H.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[O,F]})}),t[48]=O,t[49]=F,t[50]=I):I=t[50],I}function ot(e){let t=(0,V.c)(33),{entry:n,ch:r}=e,i,a,o,s,c,l,u,d,f;if(t[0]!==r||t[1]!==n){f=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Y(n);if(e.ready||e.issues.length===0){f=null;break bb0}d=`rounded-xl bg-amber-50 px-4 py-3 text-amber-950 dark:bg-amber-950/30 dark:text-amber-100`,l=`flex items-start gap-3`,t[11]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,H.jsx)(re,{className:`mt-0.5 size-4 shrink-0`}),t[11]=u):u=t[11],o=`min-w-0`,t[12]===r.setupReadinessTitle?s=t[13]:(s=(0,H.jsx)(`h3`,{className:`text-sm font-semibold`,children:r.setupReadinessTitle}),t[12]=r.setupReadinessTitle,t[13]=s);let p=e.enabled?r.setupReadinessEnabledBody:r.setupReadinessDisabledBody;t[14]===p?c=t[15]:(c=(0,H.jsx)(`p`,{className:`mt-1 text-sm leading-5 text-amber-900 dark:text-amber-200`,children:p}),t[14]=p,t[15]=c),i=`mt-2 list-disc space-y-1 pl-5 text-sm text-amber-900 dark:text-amber-200`;let m;t[16]===r?m=t[17]:(m=e=>(0,H.jsx)(`li`,{children:$(e,r)},`${e.code}:${e.fieldPath??``}`),t[16]=r,t[17]=m),a=e.issues.map(m)}t[0]=r,t[1]=n,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f}else i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10];if(f!==Symbol.for(`react.early_return_sentinel`))return f;let p;t[18]!==i||t[19]!==a?(p=(0,H.jsx)(`ul`,{className:i,children:a}),t[18]=i,t[19]=a,t[20]=p):p=t[20];let m;t[21]!==p||t[22]!==o||t[23]!==s||t[24]!==c?(m=(0,H.jsxs)(`div`,{className:o,children:[s,c,p]}),t[21]=p,t[22]=o,t[23]=s,t[24]=c,t[25]=m):m=t[25];let h;t[26]!==m||t[27]!==l||t[28]!==u?(h=(0,H.jsxs)(`div`,{className:l,children:[u,m]}),t[26]=m,t[27]=l,t[28]=u,t[29]=h):h=t[29];let g;return t[30]!==h||t[31]!==d?(g=(0,H.jsx)(`section`,{className:d,children:h}),t[30]=h,t[31]=d,t[32]=g):g=t[32],g}function st({channelId:e,onHeaderActionChange:t}){let n=y(e=>e.language),r=m(n),a=_(e=>!!e.conversationId),s=i(),c=ie(e),u=De(a,n),d=u.entries,{data:p,mutate:g,isValidating:x}=O(a?ue():null,de,{revalidateOnFocus:!0}),{data:S,mutate:C}=O(a?`channels-config-map`:null,Le,{revalidateOnFocus:!1}),w=S?.channels??{},T=S?.bindings??[],{data:E}=O(a?`channel-routing-agents`:null,L,{revalidateOnFocus:!1}),D=(0,B.useMemo)(()=>d.find(e=>e.id===c),[c,d]),k=D?ze(D):null,{data:ee,mutate:A}=O(a&&k?Me(k):null,()=>Ne(k)),[j,M]=(0,B.useState)(null),[P,I]=(0,B.useState)(!1),[R,ne]=(0,B.useState)(null),[re,oe]=(0,B.useState)(null),[V,le]=(0,B.useState)(!1),[pe,U]=(0,B.useState)(null),[W,G]=(0,B.useState)(null),K=j??ee??{},q=r.channelsSettings,he=(0,B.useMemo)(()=>D?.configSchema??{type:`object`,properties:{}},[D?.configSchema]),J=(0,B.useMemo)(()=>Ke(he,Pe),[he]),ve=(0,B.useMemo)(()=>Ue(D),[D]),be=(0,B.useMemo)(()=>We(J,ve),[ve,J]),Se=(0,B.useMemo)(()=>Ke(J,ve),[ve,J]),Te=(0,B.useMemo)(()=>qe(be),[be]),Ee=D?W??ge(T,D.id):``,Oe=(0,B.useMemo)(()=>(E?.items??[]).map(e=>{let t=z(e,r.agentsSettings);return{value:e.id,label:t===e.id?t:`${t} · ${e.id}`}}),[E?.items,r.agentsSettings]),Ae=E?.items.find(e=>e.id===E.defaultId),Re=Ae?z(Ae,r.agentsSettings):E?.defaultId??``,Ve=(0,B.useMemo)(()=>({defaultBooleanLabel:q.schemaBooleanDefault,unsupportedArrayType:q.schemaUnsupportedArrayType,arrayAddPlaceholder:q.schemaArrayAddPlaceholder,unsupportedFieldType:(e,t)=>q.schemaUnsupportedFieldType.replace(`{{title}}`,e).replace(`{{type}}`,t?` (${t})`:``)}),[q]),X=(0,B.useMemo)(()=>new Map((p??[]).map(e=>[e.name,e])),[p]),Z=p!==void 0,Ge=(0,B.useCallback)(e=>ye(e,X.get(e.id),Z),[X,Z]),Q=(0,B.useCallback)(async()=>{await Promise.all([u.mutate(),g()])},[u,g]);je((0,B.useCallback)(e=>{let t=ke(e);t&&g(t,!1)},[g]),a);let Je=(0,B.useMemo)(()=>a?{secondary:(0,H.jsx)(Ce,{ch:q,refreshing:u.isValidating||x,saveOk:!1,onRefresh:()=>void Q()})}:null,[u.isValidating,q,a,x,Q]);(0,B.useLayoutEffect)(()=>(t?.(Je),()=>t?.(null)),[Je,t]);let Ye=(0,B.useCallback)(e=>{s(F(e)),M(null),G(null),U(null)},[s]),Xe=(0,B.useCallback)(()=>{s(te),M(null),G(null),U(null)},[s]),Ze=(0,B.useCallback)(async e=>{oe(e.id),U(null);try{let t=await v(b(`/api/channels/${encodeURIComponent(e.id)}/restart`),{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error?.message??t.statusText)}await Q()}catch(e){U(e instanceof Error?e.message:String(e))}finally{oe(null)}},[Q]);(0,B.useEffect)(()=>{G(null),le(!1)},[D?.id]);let Qe=(0,B.useCallback)(async()=>{if(!D||!j&&W===null)return!1;let e=ze(D);I(!0),U(null);try{let t=await v(b(`/api/config`),{method:`PATCH`,body:JSON.stringify({...j?{channels:{[e]:j}}:{},...W===null?{}:{bindings:_e(T,D.id,W)}})});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error?.message??t.statusText)}return j&&await A(j,!1),await C(),await u.mutate(),M(null),G(null),!0}catch(e){return U(e instanceof Error?e.message:String(e)),!1}finally{I(!1)}},[D,W,T,u,j,C,A]),$e=(0,B.useCallback)(async e=>{let t=Y(e),n=ze(e),r=D?.id===e.id?j:null;if(!t.enabled&&!t.ready&&!r){Ye(e.id);return}ne(e.id),U(null);try{let i=t.enabled?{enabled:!1}:r?{...r,enabled:!0}:{enabled:!0},a=await v(b(`/api/config`),{method:`PATCH`,body:JSON.stringify({channels:{[n]:i}})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error?.message??a.statusText)}await u.mutate(),await C(),await g(),D?.id===e.id&&(await A(),M(null))}catch(e){U(e instanceof Error?e.message:String(e))}finally{ne(null)}},[D?.id,u,j,C,A,g,Ye]),$=D?.ui?.modal,rt=$?.placement!==`replace-config`,it=D?Ge(D):`checking`,st=D?!Y(D).ready||V:!1;return a?(0,H.jsxs)(ae,{gap:`gap-4`,className:Fe,padding:Ie,children:[u.isLoading?(0,H.jsx)(se,{sections:2}):u.error?(0,H.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:String(u.error)}):(0,H.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2 xl:grid-cols-3`,children:d.map(e=>(0,H.jsx)(nt,{entry:e,config:w[ze(e)]?.config,runtime:Ge(e),busy:R===e.id,restarting:re===e.id,ch:q,onOpen:()=>Ye(e.id),onToggle:()=>void $e(e),onRestart:()=>void Ze(e)},e.id))}),pe?(0,H.jsx)(`p`,{className:`mt-4 text-sm text-red-600 dark:text-red-400`,children:pe}):null,(0,H.jsx)(xe,{presentation:`modal`,open:!!D,onOpenChange:e=>{e||Xe()},closeAriaLabel:q.close,srTitle:D?.label??q.selectChannel,srDescription:D?.description,wide:!0,footer:D?(0,H.jsx)(we,{ch:q,dirty:!!j||W!==null,saving:P,onCancel:Xe,onDiscard:()=>{M(null),G(null)},onSave:Qe}):null,children:D?(0,H.jsxs)(`div`,{className:`space-y-4`,children:[(0,H.jsx)(`div`,{className:`rounded-xl bg-surface-panel/80 p-3 shadow-surface`,children:(0,H.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,H.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,H.jsx)(et,{entry:D}),(0,H.jsxs)(`div`,{className:`min-w-0`,children:[(0,H.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,H.jsx)(`h2`,{className:`truncate text-base font-semibold text-fg`,children:D.label}),(0,H.jsx)(`span`,{className:h(`shrink-0 rounded-full px-2 py-0.5 text-xs font-medium`,He(it)),children:Be(it,q)})]}),(0,H.jsxs)(`div`,{className:`mt-1 flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-sm text-fg-muted`,children:[(0,H.jsx)(`span`,{className:`min-w-0 truncate`,children:!Y(D).ready&&fe(D)?.[1].result===`qr`?q.scanLoginHint.replace(`{{channel}}`,D.label):D.description}),D.docsPath?(0,H.jsxs)(`a`,{href:D.docsPath,target:`_blank`,rel:`noreferrer`,className:`inline-flex shrink-0 items-center gap-1 text-accent hover:underline`,children:[q.docs,(0,H.jsx)(l,{className:`size-3.5`})]}):null]})]})]}),(0,H.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 pr-8`,children:[(0,H.jsx)(`span`,{className:`hidden text-xs text-fg-muted sm:inline`,children:Y(D).enabled?q.enabledLabel:q.disabledLabel}),(0,H.jsx)(tt,{checked:Y(D).enabled,disabled:R===D.id,label:q.toggleChannel.replace(`{{channel}}`,D.label),onToggle:()=>void $e(D)})]})]})}),(0,H.jsx)(at,{runtime:it,restarting:re===D.id,checking:x,showConnectionOptions:V,canManageConnection:Y(D).ready&&$?.placement!==`replace-config`,ch:q,onRestart:()=>void Ze(D),onCheck:()=>void Q(),onManageConnection:()=>le(e=>!e)}),(0,H.jsx)(ot,{entry:D,ch:q}),st&&$?.placement!==`replace-config`?(0,H.jsx)(me,{entry:D,locale:n,messages:q,compact:!0,onChanged:async()=>{await A(),await Q(),await C()}},D.id):null,$?.entrypoint&&$.placement===`before-config`?(0,H.jsx)(N,{extensionId:D.extensionId,extensionName:D.label,entrypoint:$.entrypoint,permissions:$.permissions,minHeight:$.minHeight,maxHeight:$.maxHeight,initialData:{channelId:D.id,entry:D,config:K}}):null,$?.entrypoint&&$.placement!==`before-config`?(0,H.jsx)(N,{extensionId:D.extensionId,extensionName:D.label,entrypoint:$.entrypoint,permissions:$.permissions,minHeight:$.minHeight,maxHeight:$.maxHeight,initialData:{channelId:D.id,entry:D,config:K}}):null,rt&&Te?(0,H.jsxs)(`section`,{className:`rounded-xl bg-surface-panel/80 p-4 shadow-surface`,children:[(0,H.jsxs)(`div`,{className:`mb-4`,children:[(0,H.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:q.basicConfiguration}),(0,H.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:q.basicConfigurationHint})]}),(0,H.jsx)(ce,{schema:be,values:K,onChange:e=>M(e),disabled:P,labels:Ve})]}):null,(0,H.jsxs)(`details`,{className:`group rounded-xl bg-surface-panel/80 shadow-surface`,children:[(0,H.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-2 px-4 py-3 text-sm font-medium text-fg marker:hidden [&::-webkit-details-marker]:hidden`,children:[(0,H.jsx)(f,{className:`size-4 text-fg-muted`}),q.messageHandling]}),(0,H.jsxs)(`div`,{className:`bg-surface-base/50 p-4`,children:[(0,H.jsxs)(`div`,{className:`mb-3`,children:[(0,H.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:q.agentRouting}),(0,H.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:q.messageHandlingHint})]}),(0,H.jsx)(o,{value:Ee,options:Oe,placeholder:q.agentRoutingSelect,emptyLabel:q.agentRoutingDefault.replace(`{{agent}}`,Re||q.agentRoutingSelect),ariaLabel:q.agentRouting,disabled:P||!E,onChange:e=>G(e)})]})]}),rt&&qe(Se)?(0,H.jsxs)(`details`,{className:`group rounded-xl bg-surface-panel/80 shadow-surface`,children:[(0,H.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-2 px-4 py-3 text-sm font-medium text-fg marker:hidden [&::-webkit-details-marker]:hidden`,children:[(0,H.jsx)(f,{className:`size-4 text-fg-muted`}),q.advancedConfiguration]}),(0,H.jsx)(`div`,{className:`bg-surface-base/50 p-4`,children:(0,H.jsx)(ce,{schema:Se,values:K,onChange:e=>M(e),disabled:P,labels:Ve})})]}):null,pe?(0,H.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:pe}):null]}):null})]}):(0,H.jsx)(ae,{gap:`gap-3`,className:Fe,padding:Ie,children:(0,H.jsx)(`p`,{className:`text-sm text-fg-muted`,children:q.tokenRequired})})}export{st as ChannelsSettingsPanel};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{f as i}from"./chunk-KS7C4IRE-BMYIfy9x.js";import{s as a,t as o}from"./popover-select-BgSdSbCL.js";import{t as s}from"./circle-alert-BEjgurr2.js";import{t as c}from"./circle-check-C23XjkUj.js";import{t as l}from"./external-link-DjqjBmc3.js";import{t as u}from"./loader-circle-CifKLtgG.js";import{t as d}from"./rotate-ccw-JM1TBLpp.js";import{t as f}from"./settings-2-D-csvaET.js";import{t as p}from"./x-B_N4OPjy.js";import{t as m}from"./messages-pGa2qMzG.js";import{t as h}from"./cn-JdwAhgNB.js";import{a as g,c as _,i as v,n as y,r as b}from"./locale-store-CvNO-hbt.js";import{a as x,i as S,n as C,o as w,r as T,s as E,t as D}from"./dist-BGTk37IG.js";import{i as O}from"./vendor-swr-BIWyz7Rc.js";import{t as k}from"./button-CS04eWY9.js";import{t as ee}from"./interaction-BdhHBbYa.js";import{t as A}from"./skeleton-BwbyijEw.js";import{i as j,o as M}from"./settings-shell-dialog-layer-BU3UuiJr.js";import{Nr as N,Vo as P,_n as F,bo as I,ci as L,di as R,fn as z,gn as te,ri as ne,uo as re,vn as ie}from"./index-6JNNrzCq.js";import{r as ae}from"./settings-page-layout-X1x-2Cp9.js";import{t as oe}from"./browser-BLJWD7WI.js";import{n as se}from"./settings-loading-skeleton-CAmWMaOT.js";import{t as ce}from"./schema-form-CMB61TV1.js";var B=e(t(),1),V=n();async function le(){return(await g(b(`/api/channels/status`))).payload?.channels||[]}function ue(){return b(`/api/channels/status`)}var de=le;function fe(e){let t=e.actions??{};for(let e of[`login.start`,`setup.start`]){let n=t[e];if(n?.result===`qr`)return[e,n]}let n=Object.entries(t).find(([,e])=>e.result===`qr`);if(n)return n;let r=e.ui?.card?.primaryAction;if(r&&t[r])return[r,t[r]];for(let e of[`login.start`,`setup.start`]){let n=t[e];if(n)return[e,n]}return Object.entries(t).find(([,e])=>e.result===`form`)??null}var pe=e(oe(),1),H=r();async function U(e){let t=await v(b(`/api/channels/${encodeURIComponent(e.channelId)}/actions/${encodeURIComponent(e.actionId)}?locale=${encodeURIComponent(e.locale)}`),{method:`POST`,body:JSON.stringify({...e.accountId?{accountId:e.accountId}:{},...e.input===void 0?{}:{input:e.input}})}),n=await t.json().catch(()=>({}));if(!t.ok||n.ok===!1)throw Error(n.error?.message??t.statusText);return n.payload??{type:`ok`}}function W(e){return e?.type===`poll`&&e.phase===`done`}function G(e){return e&&`message`in e&&typeof e.message==`string`?e.message:null}function K(e,t){return e?.type!==`qr`&&e?.type!==`poll`?null:e.qrPayload?e.qrPayload:t===`weixin`&&e.qrcodeUrl?e.qrcodeUrl:null}function q(e){return e?.type!==`qr`&&e?.type!==`poll`?null:e.qrcodeUrl??null}function me({entry:e,locale:t,messages:n,onChanged:r,compact:i=!1}){let a=(0,B.useMemo)(()=>fe(e),[e]),o=(0,B.useMemo)(()=>({defaultBooleanLabel:n.schemaBooleanDefault,unsupportedArrayType:n.schemaUnsupportedArrayType,arrayAddPlaceholder:n.schemaArrayAddPlaceholder,unsupportedFieldType:(e,t)=>n.schemaUnsupportedFieldType.replace(`{{title}}`,e).replace(`{{type}}`,t?` (${t})`:``)}),[n]),[s,d]=(0,B.useState)({payload:null,poll:null,busy:!1,error:null,formDraft:{},generatedQr:null});(0,B.useEffect)(()=>{d({payload:null,poll:null,busy:!1,error:null,formDraft:{},generatedQr:null})},[e.id]);let f=(0,B.useCallback)(async(n,i)=>{d(e=>({...e,busy:!0,error:null}));try{let a=await U({channelId:e.id,actionId:n,locale:t,input:i});d(e=>({...e,payload:a,poll:a.type===`qr`&&a.statusAction&&a.conversationId?{actionId:a.statusAction,conversationId:a.conversationId,intervalMs:Math.max(1e3,a.pollIntervalMs??2500)}:null,busy:!1,formDraft:a.type===`form`?a.values??{}:e.formDraft})),`configChanged`in a&&a.configChanged===!0&&await r()}catch(e){d(t=>({...t,busy:!1,error:e instanceof Error?e.message:String(e)}))}},[e.id,t,r]);(0,B.useEffect)(()=>{let t=K(s.payload,e.id);if(!t){d(e=>e.generatedQr?{...e,generatedQr:null}:e);return}let n=!1;return d(e=>e.generatedQr?{...e,generatedQr:null}:e),pe.toDataURL(t,{width:220,margin:1}).then(e=>{n||d(t=>({...t,generatedQr:e}))}),()=>{n=!0}},[e.id,s.payload]),(0,B.useEffect)(()=>{let n=s.poll;if(!n)return;let i=!1,a=window.setInterval(()=>{i||U({channelId:e.id,actionId:n.actionId,locale:t,input:{conversationId:n.conversationId}}).then(async e=>{i||(d(t=>({...t,payload:e,poll:W(e)?null:t.poll,error:null})),`configChanged`in e&&e.configChanged===!0&&await r(),W(e)&&window.clearInterval(a))}).catch(e=>{i||d(t=>({...t,error:e instanceof Error?e.message:String(e)}))})},n.intervalMs);return()=>{i=!0,window.clearInterval(a)}},[e.id,t,r,s.poll]);let p=a?.[1].label??(e.configured?n.reconnect:n.connect),m=e.actions?.[`doctor.run`]?.label??n.diagnose,g=G(s.payload),_=K(s.payload,e.id),v=_?s.generatedQr:q(s.payload),y=a?.[1].result===`qr`&&(s.busy||s.payload?.type===`qr`||s.payload?.type===`poll`),b=s.payload?.type===`form`?s.payload:null,x=s.payload?.type===`diagnostics`?s.payload.checks:null;return(0,H.jsxs)(`div`,{className:i?`space-y-3`:`rounded-lg bg-surface-panel/80 p-4 shadow-surface`,children:[(0,H.jsxs)(`div`,{className:h(`flex flex-wrap items-start gap-3`,i?`justify-end`:`justify-between`),children:[i?null:(0,H.jsxs)(`div`,{children:[(0,H.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.setupTitle}),(0,H.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:e.configured?n.setupConfiguredHint:n.setupEmptyHint})]}),(0,H.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[a?(0,H.jsxs)(k,{type:`button`,variant:`primary`,disabled:s.busy,onClick:()=>void f(a[0]),children:[s.busy?(0,H.jsx)(u,{className:`size-4 animate-spin`}):(0,H.jsx)(P,{className:`size-4`}),p]}):null,e.actions?.[`doctor.run`]?(0,H.jsxs)(k,{type:`button`,variant:`secondary`,disabled:s.busy,onClick:()=>void f(`doctor.run`),children:[(0,H.jsx)(I,{className:`size-4`}),m]}):null]})]}),g?(0,H.jsx)(`p`,{className:`mt-3 text-sm text-fg-muted`,children:g}):null,s.error?(0,H.jsx)(`p`,{className:`mt-3 text-sm text-red-600 dark:text-red-400`,children:s.error}):null,y?(0,H.jsxs)(`div`,{className:h(`flex h-80 items-center justify-center gap-4 overflow-hidden rounded-lg bg-surface-base p-3 shadow-surface`,i?`mt-1 flex-col text-center sm:h-64 sm:flex-row sm:text-left`:`mt-4 flex-col sm:h-64 sm:flex-row`),children:[(0,H.jsx)(`div`,{className:`flex size-56 shrink-0 items-center justify-center rounded-lg border border-edge bg-white p-3`,children:v?(0,H.jsx)(`img`,{src:v,alt:`${e.label} setup QR`,className:`size-52 object-contain`}):(0,H.jsx)(`div`,{className:`flex size-52 items-center justify-center rounded-md bg-surface-base`,children:(0,H.jsx)(A,{className:`size-48 rounded-md`})})}),(0,H.jsxs)(`div`,{className:h(`min-w-0 max-w-sm text-sm text-fg-muted`,i&&`w-full sm:w-auto`),children:[v?(0,H.jsx)(`p`,{className:`line-clamp-3`,children:n.waitingConfirmation}):(0,H.jsxs)(`div`,{className:`space-y-2`,"aria-busy":`true`,children:[(0,H.jsx)(A,{className:`h-4 w-48 max-w-full`}),(0,H.jsx)(A,{className:`h-4 w-36 max-w-full`})]}),_?(0,H.jsxs)(`a`,{className:`mt-2 inline-flex items-center gap-1 text-accent hover:underline`,href:_,target:`_blank`,rel:`noreferrer`,children:[n.openSetupLink,(0,H.jsx)(l,{className:`size-3.5`})]}):null]})]}):null,s.payload?.type===`poll`&&s.payload.phase===`done`?(0,H.jsxs)(`div`,{className:`mt-4 flex items-center gap-2 rounded-lg bg-surface-base px-3 py-2 text-sm shadow-surface`,children:[(0,H.jsx)(c,{className:s.payload.ok?`size-4 text-green-600`:`size-4 text-red-600`}),(0,H.jsx)(`span`,{className:s.payload.ok?`text-fg`:`text-red-600 dark:text-red-400`,children:s.payload.message??(s.payload.ok?n.complete:n.failed)})]}):null,b?(0,H.jsxs)(`div`,{className:`mt-4 space-y-3`,children:[(0,H.jsx)(ce,{schema:b.schema,values:s.formDraft,onChange:e=>d(t=>({...t,formDraft:e})),disabled:s.busy,labels:o}),(0,H.jsx)(k,{type:`button`,variant:`primary`,disabled:s.busy,onClick:()=>void f(b.submitAction,s.formDraft),children:n.saveSetup})]}):null,x?(0,H.jsx)(`div`,{className:`mt-4 space-y-2`,children:x.map((e,t)=>(0,H.jsxs)(`div`,{className:`rounded-lg bg-surface-base px-3 py-2 shadow-surface`,children:[(0,H.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,H.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:e.label??e.id??n.diagnosticCheckFallback.replace(`{{index}}`,String(t+1))}),(0,H.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-xs text-fg-muted`,children:e.status??`unknown`})]}),e.message?(0,H.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:e.message}):null]},e.id??t))}):null]})}var he=40;function J(e){return`ui:route:channel:${e.trim().toLowerCase()}`}function ge(e,t){return e.find(e=>e.id===J(t))?.agentId?.trim().toLowerCase()??``}function _e(e,t,n){let r=J(t),i=e.filter(e=>e.id!==r),a=n.trim().toLowerCase();return a?[...i,{id:r,agentId:a,priority:he,enabled:!0,match:{channel:t.trim().toLowerCase(),accountId:`*`}}]:i}function ve(e){let t=e.configured===!0,n=e.enabled===!0;return e.setupStatus??{enabled:n,ready:t,state:n&&!t?`needs_setup`:n?`ready`:`disabled`,issues:[]}}function ye(e,t,n){let r=ve(e);return r.ready?r.enabled?n?t?.connected===!0?`running`:`stopped`:`checking`:`disabled`:`needs_setup`}function be(e,t=!1){return e===`drawer`?h(`xopc-drawer-right fixed right-0 top-0 flex size-full flex-col overflow-hidden border-l border-edge bg-surface-overlay shadow-popover outline-none dark:border-edge`,t?`max-w-[36rem]`:`max-w-xl`,j):h(`xopc-dialog-content fixed left-1/2 top-1/2 flex h-[min(calc(100dvh-2rem),52rem)] w-[min(calc(100%-2rem),32rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden`,t&&`h-[min(calc(100dvh-2rem),48rem)] w-[min(calc(100%-2rem),36rem)]`,j,`rounded-2xl border border-edge bg-surface-overlay outline-none dark:border-edge`)}function xe(e){let t=(0,V.c)(33),{presentation:n,open:r,onOpenChange:i,title:o,description:s,srTitle:c,srDescription:l,closeAriaLabel:u,children:d,footer:f,wide:m,headerExtra:g}=e,_=m===void 0?!1:m,v=n===`drawer`,[y,b]=(0,B.useState)(null),O;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,H.jsx)(x,{className:h(`xopc-dialog-overlay fixed inset-0 bg-scrim backdrop-blur-[1px]`,M)}),t[0]=O):O=t[0];let A;t[1]!==n||t[2]!==_?(A=be(n,_),t[1]=n,t[2]=_,t[3]=A):A=t[3];let j;t[4]===c?j=t[5]:(j=c?(0,H.jsx)(E,{className:`sr-only`,children:c}):null,t[4]=c,t[5]=j);let N;t[6]===l?N=t[7]:(N=l?(0,H.jsx)(S,{className:`sr-only`,children:l}):null,t[6]=l,t[7]=N);let P;t[8]!==u||t[9]!==s||t[10]!==g||t[11]!==v||t[12]!==o?(P=v?(0,H.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,H.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[o?(0,H.jsx)(`div`,{className:`text-base font-semibold text-fg`,children:o}):null,s?(0,H.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:s}):null]}),(0,H.jsx)(C,{asChild:!0,children:(0,H.jsx)(k,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":u,children:(0,H.jsx)(p,{className:`size-5`,strokeWidth:1.75})})})]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(C,{asChild:!0,children:(0,H.jsx)(`button`,{type:`button`,className:h(ee,`absolute right-3 top-3 z-20 p-1.5 hover:bg-surface-hover`),"aria-label":u,children:(0,H.jsx)(p,{className:`size-4`})})}),g]}),t[8]=u,t[9]=s,t[10]=g,t[11]=v,t[12]=o,t[13]=P):P=t[13];let F=v?`p-4`:`p-6`,I;t[14]===F?I=t[15]:(I=h(`min-h-0 flex-1 overflow-y-auto`,F),t[14]=F,t[15]=I);let L;t[16]!==d||t[17]!==I?(L=(0,H.jsx)(`div`,{className:I,children:d}),t[16]=d,t[17]=I,t[18]=L):L=t[18];let R;t[19]!==f||t[20]!==y||t[21]!==j||t[22]!==N||t[23]!==P||t[24]!==L?(R=(0,H.jsxs)(a,{layer:`modal`,portalContainer:y,children:[j,N,P,L,f]}),t[19]=f,t[20]=y,t[21]=j,t[22]=N,t[23]=P,t[24]=L,t[25]=R):R=t[25];let z;t[26]!==R||t[27]!==A?(z=(0,H.jsxs)(w,{children:[O,(0,H.jsx)(T,{ref:b,className:A,onOpenAutoFocus:Se,children:R})]}),t[26]=R,t[27]=A,t[28]=z):z=t[28];let te;return t[29]!==i||t[30]!==r||t[31]!==z?(te=(0,H.jsx)(D,{open:r,onOpenChange:i,children:z}),t[29]=i,t[30]=r,t[31]=z,t[32]=te):te=t[32],te}function Se(e){return e.preventDefault()}var Ce=(0,B.memo)(function(e){let t=(0,V.c)(10),{ch:n,refreshing:r,saveOk:i,onRefresh:a}=e,o;t[0]!==n.saved||t[1]!==i?(o=i?(0,H.jsx)(`span`,{className:`text-sm text-fg-muted`,children:n.saved}):null,t[0]=n.saved,t[1]=i,t[2]=o):o=t[2];let s;t[3]!==n.refresh||t[4]!==a||t[5]!==r?(s=(0,H.jsx)(ne,{className:`size-9 shrink-0 p-0`,loading:r,label:n.refresh,onClick:a}),t[3]=n.refresh,t[4]=a,t[5]=r,t[6]=s):s=t[6];let c;return t[7]!==o||t[8]!==s?(c=(0,H.jsxs)(`div`,{className:`flex min-w-0 shrink-0 items-center justify-end gap-2`,children:[o,s]}),t[7]=o,t[8]=s,t[9]=c):c=t[9],c});function we(e){let t=(0,V.c)(24),{ch:n,dirty:r,saving:i,onCancel:a,onDiscard:o,onSave:s,showCancel:c}=e,l=c===void 0?!0:c,u;t[0]!==n.unsavedHint||t[1]!==r?(u=r?(0,H.jsx)(`p`,{className:`mb-3 text-xs text-amber-800 dark:text-amber-200`,children:n.unsavedHint}):null,t[0]=n.unsavedHint,t[1]=r,t[2]=u):u=t[2];let d;t[3]!==n.modalCancel||t[4]!==a||t[5]!==l?(d=l?(0,H.jsx)(k,{type:`button`,variant:`secondary`,onClick:a,children:n.modalCancel}):null,t[3]=n.modalCancel,t[4]=a,t[5]=l,t[6]=d):d=t[6];let f=!r||i,p;t[7]!==n.discard||t[8]!==o||t[9]!==f?(p=(0,H.jsx)(k,{type:`button`,variant:`secondary`,disabled:f,onClick:o,children:n.discard}),t[7]=n.discard,t[8]=o,t[9]=f,t[10]=p):p=t[10];let m=!r||i,h;t[11]===s?h=t[12]:(h=()=>void s(),t[11]=s,t[12]=h);let g=i?n.saving:n.save,_;t[13]!==m||t[14]!==h||t[15]!==g?(_=(0,H.jsx)(k,{type:`button`,variant:`primary`,disabled:m,onClick:h,children:g}),t[13]=m,t[14]=h,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==d||t[18]!==p||t[19]!==_?(v=(0,H.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[d,p,_]}),t[17]=d,t[18]=p,t[19]=_,t[20]=v):v=t[20];let y;return t[21]!==v||t[22]!==u?(y=(0,H.jsxs)(`div`,{className:`sticky bottom-0 shrink-0 border-t border-edge-subtle bg-surface-panel px-6 py-4 dark:border-edge-subtle`,children:[u,v]}),t[21]=v,t[22]=u,t[23]=y):y=t[23],y}function Te(e){return b(`/api/channels/catalog?locale=${encodeURIComponent(e)}`)}async function Ee(e){return(await g(Te(e))).payload?.channels??[]}function De(e,t){let n=(0,V.c)(14),r;n[0]!==e||n[1]!==t?(r=e?Te(t):null,n[0]=e,n[1]=t,n[2]=r):r=n[2];let i;n[3]===t?i=n[4]:(i=()=>Ee(t),n[3]=t,n[4]=i);let a;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(a={revalidateOnFocus:!1},n[5]=a):a=n[5];let{data:o,error:s,isLoading:c,isValidating:l,mutate:u}=O(r,i,a),d;n[6]===o?d=n[7]:(d=o??[],n[6]=o,n[7]=d);let f;return n[8]!==s||n[9]!==c||n[10]!==l||n[11]!==u||n[12]!==d?(f={entries:d,isLoading:c,isValidating:l,error:s,mutate:u},n[8]=s,n[9]=c,n[10]=l,n[11]=u,n[12]=d,n[13]=f):f=n[13],f}var Oe=`channels-status`;function ke(e){if(!e||typeof e!=`object`)return null;let t=e.channels;return Array.isArray(t)?t:null}function Ae(e){let t=t=>e(t.detail);return window.addEventListener(Oe,t),()=>window.removeEventListener(Oe,t)}function je(e,t){let n=(0,V.c)(4),r=t===void 0?!0:t,i,a;n[0]!==r||n[1]!==e?(i=()=>{if(r)return Ae(e)},a=[r,e],n[0]=r,n[1]=e,n[2]=i,n[3]=a):(i=n[2],a=n[3]),(0,B.useEffect)(i,a)}function Me(e){return e?b(`/api/channels/${encodeURIComponent(e)}/config`):null}async function Ne(e){return(await g(b(`/api/channels/${encodeURIComponent(e)}/config`))).payload?.config??{}}var Pe=[`enabled`],Fe=`max-w-7xl`,Ie=`px-4 pb-7 pt-3 sm:px-6 lg:px-8 lg:pb-9 lg:pt-4`;async function Le(){let e=await g(b(`/api/config`));return{channels:e.payload?.config?.channels??{},bindings:e.payload?.config?.bindings??[]}}function Re(e){return e.split(`/`).filter(Boolean).map(e=>encodeURIComponent(e)).join(`/`)}function ze(e){return e.configPath.startsWith(`channels.`)&&e.configPath.slice(9).split(`.`)[0]||e.id}function Y(e){let t=e.configured===!0,n=e.enabled===!0;return e.setupStatus??{enabled:n,ready:t,state:n&&!t?`needs_setup`:n?`ready`:`disabled`,issues:[]}}function Be(e,t){return e===`running`?t.connectionRunning:e===`stopped`?t.connectionStopped:e===`checking`?t.connectionChecking:e===`disabled`?t.connectionDisabled:t.connectionNeedsSetup}function Ve(e,t){return e===`running`?t.connectionRunningHint:e===`stopped`?t.connectionStoppedHint:e===`disabled`?t.connectionDisabledHint:e===`needs_setup`?t.connectionNeedsSetupHint:t.connectionChecking}function He(e){return e===`running`?`bg-emerald-500/12 text-emerald-700 dark:text-emerald-300`:e===`stopped`?`bg-red-500/10 text-red-700 dark:text-red-300`:e===`checking`?`bg-amber-500/10 text-amber-700 dark:text-amber-300`:e===`disabled`?`bg-surface-hover text-fg-muted`:`bg-amber-500/10 text-amber-700 dark:text-amber-300`}function Ue(e){if(!e)return[];let t=e.uiHints??{},n=X(e.configSchema)&&Array.isArray(e.configSchema.required)?e.configSchema.required.map(String):[],r=Y(e).issues.map(e=>e.fieldPath).filter(e=>!!e),i=Object.entries(t).filter(([,e])=>!X(e)||e.advanced===!0?!1:(Array.isArray(e.tags)?e.tags.map(String):[]).includes(`basic`)||e.advanced===!1).map(([e])=>e).filter(e=>!Pe.includes(e));return Array.from(new Set([...i,...n,...r])).filter(e=>!Pe.includes(e))}function X(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Z(e){return JSON.parse(JSON.stringify(e??{type:`object`,properties:{}}))}function We(e,t){let n={...Z(e),properties:{}};for(let r of t){let t=r.split(`.`),i=e,a=n;for(let[e,n]of t.entries()){let r=i.properties;if(!X(r)||!X(r[n]))break;let o=X(a.properties)?a.properties:{};if(a.properties=o,o[n]||(o[n]={...Z(r[n]),properties:{}}),e===t.length-1){o[n]=Z(r[n]);break}i=r[n],a=o[n]}}return n}function Ge(e){let t=e.properties;if(!X(t))return!1;for(let[e,n]of Object.entries(t))X(n)&&n.type===`object`&&Ge(n)&&delete t[e];return Object.keys(t).length===0}function Ke(e,t){let n=Z(e);for(let e of t){let t=e.split(`.`),r=n;for(let[e,n]of t.entries()){let i=r.properties;if(!X(i))break;if(e===t.length-1){delete i[n];break}if(!X(i[n]))break;r=i[n]}}return Ge(n),n}function qe(e){return e.type===`object`&&X(e.properties)&&Object.keys(e.properties).length>0}function Q(e,t){let n=e;for(let e of t.split(`.`)){if(!X(n))return;n=n[e]}return n}function Je(e){let t=e.accounts;return X(t)?Object.values(t).filter(e=>X(e)&&e.enabled!==!1).length:+(e.configured===!0)}function Ye(e,t,n){return t==null||t===``?null:e.toLowerCase().includes(`dmpolicy`)&&typeof t==`string`?`${n.dmPolicy}: ${n.policy.dm[t]??t}`:(e.toLowerCase().includes(`stream`)||e.toLowerCase().includes(`streaming`))&&typeof t==`string`?`${n.cardStream}: ${n.policy.stream[t]??t}`:typeof t==`boolean`?t?n.enabledLabel:n.disabledLabel:String(t)}function Xe(e,t,n){let r=[],i=Y(e);if(i.issues.length>0&&r.push($(i.issues[0],n)),t){let i=e.ui?.card?.summaryFields??[`dmPolicy`,`streamMode`,`streaming.mode`];for(let e of i){let i=Ye(e,Q(t,e),n);i&&r.push(i)}let a=Je(t);a>0&&r.push(n.cardAccounts.replace(`{{count}}`,String(a)))}return r.length>0?r.slice(0,2):i.ready?[n.hubStatusConfigured]:[]}function Ze(e,t){let n=Y(e),r=fe(e);return n.state===`needs_setup`?r?.[1].label??t.completeSetup:!n.enabled&&n.ready?t.enableChannel:n.state===`error`?t.diagnose:n.ready?t.manageChannel:r?.[1].label??t.startConfiguration}function Qe(e,t){let n=fe(e);return n?.[1].result===`qr`?t.cardSetupQrHint:n?.[1].result===`form`?t.cardSetupConfigHint:t.cardSetupGenericHint}function $e(e,t){let n=e.capabilities??{},r=[];return n.login===!0&&r.push(t.cardCapabilityLogin),n.pairing===!0&&r.push(t.cardCapabilityPairing),n.multiAccount===!0&&r.push(t.cardCapabilityMultiAccount),n.streaming===!0&&r.push(t.cardCapabilityStreaming),n.media===!0&&r.push(t.cardCapabilityMedia),n.doctor===!0&&r.push(t.cardCapabilityDoctor),r.slice(0,3)}function $(e,t){return e.code===`telegram.missing_credential`?t.setupIssueTelegramMissingCredential:e.code===`weixin.missing_account`?t.setupIssueWeixinMissingAccount:e.code===`feishu.missing_credentials`?t.setupIssueFeishuMissingCredentials:e.code===`config.missing_required`&&e.fieldPath?t.setupIssueMissingRequired.replace(`{{field}}`,e.fieldPath):e.message}function et({entry:e}){let[t,n]=(0,B.useState)(!1),r=(0,B.useMemo)(()=>!e.ui?.icon||t?null:new URL(b(`/api/extensions/${encodeURIComponent(e.extensionId)}/assets/${Re(e.ui.icon)}`)).toString(),[t,e.extensionId,e.ui?.icon]);return(0,H.jsx)(`span`,{className:`flex size-12 shrink-0 items-center justify-center rounded-2xl bg-surface-base text-fg`,children:r?(0,H.jsx)(`img`,{src:r,alt:``,draggable:!1,className:`size-7`,"aria-hidden":!0,onError:()=>n(!0)}):(0,H.jsx)(R,{sourceChannel:e.id,className:`size-7`})})}function tt(e){let t=(0,V.c)(16),{checked:n,disabled:r,onToggle:i,label:a}=e,o;t[0]===i?o=t[1]:(o=e=>{e.stopPropagation(),i()},t[0]=i,t[1]=o);let s=n?`border-accent bg-accent`:`border-edge bg-surface-hover`,c=r&&`cursor-not-allowed opacity-60`,l;t[2]!==s||t[3]!==c?(l=h(`relative inline-flex h-6 w-11 shrink-0 items-center rounded-full border transition-colors`,s,c),t[2]=s,t[3]=c,t[4]=l):l=t[4];let u=n?`translate-x-5`:`translate-x-0.5`,d;t[5]===u?d=t[6]:(d=h(`size-5 rounded-full bg-white shadow-surface transition-transform`,u),t[5]=u,t[6]=d);let f;t[7]===d?f=t[8]:(f=(0,H.jsx)(`span`,{className:d}),t[7]=d,t[8]=f);let p;return t[9]!==n||t[10]!==r||t[11]!==a||t[12]!==o||t[13]!==l||t[14]!==f?(p=(0,H.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":n,"aria-label":a,disabled:r,onClick:o,className:l,children:f}),t[9]=n,t[10]=r,t[11]=a,t[12]=o,t[13]=l,t[14]=f,t[15]=p):p=t[15],p}function nt(e){let t=(0,V.c)(71),{entry:n,config:r,runtime:i,busy:a,restarting:o,ch:s,onOpen:c,onToggle:l,onRestart:d}=e,f;t[0]===n?f=t[1]:(f=Y(n),t[0]=n,t[1]=f);let p=f,m,g,_,v,y,b,x;if(t[2]!==a||t[3]!==s||t[4]!==r||t[5]!==n||t[6]!==c||t[7]!==d||t[8]!==l||t[9]!==i||t[10]!==p.enabled||t[11]!==p.ready){let e=Xe(n,r,s),o=$e(n,s);m=!p.enabled&&p.ready?l:i===`stopped`?d:c,b=`flex min-h-[15.5rem] flex-col rounded-xl bg-surface-panel p-4 shadow-surface transition-colors hover:bg-surface-hover/45`;let u;t[19]===n?u=t[20]:(u=(0,H.jsx)(et,{entry:n}),t[19]=n,t[20]=u);let f;t[21]===n.label?f=t[22]:(f=(0,H.jsx)(`h2`,{className:`truncate text-base font-semibold text-fg`,children:n.label}),t[21]=n.label,t[22]=f);let S;t[23]===i?S=t[24]:(S=h(`mt-1 inline-flex rounded-full px-2 py-0.5 text-xs font-medium`,He(i)),t[23]=i,t[24]=S);let C;t[25]!==s||t[26]!==i?(C=Be(i,s),t[25]=s,t[26]=i,t[27]=C):C=t[27];let w;t[28]!==S||t[29]!==C?(w=(0,H.jsx)(`span`,{className:S,children:C}),t[28]=S,t[29]=C,t[30]=w):w=t[30];let T;t[31]!==w||t[32]!==f?(T=(0,H.jsxs)(`div`,{className:`min-w-0`,children:[f,w]}),t[31]=w,t[32]=f,t[33]=T):T=t[33];let E;t[34]!==T||t[35]!==u?(E=(0,H.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[u,T]}),t[34]=T,t[35]=u,t[36]=E):E=t[36];let D=p.enabled,O;t[37]!==s.toggleChannel||t[38]!==n.label?(O=s.toggleChannel.replace(`{{channel}}`,n.label),t[37]=s.toggleChannel,t[38]=n.label,t[39]=O):O=t[39];let k;t[40]!==a||t[41]!==l||t[42]!==p.enabled||t[43]!==O?(k=(0,H.jsx)(tt,{checked:D,disabled:a,label:O,onToggle:l}),t[40]=a,t[41]=l,t[42]=p.enabled,t[43]=O,t[44]=k):k=t[44],t[45]!==E||t[46]!==k?(x=(0,H.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[E,k]}),t[45]=E,t[46]=k,t[47]=x):x=t[47],g=`button`,_=c,v=`mt-5 min-h-[6.25rem] text-left`,y=p.ready?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`p`,{className:`line-clamp-2 text-sm leading-6 text-fg-muted`,children:n.description??n.id}),e.length>0?(0,H.jsx)(`div`,{className:`mt-3 space-y-0.5 text-sm leading-5 text-fg-muted`,children:e.map(it)}):null]}):(0,H.jsxs)(`div`,{className:`rounded-lg bg-surface-base p-3`,children:[(0,H.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:s.cardSetupTitle}),(0,H.jsx)(`p`,{className:`mt-1 line-clamp-2 text-sm leading-5 text-fg-muted`,children:e[0]??Qe(n,s)}),o.length>0?(0,H.jsx)(`div`,{className:`mt-3 flex flex-wrap gap-1.5`,children:o.map(rt)}):null]}),t[2]=a,t[3]=s,t[4]=r,t[5]=n,t[6]=c,t[7]=d,t[8]=l,t[9]=i,t[10]=p.enabled,t[11]=p.ready,t[12]=m,t[13]=g,t[14]=_,t[15]=v,t[16]=y,t[17]=b,t[18]=x}else m=t[12],g=t[13],_=t[14],v=t[15],y=t[16],b=t[17],x=t[18];let S;t[48]!==g||t[49]!==_||t[50]!==v||t[51]!==y?(S=(0,H.jsx)(`button`,{type:g,onClick:_,className:v,children:y}),t[48]=g,t[49]=_,t[50]=v,t[51]=y,t[52]=S):S=t[52];let C=a||o,w;t[53]!==a||t[54]!==o?(w=a||o?(0,H.jsx)(u,{className:`size-4 animate-spin`}):null,t[53]=a,t[54]=o,t[55]=w):w=t[55];let T;t[56]!==s||t[57]!==n||t[58]!==o||t[59]!==i?(T=o?s.restartingChannel:i===`stopped`?s.restartChannel:Ze(n,s),t[56]=s,t[57]=n,t[58]=o,t[59]=i,t[60]=T):T=t[60];let E;t[61]!==m||t[62]!==w||t[63]!==T||t[64]!==C?(E=(0,H.jsx)(`div`,{className:`mt-auto pt-4`,children:(0,H.jsxs)(k,{type:`button`,variant:`secondary`,className:`w-full rounded-2xl py-2.5`,onClick:m,disabled:C,children:[w,T]})}),t[61]=m,t[62]=w,t[63]=T,t[64]=C,t[65]=E):E=t[65];let D;return t[66]!==E||t[67]!==b||t[68]!==x||t[69]!==S?(D=(0,H.jsxs)(`article`,{className:b,children:[x,S,E]}),t[66]=E,t[67]=b,t[68]=x,t[69]=S,t[70]=D):D=t[70],D}function rt(e){return(0,H.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-xs text-fg-muted`,children:e},e)}function it(e){return(0,H.jsx)(`p`,{className:`truncate`,title:e,children:e},e)}function at(e){let t=(0,V.c)(51),{runtime:n,restarting:r,checking:i,showConnectionOptions:a,canManageConnection:o,ch:l,onRestart:f,onCheck:p,onManageConnection:m}=e,g=n===`running`?c:n===`stopped`||n===`needs_setup`?s:u,_=n===`running`&&`text-emerald-600 dark:text-emerald-400`,v=n===`stopped`&&`text-red-600 dark:text-red-400`,y=n===`checking`&&`animate-spin text-amber-600 dark:text-amber-400`,b=n===`disabled`&&`text-fg-muted`,x=n===`needs_setup`&&`text-amber-600 dark:text-amber-400`,S;t[0]!==_||t[1]!==v||t[2]!==y||t[3]!==b||t[4]!==x?(S=h(`mt-0.5 size-5 shrink-0`,_,v,y,b,x),t[0]=_,t[1]=v,t[2]=y,t[3]=b,t[4]=x,t[5]=S):S=t[5];let C;t[6]!==g||t[7]!==S?(C=(0,H.jsx)(g,{className:S}),t[6]=g,t[7]=S,t[8]=C):C=t[8];let w;t[9]===l.connectionStatus?w=t[10]:(w=(0,H.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:l.connectionStatus}),t[9]=l.connectionStatus,t[10]=w);let T;t[11]!==l||t[12]!==n?(T=Ve(n,l),t[11]=l,t[12]=n,t[13]=T):T=t[13];let E;t[14]===T?E=t[15]:(E=(0,H.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:T}),t[14]=T,t[15]=E);let D;t[16]!==E||t[17]!==w?(D=(0,H.jsxs)(`div`,{children:[w,E]}),t[16]=E,t[17]=w,t[18]=D):D=t[18];let O;t[19]!==D||t[20]!==C?(O=(0,H.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[C,D]}),t[19]=D,t[20]=C,t[21]=O):O=t[21];let ee=i||r,A;t[22]===i?A=t[23]:(A=i?(0,H.jsx)(u,{className:`size-4 animate-spin`}):null,t[22]=i,t[23]=A);let j=i?l.checkingConnection:l.checkConnection,M;t[24]!==p||t[25]!==ee||t[26]!==A||t[27]!==j?(M=(0,H.jsxs)(k,{type:`button`,variant:`secondary`,className:`px-2.5 py-1.5 text-xs`,disabled:ee,onClick:p,children:[A,j]}),t[24]=p,t[25]=ee,t[26]=A,t[27]=j,t[28]=M):M=t[28];let N;t[29]!==l.restartChannel||t[30]!==l.restartingChannel||t[31]!==i||t[32]!==f||t[33]!==r||t[34]!==n?(N=n===`stopped`?(0,H.jsxs)(k,{type:`button`,variant:`primary`,className:`px-2.5 py-1.5 text-xs`,disabled:r||i,onClick:f,children:[r?(0,H.jsx)(u,{className:`size-4 animate-spin`}):(0,H.jsx)(d,{className:`size-4`}),r?l.restartingChannel:l.restartChannel]}):null,t[29]=l.restartChannel,t[30]=l.restartingChannel,t[31]=i,t[32]=f,t[33]=r,t[34]=n,t[35]=N):N=t[35];let P;t[36]!==o||t[37]!==l.connectionOptions||t[38]!==l.hideConnectionOptions||t[39]!==i||t[40]!==m||t[41]!==r||t[42]!==a?(P=o?(0,H.jsx)(k,{type:`button`,variant:`ghost`,className:`px-2.5 py-1.5 text-xs`,disabled:i||r,onClick:m,children:a?l.hideConnectionOptions:l.connectionOptions}):null,t[36]=o,t[37]=l.connectionOptions,t[38]=l.hideConnectionOptions,t[39]=i,t[40]=m,t[41]=r,t[42]=a,t[43]=P):P=t[43];let F;t[44]!==M||t[45]!==N||t[46]!==P?(F=(0,H.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[M,N,P]}),t[44]=M,t[45]=N,t[46]=P,t[47]=F):F=t[47];let I;return t[48]!==O||t[49]!==F?(I=(0,H.jsx)(`section`,{className:`rounded-xl bg-surface-panel/80 p-4 shadow-surface`,children:(0,H.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[O,F]})}),t[48]=O,t[49]=F,t[50]=I):I=t[50],I}function ot(e){let t=(0,V.c)(33),{entry:n,ch:r}=e,i,a,o,s,c,l,u,d,f;if(t[0]!==r||t[1]!==n){f=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Y(n);if(e.ready||e.issues.length===0){f=null;break bb0}d=`rounded-xl bg-amber-50 px-4 py-3 text-amber-950 dark:bg-amber-950/30 dark:text-amber-100`,l=`flex items-start gap-3`,t[11]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,H.jsx)(re,{className:`mt-0.5 size-4 shrink-0`}),t[11]=u):u=t[11],o=`min-w-0`,t[12]===r.setupReadinessTitle?s=t[13]:(s=(0,H.jsx)(`h3`,{className:`text-sm font-semibold`,children:r.setupReadinessTitle}),t[12]=r.setupReadinessTitle,t[13]=s);let p=e.enabled?r.setupReadinessEnabledBody:r.setupReadinessDisabledBody;t[14]===p?c=t[15]:(c=(0,H.jsx)(`p`,{className:`mt-1 text-sm leading-5 text-amber-900 dark:text-amber-200`,children:p}),t[14]=p,t[15]=c),i=`mt-2 list-disc space-y-1 pl-5 text-sm text-amber-900 dark:text-amber-200`;let m;t[16]===r?m=t[17]:(m=e=>(0,H.jsx)(`li`,{children:$(e,r)},`${e.code}:${e.fieldPath??``}`),t[16]=r,t[17]=m),a=e.issues.map(m)}t[0]=r,t[1]=n,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f}else i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10];if(f!==Symbol.for(`react.early_return_sentinel`))return f;let p;t[18]!==i||t[19]!==a?(p=(0,H.jsx)(`ul`,{className:i,children:a}),t[18]=i,t[19]=a,t[20]=p):p=t[20];let m;t[21]!==p||t[22]!==o||t[23]!==s||t[24]!==c?(m=(0,H.jsxs)(`div`,{className:o,children:[s,c,p]}),t[21]=p,t[22]=o,t[23]=s,t[24]=c,t[25]=m):m=t[25];let h;t[26]!==m||t[27]!==l||t[28]!==u?(h=(0,H.jsxs)(`div`,{className:l,children:[u,m]}),t[26]=m,t[27]=l,t[28]=u,t[29]=h):h=t[29];let g;return t[30]!==h||t[31]!==d?(g=(0,H.jsx)(`section`,{className:d,children:h}),t[30]=h,t[31]=d,t[32]=g):g=t[32],g}function st({channelId:e,onHeaderActionChange:t}){let n=y(e=>e.language),r=m(n),a=_(e=>!!e.conversationId),s=i(),c=ie(e),u=De(a,n),d=u.entries,{data:p,mutate:g,isValidating:x}=O(a?ue():null,de,{revalidateOnFocus:!0}),{data:S,mutate:C}=O(a?`channels-config-map`:null,Le,{revalidateOnFocus:!1}),w=S?.channels??{},T=S?.bindings??[],{data:E}=O(a?`channel-routing-agents`:null,L,{revalidateOnFocus:!1}),D=(0,B.useMemo)(()=>d.find(e=>e.id===c),[c,d]),k=D?ze(D):null,{data:ee,mutate:A}=O(a&&k?Me(k):null,()=>Ne(k)),[j,M]=(0,B.useState)(null),[P,I]=(0,B.useState)(!1),[R,ne]=(0,B.useState)(null),[re,oe]=(0,B.useState)(null),[V,le]=(0,B.useState)(!1),[pe,U]=(0,B.useState)(null),[W,G]=(0,B.useState)(null),K=j??ee??{},q=r.channelsSettings,he=(0,B.useMemo)(()=>D?.configSchema??{type:`object`,properties:{}},[D?.configSchema]),J=(0,B.useMemo)(()=>Ke(he,Pe),[he]),ve=(0,B.useMemo)(()=>Ue(D),[D]),be=(0,B.useMemo)(()=>We(J,ve),[ve,J]),Se=(0,B.useMemo)(()=>Ke(J,ve),[ve,J]),Te=(0,B.useMemo)(()=>qe(be),[be]),Ee=D?W??ge(T,D.id):``,Oe=(0,B.useMemo)(()=>(E?.items??[]).map(e=>{let t=z(e,r.agentsSettings);return{value:e.id,label:t===e.id?t:`${t} · ${e.id}`}}),[E?.items,r.agentsSettings]),Ae=E?.items.find(e=>e.id===E.defaultId),Re=Ae?z(Ae,r.agentsSettings):E?.defaultId??``,Ve=(0,B.useMemo)(()=>({defaultBooleanLabel:q.schemaBooleanDefault,unsupportedArrayType:q.schemaUnsupportedArrayType,arrayAddPlaceholder:q.schemaArrayAddPlaceholder,unsupportedFieldType:(e,t)=>q.schemaUnsupportedFieldType.replace(`{{title}}`,e).replace(`{{type}}`,t?` (${t})`:``)}),[q]),X=(0,B.useMemo)(()=>new Map((p??[]).map(e=>[e.name,e])),[p]),Z=p!==void 0,Ge=(0,B.useCallback)(e=>ye(e,X.get(e.id),Z),[X,Z]),Q=(0,B.useCallback)(async()=>{await Promise.all([u.mutate(),g()])},[u,g]);je((0,B.useCallback)(e=>{let t=ke(e);t&&g(t,!1)},[g]),a);let Je=(0,B.useMemo)(()=>a?{secondary:(0,H.jsx)(Ce,{ch:q,refreshing:u.isValidating||x,saveOk:!1,onRefresh:()=>void Q()})}:null,[u.isValidating,q,a,x,Q]);(0,B.useLayoutEffect)(()=>(t?.(Je),()=>t?.(null)),[Je,t]);let Ye=(0,B.useCallback)(e=>{s(F(e)),M(null),G(null),U(null)},[s]),Xe=(0,B.useCallback)(()=>{s(te),M(null),G(null),U(null)},[s]),Ze=(0,B.useCallback)(async e=>{oe(e.id),U(null);try{let t=await v(b(`/api/channels/${encodeURIComponent(e.id)}/restart`),{method:`POST`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error?.message??t.statusText)}await Q()}catch(e){U(e instanceof Error?e.message:String(e))}finally{oe(null)}},[Q]);(0,B.useEffect)(()=>{G(null),le(!1)},[D?.id]);let Qe=(0,B.useCallback)(async()=>{if(!D||!j&&W===null)return!1;let e=ze(D);I(!0),U(null);try{let t=await v(b(`/api/config`),{method:`PATCH`,body:JSON.stringify({...j?{channels:{[e]:j}}:{},...W===null?{}:{bindings:_e(T,D.id,W)}})});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error?.message??t.statusText)}return j&&await A(j,!1),await C(),await u.mutate(),M(null),G(null),!0}catch(e){return U(e instanceof Error?e.message:String(e)),!1}finally{I(!1)}},[D,W,T,u,j,C,A]),$e=(0,B.useCallback)(async e=>{let t=Y(e),n=ze(e),r=D?.id===e.id?j:null;if(!t.enabled&&!t.ready&&!r){Ye(e.id);return}ne(e.id),U(null);try{let i=t.enabled?{enabled:!1}:r?{...r,enabled:!0}:{enabled:!0},a=await v(b(`/api/config`),{method:`PATCH`,body:JSON.stringify({channels:{[n]:i}})});if(!a.ok){let e=await a.json().catch(()=>({}));throw Error(e.error?.message??a.statusText)}await u.mutate(),await C(),await g(),D?.id===e.id&&(await A(),M(null))}catch(e){U(e instanceof Error?e.message:String(e))}finally{ne(null)}},[D?.id,u,j,C,A,g,Ye]),$=D?.ui?.modal,rt=$?.placement!==`replace-config`,it=D?Ge(D):`checking`,st=D?!Y(D).ready||V:!1;return a?(0,H.jsxs)(ae,{gap:`gap-4`,className:Fe,padding:Ie,children:[u.isLoading?(0,H.jsx)(se,{sections:2}):u.error?(0,H.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:String(u.error)}):(0,H.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2 xl:grid-cols-3`,children:d.map(e=>(0,H.jsx)(nt,{entry:e,config:w[ze(e)]?.config,runtime:Ge(e),busy:R===e.id,restarting:re===e.id,ch:q,onOpen:()=>Ye(e.id),onToggle:()=>void $e(e),onRestart:()=>void Ze(e)},e.id))}),pe?(0,H.jsx)(`p`,{className:`mt-4 text-sm text-red-600 dark:text-red-400`,children:pe}):null,(0,H.jsx)(xe,{presentation:`modal`,open:!!D,onOpenChange:e=>{e||Xe()},closeAriaLabel:q.close,srTitle:D?.label??q.selectChannel,srDescription:D?.description,wide:!0,footer:D?(0,H.jsx)(we,{ch:q,dirty:!!j||W!==null,saving:P,onCancel:Xe,onDiscard:()=>{M(null),G(null)},onSave:Qe}):null,children:D?(0,H.jsxs)(`div`,{className:`space-y-4`,children:[(0,H.jsx)(`div`,{className:`rounded-xl bg-surface-panel/80 p-3 shadow-surface`,children:(0,H.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,H.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,H.jsx)(et,{entry:D}),(0,H.jsxs)(`div`,{className:`min-w-0`,children:[(0,H.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,H.jsx)(`h2`,{className:`truncate text-base font-semibold text-fg`,children:D.label}),(0,H.jsx)(`span`,{className:h(`shrink-0 rounded-full px-2 py-0.5 text-xs font-medium`,He(it)),children:Be(it,q)})]}),(0,H.jsxs)(`div`,{className:`mt-1 flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-sm text-fg-muted`,children:[(0,H.jsx)(`span`,{className:`min-w-0 truncate`,children:!Y(D).ready&&fe(D)?.[1].result===`qr`?q.scanLoginHint.replace(`{{channel}}`,D.label):D.description}),D.docsPath?(0,H.jsxs)(`a`,{href:D.docsPath,target:`_blank`,rel:`noreferrer`,className:`inline-flex shrink-0 items-center gap-1 text-accent hover:underline`,children:[q.docs,(0,H.jsx)(l,{className:`size-3.5`})]}):null]})]})]}),(0,H.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 pr-8`,children:[(0,H.jsx)(`span`,{className:`hidden text-xs text-fg-muted sm:inline`,children:Y(D).enabled?q.enabledLabel:q.disabledLabel}),(0,H.jsx)(tt,{checked:Y(D).enabled,disabled:R===D.id,label:q.toggleChannel.replace(`{{channel}}`,D.label),onToggle:()=>void $e(D)})]})]})}),(0,H.jsx)(at,{runtime:it,restarting:re===D.id,checking:x,showConnectionOptions:V,canManageConnection:Y(D).ready&&$?.placement!==`replace-config`,ch:q,onRestart:()=>void Ze(D),onCheck:()=>void Q(),onManageConnection:()=>le(e=>!e)}),(0,H.jsx)(ot,{entry:D,ch:q}),st&&$?.placement!==`replace-config`?(0,H.jsx)(me,{entry:D,locale:n,messages:q,compact:!0,onChanged:async()=>{await A(),await Q(),await C()}},D.id):null,$?.entrypoint&&$.placement===`before-config`?(0,H.jsx)(N,{extensionId:D.extensionId,extensionName:D.label,entrypoint:$.entrypoint,permissions:$.permissions,minHeight:$.minHeight,maxHeight:$.maxHeight,initialData:{channelId:D.id,entry:D,config:K}}):null,$?.entrypoint&&$.placement!==`before-config`?(0,H.jsx)(N,{extensionId:D.extensionId,extensionName:D.label,entrypoint:$.entrypoint,permissions:$.permissions,minHeight:$.minHeight,maxHeight:$.maxHeight,initialData:{channelId:D.id,entry:D,config:K}}):null,rt&&Te?(0,H.jsxs)(`section`,{className:`rounded-xl bg-surface-panel/80 p-4 shadow-surface`,children:[(0,H.jsxs)(`div`,{className:`mb-4`,children:[(0,H.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:q.basicConfiguration}),(0,H.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:q.basicConfigurationHint})]}),(0,H.jsx)(ce,{schema:be,values:K,onChange:e=>M(e),disabled:P,labels:Ve})]}):null,(0,H.jsxs)(`details`,{className:`group rounded-xl bg-surface-panel/80 shadow-surface`,children:[(0,H.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-2 px-4 py-3 text-sm font-medium text-fg marker:hidden [&::-webkit-details-marker]:hidden`,children:[(0,H.jsx)(f,{className:`size-4 text-fg-muted`}),q.messageHandling]}),(0,H.jsxs)(`div`,{className:`bg-surface-base/50 p-4`,children:[(0,H.jsxs)(`div`,{className:`mb-3`,children:[(0,H.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:q.agentRouting}),(0,H.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:q.messageHandlingHint})]}),(0,H.jsx)(o,{value:Ee,options:Oe,placeholder:q.agentRoutingSelect,emptyLabel:q.agentRoutingDefault.replace(`{{agent}}`,Re||q.agentRoutingSelect),ariaLabel:q.agentRouting,disabled:P||!E,onChange:e=>G(e)})]})]}),rt&&qe(Se)?(0,H.jsxs)(`details`,{className:`group rounded-xl bg-surface-panel/80 shadow-surface`,children:[(0,H.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-2 px-4 py-3 text-sm font-medium text-fg marker:hidden [&::-webkit-details-marker]:hidden`,children:[(0,H.jsx)(f,{className:`size-4 text-fg-muted`}),q.advancedConfiguration]}),(0,H.jsx)(`div`,{className:`bg-surface-base/50 p-4`,children:(0,H.jsx)(ce,{schema:Se,values:K,onChange:e=>M(e),disabled:P,labels:Ve})})]}):null,pe?(0,H.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:pe}):null]}):null})]}):(0,H.jsx)(ae,{gap:`gap-3`,className:Fe,padding:Ie,children:(0,H.jsx)(`p`,{className:`text-sm text-fg-muted`,children:q.tokenRequired})})}export{st as ChannelsSettingsPanel};
@@ -1,4 +1,4 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{t as r}from"./plus-Q2yW6OE7.js";import{t as i}from"./x-B_N4OPjy.js";import{t as a}from"./messages-BHvpZNe9.js";import{n as o}from"./locale-store-DId6-v2R.js";import{u as s}from"./session-api-N3N37MrR.js";import{t as c}from"./button-CS04eWY9.js";import{t as l}from"./skeleton-BwbyijEw.js";import{Co as u,M as d,N as f,j as p}from"./index-BYNmHn-z.js";var m=2,h=1,ee=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(m,Math.floor(u/e.css.cell.width)),rows:Math.max(h,Math.floor(l/e.css.cell.height))}}},g=Object.defineProperty,_=Object.getOwnPropertyDescriptor,te=(e,t)=>{for(var n in t)g(e,n,{get:t[n],enumerable:!0})},v=(e,t,n,r)=>{for(var i=r>1?void 0:r?_(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&g(t,n,i),i},y=(e,t)=>(n,r)=>t(n,r,e),ne=`Terminal input`,re={get:()=>ne,set:e=>ne=e},ie=`Too much output to announce, navigate to rows manually to read`,b={get:()=>ie,set:e=>ie=e};function ae(e){return e.replace(/\r?\n/g,`\r`)}function x(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function oe(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function S(e,t,n,r){e.stopPropagation(),e.clipboardData&&se(e.clipboardData.getData(`text/plain`),t,n,r)}function se(e,t,n,r){e=ae(e),e=x(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function ce(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function le(e,t,n,r,i){ce(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function C(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function w(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var ue=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},de=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}else this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},fe=``,pe=` `,me=class e{constructor(){this.fg=0,this.bg=0,this.extended=new he}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return(this.fg&50331648)==0}isBgDefault(){return(this.bg&50331648)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},he=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},T=class e extends me{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new he,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?C(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},ge=`di$target`,_e=`di$dependencies`,ve=new Map;function ye(e){return e[_e]||[]}function E(e){if(ve.has(e))return ve.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);be(t,e,r)};return t._id=e,ve.set(e,t),t}function be(e,t,n){t[ge]===t?t[_e].push({id:e,index:n}):(t[_e]=[{id:e,index:n}],t[ge]=t)}var D=E(`BufferService`),xe=E(`CoreMouseService`),Se=E(`CoreService`),Ce=E(`CharsetService`),we=E(`InstantiationService`),Te=E(`LogService`),O=E(`OptionsService`),Ee=E(`OscLinkService`),De=E(`UnicodeService`),Oe=E(`DecorationService`),ke=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new T,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(!(c===-1&&!n.hasContent(t))){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId)if(c===-1){c=t,s=a.extended.urlId;continue}else l=a.extended.urlId!==s;else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):Ae(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};ke=v([y(0,D),y(1,O),y(2,Ee)],ke);function Ae(e,t){if(confirm(`Do you want to navigate to ${t}?
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{t as r}from"./plus-Q2yW6OE7.js";import{t as i}from"./x-B_N4OPjy.js";import{t as a}from"./messages-pGa2qMzG.js";import{n as o}from"./locale-store-CvNO-hbt.js";import{u as s}from"./session-api-CW2X7g_U.js";import{t as c}from"./button-CS04eWY9.js";import{t as l}from"./skeleton-BwbyijEw.js";import{Co as u,M as d,N as f,j as p}from"./index-6JNNrzCq.js";var m=2,h=1,ee=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(m,Math.floor(u/e.css.cell.width)),rows:Math.max(h,Math.floor(l/e.css.cell.height))}}},g=Object.defineProperty,_=Object.getOwnPropertyDescriptor,te=(e,t)=>{for(var n in t)g(e,n,{get:t[n],enumerable:!0})},v=(e,t,n,r)=>{for(var i=r>1?void 0:r?_(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&g(t,n,i),i},y=(e,t)=>(n,r)=>t(n,r,e),ne=`Terminal input`,re={get:()=>ne,set:e=>ne=e},ie=`Too much output to announce, navigate to rows manually to read`,b={get:()=>ie,set:e=>ie=e};function ae(e){return e.replace(/\r?\n/g,`\r`)}function x(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function oe(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function S(e,t,n,r){e.stopPropagation(),e.clipboardData&&se(e.clipboardData.getData(`text/plain`),t,n,r)}function se(e,t,n,r){e=ae(e),e=x(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function ce(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function le(e,t,n,r,i){ce(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function C(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function w(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var ue=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},de=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}else this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},fe=``,pe=` `,me=class e{constructor(){this.fg=0,this.bg=0,this.extended=new he}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return(this.fg&50331648)==0}isBgDefault(){return(this.bg&50331648)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},he=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},T=class e extends me{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new he,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?C(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},ge=`di$target`,_e=`di$dependencies`,ve=new Map;function ye(e){return e[_e]||[]}function E(e){if(ve.has(e))return ve.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);be(t,e,r)};return t._id=e,ve.set(e,t),t}function be(e,t,n){t[ge]===t?t[_e].push({id:e,index:n}):(t[_e]=[{id:e,index:n}],t[ge]=t)}var D=E(`BufferService`),xe=E(`CoreMouseService`),Se=E(`CoreService`),Ce=E(`CharsetService`),we=E(`InstantiationService`),Te=E(`LogService`),O=E(`OptionsService`),Ee=E(`OscLinkService`),De=E(`UnicodeService`),Oe=E(`DecorationService`),ke=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new T,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(!(c===-1&&!n.hasContent(t))){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId)if(c===-1){c=t,s=a.extended.urlId;continue}else l=a.extended.urlId!==s;else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):Ae(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};ke=v([y(0,D),y(1,O),y(2,Ee)],ke);function Ae(e,t){if(confirm(`Do you want to navigate to ${t}?
2
2
 
3
3
  WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var je=E(`CharSizeService`),Me=E(`CoreBrowserService`),Ne=E(`MouseService`),Pe=E(`RenderService`),Fe=E(`SelectionService`),Ie=E(`CharacterJoinerService`),Le=E(`ThemeService`),Re=E(`LinkProviderService`),ze=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Ge.isErrorNoTelemetry(e)?new Ge(e.message+`
4
4