@xopcai/xopc 0.0.114 → 0.0.116

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 (328) hide show
  1. package/README.md +5 -4
  2. package/README.zh-CN.md +5 -4
  3. package/dist/browser-ext/manifest.json +1 -1
  4. package/dist/extensions/telegram/xopc.extension.json +1 -1
  5. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-Fp-p7bP1.js → agent-avatar-dicebear-CWM1UU5P.js} +1 -1
  6. package/dist/gateway/static/root/assets/agent-browser-settings-page-D1SyFYeh.js +6 -0
  7. package/dist/gateway/static/root/assets/agent-defaults-tabbed-page-C9YxgvuI.js +1 -0
  8. package/dist/gateway/static/root/assets/agents-CteVs3UO.js +71 -0
  9. package/dist/gateway/static/root/assets/app-management-settings-panel-yXSXY_bu.js +1 -0
  10. package/dist/gateway/static/root/assets/{appearance-settings-ycbdJRuZ.js → appearance-settings-DjY1P_ug.js} +1 -1
  11. package/dist/gateway/static/root/assets/apps-page-CVQ1M8Ax.js +1 -0
  12. package/dist/gateway/static/root/assets/{archive-plugin-CJzSADJo.js → archive-plugin-CytE5j-e.js} +1 -1
  13. package/dist/gateway/static/root/assets/{attachment-load-BTAB4zGS.js → attachment-load-BvvrN6rF.js} +1 -1
  14. package/dist/gateway/static/root/assets/{binary-plugins-DXR1-mct.js → binary-plugins-IBWSitnj.js} +1 -1
  15. package/dist/gateway/static/root/assets/{block-editor-CzQri9h2.js → block-editor-C-wDpsf-.js} +44 -44
  16. package/dist/gateway/static/root/assets/channels-settings-Cd3JbeQ1.js +1 -0
  17. package/dist/gateway/static/root/assets/{config-api-DRqjEvAx.js → config-api-C4RAtTKW.js} +1 -1
  18. package/dist/gateway/static/root/assets/connectors-page-MsMa5qBr.js +2 -0
  19. package/dist/gateway/static/root/assets/{cron-api-BXaZXv1o.js → cron-api-sJNMqB6P.js} +1 -1
  20. package/dist/gateway/static/root/assets/cron-page-D30CSwkn.js +3 -0
  21. package/dist/gateway/static/root/assets/dreaming-settings-6fCUWRQf.js +1 -0
  22. package/dist/gateway/static/root/assets/{extension-debug-page-DSkqMYo7.js → extension-debug-page-BAIyjDlq.js} +1 -1
  23. package/dist/gateway/static/root/assets/{extension-page-h2dGDbMN.js → extension-page-DEhv2GpC.js} +1 -1
  24. package/dist/gateway/static/root/assets/{extension-settings-page-hN99RhOi.js → extension-settings-page-DOuAxTDW.js} +1 -1
  25. package/dist/gateway/static/root/assets/{fetch-D9QqUtzZ.js → fetch-CTsREQIe.js} +1 -1
  26. package/dist/gateway/static/root/assets/{format-interval-label-D6E687rG.js → format-interval-label-D35Bfhtx.js} +1 -1
  27. package/dist/gateway/static/root/assets/{gateway-config-api-CLt_SKTC.js → gateway-config-api-C6989a-W.js} +1 -1
  28. package/dist/gateway/static/root/assets/gateway-settings-BpF26t91.js +1 -0
  29. package/dist/gateway/static/root/assets/{gateway-startup-retry-N7Z_sz7p.js → gateway-startup-retry-C1KAHrd2.js} +1 -1
  30. package/dist/gateway/static/root/assets/goal-detail-page-DOjhmRyf.js +1 -0
  31. package/dist/gateway/static/root/assets/goals-config-api-KnLGpu6h.js +1 -0
  32. package/dist/gateway/static/root/assets/goals-page-Xl9_wrFc.js +2 -0
  33. package/dist/gateway/static/root/assets/goals-settings-DtPtqZi8.js +1 -0
  34. package/dist/gateway/static/root/assets/{heartbeat-config-api-DGPadTw-.js → heartbeat-config-api-uKw1f0IG.js} +1 -1
  35. package/dist/gateway/static/root/assets/heartbeat-settings-DN9vEj9P.js +1 -0
  36. package/dist/gateway/static/root/assets/index-C8ytlAF2.js +122 -0
  37. package/dist/gateway/static/root/assets/index-CVpJW2NS.css +1 -0
  38. package/dist/gateway/static/root/assets/{interval-presets-CEklPQ_r.js → interval-presets-Dq0FXJ65.js} +1 -1
  39. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-Ce_aQ8Iv.js → keyboard-shortcuts-settings-C9_t4m7t.js} +1 -1
  40. package/dist/gateway/static/root/assets/logs-page-SNkWzidV.js +2 -0
  41. package/dist/gateway/static/root/assets/{markdown-split-BMz3xPXO.js → markdown-split-Ca87W8-h.js} +1 -1
  42. package/dist/gateway/static/root/assets/{media-plugins-BalOSoz9.js → media-plugins-BAcUjPRJ.js} +1 -1
  43. package/dist/gateway/static/root/assets/messages-BqzIDrlr.js +3 -0
  44. package/dist/gateway/static/root/assets/models-hub-panel-BO4o-GmO.js +2 -0
  45. package/dist/gateway/static/root/assets/note-detail-page-DLV_XDmT.js +2 -0
  46. package/dist/gateway/static/root/assets/{note-image-lightbox-C5D1Q5mY.js → note-image-lightbox-hnSX5SSn.js} +1 -1
  47. package/dist/gateway/static/root/assets/notes-page-ycsDlkFA.js +1 -0
  48. package/dist/gateway/static/root/assets/{preview-open-alternatives-CYFR5U9l.js → preview-open-alternatives-CNgM20H5.js} +1 -1
  49. package/dist/gateway/static/root/assets/remote-access-hub-DQpnE8K9.js +1 -0
  50. package/dist/gateway/static/root/assets/{save-bar-controls-BQ79Z5IP.js → save-bar-controls-CcdjGcfT.js} +1 -1
  51. package/dist/gateway/static/root/assets/{schedule-field-Bgk6Emue.js → schedule-field-CYr39z76.js} +1 -1
  52. package/dist/gateway/static/root/assets/{schema-form-DzS36TMa.js → schema-form-BRAJgZQ2.js} +1 -1
  53. package/dist/gateway/static/root/assets/sessions-page-BZui7iAY.js +1 -0
  54. package/dist/gateway/static/root/assets/settings-advanced-gate-DEfzZ1ax.js +1 -0
  55. package/dist/gateway/static/root/assets/{settings-collapsible-section-CdjFnSAy.js → settings-collapsible-section-BhzjeGWi.js} +1 -1
  56. package/dist/gateway/static/root/assets/{settings-form-section-DZLy_exu.js → settings-form-section-Cz3Pcr9b.js} +1 -1
  57. package/dist/gateway/static/root/assets/settings-page-CLuSsu1-.js +1 -0
  58. package/dist/gateway/static/root/assets/setup-status-panel-Cq4qpXLi.js +1 -0
  59. package/dist/gateway/static/root/assets/{share-preview-page-_qRDr4g_.js → share-preview-page-DL4y9K5e.js} +1 -1
  60. package/dist/gateway/static/root/assets/shares-settings-B9F3HyYQ.js +1 -0
  61. package/dist/gateway/static/root/assets/skill-reload-api-Bp9UPPwm.js +1 -0
  62. package/dist/gateway/static/root/assets/skills-page-BIoBsfSV.js +2 -0
  63. package/dist/gateway/static/root/assets/system-settings-panel-FD2jxRZ3.js +1 -0
  64. package/dist/gateway/static/root/assets/use-agent-defaults-form-Cz2_pPzu.js +1 -0
  65. package/dist/gateway/static/root/assets/{use-channel-catalog-CbXq97rT.js → use-channel-catalog-BInPrfR5.js} +1 -1
  66. package/dist/gateway/static/root/assets/{use-settings-tab-guard-DwS3drWK.js → use-settings-tab-guard-nuHMmZQv.js} +1 -1
  67. package/dist/gateway/static/root/assets/voice-api-key-field-BUIrKb8s.js +1 -0
  68. package/dist/gateway/static/root/assets/{voice-player-store-DSuOd9zy.js → voice-player-store-1U3vFppm.js} +1 -1
  69. package/dist/gateway/static/root/assets/workflows-page-qE3SexnO.js +18 -0
  70. package/dist/gateway/static/root/index.html +5 -5
  71. package/dist/gateway/static/root/logo.svg +4 -3
  72. package/dist/package.js +1 -1
  73. package/dist/src/agent/embedded/session-tool-result-guard.js +8 -1
  74. package/dist/src/agent/embedded/session-tool-result-guard.js.map +1 -1
  75. package/dist/src/agent/goals/checklist-judge.d.ts +2 -0
  76. package/dist/src/agent/goals/checklist-judge.js +4 -3
  77. package/dist/src/agent/goals/checklist-judge.js.map +1 -1
  78. package/dist/src/agent/goals/evaluate-turn.d.ts +2 -1
  79. package/dist/src/agent/goals/evaluate-turn.js +2 -0
  80. package/dist/src/agent/goals/evaluate-turn.js.map +1 -1
  81. package/dist/src/agent/goals/post-turn.d.ts +6 -1
  82. package/dist/src/agent/goals/post-turn.js +20 -4
  83. package/dist/src/agent/goals/post-turn.js.map +1 -1
  84. package/dist/src/agent/image/understanding/pi-ai-provider.js +5 -2
  85. package/dist/src/agent/image/understanding/pi-ai-provider.js.map +1 -1
  86. package/dist/src/agent/image/understanding/provider-registry.d.ts +1 -0
  87. package/dist/src/agent/image/understanding/provider-registry.js +16 -2
  88. package/dist/src/agent/image/understanding/provider-registry.js.map +1 -1
  89. package/dist/src/agent/tools/composio-tool.d.ts +8 -0
  90. package/dist/src/agent/tools/composio-tool.js +46 -0
  91. package/dist/src/agent/tools/composio-tool.js.map +1 -0
  92. package/dist/src/agent/tools/factory.js +13 -8
  93. package/dist/src/agent/tools/factory.js.map +1 -1
  94. package/dist/src/agent/tools/index.d.ts +1 -0
  95. package/dist/src/agent/tools/index.js +2 -1
  96. package/dist/src/agent/workflow/builtins/audit-repo.d.ts +1 -1
  97. package/dist/src/agent/workflow/builtins/audit-repo.js +15 -2
  98. package/dist/src/agent/workflow/builtins/audit-repo.js.map +1 -1
  99. package/dist/src/agent/workflow/builtins/client-proposal.d.ts +1 -1
  100. package/dist/src/agent/workflow/builtins/client-proposal.js +10 -1
  101. package/dist/src/agent/workflow/builtins/client-proposal.js.map +1 -1
  102. package/dist/src/agent/workflow/builtins/competitor-scan.d.ts +1 -1
  103. package/dist/src/agent/workflow/builtins/competitor-scan.js +16 -2
  104. package/dist/src/agent/workflow/builtins/competitor-scan.js.map +1 -1
  105. package/dist/src/agent/workflow/builtins/content-draft.d.ts +1 -1
  106. package/dist/src/agent/workflow/builtins/content-draft.js +15 -2
  107. package/dist/src/agent/workflow/builtins/content-draft.js.map +1 -1
  108. package/dist/src/agent/workflow/builtins/content-repurpose.d.ts +1 -1
  109. package/dist/src/agent/workflow/builtins/content-repurpose.js +10 -1
  110. package/dist/src/agent/workflow/builtins/content-repurpose.js.map +1 -1
  111. package/dist/src/agent/workflow/builtins/debug-incident.d.ts +1 -1
  112. package/dist/src/agent/workflow/builtins/debug-incident.js +9 -1
  113. package/dist/src/agent/workflow/builtins/debug-incident.js.map +1 -1
  114. package/dist/src/agent/workflow/builtins/decision-compare.d.ts +1 -1
  115. package/dist/src/agent/workflow/builtins/decision-compare.js +16 -2
  116. package/dist/src/agent/workflow/builtins/decision-compare.js.map +1 -1
  117. package/dist/src/agent/workflow/builtins/implementation-plan.d.ts +1 -1
  118. package/dist/src/agent/workflow/builtins/implementation-plan.js +11 -1
  119. package/dist/src/agent/workflow/builtins/implementation-plan.js.map +1 -1
  120. package/dist/src/agent/workflow/builtins/inbox-triage.d.ts +1 -1
  121. package/dist/src/agent/workflow/builtins/inbox-triage.js +11 -1
  122. package/dist/src/agent/workflow/builtins/inbox-triage.js.map +1 -1
  123. package/dist/src/agent/workflow/builtins/meeting-prep.d.ts +1 -1
  124. package/dist/src/agent/workflow/builtins/meeting-prep.js +9 -1
  125. package/dist/src/agent/workflow/builtins/meeting-prep.js.map +1 -1
  126. package/dist/src/agent/workflow/builtins/multi-perspective-review.d.ts +1 -1
  127. package/dist/src/agent/workflow/builtins/multi-perspective-review.js +9 -1
  128. package/dist/src/agent/workflow/builtins/multi-perspective-review.js.map +1 -1
  129. package/dist/src/agent/workflow/builtins/offer-design.d.ts +1 -1
  130. package/dist/src/agent/workflow/builtins/offer-design.js +10 -1
  131. package/dist/src/agent/workflow/builtins/offer-design.js.map +1 -1
  132. package/dist/src/agent/workflow/builtins/pr-review.d.ts +1 -1
  133. package/dist/src/agent/workflow/builtins/pr-review.js +9 -1
  134. package/dist/src/agent/workflow/builtins/pr-review.js.map +1 -1
  135. package/dist/src/agent/workflow/builtins/release-check.d.ts +1 -1
  136. package/dist/src/agent/workflow/builtins/release-check.js +10 -1
  137. package/dist/src/agent/workflow/builtins/release-check.js.map +1 -1
  138. package/dist/src/agent/workflow/builtins/research.d.ts +1 -1
  139. package/dist/src/agent/workflow/builtins/research.js +16 -2
  140. package/dist/src/agent/workflow/builtins/research.js.map +1 -1
  141. package/dist/src/agent/workflow/builtins/weekly-review.d.ts +1 -1
  142. package/dist/src/agent/workflow/builtins/weekly-review.js +9 -1
  143. package/dist/src/agent/workflow/builtins/weekly-review.js.map +1 -1
  144. package/dist/src/agent/workflow/snapshot.d.ts +10 -0
  145. package/dist/src/agent/workflow/snapshot.js +136 -1
  146. package/dist/src/agent/workflow/snapshot.js.map +1 -1
  147. package/dist/src/channels/catalog/channel-catalog-service.d.ts +2 -1
  148. package/dist/src/channels/catalog/channel-catalog-service.js +133 -16
  149. package/dist/src/channels/catalog/channel-catalog-service.js.map +1 -1
  150. package/dist/src/channels/catalog/channel-catalog-types.d.ts +13 -0
  151. package/dist/src/cli/commands/doctor/checks/channel-config.js +14 -1
  152. package/dist/src/cli/commands/doctor/checks/channel-config.js.map +1 -1
  153. package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
  154. package/dist/src/config/index.js +2 -2
  155. package/dist/src/config/schema.d.ts +15 -0
  156. package/dist/src/config/schema.js +12 -3
  157. package/dist/src/config/schema.js.map +1 -1
  158. package/dist/src/config/web-patch.d.ts +1 -0
  159. package/dist/src/config/web-patch.js +1 -0
  160. package/dist/src/config/web-patch.js.map +1 -1
  161. package/dist/src/connectors/composio-triggers.d.ts +10 -0
  162. package/dist/src/connectors/composio-triggers.js +32 -0
  163. package/dist/src/connectors/composio-triggers.js.map +1 -0
  164. package/dist/src/connectors/composio.d.ts +54 -0
  165. package/dist/src/connectors/composio.js +334 -0
  166. package/dist/src/connectors/composio.js.map +1 -0
  167. package/dist/src/connectors/health.js +16 -1
  168. package/dist/src/connectors/health.js.map +1 -1
  169. package/dist/src/connectors/install.d.ts +2 -1
  170. package/dist/src/connectors/install.js +50 -13
  171. package/dist/src/connectors/install.js.map +1 -1
  172. package/dist/src/connectors/instances.js +57 -6
  173. package/dist/src/connectors/instances.js.map +1 -1
  174. package/dist/src/connectors/lifecycle.d.ts +3 -0
  175. package/dist/src/connectors/lifecycle.js +23 -0
  176. package/dist/src/connectors/lifecycle.js.map +1 -0
  177. package/dist/src/connectors/materialize.js +2 -1
  178. package/dist/src/connectors/materialize.js.map +1 -1
  179. package/dist/src/connectors/providers.d.ts +1 -0
  180. package/dist/src/connectors/providers.js +10 -2
  181. package/dist/src/connectors/providers.js.map +1 -1
  182. package/dist/src/connectors/registries/modelscope.d.ts +2 -0
  183. package/dist/src/connectors/registries/modelscope.js +205 -0
  184. package/dist/src/connectors/registries/modelscope.js.map +1 -0
  185. package/dist/src/connectors/registries/official-mcp.d.ts +2 -0
  186. package/dist/src/connectors/registries/official-mcp.js +142 -0
  187. package/dist/src/connectors/registries/official-mcp.js.map +1 -0
  188. package/dist/src/connectors/registries/search.d.ts +12 -0
  189. package/dist/src/connectors/registries/search.js +89 -0
  190. package/dist/src/connectors/registries/search.js.map +1 -0
  191. package/dist/src/connectors/registries/smithery.d.ts +2 -0
  192. package/dist/src/connectors/registries/smithery.js +98 -0
  193. package/dist/src/connectors/registries/smithery.js.map +1 -0
  194. package/dist/src/connectors/registries/types.d.ts +20 -0
  195. package/dist/src/connectors/registries/types.js +1 -0
  196. package/dist/src/connectors/secret-store.js +4 -2
  197. package/dist/src/connectors/secret-store.js.map +1 -1
  198. package/dist/src/connectors/setup-secrets.d.ts +15 -0
  199. package/dist/src/connectors/setup-secrets.js +64 -0
  200. package/dist/src/connectors/setup-secrets.js.map +1 -0
  201. package/dist/src/connectors/supervisor.d.ts +15 -0
  202. package/dist/src/connectors/supervisor.js +73 -0
  203. package/dist/src/connectors/supervisor.js.map +1 -0
  204. package/dist/src/connectors/types.d.ts +27 -3
  205. package/dist/src/connectors/usage.js +6 -1
  206. package/dist/src/connectors/usage.js.map +1 -1
  207. package/dist/src/gateway/hono/app.js +5 -1
  208. package/dist/src/gateway/hono/app.js.map +1 -1
  209. package/dist/src/gateway/hono/lib/config-payload.d.ts +3 -1
  210. package/dist/src/gateway/hono/lib/config-payload.js +7 -4
  211. package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
  212. package/dist/src/gateway/hono/middleware/strict-rate-limit.d.ts +4 -0
  213. package/dist/src/gateway/hono/middleware/strict-rate-limit.js +19 -5
  214. package/dist/src/gateway/hono/middleware/strict-rate-limit.js.map +1 -1
  215. package/dist/src/gateway/hono/routes/channels.js +18 -14
  216. package/dist/src/gateway/hono/routes/channels.js.map +1 -1
  217. package/dist/src/gateway/hono/routes/connectors.js +230 -3
  218. package/dist/src/gateway/hono/routes/connectors.js.map +1 -1
  219. package/dist/src/gateway/hono/routes/deps.d.ts +1 -0
  220. package/dist/src/gateway/hono/routes/goals.js +52 -5
  221. package/dist/src/gateway/hono/routes/goals.js.map +1 -1
  222. package/dist/src/gateway/hono/routes/voice.js +14 -1
  223. package/dist/src/gateway/hono/routes/voice.js.map +1 -1
  224. package/dist/src/gateway/hono/sse.js.map +1 -1
  225. package/dist/src/gateway/rate-limit/buckets.d.ts +3 -0
  226. package/dist/src/gateway/rate-limit/buckets.js +12 -0
  227. package/dist/src/gateway/rate-limit/buckets.js.map +1 -1
  228. package/dist/src/gateway/service/agent-runner.d.ts +5 -12
  229. package/dist/src/gateway/service/agent-runner.js +8 -8
  230. package/dist/src/gateway/service/agent-runner.js.map +1 -1
  231. package/dist/src/gateway/service/run-gateway-agent.d.ts +2 -10
  232. package/dist/src/gateway/service/run-gateway-agent.js.map +1 -1
  233. package/dist/src/gateway/service.d.ts +1 -1
  234. package/dist/src/gateway/service.js +9 -4
  235. package/dist/src/gateway/service.js.map +1 -1
  236. package/dist/src/gateway/user-turn-input.d.ts +18 -0
  237. package/dist/src/gateway/user-turn-input.js +16 -0
  238. package/dist/src/gateway/user-turn-input.js.map +1 -0
  239. package/dist/src/goals/goal-queue-store.d.ts +2 -1
  240. package/dist/src/goals/goal-queue-store.js +2 -2
  241. package/dist/src/goals/goal-queue-store.js.map +1 -1
  242. package/dist/src/goals/goal-queue-types.d.ts +4 -3
  243. package/dist/src/goals/goal-runner.js +25 -3
  244. package/dist/src/goals/goal-runner.js.map +1 -1
  245. package/dist/src/goals/goal-service.d.ts +6 -1
  246. package/dist/src/goals/goal-service.js +9 -2
  247. package/dist/src/goals/goal-service.js.map +1 -1
  248. package/dist/src/goals/goal-store.d.ts +7 -1
  249. package/dist/src/goals/goal-store.js +42 -0
  250. package/dist/src/goals/goal-store.js.map +1 -1
  251. package/dist/src/goals/types.d.ts +10 -0
  252. package/dist/src/storage/sqlite/migrations/011_goal_context_messages.sql +8 -0
  253. package/dist/src/storage/sqlite/migrations/runner.d.ts +2 -2
  254. package/dist/src/storage/sqlite/migrations/runner.js +4 -4
  255. package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
  256. package/dist/src/storage/sqlite/migrations/runner.ts +2 -2
  257. package/dist/src/storage/sqlite/schema.js +3 -3
  258. package/dist/src/storage/sqlite/schema.sql +9 -0
  259. package/dist/src/tui/backends/embedded-backend.d.ts +8 -1
  260. package/dist/src/tui/backends/embedded-backend.js +73 -0
  261. package/dist/src/tui/backends/embedded-backend.js.map +1 -1
  262. package/dist/src/tui/backends/gateway-sse-backend.d.ts +2 -1
  263. package/dist/src/tui/backends/gateway-sse-backend.js +24 -0
  264. package/dist/src/tui/backends/gateway-sse-backend.js.map +1 -1
  265. package/dist/src/tui/components/chat-log.d.ts +2 -0
  266. package/dist/src/tui/components/chat-log.js +19 -0
  267. package/dist/src/tui/components/chat-log.js.map +1 -1
  268. package/dist/src/tui/extension-host/autocomplete.d.ts +3 -2
  269. package/dist/src/tui/extension-host/autocomplete.js +17 -3
  270. package/dist/src/tui/extension-host/autocomplete.js.map +1 -1
  271. package/dist/src/tui/extension-host/runtime.d.ts +5 -0
  272. package/dist/src/tui/extension-host/runtime.js +1 -1
  273. package/dist/src/tui/extension-host/runtime.js.map +1 -1
  274. package/dist/src/tui/tui-backend.d.ts +14 -0
  275. package/dist/src/tui/tui-commands.d.ts +16 -3
  276. package/dist/src/tui/tui-commands.js +47 -19
  277. package/dist/src/tui/tui-commands.js.map +1 -1
  278. package/dist/src/tui/tui-startup-text.js +1 -1
  279. package/dist/src/tui/tui-startup-text.js.map +1 -1
  280. package/dist/src/tui/tui.js +72 -1
  281. package/dist/src/tui/tui.js.map +1 -1
  282. package/dist/src/voice/tts/openai-compatible-speech.d.ts +1 -1
  283. package/dist/src/voice/tts/openai-compatible-speech.js.map +1 -1
  284. package/dist/src/voice/tts/providers/edge-speech.js +14 -2
  285. package/dist/src/voice/tts/providers/edge-speech.js.map +1 -1
  286. package/dist/src/voice/tts/speak-core.js +3 -3
  287. package/dist/src/voice/tts/speak-core.js.map +1 -1
  288. package/dist/src/voice/tts/speech-provider-types.d.ts +2 -2
  289. package/dist/src/voice/tts/types.js +1 -1
  290. package/dist/src/voice/tts/types.js.map +1 -1
  291. package/dist/src/workflows/domain/result.d.ts +0 -1
  292. package/dist/src/workflows/engine/workflow-engine.js +7 -23
  293. package/dist/src/workflows/engine/workflow-engine.js.map +1 -1
  294. package/package.json +2 -2
  295. package/dist/gateway/static/root/assets/agent-browser-settings-page-CWh7trjd.js +0 -6
  296. package/dist/gateway/static/root/assets/agent-defaults-tabbed-page-kC8OuLoj.js +0 -1
  297. package/dist/gateway/static/root/assets/agents-DJWG26Si.js +0 -71
  298. package/dist/gateway/static/root/assets/app-management-settings-panel-v24i25Oj.js +0 -1
  299. package/dist/gateway/static/root/assets/apps-page-0V3DXZ7J.js +0 -1
  300. package/dist/gateway/static/root/assets/channels-settings-CIKOkYdO.js +0 -1
  301. package/dist/gateway/static/root/assets/connectors-settings-ClrDS5jH.js +0 -2
  302. package/dist/gateway/static/root/assets/cron-page-Chi_4u4P.js +0 -3
  303. package/dist/gateway/static/root/assets/dreaming-settings-B0_rs2tj.js +0 -1
  304. package/dist/gateway/static/root/assets/gateway-settings-1PDi4lI0.js +0 -1
  305. package/dist/gateway/static/root/assets/goal-detail-page-D_wwXL-t.js +0 -1
  306. package/dist/gateway/static/root/assets/goals-page-DZ2toZ8y.js +0 -2
  307. package/dist/gateway/static/root/assets/goals-settings-LFlwtIKE.js +0 -1
  308. package/dist/gateway/static/root/assets/heartbeat-settings-BHHAs8ZX.js +0 -1
  309. package/dist/gateway/static/root/assets/index-DefIdW9q.js +0 -122
  310. package/dist/gateway/static/root/assets/index-DzmWBkq-.css +0 -1
  311. package/dist/gateway/static/root/assets/logs-page-j_D2QTuQ.js +0 -2
  312. package/dist/gateway/static/root/assets/messages-BN_WiUg0.js +0 -3
  313. package/dist/gateway/static/root/assets/models-hub-panel-CMH_TmZz.js +0 -2
  314. package/dist/gateway/static/root/assets/note-detail-page-O18BrQPq.js +0 -2
  315. package/dist/gateway/static/root/assets/notes-page-B_ZYCmY9.js +0 -1
  316. package/dist/gateway/static/root/assets/remote-access-hub-CwKgWixY.js +0 -1
  317. package/dist/gateway/static/root/assets/sessions-page-C4fcD-7B.js +0 -1
  318. package/dist/gateway/static/root/assets/settings-advanced-gate-Ad2OJ86w.js +0 -1
  319. package/dist/gateway/static/root/assets/settings-page-D2BMY5wo.js +0 -1
  320. package/dist/gateway/static/root/assets/setup-status-panel-aWwxl_E1.js +0 -1
  321. package/dist/gateway/static/root/assets/shares-settings-DUE83uIf.js +0 -1
  322. package/dist/gateway/static/root/assets/skill-reload-api-mWKJcrog.js +0 -1
  323. package/dist/gateway/static/root/assets/skills-page-0Sx1Q58n.js +0 -2
  324. package/dist/gateway/static/root/assets/system-settings-panel-hqaBF5aG.js +0 -1
  325. package/dist/gateway/static/root/assets/use-agent-defaults-form-zbVIQLOA.js +0 -1
  326. package/dist/gateway/static/root/assets/voice-api-key-field-D6HR0hR2.js +0 -1
  327. package/dist/gateway/static/root/assets/workflow-page.utils-C0Uq3xyq.js +0 -1
  328. package/dist/gateway/static/root/assets/workflows-page-DW0fmWhQ.js +0 -18
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-BN_WiUg0.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{c as s,i as c,n as l,t as u}from"./fetch-D9QqUtzZ.js";import{a as d,i as f}from"./vendor-swr-BIWyz7Rc.js";import{$r as p,Ao as m,Ar as h,Ft as g,H as _,Ia as v,Ja as y,Mr as b,Ni as x,Oa as S,Or as C,Qr as w,Vn as T,Wi as E,Xr as D,Zr as O,da as k,ei as A,es as j,ha as M,ji as N,jr as P,kr as F,ks as I,oi as L,os as R,ti as z,vs as B,ws as V}from"./index-DefIdW9q.js";var H=e(t(),1),U=n();function W(e){return e===`builtin`||e===`user`?e:`marketplace`}async function G(e){try{let t=await e.json();if(typeof t.error==`string`)return t.error;if(t.error&&typeof t.error==`object`&&typeof t.error.message==`string`)return t.error.message;if(typeof t.message==`string`)return t.message}catch{}return e.statusText||`HTTP ${e.status}`}async function ee(e){let t=await u(c(`/api/marketplace/packages/${encodeURIComponent(e.trim())}`),{cache:`no-store`});if(!t.ok)throw Error(await G(t));let n=await t.json();if(!n.ok||!n.payload?.id)throw Error(n.error??`Invalid response`);return n.payload}async function K(e){let t=await u(c(`/api/marketplace/install`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(await G(t));let n=await t.json();if(!n.ok||!n.payload?.extensionId)throw Error(n.error??`Invalid response`);return n.payload}async function q(e){let t=await u(c(`/api/extensions/bundled/activation`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({extensionId:e.extensionId.trim(),enabled:e.enabled})});if(!t.ok)throw Error(await G(t));let n=await t.json();if(!n.ok||!n.payload)throw Error(n.error?.message??`Invalid response`);return n.payload}async function J(e){let t=await u(c(`/api/marketplace/uninstall`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({extensionId:e})});if(!t.ok)throw Error(await G(t));let n=await t.json();if(!n.ok||!n.payload)throw Error(n.error??`Invalid response`);return n.payload}var Y=r();function X(e,t){let n=e.find(e=>e.id===t);return n?n.source===`bundled`?`bundled`:`user`:`absent`}var Z={q:``,debounced:``,detailPkg:null,rowBusy:null,actionError:null,restartHint:null};function te({className:e}){let t=a(o(e=>e.language)).appsPage,n=s(e=>!!e.token),r=F(),{mutate:u}=d(),[p,m]=(0,H.useReducer)(_,Z),{q:h,debounced:b,detailPkg:x,rowBusy:S,actionError:C,restartHint:w}=p,T=n?`marketplace-${b}`:null;(0,H.useEffect)(()=>{let e=window.setTimeout(()=>m({type:`patch`,patch:{debounced:h.trim()}}),300);return()=>window.clearTimeout(e)},[h]);let{data:D,isLoading:O,error:k}=f(T,async()=>l(b.length>0?c(`/api/marketplace?q=${encodeURIComponent(b)}`):c(`/api/marketplace`)),{revalidateOnFocus:!1}),A=(0,H.useCallback)(()=>{u(`gateway-extensions-list`),g()},[u]),N=(0,H.useCallback)(async(e,n)=>{m({type:`patch`,patch:{actionError:null,restartHint:null,rowBusy:e}});try{let r=await K({name:e,overwrite:n});A(),r.requiresGatewayRestart&&m({type:`patch`,patch:{restartHint:t.marketplaceRestartHint}})}catch(e){throw m({type:`patch`,patch:{actionError:e instanceof Error?e.message:t.marketplaceInstallFailed}}),e}finally{m({type:`patch`,patch:{rowBusy:null}})}},[t.marketplaceInstallFailed,t.marketplaceRestartHint,A]),P=(0,H.useCallback)(async e=>{m({type:`patch`,patch:{actionError:null,restartHint:null,rowBusy:e}});try{let n=await J(e);A(),n.requiresGatewayRestart&&m({type:`patch`,patch:{restartHint:t.marketplaceRestartHint}})}catch(e){throw m({type:`patch`,patch:{actionError:e instanceof Error?e.message:t.marketplaceUninstallFailed}}),e}finally{m({type:`patch`,patch:{rowBusy:null}})}},[t.marketplaceRestartHint,t.marketplaceUninstallFailed,A]),I=D?.extensions??[];return(0,Y.jsxs)(`div`,{className:i(`flex flex-col gap-4`,e),children:[(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(M,{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}),(0,Y.jsx)(`input`,{type:`search`,value:h,onChange:e=>m({type:`patch`,patch:{q:e.target.value}}),placeholder:t.marketplaceSearchPlaceholder,className:`ui-input h-10 w-full rounded-lg border border-edge bg-surface-base pl-9 pr-3 text-sm text-fg placeholder:text-fg-muted`})]}),k?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:k instanceof Error?k.message:t.marketplaceLoadFailed}):null,C?(0,Y.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:C}):null,w?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:w}):null,O&&!D?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:`…`}):(0,Y.jsx)(`ul`,{className:`flex flex-col gap-3`,children:I.length===0?(0,Y.jsx)(`li`,{className:`text-sm text-fg-muted`,children:t.marketplaceEmpty}):I.map(e=>{let n=X(r,e.id),a=S===e.id;return(0,Y.jsx)(`li`,{className:`list-none`,children:(0,Y.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-label":`${e.name}, ${t.marketplaceDetailTitle}`,onClick:()=>m({type:`patch`,patch:{detailPkg:e.id}}),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),m({type:`patch`,patch:{detailPkg:e.id}}))},className:i(`flex w-full cursor-pointer flex-wrap items-start gap-3 rounded-xl border border-edge bg-surface-base p-4 text-left shadow-surface`,`transition-[transform,background-color,border-color,box-shadow] duration-150 ease-out`,`hover:border-edge-subtle hover:bg-surface-hover/40`,`active:scale-[0.992] active:bg-surface-hover/55`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,`dark:hover:bg-surface-hover/25 dark:active:bg-surface-hover/35`),children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(`h3`,{className:`font-semibold text-fg`,children:e.name}),e.verified?(0,Y.jsx)(j,{className:`size-4 shrink-0 text-emerald-600 dark:text-emerald-400`,strokeWidth:1.75,"aria-label":`Verified`}):null,e.version?(0,Y.jsx)(`span`,{className:`text-xs text-fg-muted`,children:e.version}):null]}),e.description?(0,Y.jsx)(`p`,{className:`mt-1 line-clamp-2 text-sm text-fg-muted`,children:e.description}):null,(0,Y.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:(e.categories??[]).map(e=>(0,Y.jsx)(`span`,{className:`rounded-md border border-edge bg-surface-panel px-2 py-0.5 text-[11px] text-fg-muted`,children:e},e))}),(0,Y.jsxs)(`p`,{className:`mt-2 flex items-center gap-1.5 text-xs text-fg-muted`,children:[(0,Y.jsx)(v,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),(0,Y.jsx)(`code`,{className:`rounded bg-surface-panel px-1 py-0.5`,children:e.npmPackage})]})]}),(0,Y.jsx)(`div`,{role:`group`,className:`flex shrink-0 flex-col items-end gap-2 sm:min-w-[9rem]`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:n===`bundled`?(0,Y.jsx)(`span`,{className:`rounded-md bg-surface-hover px-2 py-1 text-[11px] font-medium text-fg-muted`,children:t.marketplaceBuiltin}):n===`user`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`text-[11px] font-medium text-fg-muted`,children:t.marketplaceInstalled}),(0,Y.jsxs)(`button`,{type:`button`,disabled:a,onClick:()=>{window.confirm(t.marketplaceUninstallConfirm)&&P(e.id).catch(()=>{})},className:i(`inline-flex items-center justify-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-xs font-medium text-fg`,`transition-colors active:scale-[0.98] active:bg-surface-hover/80`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,`disabled:pointer-events-none disabled:opacity-50`),children:[a?(0,Y.jsx)(y,{className:`size-3.5 animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(E,{className:`size-3.5`,strokeWidth:2,"aria-hidden":!0}),t.marketplaceUninstall]})]}):(0,Y.jsxs)(`button`,{type:`button`,disabled:a,onClick:()=>{N(e.id,!1).catch(()=>{})},className:i(`inline-flex w-full items-center justify-center rounded-lg bg-accent px-3 py-2 text-xs font-medium text-white`,`shadow-surface transition-[transform,background-color] active:scale-[0.98]`,`hover:bg-accent-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base`,`disabled:pointer-events-none disabled:opacity-50`),children:[a?(0,Y.jsx)(y,{className:`size-3.5 animate-spin`,"aria-hidden":!0}):null,t.marketplaceInstall]})})]})},e.id)})}),x?(0,Y.jsx)(ne,{packageName:x,copy:t,extensions:r,onClose:()=>m({type:`patch`,patch:{detailPkg:null}}),onInstall:N,onUninstall:P}):null]})}function ne(e){let t=(0,U.c)(61),{packageName:n,copy:r,extensions:a,onClose:o,onInstall:c,onUninstall:l}=e,[u,d]=(0,H.useState)(!1),m=s(oe)?`ext-mp-detail-${n}`:null,h;t[0]===n?h=t[1]:(h=async()=>ee(n),t[0]=n,t[1]=h);let g;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g={revalidateOnFocus:!1},t[2]=g):g=t[2];let{data:_,error:v,isLoading:b}=f(m,h,g),S;t[3]!==a||t[4]!==n?(S=X(a,n),t[3]=a,t[4]=n,t[5]=S):S=t[5];let C=S,O=C===`user`,k;t[6]!==r.marketplaceNoReadme||t[7]!==_?(k=_?.readme?.trim()||(_?.description?.trim()?`### ${_.name}\n\n${_.description}`:`*${r.marketplaceNoReadme}*`),t[6]=r.marketplaceNoReadme,t[7]=_,t[8]=k):k=t[8];let j=k,M;t[9]===o?M=t[10]:(M=e=>!e&&o(),t[9]=o,t[10]=M);let N;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,Y.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-[130] bg-scrim`}),t[11]=N):N=t[11];let P;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,Y.jsx)(B,{className:`size-5`}),t[12]=P):P=t[12];let F;t[13]!==r.detailBack||t[14]!==o?(F=(0,Y.jsx)(`button`,{type:`button`,onClick:o,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":r.detailBack,children:P}),t[13]=r.detailBack,t[14]=o,t[15]=F):F=t[15];let I;t[16]===r.marketplaceDetailTitle?I=t[17]:(I=(0,Y.jsx)(z,{className:`min-w-0 flex-1 truncate text-center text-sm font-semibold text-fg`,children:r.marketplaceDetailTitle}),t[16]=r.marketplaceDetailTitle,t[17]=I);let L;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,Y.jsx)(x,{className:`size-5`}),t[18]=L):L=t[18];let R;t[19]!==r.detailClose||t[20]!==o?(R=(0,Y.jsx)(`button`,{type:`button`,onClick:o,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":r.detailClose,children:L}),t[19]=r.detailClose,t[20]=o,t[21]=R):R=t[21];let W;t[22]!==R||t[23]!==F||t[24]!==I?(W=(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[F,I,R]}),t[22]=R,t[23]=F,t[24]=I,t[25]=W):W=t[25];let G;t[26]!==r.marketplaceAuthor||t[27]!==r.marketplaceDetailLoadFailed||t[28]!==r.marketplaceDetailReadmeHeading||t[29]!==r.marketplaceDownloads||t[30]!==r.marketplaceVersion||t[31]!==_||t[32]!==v||t[33]!==b||t[34]!==j?(G=b&&!_?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:`…`}):v?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:r.marketplaceDetailLoadFailed}):_?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`h3`,{className:`text-lg font-semibold text-fg`,children:_.name}),(0,Y.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:(0,Y.jsx)(`code`,{className:`rounded bg-surface-panel px-1 py-0.5`,children:_.id})}),(0,Y.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs text-fg-muted sm:grid-cols-2`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceAuthor}),(0,Y.jsx)(`dd`,{children:_.author.username})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceVersion}),(0,Y.jsx)(`dd`,{children:_.latestVersion.version})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceDownloads}),(0,Y.jsx)(`dd`,{children:_.downloads})]})]}),_.readme?.trim()?(0,Y.jsx)(`h4`,{className:`mb-2 mt-6 text-sm font-semibold text-fg`,children:r.marketplaceDetailReadmeHeading}):null,(0,Y.jsx)(`div`,{className:`markdown-content min-w-0 break-words text-sm`,children:(0,Y.jsx)(T,{content:j})})]}):null,t[26]=r.marketplaceAuthor,t[27]=r.marketplaceDetailLoadFailed,t[28]=r.marketplaceDetailReadmeHeading,t[29]=r.marketplaceDownloads,t[30]=r.marketplaceVersion,t[31]=_,t[32]=v,t[33]=b,t[34]=j,t[35]=G):G=t[35];let K;t[36]===G?K=t[37]:(K=(0,Y.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:G}),t[36]=G,t[37]=K);let q;t[38]!==u||t[39]!==r.marketplaceBuiltinGoBuiltin||t[40]!==r.marketplaceBuiltinManageHint||t[41]!==r.marketplaceInstall||t[42]!==r.marketplaceReinstall||t[43]!==r.marketplaceReinstallConfirm||t[44]!==r.marketplaceUninstall||t[45]!==r.marketplaceUninstallConfirm||t[46]!==_||t[47]!==C||t[48]!==o||t[49]!==c||t[50]!==l||t[51]!==n||t[52]!==O?(q=_?(0,Y.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-2 border-t border-edge-subtle px-5 py-4`,children:C===`bundled`?(0,Y.jsxs)(`div`,{className:`flex w-full flex-col items-stretch gap-2`,children:[(0,Y.jsx)(`p`,{className:`text-sm leading-relaxed text-fg-muted`,children:r.marketplaceBuiltinManageHint}),(0,Y.jsx)(V,{to:`/apps?tab=builtin`,onClick:o,className:`inline-flex w-fit items-center justify-center rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:r.marketplaceBuiltinGoBuiltin})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`button`,{type:`button`,disabled:u,onClick:()=>{O&&!window.confirm(r.marketplaceReinstallConfirm)||(d(!0),c(n,O).catch(ie).finally(()=>d(!1)))},className:i(`inline-flex items-center justify-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium`,`bg-accent text-white shadow-surface hover:bg-accent-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,`disabled:pointer-events-none disabled:opacity-50`),children:[u?(0,Y.jsx)(y,{className:`size-4 animate-spin`,"aria-hidden":!0}):null,O?r.marketplaceReinstall:r.marketplaceInstall]}),O?(0,Y.jsxs)(`button`,{type:`button`,disabled:u,onClick:()=>{window.confirm(r.marketplaceUninstallConfirm)&&(d(!0),l(n).then(()=>o()).catch(re).finally(()=>d(!1)))},className:i(`inline-flex items-center justify-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,`disabled:pointer-events-none disabled:opacity-50`),children:[(0,Y.jsx)(E,{className:`size-4 shrink-0`,"aria-hidden":!0}),r.marketplaceUninstall]}):null]})}):null,t[38]=u,t[39]=r.marketplaceBuiltinGoBuiltin,t[40]=r.marketplaceBuiltinManageHint,t[41]=r.marketplaceInstall,t[42]=r.marketplaceReinstall,t[43]=r.marketplaceReinstallConfirm,t[44]=r.marketplaceUninstall,t[45]=r.marketplaceUninstallConfirm,t[46]=_,t[47]=C,t[48]=o,t[49]=c,t[50]=l,t[51]=n,t[52]=O,t[53]=q):q=t[53];let J;t[54]!==W||t[55]!==K||t[56]!==q?(J=(0,Y.jsxs)(p,{children:[N,(0,Y.jsxs)(D,{className:`fixed left-1/2 top-1/2 z-[131] flex max-h-[min(90vh,44rem)] w-[min(42rem,calc(100vw-1.5rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-elevated`,onOpenAutoFocus:ae,children:[W,K,q]})]}),t[54]=W,t[55]=K,t[56]=q,t[57]=J):J=t[57];let Z;return t[58]!==J||t[59]!==M?(Z=(0,Y.jsx)(A,{defaultOpen:!0,onOpenChange:M,children:J}),t[58]=J,t[59]=M,t[60]=Z):Z=t[60],Z}function re(){}function ie(){}function ae(e){return e.preventDefault()}function oe(e){return!!e.token}function se(){let e=o(e=>e.language),t=a(e),n=L(e=>e.setPageHeader),r=L(e=>e.clearPageHeader),s=F(),c=h(),[l,u]=I(),d=W(l.get(`tab`)),f=l.get(`q`)??``,[p,m]=(0,H.useState)(d),[g,_]=(0,H.useState)(f),[v,y]=(0,H.useState)(null),b=l.toString(),x=(0,H.useRef)(b);if(x.current!==b){x.current=b;let e=W(l.get(`tab`)),t=l.get(`q`)??``;m(t=>t===e?t:e),_(e=>e===t?e:t)}(0,H.useEffect)(()=>{u(e=>{let t=new URLSearchParams(e),n=g.trim();return n?t.set(`q`,n):t.delete(`q`),p===`marketplace`?t.delete(`tab`):t.set(`tab`,p),t.toString()===e.toString()?e:t},{replace:!0})},[p,g,u]);let S=(0,H.useMemo)(()=>s.filter(e=>e.source===`bundled`),[s]),C=(0,H.useMemo)(()=>s.filter(e=>e.source!==`bundled`),[s]),w=p===`builtin`?S:C,T=(0,H.useMemo)(()=>{let t=g.trim().toLowerCase(),n=w;return t&&(n=n.filter(e=>(e.name??``).toLowerCase().includes(t)||e.id.toLowerCase().includes(t)||(e.description??``).toLowerCase().includes(t))),n.toSorted((t,n)=>t.hasUi===n.hasUi?(t.name||t.id).localeCompare(n.name||n.id,e):t.hasUi?-1:1)},[w,g,e]);if((0,H.useEffect)(()=>{y(e=>{if(!e)return e;let t=s.find(t=>t.id===e.id);return t?Q(e)===Q(t)&&e.active===t.active?e:t:null})},[s]),(0,H.useLayoutEffect)(()=>(n({startExtra:null,main:(0,Y.jsx)(`div`,{className:`min-w-0`,children:(0,Y.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:t.appsPage.title})}),end:null}),()=>r()),[r,t.appsPage.title,n]),c&&p!==`marketplace`)return(0,Y.jsx)(pe,{});let E=p!==`marketplace`&&w.length>0;return(0,Y.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:[(0,Y.jsxs)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-8`,children:[(0,Y.jsxs)(`div`,{className:`mb-5 flex flex-col gap-3 border-b border-edge-subtle pb-3 sm:flex-row sm:items-center sm:justify-between dark:border-edge-subtle`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-x-1 gap-y-1`,role:`tablist`,"aria-label":t.appsPage.appsNavAria,children:[(0,Y.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":p===`marketplace`,className:i(`relative max-w-full rounded-md px-3 py-2 text-left text-sm font-medium transition-colors sm:text-center`,p===`marketplace`?`text-fg`:`text-fg-muted hover:text-fg`,p===`marketplace`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`),onClick:()=>m(`marketplace`),children:t.appsPage.tabMarketplace}),(0,Y.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":p===`builtin`,className:i(`relative rounded-md px-3 py-2 text-sm font-medium transition-colors`,p===`builtin`?`text-fg`:`text-fg-muted hover:text-fg`,p===`builtin`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`),onClick:()=>m(`builtin`),children:[t.appsPage.tabBuiltin,(0,Y.jsxs)(`span`,{className:`ml-1 tabular-nums text-fg-muted`,children:[`(`,S.length,`)`]})]}),(0,Y.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":p===`user`,className:i(`relative rounded-md px-3 py-2 text-sm font-medium transition-colors`,p===`user`?`text-fg`:`text-fg-muted hover:text-fg`,p===`user`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`),onClick:()=>m(`user`),children:[t.appsPage.tabUser,(0,Y.jsxs)(`span`,{className:`ml-1 tabular-nums text-fg-muted`,children:[`(`,C.length,`)`]})]})]}),E?(0,Y.jsxs)(`div`,{className:`relative w-full min-w-0 sm:max-w-xs`,children:[(0,Y.jsx)(M,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-muted`,"aria-hidden":!0}),(0,Y.jsx)(`input`,{type:`search`,value:g,onChange:e=>_(e.target.value),placeholder:t.appsPage.searchPlaceholder,className:`w-full rounded-lg border border-edge bg-surface-base py-2 pl-9 pr-3 text-sm text-fg placeholder:text-fg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,autoComplete:`off`})]}):null]}),p===`marketplace`?(0,Y.jsx)(te,{}):p===`builtin`&&S.length===0?(0,Y.jsx)(he,{message:t.appsPage.emptyBuiltin}):p===`user`&&C.length===0?(0,Y.jsx)(he,{message:t.appsPage.emptyUser}):T.length===0?(0,Y.jsx)(`p`,{className:`rounded-xl border border-dashed border-edge-subtle bg-surface-hover/30 px-4 py-8 text-center text-sm text-fg-muted dark:bg-surface-hover/15`,children:t.appsPage.noSearchResults}):(0,Y.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:T.map(e=>(0,Y.jsx)(de,{extension:e,copy:t.appsPage,showSourceBadge:p===`user`,onOpen:()=>y(e)},e.id))})]}),v?(0,Y.jsx)(fe,{extension:v,copy:t.appsPage,onClose:()=>y(null)},v.id):null]})}function Q(e){return e.activationEligible??e.active}function ce(e,t){return e.source===`bundled`?t.providerBundled:e.source===`global`?t.providerGlobal:e.source===`workspace`?t.providerWorkspace:t.providerOther}function le(e,t){return e.source===`global`?t.badgeSourceGlobal:e.source===`workspace`?t.badgeSourceWorkspace:t.badgeSourceOther}function ue(e,t){let n=Q(e);return n&&e.active?t.runStateLive:n&&!e.active?t.runStatePendingOn:!n&&e.active?t.runStatePendingOff:t.runStateOff}function de(e){let t=(0,U.c)(45),{extension:n,copy:r,showSourceBadge:a,onOpen:o}=e,s;t[0]===n?s=t[1]:(s=Q(n),t[0]=n,t[1]=s);let c=s,l=n.hasUi?r.cardTooltipHasUi:r.cardTooltipNoUi,u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=i(`group flex w-full flex-col rounded-xl border border-edge bg-surface-base p-4 text-left shadow-sm transition-colors`,`hover:border-edge-subtle hover:bg-surface-hover/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,`dark:hover:bg-surface-hover/25`),t[2]=u):u=t[2];let d=n.name||n.id,f;t[3]===d?f=t[4]:(f=d.charAt(0).toUpperCase(),t[3]=d,t[4]=f);let p;t[5]===f?p=t[6]:(p=(0,Y.jsx)(`div`,{className:`flex size-12 shrink-0 items-center justify-center rounded-xl bg-accent-soft text-base font-semibold text-accent-fg`,"aria-hidden":!0,children:f}),t[5]=f,t[6]=p);let m;t[7]===n.name?m=t[8]:(m=(0,Y.jsx)(`h2`,{className:`truncate text-sm font-semibold text-fg`,children:n.name}),t[7]=n.name,t[8]=m);let h;t[9]===n.version?h=t[10]:(h=n.version?(0,Y.jsxs)(`span`,{className:`text-[11px] text-fg-muted`,children:[`v`,n.version]}):null,t[9]=n.version,t[10]=h);let g;t[11]!==m||t[12]!==h?(g=(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[m,h]}),t[11]=m,t[12]=h,t[13]=g):g=t[13];let _;t[14]!==r.statusEnabled||t[15]!==c?(_=c?(0,Y.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded-full bg-surface-hover px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:[(0,Y.jsx)(R,{className:`size-3`,strokeWidth:2.5,"aria-hidden":!0}),r.statusEnabled]}):(0,Y.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center rounded-full border-2 border-accent text-accent`,"aria-hidden":!0,children:(0,Y.jsx)(S,{className:`size-4`,strokeWidth:2.5})}),t[14]=r.statusEnabled,t[15]=c,t[16]=_):_=t[16];let v;t[17]!==g||t[18]!==_?(v=(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[g,_]}),t[17]=g,t[18]=_,t[19]=v):v=t[19];let y;t[20]!==r.cardNoDescription||t[21]!==n.description?(y=n.description?.trim()||r.cardNoDescription,t[20]=r.cardNoDescription,t[21]=n.description,t[22]=y):y=t[22];let b;t[23]===y?b=t[24]:(b=(0,Y.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-relaxed text-fg-muted`,children:y}),t[23]=y,t[24]=b);let x=n.hasUi?r.badgeKindUi:r.badgeKindBackend,C;t[25]!==x||t[26]!==l?(C=(0,Y.jsx)(`span`,{title:l,className:`rounded-md bg-surface-hover px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-fg-muted`,children:x}),t[25]=x,t[26]=l,t[27]=C):C=t[27];let w;t[28]!==r||t[29]!==n||t[30]!==a?(w=n.source===`bundled`?(0,Y.jsx)(`span`,{className:`rounded-md bg-surface-hover px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-fg-muted`,children:r.badgeBundled}):a?(0,Y.jsx)(`span`,{title:ce(n,r),className:`rounded-md bg-surface-hover px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-fg-muted`,children:le(n,r)}):null,t[28]=r,t[29]=n,t[30]=a,t[31]=w):w=t[31];let T;t[32]!==C||t[33]!==w?(T=(0,Y.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:[C,w]}),t[32]=C,t[33]=w,t[34]=T):T=t[34];let E;t[35]!==v||t[36]!==b||t[37]!==T?(E=(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[v,b,T]}),t[35]=v,t[36]=b,t[37]=T,t[38]=E):E=t[38];let D;t[39]!==E||t[40]!==p?(D=(0,Y.jsxs)(`div`,{className:`flex gap-3`,children:[p,E]}),t[39]=E,t[40]=p,t[41]=D):D=t[41];let O;return t[42]!==o||t[43]!==D?(O=(0,Y.jsx)(`button`,{type:`button`,onClick:o,className:u,children:D}),t[42]=o,t[43]=D,t[44]=O):O=t[44],O}function fe({extension:e,copy:t,onClose:n}){let{mutate:r}=d(),[a,o]=(0,H.useState)(!1),[s,c]=(0,H.useState)(null),[l,u]=(0,H.useState)(!1),f=e.activationEligible===!0,h=(0,H.useCallback)(async()=>{if(e.source===`bundled`){c(null),u(!1),o(!0);try{let{requiresGatewayRestart:t}=await q({extensionId:e.id,enabled:!f});await r(`gateway-extensions-list`),g(),u(t)}catch(e){c(e instanceof Error?e.message:t.builtinToggleFailed)}finally{o(!1)}}},[f,t.builtinToggleFailed,e.id,e.source,r]),_=e.ui?.contributions?.pages??[],v=e.ui?.contributions?.settingsPanels??[],S=e.ui?.contributions?.chatWidgets??[],T=e.ui?.contributions?.sidebarPanels??[],E=_.find(e=>e.showInNav)??_[0],j=v[0],M=E?C(e.id,E):null,F=j?`/settings/ext/${e.id}/${j.id}`:e.hasConfigSchema||P(e)?`/settings/ext/${e.id}`:null;return(0,Y.jsx)(A,{defaultOpen:!0,onOpenChange:e=>!e&&n(),children:(0,Y.jsxs)(p,{children:[(0,Y.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-[130] bg-scrim`}),(0,Y.jsxs)(D,{className:`fixed left-1/2 top-1/2 z-[131] flex max-h-[min(90vh,44rem)] w-[min(42rem,calc(100vw-1.5rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-elevated`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":t.detailBack,children:(0,Y.jsx)(B,{className:`size-5`})}),(0,Y.jsx)(z,{className:`min-w-0 flex-1 truncate text-center text-sm font-semibold text-fg`,children:t.detailTitle}),(0,Y.jsxs)(O,{className:`sr-only`,children:[e.name,` (`,e.id,`)`]}),(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":t.detailClose,children:(0,Y.jsx)(x,{className:`size-5`})})]}),(0,Y.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-start gap-4`,children:[(0,Y.jsx)(`div`,{className:`flex size-16 shrink-0 items-center justify-center rounded-2xl bg-accent-soft text-xl font-semibold text-accent-fg`,"aria-hidden":!0,children:(e.name||e.id).charAt(0).toUpperCase()}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`h3`,{className:`text-lg font-semibold text-fg`,children:e.name}),(0,Y.jsxs)(`p`,{className:`mt-0.5 text-sm text-fg-muted`,children:[t.detailProviderPrefix,` `,ce(e,t)]}),e.version?(0,Y.jsxs)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:[`v`,e.version]}):null]})]}),(0,Y.jsx)(`p`,{className:`mt-5 text-sm leading-relaxed text-fg`,children:e.description?.trim()||t.detailNoDescription}),e.hasUi?null:(0,Y.jsx)(`p`,{className:`mt-3 text-xs text-fg-muted`,children:t.backendOnlyHint}),(0,Y.jsx)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:ue(e,t)}),e.source===`bundled`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`p`,{className:`mt-4 rounded-lg border border-edge-subtle bg-surface-hover/40 px-3 py-2 text-xs text-fg-muted dark:bg-surface-hover/20`,children:t.builtinConfigHint}),(0,Y.jsxs)(`div`,{className:`mt-3 rounded-lg border border-edge-subtle bg-surface-hover/40 p-3 dark:bg-surface-hover/20`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:t.builtinRuntimeToggle}),(0,Y.jsx)(N,{type:`button`,variant:`secondary`,disabled:a,onClick:()=>void h(),className:`shrink-0 py-1.5 text-xs`,children:a?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(y,{className:`mr-1.5 size-3.5 shrink-0 animate-spin`,"aria-hidden":!0}),t.builtinToggleBusy]}):f?t.builtinToggleDisable:t.builtinToggleEnable})]}),s?(0,Y.jsx)(`p`,{className:`mt-2 text-xs text-rose-600 dark:text-rose-400`,children:s}):null,l?(0,Y.jsx)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:t.builtinToggleRestartHint}):null]})]}):(0,Y.jsx)(`p`,{className:`mt-4 rounded-lg border border-edge-subtle bg-surface-hover/40 px-3 py-2 text-xs text-fg-muted dark:bg-surface-hover/20`,children:t.cliManageHint}),e.hasUi&&(_.length>0||v.length>0||S.length>0)?(0,Y.jsxs)(`section`,{className:`mt-8`,children:[(0,Y.jsx)(`h4`,{className:`mb-3 text-sm font-semibold text-fg`,children:t.detailSectionFeatures}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,Y.jsx)($,{template:t.badgePages,count:_.length,hidden:_.length===0}),(0,Y.jsx)($,{template:t.badgeSettings,count:v.length,hidden:v.length===0}),(0,Y.jsx)($,{template:t.badgeWidgets,count:S.length,hidden:S.length===0}),(0,Y.jsx)($,{template:t.badgeSidebar,count:T.length,hidden:T.length===0})]})]}):null,b(e)&&(M||F)?(0,Y.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-2 border-t border-edge-subtle pt-4`,children:[M?(0,Y.jsxs)(V,{to:M,onClick:n,className:i(`inline-flex items-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),children:[(0,Y.jsx)(m,{className:`size-4 shrink-0 opacity-80`,"aria-hidden":!0}),t.open]}):null,F?(0,Y.jsxs)(V,{to:F,onClick:n,className:i(`inline-flex items-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),children:[(0,Y.jsx)(k,{className:`size-4 shrink-0 opacity-80`,"aria-hidden":!0}),t.openSettings]}):null]}):null,(0,Y.jsx)(`p`,{className:`mt-6 text-[11px] leading-relaxed text-fg-muted`,children:t.restartNote})]})]})]})})}function $(e){let t=(0,U.c)(6),{template:n,count:r,hidden:i}=e;if(i||r===0)return null;let a;if(t[0]!==r||t[1]!==n){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=/\{\{count\}\}/g,t[3]=e):e=t[3],a=n.replace(e,String(r)),t[0]=r,t[1]=n,t[2]=a}else a=t[2];let o;return t[4]===a?o=t[5]:(o=(0,Y.jsx)(`span`,{className:`inline-flex items-center rounded-md bg-surface-hover px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:a}),t[4]=a,t[5]=o),o}function pe(){let e=(0,U.c)(5),t,n,r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Y.jsx)(`div`,{className:`mb-6 h-8 w-40 max-w-full animate-pulse rounded-md bg-surface-hover`}),n=(0,Y.jsx)(`div`,{className:`mb-2 h-4 w-full max-w-md animate-pulse rounded bg-surface-hover`}),r=(0,Y.jsx)(`div`,{className:`mb-5 h-9 w-full max-w-lg animate-pulse rounded-full bg-surface-hover`}),e[0]=t,e[1]=n,e[2]=r):(t=e[0],n=e[1],r=e[2]);let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=[`ap0`,`ap1`,`ap2`,`ap3`,`ap4`,`ap5`],e[3]=i):i=e[3];let a;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Y.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:(0,Y.jsxs)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-8`,children:[t,n,r,(0,Y.jsx)(`div`,{className:`mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:i.map(me)})]})}),e[4]=a):a=e[4],a}function me(e){return(0,Y.jsx)(`div`,{className:`h-36 animate-pulse rounded-xl border border-edge bg-surface-base`},e)}function he(e){let t=(0,U.c)(2),{message:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Y.jsx)(`div`,{className:`flex min-h-[min(40vh,16rem)] flex-col items-center justify-center rounded-xl border border-dashed border-edge-subtle bg-surface-hover/40 px-4 py-12 text-center dark:bg-surface-hover/20`,children:(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n})}),t[0]=n,t[1]=r),r}export{se as AppsPage};
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-BN_WiUg0.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{c as s,i as c,n as l,t as u}from"./fetch-D9QqUtzZ.js";import{i as d}from"./vendor-swr-BIWyz7Rc.js";import{$o as f,$r as p,Ao as m,Dr as h,Ds as g,Ja as _,Ni as v,Os as y,Qr as b,S as x,Sa as S,Si as C,Ta as w,Xr as T,Yr as E,Zr as D,ea as O,ei as k,en as A,fa as j,ji as M,nn as N,oi as P,ti as F,tn as I,vn as L,yn as R}from"./index-DefIdW9q.js";import{t as ee}from"./schema-form-DzS36TMa.js";import{t as z}from"./browser-BLJWD7WI.js";import{t as te}from"./use-channel-catalog-CbXq97rT.js";var B=n(),V=e(z(),1),H=e(t(),1),U=r();function W(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}async function G(e){let t=await u(c(`/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 K(e){return e?.type===`poll`&&e.phase===`done`}function q(e){return e&&`message`in e&&typeof e.message==`string`?e.message:null}function J(e,t){return e?.type!==`qr`&&e?.type!==`poll`?null:e.qrPayload?e.qrPayload:t===`weixin`&&e.qrcodeUrl?e.qrcodeUrl:null}function Y(e){return e?.type!==`qr`&&e?.type!==`poll`?null:e.qrcodeUrl??null}function ne({entry:e,locale:t,messages:n,onChanged:r,autoStartPrimary:a=!1,compact:o=!1}){let s=(0,H.useMemo)(()=>W(e),[e]),c=(0,H.useMemo)(()=>({defaultBooleanLabel:n.schemaBooleanDefault,unsupportedArrayType:n.schemaUnsupportedArrayType,arrayAddPlaceholder:n.schemaArrayAddPlaceholder,unsupportedFieldType:(e,t)=>n.schemaUnsupportedFieldType.replace(`{{title}}`,e).replace(`{{type}}`,t?` (${t})`:``)}),[n]),[l,u]=(0,H.useState)({payload:null,poll:null,busy:!1,error:null,formDraft:{},generatedQr:null});(0,H.useEffect)(()=>{u({payload:null,poll:null,busy:!1,error:null,formDraft:{},generatedQr:null})},[e.id]);let d=(0,H.useCallback)(async(n,i)=>{u(e=>({...e,busy:!0,error:null}));try{let a=await G({channelId:e.id,actionId:n,locale:t,input:i});u(e=>({...e,payload:a,poll:a.type===`qr`&&a.statusAction&&a.sessionKey?{actionId:a.statusAction,sessionKey:a.sessionKey,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){u(t=>({...t,busy:!1,error:e instanceof Error?e.message:String(e)}))}},[e.id,t,r]);(0,H.useEffect)(()=>{!a||!s||s[1].result!==`qr`||l.payload||l.busy||l.error||d(s[0])},[a,s,d,l.busy,l.error,l.payload]),(0,H.useEffect)(()=>{let t=J(l.payload,e.id);if(!t){u(e=>e.generatedQr?{...e,generatedQr:null}:e);return}let n=!1;return u(e=>e.generatedQr?{...e,generatedQr:null}:e),V.toDataURL(t,{width:220,margin:1}).then(e=>{n||u(t=>({...t,generatedQr:e}))}),()=>{n=!0}},[e.id,l.payload]),(0,H.useEffect)(()=>{let n=l.poll;if(!n)return;let i=!1,a=window.setInterval(()=>{i||G({channelId:e.id,actionId:n.actionId,locale:t,input:{sessionKey:n.sessionKey}}).then(async e=>{i||(u(t=>({...t,payload:e,poll:K(e)?null:t.poll,error:null})),`configChanged`in e&&e.configChanged===!0&&await r(),K(e)&&window.clearInterval(a))}).catch(e=>{i||u(t=>({...t,error:e instanceof Error?e.message:String(e)}))})},n.intervalMs);return()=>{i=!0,window.clearInterval(a)}},[e.id,t,r,l.poll]);let p=s?.[1].label??(e.configured?n.reconnect:n.connect),h=e.actions?.[`doctor.run`]?.label??n.diagnose,g=q(l.payload),v=J(l.payload,e.id),y=v?l.generatedQr:Y(l.payload),b=l.payload?.type===`form`?l.payload:null,x=l.payload?.type===`diagnostics`?l.payload.checks:null;return(0,U.jsxs)(`div`,{className:o?`space-y-3`:`rounded-lg border border-edge-subtle bg-surface-panel p-4`,children:[(0,U.jsxs)(`div`,{className:i(`flex flex-wrap items-start gap-3`,o?`justify-end`:`justify-between`),children:[o?null:(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.setupTitle}),(0,U.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:e.configured?n.setupConfiguredHint:n.setupEmptyHint})]}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[s?(0,U.jsxs)(M,{type:`button`,variant:`primary`,disabled:l.busy,onClick:()=>void d(s[0]),children:[l.busy?(0,U.jsx)(_,{className:`size-4 animate-spin`}):(0,U.jsx)(w,{className:`size-4`}),p]}):null,e.actions?.[`doctor.run`]?(0,U.jsxs)(M,{type:`button`,variant:`secondary`,disabled:l.busy,onClick:()=>void d(`doctor.run`),children:[(0,U.jsx)(O,{className:`size-4`}),h]}):null]})]}),g?(0,U.jsx)(`p`,{className:`mt-3 text-sm text-fg-muted`,children:g}):null,l.error?(0,U.jsx)(`p`,{className:`mt-3 text-sm text-red-600 dark:text-red-400`,children:l.error}):null,y?(0,U.jsxs)(`div`,{className:i(`flex flex-wrap items-start gap-4`,o?`justify-center`:`mt-4`),children:[(0,U.jsx)(`div`,{className:`rounded-lg border border-edge bg-white p-3`,children:(0,U.jsx)(`img`,{src:y,alt:`${e.label} setup QR`,className:`h-52 w-52 object-contain`})}),(0,U.jsxs)(`div`,{className:i(`max-w-sm text-sm text-fg-muted`,o&&`w-full text-center`),children:[(0,U.jsx)(`p`,{children:n.waitingConfirmation}),v?(0,U.jsxs)(`a`,{className:`mt-2 inline-flex items-center gap-1 text-accent hover:underline`,href:v,target:`_blank`,rel:`noreferrer`,children:[n.openSetupLink,(0,U.jsx)(m,{className:`size-3.5`})]}):null]})]}):null,l.payload?.type===`poll`&&l.payload.phase===`done`?(0,U.jsxs)(`div`,{className:`mt-4 flex items-center gap-2 rounded-lg border border-edge-subtle bg-surface-base px-3 py-2 text-sm`,children:[(0,U.jsx)(f,{className:l.payload.ok?`size-4 text-green-600`:`size-4 text-red-600`}),(0,U.jsx)(`span`,{className:l.payload.ok?`text-fg`:`text-red-600 dark:text-red-400`,children:l.payload.message??(l.payload.ok?n.complete:n.failed)})]}):null,b?(0,U.jsxs)(`div`,{className:`mt-4 space-y-3`,children:[(0,U.jsx)(ee,{schema:b.schema,values:l.formDraft,onChange:e=>u(t=>({...t,formDraft:e})),disabled:l.busy,labels:c}),(0,U.jsx)(M,{type:`button`,variant:`primary`,disabled:l.busy,onClick:()=>void d(b.submitAction,l.formDraft),children:n.saveSetup})]}):null,x?(0,U.jsx)(`div`,{className:`mt-4 space-y-2`,children:x.map((e,t)=>(0,U.jsxs)(`div`,{className:`rounded-lg border border-edge-subtle bg-surface-base px-3 py-2`,children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,U.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:e.label??e.id??n.diagnosticCheckFallback.replace(`{{index}}`,String(t+1))}),(0,U.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,U.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:e.message}):null]},e.id??t))}):null]})}function re(e,t=!1){return e===`drawer`?i(`xopc-drawer-right fixed right-0 top-0 flex size-full flex-col overflow-hidden border-l border-edge bg-surface-panel shadow-popover outline-none dark:border-edge`,t?`max-w-[36rem]`:`max-w-xl`,L):i(`fixed left-1/2 top-1/2 flex max-h-[min(90vh,52rem)] w-[min(calc(100%-2rem),32rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden`,t&&`max-h-[min(90vh,48rem)] w-[min(calc(100%-2rem),36rem)]`,L,`rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none dark:border-edge`)}function ie(e){let t=(0,B.c)(30),{presentation:n,open:r,onOpenChange:a,title:o,description:s,srTitle:c,srDescription:l,closeAriaLabel:u,children:d,footer:f,wide:m,headerExtra:h}=e,g=m===void 0?!1:m,_=n===`drawer`,y;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,U.jsx)(b,{className:i(`xopc-dialog-overlay fixed inset-0 bg-scrim backdrop-blur-[1px]`,R)}),t[0]=y):y=t[0];let x;t[1]!==n||t[2]!==g?(x=re(n,g),t[1]=n,t[2]=g,t[3]=x):x=t[3];let S;t[4]===c?S=t[5]:(S=c?(0,U.jsx)(F,{className:`sr-only`,children:c}):null,t[4]=c,t[5]=S);let w;t[6]===l?w=t[7]:(w=l?(0,U.jsx)(D,{className:`sr-only`,children:l}):null,t[6]=l,t[7]=w);let O;t[8]!==u||t[9]!==s||t[10]!==h||t[11]!==_||t[12]!==o?(O=_?(0,U.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,U.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[o?(0,U.jsx)(`div`,{className:`text-base font-semibold text-fg`,children:o}):null,s?(0,U.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:s}):null]}),(0,U.jsx)(E,{asChild:!0,children:(0,U.jsx)(M,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":u,children:(0,U.jsx)(v,{className:`size-5`,strokeWidth:1.75})})})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(E,{asChild:!0,children:(0,U.jsx)(`button`,{type:`button`,className:i(C,`absolute right-3 top-3 z-20 p-1.5 hover:bg-surface-hover`),"aria-label":u,children:(0,U.jsx)(v,{className:`size-4`})})}),h]}),t[8]=u,t[9]=s,t[10]=h,t[11]=_,t[12]=o,t[13]=O):O=t[13];let A=_?`px-4 py-4`:`p-6`,j;t[14]===A?j=t[15]:(j=i(`min-h-0 flex-1 overflow-y-auto`,A),t[14]=A,t[15]=j);let N;t[16]!==d||t[17]!==j?(N=(0,U.jsx)(`div`,{className:j,children:d}),t[16]=d,t[17]=j,t[18]=N):N=t[18];let P;t[19]!==f||t[20]!==x||t[21]!==S||t[22]!==w||t[23]!==O||t[24]!==N?(P=(0,U.jsxs)(p,{children:[y,(0,U.jsxs)(T,{className:x,onOpenAutoFocus:X,children:[S,w,O,N,f]})]}),t[19]=f,t[20]=x,t[21]=S,t[22]=w,t[23]=O,t[24]=N,t[25]=P):P=t[25];let I;return t[26]!==a||t[27]!==r||t[28]!==P?(I=(0,U.jsx)(k,{open:r,onOpenChange:a,children:P}),t[26]=a,t[27]=r,t[28]=P,t[29]=I):I=t[29],I}function X(e){return e.preventDefault()}var ae=(0,H.memo)(function(e){let t=(0,B.c)(15),{ch:n,refreshing:r,saveOk:a,onRefresh:o}=e,s;t[0]!==n.saved||t[1]!==a?(s=a?(0,U.jsx)(`span`,{className:`text-sm text-fg-muted`,children:n.saved}):null,t[0]=n.saved,t[1]=a,t[2]=s):s=t[2];let c=n.refresh,l=n.refresh,u=r&&`animate-spin`,d;t[3]===u?d=t[4]:(d=i(`size-4`,u),t[3]=u,t[4]=d);let f;t[5]===d?f=t[6]:(f=(0,U.jsx)(S,{className:d,"aria-hidden":!0}),t[5]=d,t[6]=f);let p;t[7]!==n.refresh||t[8]!==o||t[9]!==r||t[10]!==f?(p=(0,U.jsx)(M,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,disabled:r,title:c,"aria-label":l,onClick:o,children:f}),t[7]=n.refresh,t[8]=o,t[9]=r,t[10]=f,t[11]=p):p=t[11];let m;return t[12]!==s||t[13]!==p?(m=(0,U.jsxs)(`div`,{className:`flex min-w-0 shrink-0 items-center justify-end gap-2`,children:[s,p]}),t[12]=s,t[13]=p,t[14]=m):m=t[14],m});function oe(e){let t=(0,B.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,U.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,U.jsx)(M,{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,U.jsx)(M,{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,U.jsx)(M,{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,U.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,U.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 se(e){return e?c(`/api/channels/${encodeURIComponent(e)}/config`):null}async function ce(e){return(await l(c(`/api/channels/${encodeURIComponent(e)}/config`))).payload?.config??{}}async function le(){return(await l(c(`/api/config`))).payload?.config?.channels??{}}function ue(e){return e.split(`/`).filter(Boolean).map(e=>encodeURIComponent(e)).join(`/`)}function de(e,t){return e.enabled&&e.runtime===`loaded`?t.hubStatusRunning:e.enabled?t.hubStatusEnabled:e.configured?t.hubStatusConfigured:t.hubStatusNotConfigured}function fe(e){return e.enabled&&e.runtime===`loaded`?`bg-emerald-500/12 text-emerald-700 dark:text-emerald-300`:e.enabled||e.configured?`bg-accent-soft text-accent`:`bg-surface-hover text-fg-muted`}function pe(e){if(!e)return[`enabled`];let t=e.uiHints??{},n=Object.entries(t).filter(([,e])=>!Z(e)||e.advanced===!0?!1:(Array.isArray(e.tags)?e.tags.map(String):[]).includes(`basic`)||e.advanced===!1).map(([e])=>e);return n.length>0?n:[`enabled`]}function Z(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Q(e){return JSON.parse(JSON.stringify(e??{type:`object`,properties:{}}))}function me(e,t){let n={...Q(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(!Z(r)||!Z(r[n]))break;let o=Z(a.properties)?a.properties:{};if(a.properties=o,o[n]||(o[n]={...Q(r[n]),properties:{}}),e===t.length-1){o[n]=Q(r[n]);break}i=r[n],a=o[n]}}return n}function $(e){let t=e.properties;if(!Z(t))return!1;for(let[e,n]of Object.entries(t))Z(n)&&n.type===`object`&&$(n)&&delete t[e];return Object.keys(t).length===0}function he(e,t){let n=Q(e);for(let e of t){let t=e.split(`.`),r=n;for(let[e,n]of t.entries()){let i=r.properties;if(!Z(i))break;if(e===t.length-1){delete i[n];break}if(!Z(i[n]))break;r=i[n]}}return $(n),n}function ge(e){return e.type===`object`&&Z(e.properties)&&Object.keys(e.properties).length>0}function _e(e,t){let n=e;for(let e of t.split(`.`)){if(!Z(n))return;n=n[e]}return n}function ve(e){let t=e.accounts;return Z(t)?Object.values(t).filter(e=>Z(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 be(e,t,n){let r=[];if(t){let i=e.ui?.card?.summaryFields??[`dmPolicy`,`streamMode`,`streaming.mode`];for(let e of i){let i=ye(e,_e(t,e),n);i&&r.push(i)}let a=ve(t);a>0&&r.push(n.cardAccounts.replace(`{{count}}`,String(a)))}return r.length>0?r.slice(0,2):e.configured?[n.hubStatusConfigured]:[]}function xe(e,t){let n=W(e);return n?.[1].label?n[1].label:e.configured?t.manageChannel:t.startConfiguration}function Se(e,t){let n=W(e);return n?.[1].result===`qr`?t.cardSetupQrHint:n?.[1].result===`form`?t.cardSetupConfigHint:t.cardSetupGenericHint}function Ce(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 we({entry:e}){let t=s(e=>e.token),[n,r]=(0,H.useState)(!1),i=(0,H.useMemo)(()=>{if(!e.ui?.icon||n)return null;let r=new URL(c(`/api/extensions/${encodeURIComponent(e.extensionId)}/assets/${ue(e.ui.icon)}`));return t?.trim()&&r.searchParams.set(`token`,t.trim()),r.toString()},[n,e.extensionId,e.ui?.icon,t]);return(0,U.jsx)(`span`,{className:`flex size-12 shrink-0 items-center justify-center rounded-2xl bg-surface-base text-fg`,children:i?(0,U.jsx)(`img`,{src:i,alt:``,draggable:!1,className:`size-7`,"aria-hidden":!0,onError:()=>r(!0)}):(0,U.jsx)(h,{sourceChannel:e.id,className:`size-7`})})}function Te(e){let t=(0,B.c)(16),{checked:n,disabled:r,onToggle:a,label:o}=e,s;t[0]===a?s=t[1]:(s=e=>{e.stopPropagation(),a()},t[0]=a,t[1]=s);let c=n?`border-accent bg-accent`:`border-edge bg-surface-hover`,l=r&&`cursor-not-allowed opacity-60`,u;t[2]!==c||t[3]!==l?(u=i(`relative inline-flex h-6 w-11 shrink-0 items-center rounded-full border transition-colors`,c,l),t[2]=c,t[3]=l,t[4]=u):u=t[4];let d=n?`translate-x-5`:`translate-x-0.5`,f;t[5]===d?f=t[6]:(f=i(`size-5 rounded-full bg-white shadow-surface transition-transform`,d),t[5]=d,t[6]=f);let p;t[7]===f?p=t[8]:(p=(0,U.jsx)(`span`,{className:f}),t[7]=f,t[8]=p);let m;return t[9]!==n||t[10]!==r||t[11]!==o||t[12]!==s||t[13]!==u||t[14]!==p?(m=(0,U.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":n,"aria-label":o,disabled:r,onClick:s,className:u,children:p}),t[9]=n,t[10]=r,t[11]=o,t[12]=s,t[13]=u,t[14]=p,t[15]=m):m=t[15],m}function Ee(e){let t=(0,B.c)(65),{entry:n,config:r,busy:a,ch:o,onOpen:s,onToggle:c}=e,l,u,d,f,p,m;if(t[0]!==a||t[1]!==o||t[2]!==r||t[3]!==n||t[4]!==s||t[5]!==c){let e=be(n,r,o),h=Ce(n,o);p=`flex min-h-[15.5rem] flex-col rounded-xl border border-edge-subtle bg-surface-panel p-4 shadow-surface transition-colors hover:border-edge`;let g;t[12]===n?g=t[13]:(g=(0,U.jsx)(we,{entry:n}),t[12]=n,t[13]=g);let _;t[14]===n.label?_=t[15]:(_=(0,U.jsx)(`h2`,{className:`truncate text-base font-semibold text-fg`,children:n.label}),t[14]=n.label,t[15]=_);let v;t[16]===n?v=t[17]:(v=i(`mt-1 inline-flex rounded-full px-2 py-0.5 text-xs font-medium`,fe(n)),t[16]=n,t[17]=v);let y;t[18]!==o||t[19]!==n?(y=de(n,o),t[18]=o,t[19]=n,t[20]=y):y=t[20];let b;t[21]!==y||t[22]!==v?(b=(0,U.jsx)(`span`,{className:v,children:y}),t[21]=y,t[22]=v,t[23]=b):b=t[23];let x;t[24]!==b||t[25]!==_?(x=(0,U.jsxs)(`div`,{className:`min-w-0`,children:[_,b]}),t[24]=b,t[25]=_,t[26]=x):x=t[26];let S;t[27]!==x||t[28]!==g?(S=(0,U.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[g,x]}),t[27]=x,t[28]=g,t[29]=S):S=t[29];let C=n.enabled===!0,w;t[30]!==o.toggleChannel||t[31]!==n.label?(w=o.toggleChannel.replace(`{{channel}}`,n.label),t[30]=o.toggleChannel,t[31]=n.label,t[32]=w):w=t[32];let T;t[33]!==a||t[34]!==c||t[35]!==C||t[36]!==w?(T=(0,U.jsx)(Te,{checked:C,disabled:a,label:w,onToggle:c}),t[33]=a,t[34]=c,t[35]=C,t[36]=w,t[37]=T):T=t[37],t[38]!==S||t[39]!==T?(m=(0,U.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[S,T]}),t[38]=S,t[39]=T,t[40]=m):m=t[40],l=`button`,u=s,d=`mt-5 min-h-[6.25rem] text-left`,f=n.configured?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`p`,{className:`line-clamp-2 text-sm leading-6 text-fg-muted`,children:n.description??n.id}),e.length>0?(0,U.jsx)(`div`,{className:`mt-3 space-y-0.5 text-sm leading-5 text-fg-muted`,children:e.map(Oe)}):null]}):(0,U.jsxs)(`div`,{className:`rounded-lg border border-edge-subtle bg-surface-base px-3 py-3`,children:[(0,U.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:o.cardSetupTitle}),(0,U.jsx)(`p`,{className:`mt-1 line-clamp-2 text-sm leading-5 text-fg-muted`,children:Se(n,o)}),h.length>0?(0,U.jsx)(`div`,{className:`mt-3 flex flex-wrap gap-1.5`,children:h.map(De)}):null]}),t[0]=a,t[1]=o,t[2]=r,t[3]=n,t[4]=s,t[5]=c,t[6]=l,t[7]=u,t[8]=d,t[9]=f,t[10]=p,t[11]=m}else l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11];let h;t[41]!==o.cardAdapterLabel||t[42]!==n.configured||t[43]!==n.description?(h=!n.configured&&n.description?(0,U.jsxs)(`p`,{className:`mt-3 truncate text-xs text-fg-subtle`,title:n.description,children:[o.cardAdapterLabel,`: `,n.description]}):null,t[41]=o.cardAdapterLabel,t[42]=n.configured,t[43]=n.description,t[44]=h):h=t[44];let g;t[45]!==l||t[46]!==u||t[47]!==d||t[48]!==f||t[49]!==h?(g=(0,U.jsxs)(`button`,{type:l,onClick:u,className:d,children:[f,h]}),t[45]=l,t[46]=u,t[47]=d,t[48]=f,t[49]=h,t[50]=g):g=t[50];let v;t[51]===a?v=t[52]:(v=a?(0,U.jsx)(_,{className:`size-4 animate-spin`}):null,t[51]=a,t[52]=v);let y;t[53]!==o||t[54]!==n?(y=xe(n,o),t[53]=o,t[54]=n,t[55]=y):y=t[55];let b;t[56]!==s||t[57]!==y||t[58]!==v?(b=(0,U.jsx)(`div`,{className:`mt-auto pt-4`,children:(0,U.jsxs)(M,{type:`button`,variant:`primary`,className:`w-full rounded-2xl py-2.5`,onClick:s,children:[v,y]})}),t[56]=s,t[57]=y,t[58]=v,t[59]=b):b=t[59];let x;return t[60]!==b||t[61]!==p||t[62]!==m||t[63]!==g?(x=(0,U.jsxs)(`article`,{className:p,children:[m,g,b]}),t[60]=b,t[61]=p,t[62]=m,t[63]=g,t[64]=x):x=t[64],x}function De(e){return(0,U.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-xs text-fg-muted`,children:e},e)}function Oe(e){return(0,U.jsx)(`p`,{className:`truncate`,title:e,children:e},e)}function ke(){let e=o(e=>e.language),t=a(e),n=s(e=>!!e.token),r=g(),{channelId:l}=y(),f=N(l),p=te(n,e),h=p.entries,{data:_={},mutate:v}=d(n?`channels-config-map`:null,le,{revalidateOnFocus:!1}),b=P(e=>e.setPageHeader),S=P(e=>e.clearPageHeader),C=(0,H.useMemo)(()=>h.find(e=>e.id===f),[f,h]),{data:w,mutate:T}=d(n&&C?se(C.id):null,()=>ce(C.id)),[E,D]=(0,H.useState)(null),[O,k]=(0,H.useState)(!1),[M,F]=(0,H.useState)(null),[L,R]=(0,H.useState)(null),z=E??w??{},B=t.channelsSettings,V=(0,H.useMemo)(()=>C?.configSchema??{type:`object`,properties:{}},[C?.configSchema]),G=(0,H.useMemo)(()=>pe(C),[C]),K=(0,H.useMemo)(()=>me(V,G),[G,V]),q=(0,H.useMemo)(()=>he(V,G),[G,V]),J=(0,H.useMemo)(()=>({defaultBooleanLabel:B.schemaBooleanDefault,unsupportedArrayType:B.schemaUnsupportedArrayType,arrayAddPlaceholder:B.schemaArrayAddPlaceholder,unsupportedFieldType:(e,t)=>B.schemaUnsupportedFieldType.replace(`{{title}}`,e).replace(`{{type}}`,t?` (${t})`:``)}),[B]),Y=(0,H.useMemo)(()=>n?(0,U.jsx)(ae,{ch:B,refreshing:p.isValidating,saveOk:!1,onRefresh:()=>void p.mutate()}):null,[p,B,n]);(0,H.useLayoutEffect)(()=>(b({startExtra:null,main:(0,U.jsx)(`div`,{className:`min-w-0`,children:(0,U.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:t.settingsSections.channels})}),end:Y}),()=>S()),[S,Y,t.settingsSections.channels,b]);let re=(0,H.useCallback)(e=>{r(I(e)),D(null),R(null)},[r]),X=(0,H.useCallback)(()=>{r(A),D(null),R(null)},[r]),ue=(0,H.useCallback)(async()=>{if(!C||!E)return!1;k(!0),R(null);try{let e=await u(c(`/api/config`),{method:`PATCH`,body:JSON.stringify({channels:{[C.id]:E}})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error?.message??e.statusText)}return await T(E,!1),await v(),await p.mutate(),D(null),!0}catch(e){return R(e instanceof Error?e.message:String(e)),!1}finally{k(!1)}},[C,p,E,v,T]),Z=(0,H.useCallback)(async e=>{F(e.id),R(null);try{let t=await u(c(`/api/config`),{method:`PATCH`,body:JSON.stringify({channels:{[e.id]:{enabled:e.enabled!==!0}}})});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error?.message??t.statusText)}await p.mutate(),await v(),C?.id===e.id&&await T()}catch(e){R(e instanceof Error?e.message:String(e))}finally{F(null)}},[C?.id,p,v,T]),Q=C?.ui?.modal,$=Q?.placement!==`replace-config`;return n?(0,U.jsxs)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-6`,children:[p.isLoading?(0,U.jsx)(`p`,{className:`text-sm text-fg-muted`,children:B.loadingChannels}):p.error?(0,U.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:String(p.error)}):(0,U.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2 xl:grid-cols-3`,children:h.map(e=>(0,U.jsx)(Ee,{entry:e,config:_[e.id]?.config,busy:M===e.id,ch:B,onOpen:()=>re(e.id),onToggle:()=>void Z(e)},e.id))}),L?(0,U.jsx)(`p`,{className:`mt-4 text-sm text-red-600 dark:text-red-400`,children:L}):null,(0,U.jsx)(ie,{presentation:`modal`,open:!!C,onOpenChange:e=>{e||X()},closeAriaLabel:B.close,srTitle:C?.label??B.selectChannel,srDescription:C?.description,wide:!0,footer:C?(0,U.jsx)(oe,{ch:B,dirty:!!E,saving:O,onCancel:X,onDiscard:()=>D(null),onSave:ue}):null,children:C?(0,U.jsxs)(`div`,{className:`space-y-4`,children:[(0,U.jsx)(`div`,{className:`rounded-xl border border-edge-subtle bg-surface-panel px-3 py-3`,children:(0,U.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,U.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,U.jsx)(we,{entry:C}),(0,U.jsxs)(`div`,{className:`min-w-0`,children:[(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,U.jsx)(`h2`,{className:`truncate text-base font-semibold text-fg`,children:C.label}),(0,U.jsx)(`span`,{className:i(`shrink-0 rounded-full px-2 py-0.5 text-xs font-medium`,fe(C)),children:de(C,B)})]}),(0,U.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,U.jsx)(`span`,{className:`min-w-0 truncate`,children:W(C)?.[1].result===`qr`?B.scanLoginHint.replace(`{{channel}}`,C.label):C.description}),C.docsPath?(0,U.jsxs)(`a`,{href:C.docsPath,target:`_blank`,rel:`noreferrer`,className:`inline-flex shrink-0 items-center gap-1 text-accent hover:underline`,children:[B.docs,(0,U.jsx)(m,{className:`size-3.5`})]}):null]})]})]}),(0,U.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 pr-8`,children:[(0,U.jsx)(`span`,{className:`hidden text-xs text-fg-muted sm:inline`,children:B.enabledLabel}),(0,U.jsx)(Te,{checked:C.enabled===!0,disabled:M===C.id,label:B.toggleChannel.replace(`{{channel}}`,C.label),onToggle:()=>void Z(C)})]})]})}),Q?.entrypoint&&Q.placement===`before-config`?(0,U.jsx)(x,{extensionId:C.extensionId,extensionName:C.label,entrypoint:Q.entrypoint,permissions:Q.permissions,minHeight:Q.minHeight,maxHeight:Q.maxHeight,initialData:{channelId:C.id,entry:C,config:z}}):null,Q?.placement===`replace-config`?null:(0,U.jsx)(ne,{entry:C,locale:e,messages:B,autoStartPrimary:!0,compact:!0,onChanged:async()=>{await T(),await p.mutate(),await v()}},C.id),Q?.entrypoint&&Q.placement!==`before-config`?(0,U.jsx)(x,{extensionId:C.extensionId,extensionName:C.label,entrypoint:Q.entrypoint,permissions:Q.permissions,minHeight:Q.minHeight,maxHeight:Q.maxHeight,initialData:{channelId:C.id,entry:C,config:z}}):null,$?(0,U.jsxs)(`section`,{className:`rounded-xl border border-edge-subtle bg-surface-panel p-4`,children:[(0,U.jsxs)(`div`,{className:`mb-4`,children:[(0,U.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:B.basicConfiguration}),(0,U.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:B.basicConfigurationHint})]}),(0,U.jsx)(ee,{schema:K,values:z,onChange:e=>D(e),disabled:O,labels:J})]}):null,$&&ge(q)?(0,U.jsxs)(`details`,{className:`group rounded-xl border border-edge-subtle bg-surface-panel`,children:[(0,U.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,U.jsx)(j,{className:`size-4 text-fg-muted`}),B.advancedConfiguration]}),(0,U.jsx)(`div`,{className:`border-t border-edge-subtle p-4`,children:(0,U.jsx)(ee,{schema:q,values:z,onChange:e=>D(e),disabled:O,labels:J})})]}):null,L?(0,U.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:L}):null]}):null})]}):(0,U.jsx)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:(0,U.jsx)(`p`,{className:`text-sm text-fg-muted`,children:B.tokenRequired})})}export{ke as ChannelsSettingsPanel};
@@ -1,2 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-BN_WiUg0.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{c as s,i as c,n as l}from"./fetch-D9QqUtzZ.js";import{r as u}from"./toast-z0toXu32.js";import{$o as d,$r as f,Ai as p,Ci as m,Eo as h,Ja as g,La as _,Ni as v,Oa as y,Pa as b,Pi as x,Po as S,Qr as C,Sr as w,Wi as T,Wo as E,Xr as D,Yr as O,Zr as k,bi as A,cs as j,ei as M,ha as N,ja as P,ji as F,ka as I,la as L,lo as ee,ti as R,vi as te,vn as ne,xr as z,yn as re}from"./index-DefIdW9q.js";import{n as ie,t as ae}from"./settings-form-section-DZLy_exu.js";var B=e(t(),1),V=n(),oe=/^([^:=]+)[:=](.*)$/;function se(e){let t=e.trim();if(!t)return null;try{let e=JSON.parse(t);if(e&&typeof e==`object`&&!Array.isArray(e))return Object.entries(e).map(([e,t])=>({key:e,value:t==null?``:String(t)}))}catch{}let n=[];for(let e of t.split(/\r?\n/)){let t=e.trim();if(!t)continue;let r=oe.exec(t);r&&n.push({key:r[1].trim(),value:r[2].trim()})}return n.length>0?n:null}function ce(e){let t={};for(let n of e){let e=n.key.trim();e&&(t[e]=n.value)}return Object.keys(t).length>0?t:void 0}function le(e){if(!e||typeof e!=`object`)return[{key:``,value:``}];let t=Object.entries(e).map(([e,t])=>({key:e,value:t==null?``:String(t)}));return t.length>0?t:[{key:``,value:``}]}function H(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e.xopcConnector;return!!(t&&typeof t==`object`&&!Array.isArray(t)&&t.managed===!0)}function U(e){let t=e&&typeof e==`object`&&`mcp`in e?e.mcp:void 0,n=(t&&typeof t==`object`?t:{}).servers,r={};if(!n||typeof n!=`object`||Array.isArray(n))return r;for(let[e,t]of Object.entries(n))!t||typeof t!=`object`||Array.isArray(t)||H(t)&&(r[e]=t);return r}function ue(e){let t=e.trim();if(t)return t.split(/\s+/).filter(Boolean)}function de(e){let t=e.trim();if(!t)return;let n=JSON.parse(t);if(!n||typeof n!=`object`||Array.isArray(n))throw Error(`Expected a JSON object`);return n}function W(e){if(e.transport===`stdio`){let t={command:e.command.trim()},n=ue(e.argsText);return n?.length&&(t.args=n),e.cwd.trim()&&(t.cwd=e.cwd.trim()),e.envJson.trim()&&(t.env=de(e.envJson)),e.connectionTimeoutMs!=null&&Number.isFinite(e.connectionTimeoutMs)&&(t.connectionTimeoutMs=e.connectionTimeoutMs),t}let t={url:e.url.trim(),transport:e.transport},n=ce(e.headers);return n&&(t.headers=n),e.connectionTimeoutMs!=null&&Number.isFinite(e.connectionTimeoutMs)&&(t.connectionTimeoutMs=e.connectionTimeoutMs),t}function fe(e,t){let n=typeof t.url==`string`&&t.url.trim().length>0,r=typeof t.transport==`string`?t.transport.trim().toLowerCase():``,i=n?r===`sse`?`sse`:`streamable-http`:`stdio`,a=t.headers&&typeof t.headers==`object`&&!Array.isArray(t.headers)?t.headers:void 0;return{clientKey:e,id:e,transport:i,command:typeof t.command==`string`?t.command:``,argsText:Array.isArray(t.args)?t.args.map(String).join(` `):``,envJson:t.env&&typeof t.env==`object`?JSON.stringify(t.env,null,2):``,cwd:typeof t.cwd==`string`?t.cwd:typeof t.workingDirectory==`string`?t.workingDirectory:``,url:typeof t.url==`string`?t.url:``,headers:le(a),connectionTimeoutMs:typeof t.connectionTimeoutMs==`number`&&Number.isFinite(t.connectionTimeoutMs)?t.connectionTimeoutMs:void 0}}function pe(e=``){return{clientKey:crypto.randomUUID(),id:e,transport:`stdio`,command:``,argsText:``,envJson:``,cwd:``,url:``,headers:[{key:`Authorization`,value:``}],connectionTimeoutMs:void 0}}function me(e){let t=e&&typeof e==`object`&&`mcp`in e?e.mcp:void 0,n=t&&typeof t==`object`?t:{},r=n.servers,i=r&&typeof r==`object`&&!Array.isArray(r)?Object.entries(r).flatMap(([e,t])=>!t||typeof t!=`object`||Array.isArray(t)||H(t)?[]:[fe(e,t)]).sort((e,t)=>e.id.localeCompare(t.id)):[],a=typeof n.sessionIdleTtlMs==`number`?n.sessionIdleTtlMs:void 0;return{sessionIdleTtlMinutes:a==null?void 0:a===0?0:Math.round(a/6e4),servers:i}}function he(e){return W(e)}async function G(e,t={}){let n={};for(let r of e.servers){let e=r.id.trim();if(e){if(t[e])throw Error(`Server id "${e}" is reserved by an installed connector.`);n[e]=W(r)}}let r={servers:{...t,...n}};e.sessionIdleTtlMinutes!=null&&Number.isFinite(e.sessionIdleTtlMinutes)&&(r.sessionIdleTtlMs=e.sessionIdleTtlMinutes===0?0:Math.round(e.sessionIdleTtlMinutes*6e4)),await l(c(`/api/config`),{method:`PATCH`,body:JSON.stringify({mcp:r})}),z()}function ge(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(typeof n==`string`){let e=n.trim();e&&t.push({name:e});continue}if(!n||typeof n!=`object`)continue;let e=n;if(typeof e.name!=`string`)continue;let r=e.name.trim();if(!r)continue;let i=typeof e.shortName==`string`&&e.shortName.trim()?e.shortName.trim():void 0,a=typeof e.description==`string`&&e.description.trim()?e.description.trim():void 0;t.push({name:r,shortName:i,description:a})}return t}function _e(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n;if(typeof e.uri!=`string`||typeof e.name!=`string`)continue;let r=e.uri.trim(),i=e.name.trim();!r||!i||t.push({uri:r,name:i,title:typeof e.title==`string`&&e.title.trim()?e.title.trim():void 0,description:typeof e.description==`string`&&e.description.trim()?e.description.trim():void 0,mimeType:typeof e.mimeType==`string`&&e.mimeType.trim()?e.mimeType.trim():void 0})}return t}function ve(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n;if(typeof e.name!=`string`)continue;let r=e.name.trim();r&&t.push({name:r,title:typeof e.title==`string`&&e.title.trim()?e.title.trim():void 0,description:typeof e.description==`string`&&e.description.trim()?e.description.trim():void 0,argumentCount:typeof e.argumentCount==`number`?e.argumentCount:0})}return t}async function K(e,t){let n=await l(c(`/api/mcp/servers/${encodeURIComponent(e)}/test`),{method:`POST`,body:t?JSON.stringify({server:t}):void 0});if(!n.payload)throw Error(n.error??`MCP test failed`);let r=ge(n.payload.tools),i=_e(n.payload.resources),a=ve(n.payload.prompts);return{serverId:n.payload.serverId??e,toolCount:typeof n.payload.toolCount==`number`?n.payload.toolCount:r.length,resourceCount:typeof n.payload.resourceCount==`number`?n.payload.resourceCount:i.length,promptCount:typeof n.payload.promptCount==`number`?n.payload.promptCount:a.length,tools:r,resources:i,prompts:a}}function ye(e){return e.connectionTimeoutMs==null||!Number.isFinite(e.connectionTimeoutMs)?``:String(Math.round(e.connectionTimeoutMs/1e3))}function be(e){let t=e.trim();if(!t)return;let n=Number.parseInt(t,10);if(!(!Number.isFinite(n)||n<1||n>600))return n*1e3}function xe(e,t){let n=e.length+1,r=`server-${n}`,i=new Set([...e.map(e=>e.id.trim()),...t]);for(;i.has(r);)n+=1,r=`server-${n}`;return pe(r)}var q=r();function Se(e,t,n){let r=e.key.trim();if(r)return`key:${r}`;let i=e.value.trim();return i?`value:${i}`:`empty:${n.slice(0,t).filter(e=>!e.key.trim()&&!e.value.trim()).length}`}function J(){return i(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,p)}function Ce({label:e,optionalLabel:t,addLabel:n,removeHeaderAria:r,pasteLabel:a,pasteFailed:o,keyPlaceholder:s,valuePlaceholder:c,headers:l,onChange:u}){let d=(e,t)=>{u(l.map((n,r)=>r===e?{...n,...t}:n))},f=()=>{u([...l,{key:``,value:``}])},p=e=>{let t=l.filter((t,n)=>n!==e);u(t.length>0?t:[{key:``,value:``}])},h=async()=>{try{let e=await A();if(!e){window.alert(o);return}let t=se(e);if(!t?.length){window.alert(o);return}u(t)}catch{window.alert(o)}};return(0,q.jsxs)(`div`,{className:`flex flex-col gap-2 md:col-span-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5 text-sm font-medium text-fg`,children:[(0,q.jsx)(`span`,{children:e}),t?(0,q.jsx)(`span`,{className:`font-normal text-fg-subtle`,children:t}):null]}),(0,q.jsxs)(F,{type:`button`,variant:`ghost`,className:`h-8 gap-1.5 px-2 text-xs`,onClick:()=>void h(),children:[(0,q.jsx)(E,{className:`size-3.5`,"aria-hidden":!0}),a]})]}),(0,q.jsx)(`div`,{className:`flex flex-col gap-2`,children:l.map((e,t)=>(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(`input`,{className:i(J(),`min-w-0 flex-1 font-mono text-xs`),value:e.key,placeholder:s,onChange:e=>d(t,{key:e.target.value})}),(0,q.jsx)(`input`,{className:i(J(),`min-w-0 flex-[1.4] font-mono text-xs`),value:e.value,placeholder:c,onChange:e=>d(t,{value:e.target.value})}),(0,q.jsx)(F,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 px-0`,disabled:l.length<=1&&!e.key&&!e.value,onClick:()=>p(t),"aria-label":r,children:(0,q.jsx)(T,{className:`size-4 text-fg-subtle`,"aria-hidden":!0})})]},Se(e,t,l)))}),(0,q.jsxs)(`button`,{type:`button`,className:i(`self-start text-sm text-accent hover:underline`,m.press),onClick:f,children:[`+ `,n]})]})}var we=[`stdio`,`sse`,`streamable-http`];function Y(e){let t=(0,V.c)(11),{label:n,description:r,required:i,children:a}=e,o;t[0]===i?o=t[1]:(o=i?(0,q.jsx)(`span`,{className:`ml-0.5 text-danger`,children:`*`}):null,t[0]=i,t[1]=o);let s;t[2]!==n||t[3]!==o?(s=(0,q.jsxs)(`div`,{className:`text-sm font-medium text-fg`,children:[n,o]}),t[2]=n,t[3]=o,t[4]=s):s=t[4];let c;t[5]===r?c=t[6]:(c=r?(0,q.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-subtle`,children:r}):null,t[5]=r,t[6]=c);let l;return t[7]!==a||t[8]!==s||t[9]!==c?(l=(0,q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[s,a,c]}),t[7]=a,t[8]=s,t[9]=c,t[10]=l):l=t[10],l}function X(){return i(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,p)}function Te(e){let t=(0,V.c)(67),{row:n,t:r,onUpdate:a,idConflictMessage:o}=e,s=r.transportLabel,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=X(),t[0]=c):c=t[0];let l=n.transport,u;t[1]===a?u=t[2]:(u=e=>a({transport:e.target.value}),t[1]=a,t[2]=u);let d;t[3]===r.transportLabels?d=t[4]:(d=we.map(e=>(0,q.jsx)(`option`,{value:e,children:r.transportLabels[e]},e)),t[3]=r.transportLabels,t[4]=d);let f;t[5]!==n.transport||t[6]!==u||t[7]!==d?(f=(0,q.jsx)(`select`,{className:c,value:l,onChange:u,children:d}),t[5]=n.transport,t[6]=u,t[7]=d,t[8]=f):f=t[8];let p;t[9]!==r.transportLabel||t[10]!==f?(p=(0,q.jsx)(Y,{label:s,required:!0,children:f}),t[9]=r.transportLabel,t[10]=f,t[11]=p):p=t[11];let m=r.serverIdLabel,h;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(h=X(),t[12]=h):h=t[12];let g;t[13]===a?g=t[14]:(g=e=>a({id:e.target.value}),t[13]=a,t[14]=g);let _;t[15]!==n.id||t[16]!==r.serverIdPlaceholder||t[17]!==g?(_=(0,q.jsx)(`input`,{className:h,value:n.id,placeholder:r.serverIdPlaceholder,onChange:g}),t[15]=n.id,t[16]=r.serverIdPlaceholder,t[17]=g,t[18]=_):_=t[18];let v;t[19]===o?v=t[20]:(v=o?(0,q.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-300`,children:o}):null,t[19]=o,t[20]=v);let y;t[21]!==r.serverIdLabel||t[22]!==_||t[23]!==v?(y=(0,q.jsxs)(Y,{label:m,required:!0,children:[_,v]}),t[21]=r.serverIdLabel,t[22]=_,t[23]=v,t[24]=y):y=t[24];let b;t[25]!==a||t[26]!==n.argsText||t[27]!==n.command||t[28]!==n.cwd||t[29]!==n.envJson||t[30]!==n.headers||t[31]!==n.transport||t[32]!==n.url||t[33]!==r.addHeader||t[34]!==r.argsHint||t[35]!==r.argsLabel||t[36]!==r.commandLabel||t[37]!==r.cwdLabel||t[38]!==r.envHint||t[39]!==r.envLabel||t[40]!==r.headerKeyPlaceholder||t[41]!==r.headerValuePlaceholder||t[42]!==r.headersLabel||t[43]!==r.optionalSuffix||t[44]!==r.pasteHeaders||t[45]!==r.pasteHeadersFailed||t[46]!==r.removeHeader||t[47]!==r.urlLabel?(b=n.transport===`stdio`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Y,{label:r.commandLabel,required:!0,children:(0,q.jsx)(`input`,{className:X(),value:n.command,onChange:e=>a({command:e.target.value})})}),(0,q.jsx)(Y,{label:r.argsLabel,description:r.argsHint,children:(0,q.jsx)(`input`,{className:X(),value:n.argsText,onChange:e=>a({argsText:e.target.value})})}),(0,q.jsx)(Y,{label:r.cwdLabel,children:(0,q.jsx)(`input`,{className:X(),value:n.cwd,onChange:e=>a({cwd:e.target.value})})}),(0,q.jsx)(Y,{label:r.envLabel,description:r.envHint,children:(0,q.jsx)(`textarea`,{className:i(X(),`min-h-[4rem] font-mono text-xs`),value:n.envJson,onChange:e=>a({envJson:e.target.value})})})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`md:col-span-2`,children:(0,q.jsx)(Y,{label:r.urlLabel,required:!0,children:(0,q.jsx)(`input`,{className:i(X(),`font-mono text-xs`),value:n.url,placeholder:`https://example.com/mcp`,onChange:e=>a({url:e.target.value})})})}),(0,q.jsx)(Ce,{label:r.headersLabel,optionalLabel:r.optionalSuffix,addLabel:r.addHeader,removeHeaderAria:r.removeHeader,pasteLabel:r.pasteHeaders,pasteFailed:r.pasteHeadersFailed,keyPlaceholder:r.headerKeyPlaceholder,valuePlaceholder:r.headerValuePlaceholder,headers:n.headers,onChange:e=>a({headers:e})})]}),t[25]=a,t[26]=n.argsText,t[27]=n.command,t[28]=n.cwd,t[29]=n.envJson,t[30]=n.headers,t[31]=n.transport,t[32]=n.url,t[33]=r.addHeader,t[34]=r.argsHint,t[35]=r.argsLabel,t[36]=r.commandLabel,t[37]=r.cwdLabel,t[38]=r.envHint,t[39]=r.envLabel,t[40]=r.headerKeyPlaceholder,t[41]=r.headerValuePlaceholder,t[42]=r.headersLabel,t[43]=r.optionalSuffix,t[44]=r.pasteHeaders,t[45]=r.pasteHeadersFailed,t[46]=r.removeHeader,t[47]=r.urlLabel,t[48]=b):b=t[48];let x=r.timeoutLabel,S=r.timeoutHint,C;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(C=X(),t[49]=C):C=t[49];let w;t[50]===n?w=t[51]:(w=ye(n),t[50]=n,t[51]=w);let T;t[52]===a?T=t[53]:(T=e=>a({connectionTimeoutMs:be(e.target.value)}),t[52]=a,t[53]=T);let E;t[54]!==r.timeoutPlaceholder||t[55]!==w||t[56]!==T?(E=(0,q.jsx)(`input`,{type:`number`,min:1,max:600,className:C,value:w,placeholder:r.timeoutPlaceholder,onChange:T}),t[54]=r.timeoutPlaceholder,t[55]=w,t[56]=T,t[57]=E):E=t[57];let D;t[58]!==r.timeoutHint||t[59]!==r.timeoutLabel||t[60]!==E?(D=(0,q.jsx)(Y,{label:x,description:S,children:E}),t[58]=r.timeoutHint,t[59]=r.timeoutLabel,t[60]=E,t[61]=D):D=t[61];let O;return t[62]!==y||t[63]!==b||t[64]!==D||t[65]!==p?(O=(0,q.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[p,y,b,D]}),t[62]=y,t[63]=b,t[64]=D,t[65]=p,t[66]=O):O=t[66],O}function Ee(e,t){return e?t&&e.startsWith(t)?e.slice(t.length):e:``}function De(e,t,n){let r=t.trim().toLowerCase();if(!r)return!0;let i=e.shortName||Ee(e.name,n);return[e.name,i,e.description].filter(Boolean).join(`
2
- `).toLowerCase().includes(r)}function Oe(e,t){return e?t&&e.startsWith(t)?e.slice(t.length):e:``}function ke(e){let t=(0,V.c)(29),{tools:n,stripPrefix:r,searchPlaceholder:a,searchEmptyLabel:o}=e,[s,c]=(0,B.useState)(``),l;if(t[0]!==s||t[1]!==r||t[2]!==n){let e;t[4]!==s||t[5]!==r?(e=e=>De(e,s,r),t[4]=s,t[5]=r,t[6]=e):e=t[6],l=n.filter(e),t[0]=s,t[1]=r,t[2]=n,t[3]=l}else l=t[3];let u=l,d;t[7]===s?d=t[8]:(d=s.trim(),t[7]=s,t[8]=d);let f=d.length>0,m;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,q.jsx)(N,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[9]=m):m=t[9];let h,g;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(h=i(`w-full rounded-lg border border-edge bg-surface-panel py-2 pl-9 pr-3 text-sm text-fg`,`placeholder:text-fg-subtle`,p),g=e=>c(e.target.value),t[10]=h,t[11]=g):(h=t[10],g=t[11]);let _;t[12]!==s||t[13]!==a?(_=(0,q.jsxs)(`div`,{className:`relative`,children:[m,(0,q.jsx)(`input`,{type:`search`,value:s,placeholder:a,"aria-label":a,className:h,onChange:g})]}),t[12]=s,t[13]=a,t[14]=_):_=t[14];let v;t[15]!==u.length||t[16]!==f||t[17]!==n.length?(v=f?(0,q.jsxs)(`p`,{className:`mt-2 text-xs text-fg-subtle`,children:[u.length,` / `,n.length]}):null,t[15]=u.length,t[16]=f,t[17]=n.length,t[18]=v):v=t[18];let y;t[19]!==_||t[20]!==v?(y=(0,q.jsxs)(`div`,{className:`border-b border-edge px-5 py-3`,children:[_,v]}),t[19]=_,t[20]=v,t[21]=y):y=t[21];let b;t[22]!==u||t[23]!==o||t[24]!==r?(b=(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-4`,children:u.length===0?(0,q.jsx)(`p`,{className:`text-sm text-fg-muted`,children:o}):(0,q.jsx)(`ul`,{className:`flex flex-col gap-2`,children:u.map((e,t)=>{let n=e.shortName||Oe(e.name,r)||e.name||`?`,i=e.name||`tool-${t}`;return(0,q.jsxs)(`li`,{className:`min-w-0 rounded-lg border border-edge bg-surface-base px-3 py-2.5`,children:[(0,q.jsx)(`div`,{className:`truncate font-mono text-sm font-medium text-fg`,title:e.name===n?n:e.name,children:n}),e.description?(0,q.jsx)(`p`,{className:`mt-1 truncate text-xs leading-relaxed text-fg-muted`,title:e.description,children:e.description}):null]},i)})})}),t[22]=u,t[23]=o,t[24]=r,t[25]=b):b=t[25];let x;return t[26]!==y||t[27]!==b?(x=(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[y,b]}),t[26]=y,t[27]=b,t[28]=x):x=t[28],x}function Z(e){let t=(0,V.c)(38),{open:n,onOpenChange:r,serverId:a,title:o,subtitle:s,searchPlaceholder:c,searchEmptyLabel:l,emptyLabel:u,closeLabel:d,tools:p,stripPrefix:m}=e,h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,q.jsx)(C,{className:i(`xopc-dialog-overlay fixed inset-0 bg-scrim backdrop-blur-[1px]`,re)}),t[0]=h):h=t[0];let g;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(g=i(`fixed left-1/2 top-1/2 flex max-h-[min(88vh,40rem)] w-[min(100%-2rem,min(92vw,36rem))] -translate-x-1/2 -translate-y-1/2 flex-col`,ne,`rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none dark:border-edge`),t[1]=g):g=t[1];let _;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,q.jsx)(x,{className:`size-4 shrink-0 text-accent`,"aria-hidden":!0}),t[2]=_):_=t[2];let y;t[3]===o?y=t[4]:(y=(0,q.jsxs)(R,{className:`flex items-center gap-2 text-base font-semibold text-fg`,children:[_,o]}),t[3]=o,t[4]=y);let b;t[5]!==a||t[6]!==s||t[7]!==p.length?(b=s.replace(`{{serverId}}`,a).replace(`{{count}}`,String(p.length)),t[5]=a,t[6]=s,t[7]=p.length,t[8]=b):b=t[8];let S;t[9]===b?S=t[10]:(S=(0,q.jsx)(k,{className:`mt-1 text-sm text-fg-muted`,children:b}),t[9]=b,t[10]=S);let w;t[11]!==y||t[12]!==S?(w=(0,q.jsxs)(`div`,{className:`min-w-0`,children:[y,S]}),t[11]=y,t[12]=S,t[13]=w):w=t[13];let T;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,q.jsx)(v,{className:`size-4`,"aria-hidden":!0}),t[14]=T):T=t[14];let E;t[15]===d?E=t[16]:(E=(0,q.jsx)(O,{asChild:!0,children:(0,q.jsx)(F,{type:`button`,variant:`ghost`,className:`size-8 shrink-0 px-0`,"aria-label":d,children:T})}),t[15]=d,t[16]=E);let A;t[17]!==w||t[18]!==E?(A=(0,q.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-edge px-5 py-4`,children:[w,E]}),t[17]=w,t[18]=E,t[19]=A):A=t[19];let j;t[20]!==u||t[21]!==n||t[22]!==l||t[23]!==c||t[24]!==a||t[25]!==m||t[26]!==p?(j=p.length>0?(0,q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,q.jsx)(ke,{tools:p,stripPrefix:m,searchPlaceholder:c,searchEmptyLabel:l},`${a}-${n?`open`:`closed`}`)}):(0,q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-4`,children:(0,q.jsx)(`p`,{className:`text-sm text-fg-muted`,children:u})}),t[20]=u,t[21]=n,t[22]=l,t[23]=c,t[24]=a,t[25]=m,t[26]=p,t[27]=j):j=t[27];let N;t[28]===d?N=t[29]:(N=(0,q.jsx)(`div`,{className:`flex justify-end border-t border-edge px-5 py-3`,children:(0,q.jsx)(O,{asChild:!0,children:(0,q.jsx)(F,{type:`button`,variant:`secondary`,children:d})})}),t[28]=d,t[29]=N);let P;t[30]!==A||t[31]!==j||t[32]!==N?(P=(0,q.jsxs)(f,{children:[h,(0,q.jsxs)(D,{className:g,children:[A,j,N]})]}),t[30]=A,t[31]=j,t[32]=N,t[33]=P):P=t[33];let I;return t[34]!==r||t[35]!==n||t[36]!==P?(I=(0,q.jsx)(M,{open:n,onOpenChange:r,children:P}),t[34]=r,t[35]=n,t[36]=P,t[37]=I):I=t[37],I}function Ae({open:e,mode:t,initialRow:n,existingCustomServers:r,sessionIdleTtlMinutes:i,config:a,managedServerIds:o,t:s,cs:c,onClose:l,onSaved:u}){let[f,p]=(0,B.useState)(n),[m,h]=(0,B.useState)(!1),[_,v]=(0,B.useState)(!1),[y,b]=(0,B.useState)(null),[S,C]=(0,B.useState)({status:`idle`}),[w,T]=(0,B.useState)(null),E=n.id.trim(),D=f.id.trim()!==E&&o.has(f.id.trim())||o.has(f.id.trim())&&t===`add`?s.reservedServerId:void 0,O=f.id.trim()&&r.some(e=>e.clientKey!==n.clientKey&&e.id.trim()===f.id.trim())?c.duplicateServerId:void 0,k=f.id.trim().length>0&&!D&&!O&&(f.transport===`stdio`?f.command.trim().length>0:f.url.trim().length>0),A=(0,B.useCallback)(async()=>{if(f.id.trim()){v(!0),b(null),C({status:`loading`});try{C({status:`ok`,tools:(await K(f.id.trim(),he(f))).tools})}catch(e){C({status:`error`,message:e instanceof Error?e.message:String(e)})}finally{v(!1)}}},[f]),j=(0,B.useCallback)(async()=>{if(!(!k||m)){h(!0),b(null);try{let e=r.filter(e=>!(t===`edit`&&e.clientKey===n.clientKey));e.push(f),await G({sessionIdleTtlMinutes:i,servers:e.sort((e,t)=>e.id.localeCompare(t.id))},U(a)),await u(),l()}catch(e){b(e instanceof Error?e.message:String(e))}finally{h(!1)}}},[k,a,r,n.clientKey,t,l,u,E,f,m,i]);return e?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/35 px-4 py-8`,children:(0,q.jsxs)(`div`,{className:`max-h-full w-full max-w-2xl overflow-auto rounded-3xl border border-edge bg-surface-base p-5 shadow-2xl`,children:[(0,q.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{className:`text-lg font-semibold text-fg`,children:t===`add`?c.addCustomServerTitle:c.editCustomServerTitle}),(0,q.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:t===`add`?c.addCustomServerHint:c.editCustomServerHint})]}),(0,q.jsx)(F,{variant:`ghost`,onClick:l,children:c.modalClose})]}),(0,q.jsxs)(`div`,{className:`mt-5 flex flex-col gap-4`,children:[(0,q.jsx)(Te,{row:f,t:s,onUpdate:e=>{p(t=>({...t,...e})),b(null)},idConflictMessage:D??O}),S.status===`ok`?(0,q.jsx)(`div`,{className:`rounded-xl border border-edge bg-surface-panel px-3 py-2.5`,children:(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-fg`,children:[(0,q.jsx)(x,{className:`size-4 text-accent`,"aria-hidden":!0}),S.tools.length===0?s.toolsEmpty:s.toolsTitle.replace(`{{count}}`,String(S.tools.length))]}),S.tools.length>0?(0,q.jsx)(F,{type:`button`,variant:`ghost`,className:`h-8 text-xs`,onClick:()=>T(S.tools),children:s.viewAllTools}):null]})}):null,S.status===`error`?(0,q.jsx)(`p`,{className:`rounded-xl bg-red-500/10 px-3 py-2 text-sm text-red-600`,children:S.message}):null,y?(0,q.jsx)(`p`,{className:`rounded-xl bg-red-500/10 px-3 py-2 text-sm text-red-600`,children:y}):null]}),(0,q.jsxs)(`div`,{className:`mt-5 flex flex-wrap justify-end gap-2`,children:[(0,q.jsxs)(F,{variant:`secondary`,disabled:!f.id.trim()||_,onClick:()=>void A(),children:[_?(0,q.jsx)(g,{className:`size-4 animate-spin`}):(0,q.jsx)(P,{className:`size-4`}),s.testConnection]}),(0,q.jsx)(F,{variant:`secondary`,onClick:l,children:c.modalCancel}),(0,q.jsxs)(F,{variant:`primary`,disabled:!k||m,onClick:()=>void j(),children:[m?(0,q.jsx)(g,{className:`size-4 animate-spin`}):(0,q.jsx)(d,{className:`size-4`}),m?s.saving:c.modalSave]})]})]})}),w?(0,q.jsx)(Z,{open:!0,onOpenChange:e=>{e||T(null)},serverId:f.id,title:s.toolsDialogTitle,subtitle:s.toolsDialogSubtitle,searchPlaceholder:s.toolsDialogSearchPlaceholder,searchEmptyLabel:s.toolsDialogSearchEmpty,emptyLabel:s.toolsEmpty,closeLabel:s.toolsDialogClose,tools:w,stripPrefix:`${f.id.trim()}__`}):null]}):null}function je(e){if(e.transport===`stdio`){let t=e.command.trim();if(!t)return``;let n=e.argsText.trim();return n?`${t} ${n}`:t}return e.url.trim()}function Q(e,t){if(!e.payload)throw Error(e.error??t);return e.payload}async function Me(){return Q(await l(c(`/api/connectors/catalog`)),`Could not load connector catalog.`).connectors}async function Ne(){return Q(await l(c(`/api/connectors/installed`)),`Could not load installed connectors.`).instances}async function Pe(e){return Q(await l(c(`/api/connectors/${encodeURIComponent(e)}/oauth/start`),{method:`POST`}),`Could not start connector OAuth.`).oauth}async function Fe(e,t){return Q(await l(c(`/api/connectors/${encodeURIComponent(e)}/oauth/complete`),{method:`POST`,body:JSON.stringify({deviceCode:t})}),`Could not complete connector OAuth.`).oauth}async function Ie(e,t){let n=await l(c(`/api/connectors/${encodeURIComponent(e)}/install`),{method:`POST`,body:JSON.stringify(t)});return z(),Q(n,`Could not install connector.`).instance}async function Le(e){await l(c(`/api/connectors/${encodeURIComponent(e)}`),{method:`DELETE`}),z()}async function Re(e){return Q(await l(c(`/api/connectors/${encodeURIComponent(e)}/test`),{method:`POST`}),`Connector test failed.`)}var $=i(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,p),ze=i($,`min-h-28 font-mono`);function Be(e,t){let n=t.trim();return e===`json`?n?JSON.parse(n):void 0:e===`number`?n?Number(n):void 0:e===`boolean`?n===`true`:n||void 0}function Ve(e){let t={};for(let n of e.setup.secrets??[])t[n.key]=``;let n={};for(let t of e.setup.config??[])n[t.key]=t.defaultValue===void 0?``:typeof t.defaultValue==`string`?t.defaultValue:JSON.stringify(t.defaultValue,null,2);return{connector:e,secrets:t,config:n,installing:!1,error:null,result:null,health:null,oauth:{flow:null,connected:e.auth.mode!==`oauth`}}}function He(e,t){return t.some(t=>t.connectorId===e.id)}function Ue(e){let t=(0,V.c)(55),{connector:n,installed:r,onInstall:i}=e,a,o,s,c,l,u,f;if(t[0]!==n.capabilities||t[1]!==n.category||t[2]!==n.description||t[3]!==n.displayName||t[4]!==r){let e=n.capabilities.slice(0,4);a=Math.max(0,n.capabilities.length-e.length),f=`flex min-h-60 flex-col rounded-lg border border-edge bg-surface-panel p-4 shadow-surface transition-colors hover:border-accent/50`,c=`flex min-w-0 flex-1 flex-col`;let i;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,q.jsx)(`div`,{className:`flex size-10 shrink-0 items-center justify-center rounded-lg bg-accent-soft text-accent-fg`,children:(0,q.jsx)(j,{className:`size-5`,"aria-hidden":!0})}),t[12]=i):i=t[12];let p;t[13]===n.displayName?p=t[14]:(p=(0,q.jsx)(`h3`,{className:`truncate text-sm font-semibold text-fg`,children:n.displayName}),t[13]=n.displayName,t[14]=p);let m;t[15]===n.category?m=t[16]:(m=(0,q.jsx)(`p`,{className:`mt-1 text-xs uppercase tracking-wide text-fg-subtle`,children:n.category}),t[15]=n.category,t[16]=m);let h;t[17]!==p||t[18]!==m?(h=(0,q.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[i,(0,q.jsxs)(`div`,{className:`min-w-0`,children:[p,m]})]}),t[17]=p,t[18]=m,t[19]=h):h=t[19];let g;t[20]===r?g=t[21]:(g=r?(0,q.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded-full border border-emerald-500/30 bg-emerald-500/10 px-2 py-0.5 text-[11px] font-medium text-emerald-700 dark:text-emerald-300`,children:[(0,q.jsx)(d,{className:`size-3`,"aria-hidden":!0}),`Installed`]}):null,t[20]=r,t[21]=g),t[22]!==h||t[23]!==g?(l=(0,q.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[h,g]}),t[22]=h,t[23]=g,t[24]=l):l=t[24],t[25]===n.description?u=t[26]:(u=(0,q.jsx)(`p`,{className:`mt-4 line-clamp-3 text-sm leading-6 text-fg-muted`,children:n.description}),t[25]=n.description,t[26]=u),o=`mt-4 flex flex-wrap gap-1.5`,s=e.map(Ge),t[0]=n.capabilities,t[1]=n.category,t[2]=n.description,t[3]=n.displayName,t[4]=r,t[5]=a,t[6]=o,t[7]=s,t[8]=c,t[9]=l,t[10]=u,t[11]=f}else a=t[5],o=t[6],s=t[7],c=t[8],l=t[9],u=t[10],f=t[11];let p;t[27]===a?p=t[28]:(p=a>0?(0,q.jsxs)(`span`,{className:`rounded-md border border-edge bg-surface-base px-2 py-0.5 text-[11px] text-fg-subtle`,children:[`+`,a]}):null,t[27]=a,t[28]=p);let m;t[29]!==o||t[30]!==s||t[31]!==p?(m=(0,q.jsxs)(`div`,{className:o,children:[s,p]}),t[29]=o,t[30]=s,t[31]=p,t[32]=m):m=t[32];let h;t[33]!==c||t[34]!==l||t[35]!==u||t[36]!==m?(h=(0,q.jsxs)(`div`,{className:c,children:[l,u,m]}),t[33]=c,t[34]=l,t[35]=u,t[36]=m,t[37]=h):h=t[37];let g;t[38]===n.tags?g=t[39]:(g=n.tags?.length?(0,q.jsx)(`div`,{className:`mt-4 flex flex-wrap gap-1.5 border-t border-edge pt-3`,children:n.tags.slice(0,4).map(We)}):null,t[38]=n.tags,t[39]=g);let v;t[40]!==n||t[41]!==i?(v=()=>i(n),t[40]=n,t[41]=i,t[42]=v):v=t[42];let y;t[43]===r?y=t[44]:(y=r?(0,q.jsx)(d,{className:`size-4`}):(0,q.jsx)(_,{className:`size-4`}),t[43]=r,t[44]=y);let b=r?`Installed`:`Install`,x;t[45]!==r||t[46]!==v||t[47]!==y||t[48]!==b?(x=(0,q.jsx)(`div`,{className:`mt-4 flex items-center justify-end`,children:(0,q.jsxs)(F,{variant:`secondary`,disabled:r,className:`w-full justify-center`,onClick:v,children:[y,b]})}),t[45]=r,t[46]=v,t[47]=y,t[48]=b,t[49]=x):x=t[49];let S;return t[50]!==g||t[51]!==x||t[52]!==f||t[53]!==h?(S=(0,q.jsxs)(`div`,{className:f,children:[h,g,x]}),t[50]=g,t[51]=x,t[52]=f,t[53]=h,t[54]=S):S=t[54],S}function We(e){return(0,q.jsx)(`span`,{className:`rounded-full border border-edge px-2 py-0.5 text-[11px] text-fg-subtle`,children:e},e)}function Ge(e){return(0,q.jsx)(`span`,{className:`rounded-md border border-edge bg-surface-base px-2 py-0.5 text-[11px] text-fg-muted`,children:e},e)}function Ke({draft:e,onChange:t,onClose:n,onInstalled:r}){let{connector:i}=e,a=(0,B.useCallback)(async()=>{t({...e,installing:!0,error:null});try{let n=await Pe(i.id);window.open(n.verificationUri,`_blank`,`noopener,noreferrer`),t({...e,installing:!1,error:null,oauth:{flow:n,connected:!1}})}catch(n){t({...e,installing:!1,error:n instanceof Error?n.message:String(n)})}},[i.id,e,t]),o=(0,B.useCallback)(async()=>{if(e.oauth.flow){t({...e,installing:!0,error:null});try{await Fe(i.id,e.oauth.flow.deviceCode),t({...e,installing:!1,error:null,oauth:{...e.oauth,connected:!0}})}catch(n){t({...e,installing:!1,error:n instanceof Error?n.message:String(n)})}}},[i.id,e,t]),s=(0,B.useCallback)(async()=>{t({...e,installing:!0,error:null,result:null,health:null});try{if(i.auth.mode===`oauth`&&!e.oauth.connected)throw Error(`Connect GitHub OAuth before installing this connector.`);let n={};for(let t of i.setup.config??[]){let r=Be(t.type,e.config[t.key]??``);r!==void 0&&(n[t.key]=r)}let a=await Ie(i.id,{secrets:e.secrets,config:n}),o=null;try{o=await Re(a.instanceId)}catch{o=null}t({...e,installing:!1,result:a,health:o}),await r()}catch(n){t({...e,installing:!1,error:n instanceof Error?n.message:String(n)})}},[i.auth.mode,i.id,i.setup.config,e,t,r]);return(0,q.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/35 px-4 py-8`,children:(0,q.jsxs)(`div`,{className:`max-h-full w-full max-w-2xl overflow-auto rounded-3xl border border-edge bg-surface-base p-5 shadow-2xl`,children:[(0,q.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`h2`,{className:`text-lg font-semibold text-fg`,children:[`Install `,i.displayName]}),(0,q.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:i.description})]}),(0,q.jsx)(F,{variant:`ghost`,onClick:n,children:`Close`})]}),(0,q.jsxs)(`div`,{className:`mt-5 flex flex-col gap-4`,children:[i.auth.mode===`oauth`?(0,q.jsxs)(`div`,{className:`rounded-2xl border border-edge bg-surface-panel p-4`,children:[(0,q.jsx)(`p`,{className:`text-sm font-semibold text-fg`,children:`Connect with GitHub`}),(0,q.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:`Authorize xopc in GitHub, then return here to finish the connection.`}),e.oauth.flow?(0,q.jsxs)(`div`,{className:`mt-3 rounded-xl bg-surface-base p-3 text-sm text-fg-muted`,children:[(0,q.jsxs)(`p`,{children:[`Open `,(0,q.jsx)(`span`,{className:`font-medium text-fg`,children:e.oauth.flow.verificationUri}),` and enter this code:`]}),(0,q.jsx)(`p`,{className:`mt-2 font-mono text-lg font-semibold tracking-widest text-fg`,children:e.oauth.flow.userCode})]}):null,e.oauth.connected?(0,q.jsx)(`p`,{className:`mt-3 rounded-xl bg-emerald-500/10 px-3 py-2 text-sm text-emerald-700`,children:`GitHub connected. You can install this connector now.`}):null,(0,q.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,q.jsxs)(F,{variant:`secondary`,disabled:e.installing,onClick:()=>void a(),children:[e.installing&&!e.oauth.flow?(0,q.jsx)(g,{className:`size-4 animate-spin`}):(0,q.jsx)(P,{className:`size-4`}),`Connect GitHub`]}),(0,q.jsxs)(F,{variant:`primary`,disabled:e.installing||!e.oauth.flow,onClick:()=>void o(),children:[e.installing&&e.oauth.flow?(0,q.jsx)(g,{className:`size-4 animate-spin`}):(0,q.jsx)(d,{className:`size-4`}),`I authorized GitHub`]})]})]}):null,(i.setup.secrets??[]).map(n=>(0,q.jsxs)(`label`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:n.label}),n.description?(0,q.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:n.description}):null,(0,q.jsx)(te,{value:e.secrets[n.key]??``,onChange:r=>t({...e,secrets:{...e.secrets,[n.key]:r},error:null}),labels:{show:`Show`,hide:`Hide`,copy:`Copy`,copied:`Copied`},placeholder:n.required?`Required`:`Optional`})]},n.key)),(i.setup.config??[]).map(n=>(0,q.jsxs)(`label`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:n.label}),n.type===`json`?(0,q.jsx)(`textarea`,{className:ze,value:e.config[n.key]??``,placeholder:n.placeholder,onChange:r=>t({...e,config:{...e.config,[n.key]:r.currentTarget.value},error:null})}):(0,q.jsx)(`input`,{className:$,value:e.config[n.key]??``,placeholder:n.placeholder,onChange:r=>t({...e,config:{...e.config,[n.key]:r.currentTarget.value},error:null})})]},n.key)),e.error?(0,q.jsx)(`p`,{className:`rounded-xl bg-red-500/10 px-3 py-2 text-sm text-red-600`,children:e.error}):null,e.result?(0,q.jsxs)(`div`,{className:`rounded-2xl border border-edge bg-surface-panel p-3 text-sm text-fg-muted`,children:[(0,q.jsxs)(`p`,{className:`font-medium text-fg`,children:[`Installed as `,e.result.materialized.serverId]}),e.health?(0,q.jsxs)(`p`,{className:`mt-1`,children:[e.health.toolCount,` tools, `,e.health.resourceCount,` resources,`,` `,e.health.promptCount,` prompts discovered.`]}):(0,q.jsx)(`p`,{className:`mt-1`,children:`Installed. Capabilities can be tested from Installed.`})]}):null]}),(0,q.jsxs)(`div`,{className:`mt-5 flex justify-end gap-2`,children:[(0,q.jsx)(F,{variant:`secondary`,onClick:n,children:`Done`}),(0,q.jsxs)(F,{variant:`primary`,disabled:e.installing||i.auth.mode===`oauth`&&!e.oauth.connected,onClick:()=>void s(),children:[e.installing?(0,q.jsx)(g,{className:`size-4 animate-spin`}):(0,q.jsx)(_,{className:`size-4`}),`Install`]})]})]})})}function qe({instance:e,onChanged:t}){let[n,r]=(0,B.useState)(!1),[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(null),[l,u]=(0,B.useState)(`health`),[d,f]=(0,B.useState)(!1),[p,m]=(0,B.useState)(null),_=(0,B.useCallback)(async()=>{r(!0),m(null);try{let n=await Re(e.instanceId);c(n),n.toolCount>0&&u(`tools`),await t()}catch(e){m(e instanceof Error?e.message:String(e))}finally{r(!1)}},[e.instanceId,t]),v=(0,B.useCallback)(async()=>{o(!0),m(null);try{await Le(e.instanceId),await t()}catch(e){m(e instanceof Error?e.message:String(e)),o(!1)}},[e.instanceId,t]),y=s?s.toolCount:e.usage.lastToolCount;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`rounded-2xl border border-edge bg-surface-panel p-4 shadow-surface`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:e.displayName}),(0,q.jsx)(`span`,{className:`rounded-full border border-edge bg-surface-base px-2 py-0.5 text-[11px] text-fg-muted`,children:`catalog`})]}),(0,q.jsxs)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:[`MCP server: `,e.materialized.serverId]})]}),(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,q.jsxs)(F,{variant:`secondary`,disabled:n,onClick:()=>void _(),children:[n?(0,q.jsx)(g,{className:`size-4 animate-spin`}):(0,q.jsx)(P,{className:`size-4`}),`Test`]}),(0,q.jsxs)(F,{variant:`ghost`,disabled:a,onClick:()=>void v(),children:[a?(0,q.jsx)(g,{className:`size-4 animate-spin`}):(0,q.jsx)(T,{className:`size-4`}),`Remove`]})]})]}),p?(0,q.jsx)(`p`,{className:`mt-3 rounded-xl bg-red-500/10 px-3 py-2 text-sm text-red-600`,children:p}):null,(0,q.jsx)(`div`,{className:`mt-4 flex flex-wrap gap-2`,children:[[`health`,L,`Health`],[`tools`,x,`Tools ${s?s.toolCount:e.usage.lastToolCount??``}`],[`resources`,S,`Resources ${s?s.resourceCount:e.usage.lastResourceCount??``}`],[`prompts`,h,`Prompts ${s?s.promptCount:e.usage.lastPromptCount??``}`],[`permissions`,ee,`Permissions`]].map(([e,t,n])=>(0,q.jsxs)(`button`,{type:`button`,className:i(`inline-flex h-8 items-center gap-1.5 rounded-md border px-2.5 text-xs`,l===e?`border-accent bg-accent-soft text-accent-fg`:`border-edge bg-surface-base text-fg-muted hover:text-fg`),onClick:()=>u(e),children:[(0,q.jsx)(t,{className:`size-3.5`,"aria-hidden":!0}),n]},e))}),(0,q.jsxs)(`div`,{className:`mt-3 rounded-xl border border-edge bg-surface-base p-3 text-sm`,children:[l===`health`?(0,q.jsxs)(`div`,{className:`space-y-1 text-fg-muted`,children:[(0,q.jsxs)(`p`,{children:[`Status:`,` `,(0,q.jsx)(`span`,{className:s?.ok?`font-medium text-emerald-700 dark:text-emerald-300`:`font-medium text-fg`,children:s?.status??e.usage.lastHealthStatus??`not tested`})]}),(0,q.jsxs)(`p`,{children:[`Last check:`,` `,e.usage.lastHealthCheckAt?new Date(e.usage.lastHealthCheckAt).toLocaleString():`never`]}),s?.action?(0,q.jsx)(`p`,{children:s.action}):null]}):null,l===`tools`?s?.tools.length?(0,q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsxs)(`p`,{className:`text-xs text-fg-muted`,children:[s.tools.length,` tools available for this connector.`]}),(0,q.jsx)(F,{type:`button`,variant:`ghost`,className:`h-7 text-xs`,onClick:()=>f(!0),children:`View all`})]}),s.tools.slice(0,8).map(e=>(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:`truncate font-mono text-xs text-fg`,children:e.shortName??e.name}),e.description?(0,q.jsx)(`p`,{className:`truncate text-xs text-fg-subtle`,children:e.description}):null]},e.name))]}):(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,q.jsx)(`p`,{className:`text-fg-muted`,children:y?`${y} tools were found in the last health check. Run Test again to load tool details.`:`Run Test to list tools.`}),(0,q.jsxs)(F,{type:`button`,variant:`secondary`,disabled:n,onClick:()=>void _(),children:[n?(0,q.jsx)(g,{className:`size-4 animate-spin`}):(0,q.jsx)(P,{className:`size-4`}),`Test`]})]}):null,l===`resources`?s?.resources.length?(0,q.jsx)(`div`,{className:`grid gap-2`,children:s.resources.slice(0,8).map(e=>(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:`truncate font-mono text-xs text-fg`,children:e.title??e.name}),(0,q.jsx)(`p`,{className:`truncate text-xs text-fg-subtle`,children:e.uri})]},e.uri))}):(0,q.jsx)(`p`,{className:`text-fg-muted`,children:`Run Test to list resources exposed by this MCP server.`}):null,l===`prompts`?s?.prompts.length?(0,q.jsx)(`div`,{className:`grid gap-2`,children:s.prompts.slice(0,8).map(e=>(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`p`,{className:`truncate font-mono text-xs text-fg`,children:e.title??e.name}),e.description?(0,q.jsx)(`p`,{className:`truncate text-xs text-fg-subtle`,children:e.description}):null]},e.name))}):(0,q.jsx)(`p`,{className:`text-fg-muted`,children:`Run Test to list prompts exposed by this MCP server.`}):null,l===`permissions`?(0,q.jsxs)(`div`,{className:`space-y-1 text-fg-muted`,children:[(0,q.jsxs)(`p`,{children:[`Secrets configured: `,Object.values(e.secretStatus).filter(Boolean).length]}),(0,q.jsxs)(`p`,{children:[`Runtime: `,e.materialized.type.toUpperCase()," server `",e.materialized.serverId,"`"]}),(0,q.jsx)(`p`,{children:`Tool calls run through MCP and follow the agent tool policy/approval gates.`})]}):null]})]}),(0,q.jsx)(Z,{open:d,onOpenChange:f,serverId:e.materialized.serverId,title:`${e.displayName} tools`,subtitle:`{{serverId}} exposes {{count}} MCP tools.`,searchPlaceholder:`Search tools`,searchEmptyLabel:`No tools match your search.`,emptyLabel:`Run Test to list tools.`,closeLabel:`Close`,tools:s?.tools??[],stripPrefix:`${e.materialized.serverId}__`})]})}function Je({row:e,t,cs:n,onEdit:r,onRemove:i}){let[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(null),[d,f]=(0,B.useState)(null),p=je(e),m=(0,B.useCallback)(async()=>{o(!0),f(null);try{let t=await K(e.id.trim());u({toolCount:t.toolCount,resourceCount:t.resourceCount,promptCount:t.promptCount})}catch(e){f(e instanceof Error?e.message:String(e))}finally{o(!1)}},[e.id]),h=(0,B.useCallback)(async()=>{c(!0),f(null);try{await i()}catch(e){f(e instanceof Error?e.message:String(e)),c(!1)}},[i]);return(0,q.jsxs)(`div`,{className:`rounded-2xl border border-edge bg-surface-panel p-4 shadow-surface`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:e.id.trim()||t.cardUntitled}),(0,q.jsx)(`span`,{className:`rounded-full border border-edge bg-surface-base px-2 py-0.5 text-[11px] text-fg-muted`,children:n.customBadge}),(0,q.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:t.transportLabels[e.transport]})]}),p?(0,q.jsx)(`p`,{className:`mt-1 truncate font-mono text-xs text-fg-subtle`,title:p,children:p}):null]}),(0,q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,q.jsxs)(F,{variant:`secondary`,disabled:a,onClick:()=>void m(),children:[a?(0,q.jsx)(g,{className:`size-4 animate-spin`}):(0,q.jsx)(P,{className:`size-4`}),t.testConnection]}),(0,q.jsxs)(F,{variant:`secondary`,onClick:r,children:[(0,q.jsx)(b,{className:`size-4`}),n.editCustomServer]}),(0,q.jsxs)(F,{variant:`ghost`,disabled:s,onClick:()=>void h(),children:[s?(0,q.jsx)(g,{className:`size-4 animate-spin`}):(0,q.jsx)(T,{className:`size-4`}),t.removeServer]})]})]}),d?(0,q.jsx)(`p`,{className:`mt-3 rounded-xl bg-red-500/10 px-3 py-2 text-sm text-red-600`,children:d}):null,l?(0,q.jsxs)(`p`,{className:`mt-3 text-sm text-fg-muted`,children:[l.toolCount,` tools, `,l.resourceCount,` resources,`,` `,l.promptCount,` prompts discovered.`]}):null]})}function Ye(){let e=a(o(e=>e.language)),t=e.connectorsSettings,n=e.mcpSettings,r=s(e=>e.token),c=!!r,[l,d]=(0,B.useState)(`installed`),[f,p]=(0,B.useState)({catalog:[],instances:[],loading:!0,error:null}),[m,h]=(0,B.useState)(null),[_,v]=(0,B.useState)(null),[b,x]=(0,B.useState)(void 0),[S,C]=(0,B.useState)(!1),[T,E]=(0,B.useState)(!1),{data:D,mutate:O}=w(c),k=D?.payload?.config,A=(0,B.useMemo)(()=>k===void 0?null:me(k),[k]),j=A?.servers??[];(0,B.useEffect)(()=>{A&&x(A.sessionIdleTtlMinutes)},[A]);let M=(0,B.useCallback)(async()=>{if(!r){p({catalog:[],instances:[],loading:!1,error:null});return}p(e=>({...e,loading:!0,error:null}));try{let[e,t]=await Promise.all([Me(),Ne()]);p({catalog:e,instances:t,loading:!1,error:null})}catch(e){p({catalog:[],instances:[],loading:!1,error:e instanceof Error?e.message:String(e)})}},[r]);(0,B.useEffect)(()=>{M()},[M]);let N=(0,B.useMemo)(()=>new Set(f.instances.map(e=>e.connectorId)),[f.instances]),P=(0,B.useMemo)(()=>new Set(f.instances.map(e=>e.materialized.serverId)),[f.instances]),L=(0,B.useCallback)(async e=>{if(!A||k===void 0)return;let t=j.filter(t=>t.clientKey!==e.clientKey);await G({sessionIdleTtlMinutes:A.sessionIdleTtlMinutes,servers:t},U(k)),await O(),await M()},[k,j,M,A,O]),ee=(0,B.useCallback)(async()=>{if(!(!A||k===void 0||S)){C(!0),E(!1);try{await G({sessionIdleTtlMinutes:b,servers:j},U(k)),await O(),E(!0),u({type:`success`,title:n.saved})}finally{C(!1)}}},[k,j,A,O,b,S]),R=f.instances.length+j.length;return(0,q.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-5 px-4 py-8`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h1`,{className:`text-xl font-semibold text-fg`,children:t.title}),(0,q.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:t.subtitle})]}),c?null:(0,q.jsx)(`p`,{className:`rounded-xl border border-edge bg-surface-panel px-4 py-3 text-sm text-fg-muted`,children:t.tokenHint}),(0,q.jsx)(`div`,{className:`-mx-1 flex gap-1 overflow-x-auto px-1 pb-1`,children:[`installed`,`discover`].map(e=>(0,q.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":l===e,className:i(`shrink-0 rounded-lg px-3 py-2 text-sm font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,`transition-transform duration-150 ease-out active:scale-95 motion-reduce:transition-none motion-reduce:active:scale-100`,l===e?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`),onClick:()=>d(e),children:e===`installed`?t.tabInstalled:t.tabDiscover},e))}),f.loading&&c?(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-fg-muted`,children:[(0,q.jsx)(g,{className:`size-4 animate-spin`}),t.loading]}):null,f.error?(0,q.jsx)(`p`,{className:`rounded-xl bg-red-500/10 px-3 py-2 text-sm text-red-600`,children:f.error}):null,l===`installed`&&c?(0,q.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,q.jsxs)(ae,{children:[(0,q.jsx)(ie,{icon:I,title:n.globalTitle,subtitle:n.globalHint}),(0,q.jsx)(`div`,{className:`max-w-xl`,children:(0,q.jsxs)(`label`,{className:`flex flex-col gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:n.idleTtlLabel}),(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsx)(`input`,{type:`number`,min:0,className:i($,`w-40 flex-none`),value:b??``,placeholder:n.idleTtlPlaceholder,onChange:e=>{let t=e.target.value.trim();x(t===``?void 0:Number.parseInt(t,10)),E(!1)}}),(0,q.jsxs)(F,{variant:`secondary`,disabled:S,onClick:()=>void ee(),children:[S?(0,q.jsx)(g,{className:`size-4 animate-spin`}):null,n.save]})]}),(0,q.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:n.idleTtlHint})]})})]}),(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:t.installedTitle}),(0,q.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:t.installedHint})]}),(0,q.jsxs)(F,{variant:`primary`,onClick:()=>v({mode:`add`,row:xe(j,P)}),children:[(0,q.jsx)(y,{className:`size-4`}),t.addCustomServer]})]}),R===0?(0,q.jsx)(`div`,{className:`rounded-2xl border border-dashed border-edge p-8 text-center text-sm text-fg-muted`,children:t.installedEmpty}):(0,q.jsxs)(`div`,{className:`grid gap-3`,children:[f.instances.map(e=>(0,q.jsx)(qe,{instance:e,onChanged:M},e.instanceId)),j.map(e=>(0,q.jsx)(Je,{row:e,t:n,cs:t,onEdit:()=>v({mode:`edit`,row:structuredClone(e)}),onRemove:async()=>L(e)},e.clientKey))]}),(0,q.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n.disableHint})]}):null,l===`discover`&&c?(0,q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,q.jsx)(`p`,{className:`text-sm text-fg-muted`,children:t.catalogHint}),(0,q.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 xl:grid-cols-3`,children:f.catalog.map(e=>(0,q.jsx)(Ue,{connector:e,installed:N.has(e.id)||He(e,f.instances),onInstall:e=>h(Ve(e))},e.id))})]}):null,m?(0,q.jsx)(Ke,{draft:m,onChange:h,onClose:()=>h(null),onInstalled:async()=>{await M(),await O(),h(null),d(`installed`)}}):null,_?(0,q.jsx)(Ae,{open:!0,mode:_.mode,initialRow:_.row,existingCustomServers:j,sessionIdleTtlMinutes:b,config:k,managedServerIds:P,t:n,cs:t,onClose:()=>v(null),onSaved:async()=>{await O(),await M(),d(`installed`)}},`${_.mode}-${_.row.clientKey}`):null]})}export{Ye as ConnectorsSettingsPanel};
@@ -1,3 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-BN_WiUg0.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{i as s}from"./theme-store-CD2wtgZV.js";import{c,i as l,n as u,t as d}from"./fetch-D9QqUtzZ.js";import{r as f}from"./toast-z0toXu32.js";import{i as p}from"./vendor-swr-BIWyz7Rc.js";import{$r as m,Aa as h,Ai as g,Ci as _,Di as v,Ei as y,Er as b,G as x,H as S,Ho as C,Io as w,Ja as T,Jr as E,Lt as D,Mo as O,Ni as k,Oa as A,Qr as j,Sa as M,Sr as N,Tr as P,U as F,Ua as I,Vn as L,W as R,Wi as z,Xr as B,Yr as V,Zr as H,aa as U,as as W,br as G,ci as K,do as ee,ei as te,fa as ne,ha as q,io as re,j as ie,ji as J,ki as ae,ko as oe,ks as se,o as Y,oi as ce,os as le,ra as ue,rs as de,ss as fe,ti as pe,ws as me,xo as he,xr as ge,yi as _e,yr as ve,z as ye}from"./index-DefIdW9q.js";import{t as be}from"./markdown-editor-AssmZFx4.js";import{t as xe}from"./settings-advanced-gate-Ad2OJ86w.js";import{n as Se,t as Ce}from"./settings-form-section-DZLy_exu.js";import{C as X,S as we,T as Te,_ as Ee,a as De,b as Oe,c as ke,d as Ae,f as je,g as Me,h as Ne,i as Pe,l as Fe,m as Ie,n as Le,o as Re,p as ze,r as Be,s as Ve,t as He,u as Ue,v as We,w as Ge,x as Ke,y as qe}from"./cron-api-BXaZXv1o.js";import{t as Je}from"./cron-dreaming-jobs-nCMWCf0p.js";import{r as Ye}from"./interval-presets-CEklPQ_r.js";import{t as Xe}from"./format-interval-label-D6E687rG.js";import{t as Ze}from"./heartbeat-config-api-DGPadTw-.js";import{h as Qe,m as $e,t as et}from"./workflow-page.utils-C0Uq3xyq.js";import{i as tt,n as nt,o as rt,r as it,t as at}from"./dist-By6Rh2ee.js";var Z=e(t(),1),Q=n(),$=r();function ot(e){let t=(0,Q.c)(25),{open:n,onOpenChange:r,action:i,c:a,onDismiss:o,onConfirm:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(j,{className:`xopc-dialog-overlay fixed inset-0 z-[70] bg-scrim`}),t[0]=c):c=t[0];let l=i===`delete`?a.delete:a.runNow,u;t[1]===l?u=t[2]:(u=(0,$.jsx)(pe,{className:`text-base font-semibold text-fg`,children:l}),t[1]=l,t[2]=u);let d=i===`delete`?a.confirmDelete:a.confirmRun,f;t[3]===d?f=t[4]:(f=(0,$.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:d}),t[3]=d,t[4]=f);let p;t[5]!==a.cancel||t[6]!==o?(p=(0,$.jsx)(J,{type:`button`,variant:`secondary`,onClick:o,children:a.cancel}),t[5]=a.cancel,t[6]=o,t[7]=p):p=t[7];let h=i===`delete`?`bg-red-600 hover:bg-red-700`:void 0,g;t[8]===s?g=t[9]:(g=()=>void s(),t[8]=s,t[9]=g);let _=i===`delete`?a.delete:a.runNow,v;t[10]!==h||t[11]!==g||t[12]!==_?(v=(0,$.jsx)(J,{type:`button`,variant:`primary`,className:h,onClick:g,children:_}),t[10]=h,t[11]=g,t[12]=_,t[13]=v):v=t[13];let y;t[14]!==v||t[15]!==p?(y=(0,$.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[p,v]}),t[14]=v,t[15]=p,t[16]=y):y=t[16];let b;t[17]!==y||t[18]!==u||t[19]!==f?(b=(0,$.jsxs)(m,{children:[c,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[70] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(B,{className:`xopc-dialog-content-pane pointer-events-auto relative w-full max-w-md rounded-xl border border-edge bg-surface-panel p-4 shadow-popover dark:border-edge`,children:[u,f,y]})})]}),t[17]=y,t[18]=u,t[19]=f,t[20]=b):b=t[20];let x;return t[21]!==r||t[22]!==n||t[23]!==b?(x=(0,$.jsx)(te,{open:n,onOpenChange:r,children:b}),t[21]=r,t[22]=n,t[23]=b,t[24]=x):x=t[24],x}var st={enabled:!0,maxConcurrentJobs:5,historyRetentionDays:7,enableMetrics:!0};function ct(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function lt(e){let t=ct(e)?e:{},n=ct(t.cron)?t.cron:{};return{enabled:n.enabled!==!1,maxConcurrentJobs:typeof n.maxConcurrentJobs==`number`&&Number.isFinite(n.maxConcurrentJobs)?Math.max(1,Math.min(100,Math.floor(n.maxConcurrentJobs))):st.maxConcurrentJobs,historyRetentionDays:typeof n.historyRetentionDays==`number`&&Number.isFinite(n.historyRetentionDays)?Math.max(1,Math.min(365,Math.floor(n.historyRetentionDays))):st.historyRetentionDays,enableMetrics:n.enableMetrics!==!1}}async function ut(e){await u(l(`/api/config`),{method:`PATCH`,body:JSON.stringify({cron:e})}),ge()}function dt(){return i(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,g,`dark:border-edge`)}function ft(){return{form:null,baseline:null,saving:!1,error:null,saveOk:!1,dirty:!1}}function pt(e,t){switch(t.type){case`sync`:return{...e,form:structuredClone(t.parsed),baseline:structuredClone(t.parsed),saveOk:!1,dirty:!1};case`patch`:return e.form?{...e,form:{...e.form,...t.patch},dirty:!0,saveOk:!1}:e;case`discard`:return e.baseline?{...e,form:structuredClone(e.baseline),dirty:!1}:e;case`saveStart`:return{...e,saving:!0,error:null};case`saveSuccess`:return e.form?{...e,saving:!1,baseline:structuredClone(e.form),dirty:!1,saveOk:!0}:{...e,saving:!1};case`saveError`:return{...e,saving:!1,error:t.error};case`clearSaveOk`:return{...e,saveOk:!1}}}function mt({hasToken:e}){let t=a(o(e=>e.language)).cron.globals,{data:n,isLoading:r}=N(e),i=(0,Z.useMemo)(()=>n?.payload?.config===void 0?null:structuredClone(lt(n.payload.config)),[n]),[s,c]=(0,Z.useReducer)(pt,void 0,ft),l=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{!e||i===null||s.dirty||l.current===i||(l.current=i,c({type:`sync`,parsed:i}))},[e,i,s.dirty]);let u=(0,Z.useMemo)(()=>!!(s.form&&s.baseline&&JSON.stringify(s.form)!==JSON.stringify(s.baseline)),[s.form,s.baseline]),d=(0,Z.useCallback)(e=>{c({type:`patch`,patch:e})},[]),p=(0,Z.useCallback)(async()=>{if(!(!s.form||s.saving)){c({type:`saveStart`});try{await ut(s.form),c({type:`saveSuccess`}),f({type:`success`,title:t.saved})}catch(e){c({type:`saveError`,error:e instanceof Error?e.message:t.saveError})}}},[t.saveError,s.form,s.saving]);return!e||!s.form?r?(0,$.jsx)(Ce,{children:(0,$.jsxs)(`p`,{className:`flex items-center gap-2 text-sm text-fg-muted`,children:[(0,$.jsx)(T,{className:`size-4 animate-spin`}),t.loading]})}):null:(0,$.jsxs)(Ce,{children:[(0,$.jsx)(Se,{icon:C,title:t.title,subtitle:t.hint}),(0,$.jsxs)(`div`,{className:`mb-4 flex flex-wrap items-center justify-end gap-2`,children:[(0,$.jsx)(J,{type:`button`,variant:`secondary`,disabled:!u||s.saving,onClick:()=>c({type:`discard`}),children:t.discard}),(0,$.jsx)(J,{type:`button`,variant:`primary`,disabled:!u||s.saving,onClick:()=>void p(),children:s.saving?t.saving:t.save})]}),s.error?(0,$.jsx)(`p`,{className:`mb-3 text-sm text-red-600 dark:text-red-400`,children:s.error}):null,(0,$.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm text-fg sm:col-span-2`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:s.form.enabled,onChange:e=>d({enabled:e.target.checked})}),t.enabled]}),(0,$.jsxs)(xe,{children:[(0,$.jsx)(ht,{label:t.maxConcurrent,value:s.form.maxConcurrentJobs,min:1,max:100,disabled:!s.form.enabled,onChange:e=>d({maxConcurrentJobs:e})}),(0,$.jsx)(ht,{label:t.retentionDays,value:s.form.historyRetentionDays,min:1,max:365,disabled:!s.form.enabled,onChange:e=>d({historyRetentionDays:e})}),(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm text-fg`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:s.form.enableMetrics,disabled:!s.form.enabled,onChange:e=>d({enableMetrics:e.target.checked})}),t.metrics]})]})]})]})}function ht(e){let t=(0,Q.c)(13),{label:n,value:r,min:a,max:o,disabled:s,text:c,onChange:l,onTextChange:u}=e,d;t[0]===n?d=t[1]:(d=(0,$.jsx)(`label`,{className:`mb-1 block text-sm font-medium text-fg`,children:n}),t[0]=n,t[1]=d);let f;t[2]!==s||t[3]!==o||t[4]!==a||t[5]!==l||t[6]!==u||t[7]!==c||t[8]!==r?(f=c?(0,$.jsx)(`input`,{className:i(dt(),`font-mono text-xs`),value:String(r),disabled:s,onChange:e=>u?.(e.target.value)}):(0,$.jsx)(`input`,{type:`number`,min:a,max:o,disabled:s,className:i(dt(),`max-w-xs font-mono text-xs`),value:typeof r==`number`?r:0,onChange:e=>{let t=Number(e.target.value);Number.isFinite(t)&&l&&a!==void 0&&o!==void 0&&l(Math.max(a,Math.min(o,Math.floor(t))))}}),t[2]=s,t[3]=o,t[4]=a,t[5]=l,t[6]=u,t[7]=c,t[8]=r,t[9]=f):f=t[9];let p;return t[10]!==d||t[11]!==f?(p=(0,$.jsxs)(`div`,{children:[d,f]}),t[10]=d,t[11]=f,t[12]=p):p=t[12],p}var gt=`*/5 * * * *`;function _t(e){let t=new Date(e);return t.setHours(0,0,0,0),t}function vt(e){let t=_t(e),n=t.getDay(),r=n===0?-6:1-n;return t.setDate(t.getDate()+r),t}function yt(e){return new Date(e.getFullYear(),e.getMonth(),1,0,0,0,0)}function bt(e){let t=e?.trim();t&&window.dispatchEvent(new CustomEvent(`navigate-to-chat`,{detail:{sessionKey:t},bubbles:!0}))}function xt(e){let t=e?.trim();t&&(window.location.hash=`/workflows?run=${encodeURIComponent(t)}`)}function St(e){return i(`w-full rounded-md border border-edge bg-surface-base px-3 py-2 text-sm text-fg placeholder:text-fg-disabled`,y,e&&`cursor-not-allowed opacity-60`)}function Ct(){return i(ae,v)}var wt=i(ae,`w-full text-xs sm:w-auto sm:min-w-[11rem] sm:max-w-[17rem] sm:shrink-0`),Tt=i(ae,`w-auto min-w-[9rem] max-w-[14rem] shrink-0 text-xs`);function Et(e){return e===`settings`?`settings`:e===`system`||e===`systemTasks`?`systemTasks`:e===`history`?`history`:`myTasks`}function Dt(e){return e===`myTasks`?null:e===`systemTasks`?`system`:e===`history`?`history`:`settings`}var Ot=34,kt=62,At=46;function jt(e){return Math.max(Ot,Math.min(kt,e))}function Mt(e){switch(e){case`success`:return`bg-emerald-500/15 text-emerald-800 dark:text-emerald-300`;case`failed`:return`bg-red-500/15 text-red-800 dark:text-red-300`;case`running`:return`bg-accent/15 text-accent`;case`cancelled`:return`bg-surface-hover text-fg-muted`;default:return`bg-surface-hover text-fg-muted`}}function Nt(e,t){return e.payload.kind===`workflowRun`?t.taskKindWorkflowRun:e.payload.kind===`agentTurn`?t.taskKindMessage:t.modeDirectOption}function Pt(e){return e.length===0?null:e.find(e=>e.status===`failed`)?.id??e[0]?.id??null}function Ft(e){let t=(0,Q.c)(56),{row:n,expanded:r,onToggle:a,c:o,statusLabels:s}=e,c=n.error||n.summary||n.output||``,l;t[0]===c?l=t[1]:(l=c.trim(),t[0]=c,t[1]=l);let u=l,d=u.length>0,f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`div`,{className:`mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-lg bg-surface-hover`,children:(0,$.jsx)(C,{className:`size-4 text-fg-muted`,strokeWidth:1.75,"aria-hidden":!0})}),t[2]=f):f=t[2];let p=n.startedAt,m;t[3]===n.startedAt?m=t[4]:(m=X(n.startedAt),t[3]=n.startedAt,t[4]=m);let h;t[5]!==n.startedAt||t[6]!==m?(h=(0,$.jsx)(`time`,{className:`text-sm font-medium text-fg`,dateTime:p,children:m}),t[5]=n.startedAt,t[6]=m,t[7]=h):h=t[7];let g;t[8]===n.status?g=t[9]:(g=i(`inline-flex rounded-md px-2 py-0.5 text-xs font-medium`,Mt(n.status)),t[8]=n.status,t[9]=g);let _;t[10]!==n.status||t[11]!==s?(_=Ee(n.status,s),t[10]=n.status,t[11]=s,t[12]=_):_=t[12];let v;t[13]!==g||t[14]!==_?(v=(0,$.jsx)(`span`,{className:g,children:_}),t[13]=g,t[14]=_,t[15]=v):v=t[15];let y;t[16]===n.duration?y=t[17]:(y=qe(n.duration),t[16]=n.duration,t[17]=y);let b;t[18]===y?b=t[19]:(b=(0,$.jsx)(`span`,{className:`text-xs text-fg-muted`,children:y}),t[18]=y,t[19]=b);let x;t[20]!==b||t[21]!==h||t[22]!==v?(x=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[h,v,b]}),t[20]=b,t[21]=h,t[22]=v,t[23]=x):x=t[23];let S;t[24]!==u||t[25]!==r||t[26]!==d?(S=!r&&d?(0,$.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-relaxed text-fg-muted`,children:u}):null,t[24]=u,t[25]=r,t[26]=d,t[27]=S):S=t[27];let w;t[28]!==u||t[29]!==r||t[30]!==d?(w=r&&d?(0,$.jsx)(`pre`,{className:`mt-2 max-h-40 overflow-y-auto whitespace-pre-wrap break-words rounded-lg border border-edge-subtle bg-surface-panel/80 p-2.5 font-mono text-xs leading-relaxed text-fg-muted`,children:u}):null,t[28]=u,t[29]=r,t[30]=d,t[31]=w):w=t[31];let T;t[32]!==x||t[33]!==S||t[34]!==w?(T=(0,$.jsxs)(`div`,{className:`flex items-start gap-3 px-3 py-3`,children:[f,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[x,S,w]})]}),t[32]=x,t[33]=S,t[34]=w,t[35]=T):T=t[35];let E;t[36]!==o||t[37]!==r||t[38]!==d||t[39]!==a?(E=d?(0,$.jsxs)(J,{type:`button`,variant:`ghost`,className:`h-8 px-2 text-xs`,onClick:a,children:[(0,$.jsx)(W,{className:i(`size-3.5 transition-transform`,r&&`rotate-180`),strokeWidth:1.75,"aria-hidden":!0}),r?o.detailCollapseRun:o.detailExpandRun]}):null,t[36]=o,t[37]=r,t[38]=d,t[39]=a,t[40]=E):E=t[40];let D;t[41]!==o||t[42]!==n.workflowRunId?(D=n.workflowRunId?.trim()?(0,$.jsxs)(J,{type:`button`,variant:`secondary`,className:`h-8 gap-1.5 px-2.5 text-xs`,title:o.openWorkflowTitle,onClick:()=>xt(n.workflowRunId),children:[(0,$.jsx)(he,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0}),o.openWorkflow]}):null,t[41]=o,t[42]=n.workflowRunId,t[43]=D):D=t[43];let O;t[44]!==o||t[45]!==n.sessionKey?(O=n.sessionKey?.trim()?(0,$.jsxs)(J,{type:`button`,variant:`secondary`,className:`h-8 gap-1.5 px-2.5 text-xs`,title:o.openChatTitle,onClick:()=>bt(n.sessionKey),children:[(0,$.jsx)(I,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0}),o.openChat]}):null,t[44]=o,t[45]=n.sessionKey,t[46]=O):O=t[46];let k;t[47]!==D||t[48]!==O?(k=(0,$.jsxs)(`div`,{className:`ml-auto flex flex-wrap items-center gap-2`,children:[D,O]}),t[47]=D,t[48]=O,t[49]=k):k=t[49];let A;t[50]!==E||t[51]!==k?(A=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-t border-edge-subtle px-3 py-2 dark:border-edge-subtle`,children:[E,k]}),t[50]=E,t[51]=k,t[52]=A):A=t[52];let j;return t[53]!==T||t[54]!==A?(j=(0,$.jsxs)(`article`,{className:`rounded-xl border border-edge-subtle bg-surface-base dark:border-edge-subtle`,children:[T,A]}),t[53]=T,t[54]=A,t[55]=j):j=t[55],j}function It(e){let t=(0,Q.c)(13),{icon:n,label:r,value:a,valueClassName:o}=e,s;t[0]===n?s=t[1]:(s=(0,$.jsx)(n,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[0]=n,t[1]=s);let c;t[2]!==r||t[3]!==s?(c=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[11px] font-medium uppercase tracking-wide text-fg-subtle`,children:[s,r]}),t[2]=r,t[3]=s,t[4]=c):c=t[4];let l;t[5]===o?l=t[6]:(l=i(`mt-1 truncate text-sm font-medium text-fg`,o),t[5]=o,t[6]=l);let u;t[7]!==l||t[8]!==a?(u=(0,$.jsx)(`p`,{className:l,children:a}),t[7]=l,t[8]=a,t[9]=u):u=t[9];let d;return t[10]!==c||t[11]!==u?(d=(0,$.jsxs)(`div`,{className:`min-w-0 rounded-xl border border-edge-subtle bg-surface-base/80 px-3 py-2.5 dark:border-edge-subtle`,children:[c,u]}),t[10]=c,t[11]=u,t[12]=d):d=t[12],d}function Lt({open:e,onDismiss:t,detailJob:n,detailLoading:r,actionNotice:a,detailHistory:o,c:s,localeTag:c,scheduleBadgeLabels:l,chatWorkingDirNotSet:u,statusLabels:d,onEdit:f,onRunNow:p,onToggle:g,onDelete:_}){let[v,y]=(0,Z.useState)(null),[b,x]=(0,Z.useState)(!1),[S,E]=(0,Z.useState)(At),[D,O]=(0,Z.useState)(!1),A=(0,Z.useRef)(null),M=(0,Z.useMemo)(()=>{let e=0,t=0;for(let n of o)n.status===`success`&&(e+=1),n.status===`failed`&&(t+=1);return{success:e,failed:t}},[o]),N=o[0]??null;(0,Z.useEffect)(()=>{if(!e){y(null),x(!1);return}y(Pt(o))},[e,n?.id,o]);let P=(0,Z.useCallback)(async()=>{n?.schedule&&await _e(Ge(n.schedule))&&(x(!0),window.setTimeout(()=>x(!1),1500))},[n?.schedule]),F=n?we(n,c,l):`—`,R=(0,Z.useCallback)(e=>{e.preventDefault();let t=A.current;if(!t)return;let n=t.getBoundingClientRect(),r=e.currentTarget,i=e.pointerId;r.setPointerCapture(i),O(!0);let a=e=>{E(jt((e-n.left)/n.width*100))};a(e.clientX);let o=e=>{a(e.clientX)},s=()=>{try{r.releasePointerCapture(i)}catch{}O(!1),window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,s)};window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,s),window.addEventListener(`pointercancel`,s)},[]),H=(0,Z.useCallback)(e=>{e.key===`ArrowLeft`?(e.preventDefault(),E(e=>jt(e-4))):e.key===`ArrowRight`?(e.preventDefault(),E(e=>jt(e+4))):e.key===`Home`?(e.preventDefault(),E(Ot)):e.key===`End`&&(e.preventDefault(),E(kt))},[]);return(0,$.jsx)(te,{open:e,onOpenChange:e=>{e||t()},children:(0,$.jsxs)(m,{children:[(0,$.jsx)(j,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim backdrop-blur-[1px]`}),(0,$.jsx)(`div`,{className:`fixed inset-0 z-[60] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(B,{className:i(`xopc-dialog-content-pane pointer-events-auto relative flex h-[min(86vh,46rem)] w-full max-w-6xl flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,`dark:border-edge`),"aria-describedby":void 0,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(pe,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:n?.name?.trim()||n?.id||`—`}),n?(0,$.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs text-fg-muted`,children:F}):null]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[n?(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":n.enabled,"aria-label":n.enabled?s.enabled:s.disabled,className:i(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,n.enabled?`justify-end bg-accent`:`justify-start bg-surface-hover`),onClick:()=>g(n,!n.enabled),children:(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`})}):null,(0,$.jsx)(V,{asChild:!0,children:(0,$.jsx)(J,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":s.close,children:(0,$.jsx)(k,{className:`size-5`,strokeWidth:1.75})})})]})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4 lg:overflow-hidden`,children:r?(0,$.jsx)(`div`,{className:`flex justify-center py-16`,children:(0,$.jsx)(T,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):n?(0,$.jsxs)(`div`,{className:`flex min-h-full flex-col gap-4 lg:h-full lg:min-h-0`,children:[a?(0,$.jsx)(`div`,{className:i(`rounded-xl border px-3 py-2 text-sm`,a.kind===`error`?`border-amber-200 bg-amber-50 text-amber-900 dark:border-amber-900/50 dark:bg-amber-950/40 dark:text-amber-100`:`border-accent/25 bg-accent/5 text-fg dark:border-accent/30 dark:bg-accent/10`),role:`alert`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,$.jsx)(`p`,{children:a.message}),a.sessionKey?(0,$.jsxs)(J,{type:`button`,variant:`secondary`,className:`h-8 shrink-0 gap-1.5 px-2.5 text-xs`,onClick:()=>bt(a.sessionKey),children:[(0,$.jsx)(I,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0}),s.openChat]}):null]})}):null,(0,$.jsxs)(`div`,{ref:A,className:`grid min-h-0 grid-cols-1 gap-4 lg:flex-1 lg:[grid-template-columns:minmax(0,var(--cron-detail-config-pane))_0.75rem_minmax(23rem,1fr)] lg:gap-0`,style:{"--cron-detail-config-pane":`${S}%`},children:[(0,$.jsx)(`div`,{className:`rounded-2xl border border-edge bg-surface-base/35 p-4 lg:min-h-0 lg:overflow-y-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:s.scheduleLabel}),(0,$.jsxs)(`div`,{className:`mt-2 rounded-xl border border-edge-subtle bg-surface-base/80 px-3 py-3 dark:border-edge-subtle`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,$.jsx)(`p`,{className:`min-w-0 flex-1 text-sm font-medium leading-relaxed text-fg`,children:F}),(0,$.jsx)(J,{type:`button`,variant:`secondary`,className:`size-8 shrink-0 p-0`,title:s.detailCopySchedule,"aria-label":s.detailCopySchedule,onClick:()=>void P(),children:b?(0,$.jsx)(le,{className:`size-3.5 text-emerald-600 dark:text-emerald-400`,strokeWidth:1.75}):(0,$.jsx)(w,{className:`size-3.5`,strokeWidth:1.75})})]}),(0,$.jsxs)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:[(0,$.jsxs)(`span`,{className:`font-medium text-fg-subtle`,children:[s.detailCronTechnical,`: `]}),(0,$.jsx)(`code`,{className:`font-mono`,children:Ge(n.schedule)})]})]})]}),(0,$.jsxs)(`section`,{"aria-label":s.statsRegion,children:[(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,$.jsx)(It,{icon:fe,label:s.nextRun,value:n.nextRunAtMs?Oe(new Date(n.nextRunAtMs).toISOString(),s.timeLabels):`—`}),(0,$.jsx)(It,{icon:C,label:s.detailLastRun,value:N?Ee(N.status,d):s.detailNoRecentRuns,valueClassName:N?.status===`failed`?`text-red-700 dark:text-red-300`:N?.status===`success`?`text-emerald-800 dark:text-emerald-300`:void 0})]}),o.length>0?(0,$.jsx)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:s.detailRunCount.replace(`{{success}}`,String(M.success)).replace(`{{failed}}`,String(M.failed))}):null]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:s.detailWhatItDoes}),(0,$.jsxs)(`div`,{className:`mt-2 rounded-xl border border-edge-subtle bg-surface-base/80 p-3 dark:border-edge-subtle`,children:[(0,$.jsx)(`div`,{className:`mb-2 inline-flex rounded-md bg-surface-hover px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:Nt(n,s)}),(0,$.jsx)(`div`,{className:`min-w-0 break-words text-fg [&_.markdown-body]:text-sm [&_.markdown-body]:leading-relaxed`,children:(0,$.jsx)(L,{content:Pe(n),compact:!0,className:`text-sm`})})]})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(ne,{className:`size-4 shrink-0 text-fg-subtle`,strokeWidth:1.75,"aria-hidden":!0}),(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:s.detailRunSettings})]}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:s.detailRunSettingsHint}),(0,$.jsxs)(`dl`,{className:`mt-3 grid gap-3 rounded-xl border border-edge-subtle bg-surface-base/80 px-3 py-3 text-sm dark:border-edge-subtle`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.mode}),(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:n.sessionTarget===`isolated`?s.modeAgentOption:s.modeDirectOption})]}),n.sessionTarget===`isolated`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.agentProfile}),(0,$.jsx)(`dd`,{className:`mt-1 font-mono text-sm text-fg`,children:n.agentId?.trim()?n.agentId.trim():s.agentProfileDefault})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.workingDirectoryLabel}),(0,$.jsx)(`dd`,{className:`mt-1 break-all font-mono text-xs text-fg`,children:n.workingDirectory?.trim()?n.workingDirectory.trim():u})]})]}):null,n.delivery?.channel===`local`||n.sessionTarget===`isolated`&&!n.delivery?.to?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.deliveryTarget}),(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:n.delivery?.channel===`local`?s.deliveryTargetLocalChannel:s.deliveryLocalOnly})]}):n.delivery?.to?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.deliveryTarget}),(0,$.jsxs)(`dd`,{className:`mt-1 break-words text-fg`,children:[(0,$.jsx)(`code`,{className:`text-xs`,children:n.delivery?.channel??``}),` → `,We(n,s.channelLocal)]})]}):null,n.model?.trim()?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.model}),(0,$.jsx)(`dd`,{className:`mt-1 font-mono text-sm text-fg`,children:n.model.trim()})]}):null]})]})]})}),(0,$.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":s.detailResizeColumns,"aria-valuemin":Ot,"aria-valuemax":kt,"aria-valuenow":Math.round(S),tabIndex:0,onPointerDown:R,onKeyDown:H,className:i(`group hidden h-full cursor-col-resize touch-none select-none items-stretch justify-center rounded-lg outline-none lg:flex`,`focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`),children:(0,$.jsx)(`span`,{className:i(`h-full w-px bg-edge-subtle transition-colors duration-150`,`group-hover:bg-edge`,D&&`bg-edge`)})}),(0,$.jsxs)(`section`,{className:`rounded-2xl border border-edge bg-surface-base/35 p-4 lg:min-h-0 lg:overflow-y-auto`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:s.detailRunHistory}),o.length>0?(0,$.jsx)(`span`,{className:`text-xs text-fg-muted`,children:o.length}):null]}),o.length===0?(0,$.jsxs)(`div`,{className:`mt-2 rounded-xl border border-dashed border-edge-subtle px-4 py-8 text-center dark:border-edge-subtle`,children:[(0,$.jsx)(C,{className:`mx-auto size-8 text-fg-disabled`,strokeWidth:1.25,"aria-hidden":!0}),(0,$.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:s.noRunsYet})]}):(0,$.jsx)(`ul`,{className:`mt-2 space-y-2`,children:o.map(e=>(0,$.jsx)(`li`,{children:(0,$.jsx)(Ft,{row:e,expanded:v===e.id,onToggle:()=>y(t=>t===e.id?null:e.id),c:s,statusLabels:d})},e.id))})]})]})]}):null}),n&&!r?(0,$.jsx)(`div`,{className:`shrink-0 border-t border-edge px-4 py-3`,children:(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsxs)(J,{type:`button`,className:`gap-1.5`,onClick:()=>p(n),children:[(0,$.jsx)(h,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),s.runNow]}),(0,$.jsx)(J,{type:`button`,variant:`secondary`,onClick:()=>f(n),children:s.edit}),(0,$.jsxs)(J,{type:`button`,variant:`secondary`,className:`ml-auto text-red-600 hover:bg-red-50 dark:text-red-400 dark:hover:bg-red-950/40`,onClick:()=>_(n),children:[(0,$.jsx)(z,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),s.delete]})]})}):null]})})]})})}function Rt(e){if(!e.trim())return null;try{return JSON.parse(e)}catch{return null}}function zt(e){return typeof e.message==`string`&&e.message.trim()?e.message:typeof e.error==`string`&&e.error.trim()?e.error:e.error&&typeof e.error==`object`&&typeof e.error.message==`string`?e.error.message:`AI suggestion failed`}function Bt(e,t={}){let n=Rt(e.split(`
2
- `).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trimStart()).join(`
3
- `));if(!n)return null;if(n.type===`text_delta`&&typeof n.delta==`string`)return t.onDelta?.(n.delta),null;if(n.type===`thinking_delta`&&typeof n.delta==`string`)return t.onThinkingDelta?.(n.delta),null;if(n.type===`done`&&typeof n.text==`string`)return n.text;if(n.type===`error`)throw Error(zt(n));return null}async function Vt(e,t={}){let n=await d(l(`/api/ai/text-assist`),{method:`POST`,headers:{Accept:`text/event-stream`},body:JSON.stringify(e)});if(!n.ok){let e=await n.json().catch(()=>({})),t=typeof e.error==`string`?e.error:e.error?.message;throw Error(t||`AI suggestion failed (${n.status})`)}if(!n.body){let e=await n.json().catch(()=>null);if(e?.text)return e;throw Error(`AI suggestion stream is empty`)}let r=n.body.getReader(),i=new TextDecoder,a=``,o=``,s=``;for(;;){let{done:e,value:n}=await r.read();if(n){a+=i.decode(n,{stream:!e});let r=a.split(/\r?\n\r?\n/);a=r.pop()??``;for(let e of r){let n=Bt(e,{onDelta:e=>{o+=e,t.onDelta?.(e)},onThinkingDelta:e=>{s+=e,t.onThinkingDelta?.(e)}});n!==null&&(o=n)}}if(e)break}if(a.trim()){let e=Bt(a,{onDelta:e=>{o+=e,t.onDelta?.(e)},onThinkingDelta:e=>{s+=e,t.onThinkingDelta?.(e)}});e!==null&&(o=e)}let c=o.trim();if(!c)throw Error(`AI returned an empty suggestion`);return{text:c,thinking:s.trim()||void 0}}function Ht(){let[e,t]=(0,Z.useState)(``),[n,r]=(0,Z.useState)(``),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(null);return{suggestion:e,thinking:n,loading:i,error:o,generate:(0,Z.useCallback)(async e=>{a(!0),s(null),t(``),r(``);try{let n=await Vt(e,{onDelta:e=>{t(t=>t+e)},onThinkingDelta:e=>{r(t=>t+e)}});return t(n.text),r(n.thinking??``),n.text}catch(e){return s(e instanceof Error?e.message:`AI suggestion failed`),null}finally{a(!1)}},[]),reset:(0,Z.useCallback)(()=>{t(``),r(``),s(null),a(!1)},[])}}var Ut=5;function Wt(e){return e.startsWith(`zh`)?{title:`AI 优化文案`,buttonTitle:`优化文案`,current:`当前内容`,suggestion:`AI 建议`,editedSuggestion:`审核并编辑建议`,thinking:`模型思考`,thinkingLoading:`思考中`,edit:`编辑`,preview:`预览`,loading:`正在生成建议...`,empty:`暂无内容`,regenerate:`重新生成`,applyCurrent:`应用当前内容`,replace:`替换`,append:`追加`,cancel:`取消`,close:`关闭`}:{title:`AI text assist`,buttonTitle:`Improve text`,current:`Current`,suggestion:`Suggestion`,editedSuggestion:`Review and edit suggestion`,thinking:`Model thinking`,thinkingLoading:`Thinking`,edit:`Edit`,preview:`Preview`,loading:`Generating suggestion...`,empty:`No content`,regenerate:`Regenerate`,applyCurrent:`Apply current`,replace:`Replace`,append:`Append`,cancel:`Cancel`,close:`Close`}}function Gt(e){let t=(0,Q.c)(228),{value:n,onApply:r,fieldId:a,fieldLabel:o,scenario:s,format:c,intent:l,locale:u,context:d,disabled:f,className:p,showLabel:h}=e,g=s===void 0?`generic.text`:s,_=c===void 0?`plain`:c,v=l===void 0?`improve`:l,y=h===void 0?!0:h,[b,x]=(0,Z.useState)(!1),[S,C]=(0,Z.useState)(n),[w,T]=(0,Z.useState)(`preview`),[E,D]=(0,Z.useState)(``),[O,A]=(0,Z.useState)(`edit`),[N,P]=(0,Z.useState)(!0),F=(0,Z.useRef)(null),I=(0,Z.useRef)(!0),{suggestion:R,thinking:z,loading:H,error:G,generate:K,reset:ee}=Ht(),ne;t[0]===u?ne=t[1]:(ne=Wt(u),t[0]=u,t[1]=ne);let q=ne,re;t[2]!==H||t[3]!==z?(re=H&&z.trim().length>0,t[2]=H,t[3]=z,t[4]=re):re=t[4];let ie=re,ae,se;t[5]!==b||t[6]!==n?(ae=()=>{b||C(n)},se=[b,n],t[5]=b,t[6]=n,t[7]=ae,t[8]=se):(ae=t[7],se=t[8]),(0,Z.useEffect)(ae,se);let Y,ce;t[9]===R?(Y=t[10],ce=t[11]):(ce=()=>{D(R)},Y=[R],t[9]=R,t[10]=Y,t[11]=ce),(0,Z.useEffect)(ce,Y);let le,de;t[12]===z?(le=t[13],de=t[14]):(le=()=>{z.trim()&&P(!0)},de=[z],t[12]=z,t[13]=le,t[14]=de),(0,Z.useEffect)(le,de);let fe;t[15]!==ie||t[16]!==N?(fe=()=>{let e=F.current;!e||!ie||!N||I.current&&(e.scrollTop=e.scrollHeight)},t[15]=ie,t[16]=N,t[17]=fe):fe=t[17];let me;t[18]!==ie||t[19]!==z||t[20]!==N?(me=[ie,z,N],t[18]=ie,t[19]=z,t[20]=N,t[21]=me):me=t[21],(0,Z.useLayoutEffect)(fe,me);let he;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(he=()=>{let e=F.current;e&&(I.current=e.scrollHeight-e.scrollTop-e.clientHeight<=Ut)},t[22]=he):he=t[22];let ge=he,_e;t[23]!==d||t[24]!==a||t[25]!==o||t[26]!==_||t[27]!==K||t[28]!==v||t[29]!==u||t[30]!==g?(_e=async e=>{A(`edit`),P(!0),I.current=!0,await K({intent:v,scenario:g,input:e,locale:u,field:{id:a,label:o,format:_},context:d})},t[23]=d,t[24]=a,t[25]=o,t[26]=_,t[27]=K,t[28]=v,t[29]=u,t[30]=g,t[31]=_e):_e=t[31];let ve=_e,ye;t[32]!==ve||t[33]!==n?(ye=async()=>{C(n),T(`preview`),x(!0),await ve(n)},t[32]=ve,t[33]=n,t[34]=ye):ye=t[34];let be=ye,xe;t[35]!==S||t[36]!==ve?(xe=async()=>{await ve(S)},t[35]=S,t[36]=ve,t[37]=xe):xe=t[37];let Se=xe,Ce;t[38]!==ee||t[39]!==n?(Ce=()=>{x(!1),C(n),T(`preview`),D(``),A(`edit`),P(!0),ee()},t[38]=ee,t[39]=n,t[40]=Ce):Ce=t[40];let X=Ce,we;t[41]!==X||t[42]!==S||t[43]!==r?(we=()=>{r(S),X()},t[41]=X,t[42]=S,t[43]=r,t[44]=we):we=t[44];let Te=we,Ee;t[45]!==X||t[46]!==E||t[47]!==r?(Ee=()=>{E.trim()&&(r(E),X())},t[45]=X,t[46]=E,t[47]=r,t[48]=Ee):Ee=t[48];let De=Ee,Oe;t[49]!==X||t[50]!==S||t[51]!==E||t[52]!==r?(Oe=()=>{if(!E.trim())return;let e=S.trimEnd();r(e?`${e}\n\n${E}`:E),X()},t[49]=X,t[50]=S,t[51]=E,t[52]=r,t[53]=Oe):Oe=t[53];let ke=Oe,Ae;t[54]!==E||t[55]!==G||t[56]!==H?(Ae=!H&&!G&&E.trim().length>0,t[54]=E,t[55]=G,t[56]=H,t[57]=Ae):Ae=t[57];let je=Ae,Me=S!==n,Ne=!y&&`size-7 p-0`,Pe;t[58]!==p||t[59]!==Ne?(Pe=i(`h-7 gap-1 px-2 text-xs`,Ne,p),t[58]=p,t[59]=Ne,t[60]=Pe):Pe=t[60];let Fe=f||H,Ie;t[61]===be?Ie=t[62]:(Ie=()=>void be(),t[61]=be,t[62]=Ie);let Le;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,$.jsx)(U,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0}),t[63]=Le):Le=t[63];let Re=y?q.buttonTitle:null,ze;t[64]!==q.buttonTitle||t[65]!==Pe||t[66]!==Fe||t[67]!==Ie||t[68]!==Re?(ze=(0,$.jsxs)(J,{type:`button`,variant:`ghost`,className:Pe,title:q.buttonTitle,"aria-label":q.buttonTitle,disabled:Fe,onClick:Ie,children:[Le,Re]}),t[64]=q.buttonTitle,t[65]=Pe,t[66]=Fe,t[67]=Ie,t[68]=Re,t[69]=ze):ze=t[69];let Be;t[70]===X?Be=t[71]:(Be=e=>e?x(!0):X(),t[70]=X,t[71]=Be);let Ve;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=(0,$.jsx)(j,{className:`xopc-dialog-overlay fixed inset-0 z-[80] bg-scrim`}),t[72]=Ve):Ve=t[72];let He;t[73]===q.title?He=t[74]:(He=(0,$.jsx)(pe,{className:`text-base font-semibold text-fg`,children:q.title}),t[73]=q.title,t[74]=He);let Ue;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,$.jsx)(k,{className:`size-5`,strokeWidth:1.75}),t[75]=Ue):Ue=t[75];let We;t[76]===q.close?We=t[77]:(We=(0,$.jsx)(V,{asChild:!0,children:(0,$.jsx)(J,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":q.close,children:Ue})}),t[76]=q.close,t[77]=We);let Ge;t[78]!==He||t[79]!==We?(Ge=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[He,We]}),t[78]=He,t[79]=We,t[80]=Ge):Ge=t[80];let Ke;t[81]===q.current?Ke=t[82]:(Ke=(0,$.jsx)(`div`,{className:`min-w-0 text-xs font-medium text-fg-muted`,children:q.current}),t[81]=q.current,t[82]=Ke);let qe=w===`edit`?`bg-surface-panel text-fg shadow-surface`:`text-fg-muted hover:bg-surface-hover`,Je;t[83]===qe?Je=t[84]:(Je=i(`inline-flex h-7 items-center gap-1.5 rounded-md px-2 text-xs font-medium`,qe),t[83]=qe,t[84]=Je);let Ye,Xe;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=()=>T(`edit`),Xe=(0,$.jsx)(ue,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[85]=Ye,t[86]=Xe):(Ye=t[85],Xe=t[86]);let Ze;t[87]!==q.edit||t[88]!==Je?(Ze=(0,$.jsxs)(`button`,{type:`button`,className:Je,onClick:Ye,children:[Xe,q.edit]}),t[87]=q.edit,t[88]=Je,t[89]=Ze):Ze=t[89];let Qe=w===`preview`?`bg-surface-panel text-fg shadow-surface`:`text-fg-muted hover:bg-surface-hover`,$e;t[90]===Qe?$e=t[91]:($e=i(`inline-flex h-7 items-center gap-1.5 rounded-md px-2 text-xs font-medium`,Qe),t[90]=Qe,t[91]=$e);let et,tt;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(et=()=>T(`preview`),tt=(0,$.jsx)(oe,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[92]=et,t[93]=tt):(et=t[92],tt=t[93]);let nt;t[94]!==q.preview||t[95]!==$e?(nt=(0,$.jsxs)(`button`,{type:`button`,className:$e,onClick:et,children:[tt,q.preview]}),t[94]=q.preview,t[95]=$e,t[96]=nt):nt=t[96];let rt;t[97]!==Ze||t[98]!==nt?(rt=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 rounded-lg border border-edge bg-surface-muted p-0.5`,children:[Ze,nt]}),t[97]=Ze,t[98]=nt,t[99]=rt):rt=t[99];let it;t[100]!==Ke||t[101]!==rt?(it=(0,$.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-2`,children:[Ke,rt]}),t[100]=Ke,t[101]=rt,t[102]=it):it=t[102];let at;t[103]!==S||t[104]!==w||t[105]!==_||t[106]!==q.current||t[107]!==q.empty?(at=w===`preview`?(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto rounded-lg border border-edge bg-surface-base p-3 text-sm leading-6 text-fg`,children:_===`markdown`?(0,$.jsx)(L,{content:S||q.empty,compact:!0,className:`text-sm`}):(0,$.jsx)(`pre`,{className:`whitespace-pre-wrap text-sm leading-6 text-fg`,children:S||q.empty})}):(0,$.jsx)(`textarea`,{className:`min-h-0 flex-1 resize-none overflow-auto rounded-lg border border-edge bg-surface-base p-3 text-sm leading-6 text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/25`,value:S,onChange:e=>C(e.currentTarget.value),placeholder:q.empty,"aria-label":q.current}),t[103]=S,t[104]=w,t[105]=_,t[106]=q.current,t[107]=q.empty,t[108]=at):at=t[108];let ot;t[109]!==it||t[110]!==at?(ot=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-col overflow-hidden`,children:[it,at]}),t[109]=it,t[110]=at,t[111]=ot):ot=t[111];let st;t[112]===q.editedSuggestion?st=t[113]:(st=(0,$.jsx)(`span`,{children:q.editedSuggestion}),t[112]=q.editedSuggestion,t[113]=st);let ct;t[114]!==q.loading||t[115]!==H?(ct=H?(0,$.jsx)(`span`,{className:`ml-2 font-normal`,children:q.loading}):null,t[114]=q.loading,t[115]=H,t[116]=ct):ct=t[116];let lt;t[117]!==st||t[118]!==ct?(lt=(0,$.jsxs)(`div`,{className:`min-w-0 text-xs font-medium text-fg-muted`,children:[st,ct]}),t[117]=st,t[118]=ct,t[119]=lt):lt=t[119];let ut=O===`edit`?`bg-surface-panel text-fg shadow-surface`:`text-fg-muted hover:bg-surface-hover`,dt;t[120]===ut?dt=t[121]:(dt=i(`inline-flex h-7 items-center gap-1.5 rounded-md px-2 text-xs font-medium`,ut),t[120]=ut,t[121]=dt);let ft,pt;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(ft=()=>A(`edit`),pt=(0,$.jsx)(ue,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[122]=ft,t[123]=pt):(ft=t[122],pt=t[123]);let mt;t[124]!==q.edit||t[125]!==dt?(mt=(0,$.jsxs)(`button`,{type:`button`,className:dt,onClick:ft,children:[pt,q.edit]}),t[124]=q.edit,t[125]=dt,t[126]=mt):mt=t[126];let ht=O===`preview`?`bg-surface-panel text-fg shadow-surface`:`text-fg-muted hover:bg-surface-hover`,gt;t[127]===ht?gt=t[128]:(gt=i(`inline-flex h-7 items-center gap-1.5 rounded-md px-2 text-xs font-medium`,ht),t[127]=ht,t[128]=gt);let _t,vt;t[129]===Symbol.for(`react.memo_cache_sentinel`)?(_t=()=>A(`preview`),vt=(0,$.jsx)(oe,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[129]=_t,t[130]=vt):(_t=t[129],vt=t[130]);let yt;t[131]!==q.preview||t[132]!==gt?(yt=(0,$.jsxs)(`button`,{type:`button`,className:gt,onClick:_t,children:[vt,q.preview]}),t[131]=q.preview,t[132]=gt,t[133]=yt):yt=t[133];let bt;t[134]!==mt||t[135]!==yt?(bt=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 rounded-lg border border-edge bg-surface-muted p-0.5`,children:[mt,yt]}),t[134]=mt,t[135]=yt,t[136]=bt):bt=t[136];let xt;t[137]!==lt||t[138]!==bt?(xt=(0,$.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-2`,children:[lt,bt]}),t[137]=lt,t[138]=bt,t[139]=xt):xt=t[139];let St=ie?`opacity-100`:`pointer-events-none opacity-0`,Ct;t[140]===St?Ct=t[141]:(Ct=i(`absolute inset-0 min-h-0 transition-opacity duration-200 ease-out motion-reduce:transition-none`,St),t[140]=St,t[141]=Ct);let wt=!ie,Tt;t[142]===Symbol.for(`react.memo_cache_sentinel`)?(Tt=()=>P(Kt),t[142]=Tt):Tt=t[142];let Et;t[143]!==q.thinkingLoading||t[144]!==H?(Et=H?(0,$.jsxs)(`span`,{className:`ml-1 font-normal`,children:[`· `,q.thinkingLoading]}):null,t[143]=q.thinkingLoading,t[144]=H,t[145]=Et):Et=t[145];let Dt;t[146]!==q.thinking||t[147]!==Et?(Dt=(0,$.jsxs)(`span`,{className:`min-w-0 truncate`,children:[q.thinking,Et]}),t[146]=q.thinking,t[147]=Et,t[148]=Dt):Dt=t[148];let Ot=N&&`rotate-180`,kt;t[149]===Ot?kt=t[150]:(kt=i(`size-3.5 shrink-0 transition-transform`,Ot),t[149]=Ot,t[150]=kt);let At;t[151]===kt?At=t[152]:(At=(0,$.jsx)(W,{className:kt,strokeWidth:1.75,"aria-hidden":!0}),t[151]=kt,t[152]=At);let jt;t[153]!==Dt||t[154]!==At?(jt=(0,$.jsxs)(`button`,{type:`button`,className:`flex shrink-0 items-center justify-between gap-2 px-2.5 py-2 text-left text-xs font-medium text-fg-muted hover:text-fg`,onClick:Tt,children:[Dt,At]}),t[153]=Dt,t[154]=At,t[155]=jt):jt=t[155];let Mt;t[156]!==z||t[157]!==N?(Mt=N?(0,$.jsx)(`pre`,{ref:F,className:`min-h-0 flex-1 overflow-auto border-t border-edge px-2.5 py-2 whitespace-pre-wrap text-xs leading-5 text-fg-muted`,onScroll:ge,children:z}):null,t[156]=z,t[157]=N,t[158]=Mt):Mt=t[158];let Nt;t[159]!==jt||t[160]!==Mt?(Nt=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col rounded-lg border border-edge bg-surface-muted/70`,children:[jt,Mt]}),t[159]=jt,t[160]=Mt,t[161]=Nt):Nt=t[161];let Pt;t[162]!==Ct||t[163]!==wt||t[164]!==Nt?(Pt=(0,$.jsx)(`div`,{className:Ct,"aria-hidden":wt,children:Nt}),t[162]=Ct,t[163]=wt,t[164]=Nt,t[165]=Pt):Pt=t[165];let Ft=ie?`pointer-events-none opacity-0`:`opacity-100`,It;t[166]===Ft?It=t[167]:(It=i(`absolute inset-0 min-h-0 transition-opacity duration-200 ease-out motion-reduce:transition-none`,Ft),t[166]=Ft,t[167]=It);let Lt;t[168]!==E||t[169]!==G||t[170]!==_||t[171]!==q.empty||t[172]!==q.loading||t[173]!==q.suggestion||t[174]!==H||t[175]!==O?(Lt=G?(0,$.jsx)(`pre`,{className:`h-full min-h-0 overflow-auto whitespace-pre-wrap rounded-lg border border-edge bg-surface-base p-3 text-sm leading-6 text-fg-muted`,children:G}):O===`preview`?(0,$.jsx)(`div`,{className:`h-full min-h-0 overflow-auto rounded-lg border border-edge bg-surface-base p-3 text-sm leading-6 text-fg`,children:H&&!E.trim()?(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:q.loading}):_===`markdown`?(0,$.jsx)(L,{content:E||q.empty,compact:!0,className:`text-sm`}):(0,$.jsx)(`pre`,{className:`whitespace-pre-wrap text-sm leading-6 text-fg`,children:E||q.empty})}):(0,$.jsx)(`textarea`,{className:`h-full min-h-0 w-full resize-none overflow-auto rounded-lg border border-edge bg-surface-base p-3 text-sm leading-6 text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/25 disabled:text-fg-muted`,value:E,onChange:e=>D(e.currentTarget.value),disabled:H,placeholder:H?q.loading:q.empty,"aria-label":q.suggestion}),t[168]=E,t[169]=G,t[170]=_,t[171]=q.empty,t[172]=q.loading,t[173]=q.suggestion,t[174]=H,t[175]=O,t[176]=Lt):Lt=t[176];let Rt;t[177]!==It||t[178]!==Lt?(Rt=(0,$.jsx)(`div`,{className:It,children:Lt}),t[177]=It,t[178]=Lt,t[179]=Rt):Rt=t[179];let zt;t[180]!==Pt||t[181]!==Rt?(zt=(0,$.jsxs)(`div`,{className:`relative min-h-0 flex-1 overflow-hidden`,children:[Pt,Rt]}),t[180]=Pt,t[181]=Rt,t[182]=zt):zt=t[182];let Bt;t[183]!==xt||t[184]!==zt?(Bt=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-col overflow-hidden`,children:[xt,zt]}),t[183]=xt,t[184]=zt,t[185]=Bt):Bt=t[185];let Vt;t[186]!==ot||t[187]!==Bt?(Vt=(0,$.jsxs)(`div`,{className:`grid min-h-0 flex-1 grid-cols-1 gap-3 overflow-hidden p-4 md:grid-cols-2`,children:[ot,Bt]}),t[186]=ot,t[187]=Bt,t[188]=Vt):Vt=t[188];let Gt;t[189]!==X||t[190]!==q.cancel?(Gt=(0,$.jsx)(J,{type:`button`,variant:`secondary`,onClick:X,children:q.cancel}),t[189]=X,t[190]=q.cancel,t[191]=Gt):Gt=t[191];let Jt=!Me,Yt;t[192]!==Te||t[193]!==q.applyCurrent||t[194]!==Jt?(Yt=(0,$.jsx)(J,{type:`button`,variant:`secondary`,disabled:Jt,onClick:Te,children:q.applyCurrent}),t[192]=Te,t[193]=q.applyCurrent,t[194]=Jt,t[195]=Yt):Yt=t[195];let Xt;t[196]===Se?Xt=t[197]:(Xt=()=>void Se(),t[196]=Se,t[197]=Xt);let Zt;t[198]===Symbol.for(`react.memo_cache_sentinel`)?(Zt=(0,$.jsx)(M,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),t[198]=Zt):Zt=t[198];let Qt;t[199]!==q.regenerate||t[200]!==H||t[201]!==Xt?(Qt=(0,$.jsxs)(J,{type:`button`,variant:`secondary`,disabled:H,onClick:Xt,children:[Zt,q.regenerate]}),t[199]=q.regenerate,t[200]=H,t[201]=Xt,t[202]=Qt):Qt=t[202];let $t=!je,en;t[203]!==ke||t[204]!==q.append||t[205]!==$t?(en=(0,$.jsx)(J,{type:`button`,variant:`secondary`,disabled:$t,onClick:ke,children:q.append}),t[203]=ke,t[204]=q.append,t[205]=$t,t[206]=en):en=t[206];let tn=!je,nn;t[207]!==De||t[208]!==q.replace||t[209]!==tn?(nn=(0,$.jsx)(J,{type:`button`,variant:`primary`,disabled:tn,onClick:De,children:q.replace}),t[207]=De,t[208]=q.replace,t[209]=tn,t[210]=nn):nn=t[210];let rn;t[211]!==Gt||t[212]!==Yt||t[213]!==Qt||t[214]!==en||t[215]!==nn?(rn=(0,$.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-4 py-3`,children:[Gt,Yt,Qt,en,nn]}),t[211]=Gt,t[212]=Yt,t[213]=Qt,t[214]=en,t[215]=nn,t[216]=rn):rn=t[216];let an;t[217]!==Ge||t[218]!==Vt||t[219]!==rn?(an=(0,$.jsxs)(m,{children:[Ve,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[80] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(B,{className:`xopc-dialog-content-pane pointer-events-auto flex h-[min(78vh,38rem)] w-full max-w-4xl flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,onOpenAutoFocus:qt,children:[Ge,Vt,rn]})})]}),t[217]=Ge,t[218]=Vt,t[219]=rn,t[220]=an):an=t[220];let on;t[221]!==b||t[222]!==Be||t[223]!==an?(on=(0,$.jsx)(te,{open:b,onOpenChange:Be,children:an}),t[221]=b,t[222]=Be,t[223]=an,t[224]=on):on=t[224];let sn;return t[225]!==ze||t[226]!==on?(sn=(0,$.jsxs)($.Fragment,{children:[ze,on]}),t[225]=ze,t[226]=on,t[227]=sn):sn=t[227],sn}function Kt(e){return!e}function qt(e){return e.preventDefault()}function Jt(e){let t=(0,Q.c)(31),{value:n,onChange:r,disabled:i,wd:a,placeholder:o,title:s,maxWidthClass:c,clearLabel:l,onClear:u}=e,d;t[0]!==r||t[1]!==n?(d={initialPath:n,onPicked:r},t[0]=r,t[1]=n,t[2]=d):d=t[2];let f=F(d),p;t[3]===n?p=t[4]:(p=n.trim(),t[3]=n,t[4]=p);let m=p,h=s??(m?`${m}\n${a.chooseFolder}`:`${o??a.notSet}\n${a.selectWorkingDirectory}`),g=i||f.picking,_=o??a.notSet,v;t[5]!==c||t[6]!==f.pick||t[7]!==h||t[8]!==g||t[9]!==_||t[10]!==n?(v=(0,$.jsx)(R,{value:n,onPick:f.pick,disabled:g,placeholder:_,title:h,maxWidthClass:c}),t[5]=c,t[6]=f.pick,t[7]=h,t[8]=g,t[9]=_,t[10]=n,t[11]=v):v=t[11];let y;t[12]!==l||t[13]!==i||t[14]!==u||t[15]!==f.picking||t[16]!==m?(y=l&&m&&u?(0,$.jsx)(`button`,{type:`button`,disabled:i||f.picking,className:`text-xs font-medium text-accent hover:underline disabled:opacity-50`,onClick:u,children:l}):null,t[12]=l,t[13]=i,t[14]=u,t[15]=f.picking,t[16]=m,t[17]=y):y=t[17];let b;t[18]!==v||t[19]!==y?(b=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[v,y]}),t[18]=v,t[19]=y,t[20]=b):b=t[20];let x;t[21]!==f.confirmPick||t[22]!==f.hasNativePicker||t[23]!==f.modalOpen||t[24]!==f.setModalOpen||t[25]!==m||t[26]!==a?(x=f.hasNativePicker?null:(0,$.jsx)(ye,{open:f.modalOpen,onOpenChange:f.setModalOpen,initialAbsolutePath:m||void 0,onConfirm:f.confirmPick,wd:a}),t[21]=f.confirmPick,t[22]=f.hasNativePicker,t[23]=f.modalOpen,t[24]=f.setModalOpen,t[25]=m,t[26]=a,t[27]=x):x=t[27];let S;return t[28]!==b||t[29]!==x?(S=(0,$.jsxs)($.Fragment,{children:[b,x]}),t[28]=b,t[29]=x,t[30]=S):S=t[30],S}function Yt(e,t){return e[t]??t}function Xt(e,t){let n=Y[e]??[];if(n.length===0)return{};let r=t&&typeof t==`object`&&!Array.isArray(t)?t:{},i={};for(let e of n){let t=r[e.key];t!=null&&(i[e.key]=String(t))}return i}function Zt(e,t){return(Y[e]??[]).every(e=>!e.required||!!t[e.key]?.trim())}function Qt(e){let t=(0,Q.c)(12),{examples:n,labels:r,onSelect:i}=e;if(n.length===0)return null;let a;t[0]===r.examplePrompts?a=t[1]:(a=(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:r.examplePrompts}),t[0]=r.examplePrompts,t[1]=a);let o;if(t[2]!==n||t[3]!==i){let e;t[5]===i?e=t[6]:(e=e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`rounded-lg border border-edge bg-surface-base/50 px-3 py-2 text-left text-xs text-fg-muted hover:bg-surface-hover`,children:e.text},`${e.field}:${e.text}`),t[5]=i,t[6]=e),o=n.map(e),t[2]=n,t[3]=i,t[4]=o}else o=t[4];let s;t[7]===o?s=t[8]:(s=(0,$.jsx)(`div`,{className:`mt-2 flex flex-col gap-1.5`,children:o}),t[7]=o,t[8]=s);let c;return t[9]!==a||t[10]!==s?(c=(0,$.jsxs)(`div`,{children:[a,s]}),t[9]=a,t[10]=s,t[11]=c):c=t[11],c}function $t(e){let t=(0,Q.c)(34),{workflowName:n,language:r,argValues:o,onArgValuesChange:s,goal:c,onGoalChange:l,examplePrompts:u,showGoal:d,inputClassName:f,aiAssist:p}=e,m;t[0]===u?m=t[1]:(m=u===void 0?[]:u,t[0]=u,t[1]=m);let h=m,g=d===void 0?!0:d,_,v,y,b,x,S,C;if(t[2]!==p||t[3]!==o||t[4]!==h||t[5]!==c||t[6]!==f||t[7]!==r||t[8]!==s||t[9]!==l||t[10]!==g||t[11]!==n){y=a(r).workflows;let e=Y[n]??[];v=e.length>0;let u=i(`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`,f),d;t[19]!==o||t[20]!==s||t[21]!==l?(d=e=>{$e(e,l,e=>{s(e(o))})},t[19]=o,t[20]=s,t[21]=l,t[22]=d):d=t[22],_=d,b=`flex flex-col gap-3`,x=e.map(e=>{let t=Yt(y.args,e.labelKey),a=Yt(y.args,e.placeholderKey),c=o[e.key]??``;return(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`span`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsxs)(`span`,{className:`text-xs font-medium text-fg-muted`,children:[t,e.required?` *`:``]}),e.multiline&&p?(0,$.jsx)(Gt,{value:c,onApply:t=>s({...o,[e.key]:t}),fieldId:`workflow.arg.${e.key}`,fieldLabel:t,scenario:`workflow.arg`,locale:r,context:{...p.context,workflowName:n,workflowArgs:o,fieldKey:e.key},disabled:p.disabled,showLabel:!1}):null]}),e.multiline?(0,$.jsx)(`textarea`,{value:c,onChange:t=>s({...o,[e.key]:t.target.value}),placeholder:a,className:i(u,`min-h-20 resize-y`)}):(0,$.jsx)(`input`,{value:c,onChange:t=>s({...o,[e.key]:t.target.value}),placeholder:a,className:u})]},e.key)}),S=v&&h.length>0?(0,$.jsx)(Qt,{examples:h,labels:y,onSelect:_}):null,C=g?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`span`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:y.goalLabel}),p?(0,$.jsx)(Gt,{value:c,onApply:l,fieldId:`workflow.goal`,fieldLabel:y.goalLabel,scenario:`cron.workflowGoal`,locale:r,context:{...p.context,workflowName:n,workflowArgs:o},disabled:p.disabled,showLabel:!1}):null]}),(0,$.jsx)(`textarea`,{value:c,onChange:e=>l(e.target.value),placeholder:y.goalPlaceholder,className:i(u,`min-h-20 resize-y`)})]}):null,t[2]=p,t[3]=o,t[4]=h,t[5]=c,t[6]=f,t[7]=r,t[8]=s,t[9]=l,t[10]=g,t[11]=n,t[12]=_,t[13]=v,t[14]=y,t[15]=b,t[16]=x,t[17]=S,t[18]=C}else _=t[12],v=t[13],y=t[14],b=t[15],x=t[16],S=t[17],C=t[18];let w;t[23]!==_||t[24]!==h||t[25]!==v||t[26]!==y?(w=!v&&h.length>0?(0,$.jsx)(Qt,{examples:h,labels:y,onSelect:_}):null,t[23]=_,t[24]=h,t[25]=v,t[26]=y,t[27]=w):w=t[27];let T;return t[28]!==b||t[29]!==x||t[30]!==S||t[31]!==C||t[32]!==w?(T=(0,$.jsxs)(`div`,{className:b,children:[x,S,C,w]}),t[28]=b,t[29]=x,t[30]=S,t[31]=C,t[32]=w,t[33]=T):T=t[33],T}var en=42,tn=68,nn=56;function rn(e){return Math.max(en,Math.min(tn,e))}function an(e){let t=(0,Q.c)(10),{title:n,children:r,className:a}=e,o;t[0]===a?o=t[1]:(o=i(`rounded-2xl border border-edge bg-surface-base/35 p-4`,a),t[0]=a,t[1]=o);let s;t[2]===n?s=t[3]:(s=n?(0,$.jsx)(`h3`,{className:`mb-3 text-sm font-semibold text-fg`,children:n}):null,t[2]=n,t[3]=s);let c;t[4]===r?c=t[5]:(c=(0,$.jsx)(`div`,{className:`flex flex-col gap-3`,children:r}),t[4]=r,t[5]=c);let l;return t[6]!==o||t[7]!==s||t[8]!==c?(l=(0,$.jsxs)(`section`,{className:o,children:[s,c]}),t[6]=o,t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function on(e){let t=(0,Q.c)(301),{open:n,onRequestClose:r,c:a,chatM:s,agentsMessages:c,isDark:l,channels:u,sessionChatIds:d,cronAgentSelectOptions:f,defaultModelResolver:p,formMode:h,formJobId:g,formName:_,onFormNameChange:v,formSchedule:y,onFormScheduleChange:b,formSubmitting:S,formTaskKind:C,onFormTaskKindChange:w,workflowDefinitions:T,workflowDefinitionsLoading:E,formWorkflowDefinitionId:O,onFormWorkflowDefinitionIdChange:A,formWorkflowGoal:N,onFormWorkflowGoalChange:P,formWorkflowArgValues:F,onFormWorkflowArgValuesChange:I,formSessionTarget:R,onFormSessionTargetChange:z,formAgentLocalOnly:H,onFormAgentLocalOnlyChange:U,formModel:W,onFormModelUserChange:G,formAgentId:K,onFormAgentIdChange:ee,formWorkingDirectory:ne,onFormWorkingDirectoryChange:q,formChannel:re,onFormChannelChange:ie,formChatId:ae,onFormChatIdChange:se,formMessage:Y,onFormMessageChange:ce,formMessageMdMode:le,onSetMessageMdMode:de,messageEditorNonce:fe,needsDeliveryChat:me,showChannelPicker:he,canSubmit:ge,onSubmit:_e,onRefreshRecipients:ve}=e,ye=o(fn),[xe,Se]=(0,Z.useState)(nn),[Ce,X]=(0,Z.useState)(!1),[we,Te]=(0,Z.useState)(0),Ee=(0,Z.useRef)(null),De,Oe;if(t[0]!==O||t[1]!==ye||t[2]!==T){let e;t[5]===O?e=t[6]:(e=e=>e.id===O.trim(),t[5]=O,t[6]=e),De=T.find(e),Oe=De?Qe(De,ye):null,t[0]=O,t[1]=ye,t[2]=T,t[3]=De,t[4]=Oe}else De=t[3],Oe=t[4];let ke=Oe,Ae;t[7]!==y.everyMs||t[8]!==y.kind?(Ae=y.kind===`every`?Math.max(1,Math.round(y.everyMs/6e4)):60,t[7]=y.everyMs,t[8]=y.kind,t[9]=Ae):Ae=t[9];let je=Ae,Me;t[10]!==y.at||t[11]!==y.kind?(Me=y.kind===`at`&&y.at?new Date(y.at).toISOString().slice(0,16):``,t[10]=y.at,t[11]=y.kind,t[12]=Me):Me=t[12];let Ne=Me,Pe;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(Pe=e=>{e.preventDefault();let t=Ee.current;if(!t)return;let n=t.getBoundingClientRect(),r=e.currentTarget,i=e.pointerId;r.setPointerCapture(i),X(!0);let a=e=>{Se(rn((e-n.left)/n.width*100))};a(e.clientX);let o=e=>{a(e.clientX)},s=()=>{try{r.releasePointerCapture(i)}catch{}X(!1),window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,s)};window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,s),window.addEventListener(`pointercancel`,s)},t[13]=Pe):Pe=t[13];let Fe=Pe,Ie;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=e=>{e.key===`ArrowLeft`?(e.preventDefault(),Se(dn)):e.key===`ArrowRight`?(e.preventDefault(),Se(un)):e.key===`Home`?(e.preventDefault(),Se(en)):e.key===`End`&&(e.preventDefault(),Se(tn))},t[14]=Ie):Ie=t[14];let Le=Ie,Re;t[15]===a.agentProfile?Re=t[16]:(Re=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.agentProfile}),t[15]=a.agentProfile,t[16]=Re);let ze;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(ze=Ct(),t[17]=ze):ze=t[17];let Be;t[18]===ee?Be=t[19]:(Be=e=>ee(e.target.value),t[18]=ee,t[19]=Be);let Ve;t[20]===a.agentProfileDefault?Ve=t[21]:(Ve=(0,$.jsx)(`option`,{value:``,children:a.agentProfileDefault}),t[20]=a.agentProfileDefault,t[21]=Ve);let He;if(t[22]!==c||t[23]!==f){let e;t[25]===c?e=t[26]:(e=e=>(0,$.jsx)(`option`,{value:e.id,children:`${e.id} - ${D(e,c)}`},e.id),t[25]=c,t[26]=e),He=f.map(e),t[22]=c,t[23]=f,t[24]=He}else He=t[24];let Ue;t[27]!==K||t[28]!==S||t[29]!==Be||t[30]!==Ve||t[31]!==He?(Ue=(0,$.jsxs)(`select`,{className:ze,value:K,disabled:S,onChange:Be,children:[Ve,He]}),t[27]=K,t[28]=S,t[29]=Be,t[30]=Ve,t[31]=He,t[32]=Ue):Ue=t[32];let We;t[33]===a.agentProfileHint?We=t[34]:(We=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:a.agentProfileHint}),t[33]=a.agentProfileHint,t[34]=We);let qe;t[35]!==Ue||t[36]!==We||t[37]!==Re?(qe=(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[Re,Ue,We]}),t[35]=Ue,t[36]=We,t[37]=Re,t[38]=qe):qe=t[38];let Je=qe,Xe;t[39]!==a.channel||t[40]!==a.channelLocal||t[41]!==a.enterManuallyOrSelect||t[42]!==a.lastActiveLabels||t[43]!==a.noRecentChats||t[44]!==a.noRecentChatsOption||t[45]!==a.recipient||t[46]!==a.recipientPlaceholder||t[47]!==a.refreshList||t[48]!==a.refreshRecipientHint||t[49]!==a.selectRecipient||t[50]!==a.workflowDeliveryHint||t[51]!==u||t[52]!==re||t[53]!==ae||t[54]!==C||t[55]!==me||t[56]!==ie||t[57]!==se||t[58]!==ve||t[59]!==d||t[60]!==he?(Xe=he?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.channel}),(0,$.jsxs)(`select`,{className:Ct(),value:re,onChange:e=>ie(e.target.value),children:[(0,$.jsx)(`option`,{value:`local`,children:a.channelLocal}),u.map(ln)]})]}),me?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.recipient}),(0,$.jsxs)(J,{type:`button`,variant:`ghost`,className:`h-7 gap-1 px-2 text-xs`,title:a.refreshRecipientHint,onClick:()=>void ve(),children:[(0,$.jsx)(M,{className:`size-3.5`,strokeWidth:1.75}),a.refreshList]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-stretch sm:gap-2`,children:[(0,$.jsx)(`input`,{type:`text`,className:i(St(),`min-w-0 w-full sm:flex-1`),value:ae,onChange:e=>se(e.target.value),placeholder:a.recipientPlaceholder}),(0,$.jsxs)(`select`,{className:wt,value:ae,onChange:e=>{let t=e.target.value;t&&se(t)},children:[(0,$.jsx)(`option`,{value:``,children:a.selectRecipient}),d.length>0?d.map(e=>(0,$.jsx)(`option`,{value:e.chatId,children:Ke(e,a.lastActiveLabels)},`${e.channel}-${e.chatId}`)):(0,$.jsx)(`option`,{value:``,disabled:!0,children:a.noRecentChatsOption})]})]}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:C===`workflowRun`?a.workflowDeliveryHint:d.length>0?a.enterManuallyOrSelect:a.noRecentChats})]}):null]}):null,t[39]=a.channel,t[40]=a.channelLocal,t[41]=a.enterManuallyOrSelect,t[42]=a.lastActiveLabels,t[43]=a.noRecentChats,t[44]=a.noRecentChatsOption,t[45]=a.recipient,t[46]=a.recipientPlaceholder,t[47]=a.refreshList,t[48]=a.refreshRecipientHint,t[49]=a.selectRecipient,t[50]=a.workflowDeliveryHint,t[51]=u,t[52]=re,t[53]=ae,t[54]=C,t[55]=me,t[56]=ie,t[57]=se,t[58]=ve,t[59]=d,t[60]=he,t[61]=Xe):Xe=t[61];let Ze=Xe,$e;t[62]===a.schedule?$e=t[63]:($e=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.schedule}),t[62]=a.schedule,t[63]=$e);let et;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(et=Ct(),t[64]=et):et=t[64];let tt;t[65]===b?tt=t[66]:(tt=e=>{let t=e.target.value;b(t===`cron`?{kind:`cron`,expr:`*/5 * * * *`}:t===`at`?{kind:`at`,at:new Date(Date.now()+36e5).toISOString()}:{kind:`every`,everyMs:36e5})},t[65]=b,t[66]=tt);let nt,rt,it;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(nt=(0,$.jsx)(`option`,{value:`cron`,children:`Cron`}),rt=(0,$.jsx)(`option`,{value:`at`,children:`One-time`}),it=(0,$.jsx)(`option`,{value:`every`,children:`Interval`}),t[67]=nt,t[68]=rt,t[69]=it):(nt=t[67],rt=t[68],it=t[69]);let at;t[70]!==y.kind||t[71]!==S||t[72]!==tt?(at=(0,$.jsxs)(`select`,{className:et,value:y.kind,disabled:S,onChange:tt,children:[nt,rt,it]}),t[70]=y.kind,t[71]=S,t[72]=tt,t[73]=at):at=t[73];let ot;t[74]!==$e||t[75]!==at?(ot=(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[$e,at]}),t[74]=$e,t[75]=at,t[76]=ot):ot=t[76];let st;t[77]!==Ne||t[78]!==a.nextRun||t[79]!==a.scheduleBadge||t[80]!==a.schedulePicker||t[81]!==y||t[82]!==S||t[83]!==je||t[84]!==b?(st=y.kind===`cron`?(0,$.jsx)(Ye,{value:y.expr,onChange:e=>b({...y,expr:e}),disabled:S,labels:a.schedulePicker}):y.kind===`at`?(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.nextRun}),(0,$.jsx)(`input`,{type:`datetime-local`,className:St(S),value:Ne,disabled:S,onChange:e=>{let t=new Date(e.target.value).getTime();b({kind:`at`,at:Number.isFinite(t)?new Date(t).toISOString():``})}})]}):(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.scheduleBadge.everyNMinutes.replace(`{{n}}`,``)}),(0,$.jsx)(`input`,{type:`number`,min:1,step:1,className:St(S),value:je,disabled:S,onChange:e=>{let t=Number.parseInt(e.target.value,10);b({kind:`every`,everyMs:Math.max(1,Number.isFinite(t)?t:1)*6e4})}})]}),t[77]=Ne,t[78]=a.nextRun,t[79]=a.scheduleBadge,t[80]=a.schedulePicker,t[81]=y,t[82]=S,t[83]=je,t[84]=b,t[85]=st):st=t[85];let ct;t[86]!==ot||t[87]!==st?(ct=(0,$.jsxs)($.Fragment,{children:[ot,st]}),t[86]=ot,t[87]=st,t[88]=ct):ct=t[88];let lt=ct,ut;t[89]===a.message?ut=t[90]:(ut=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.message}),t[89]=a.message,t[90]=ut);let dt;t[91]!==ce||t[92]!==de?(dt=e=>{ce(e),Te(cn),de(`edit`)},t[91]=ce,t[92]=de,t[93]=dt):dt=t[93];let ft=a.message,pt;t[94]===y?pt=t[95]:(pt=Ge(y),t[94]=y,t[95]=pt);let mt;t[96]!==re||t[97]!==_||t[98]!==R||t[99]!==C||t[100]!==pt?(mt={page:`cron`,taskKind:C,cronName:_,scheduleSummary:pt,sessionTarget:R,deliveryChannel:re},t[96]=re,t[97]=_,t[98]=R,t[99]=C,t[100]=pt,t[101]=mt):mt=t[101];let ht;t[102]!==a.message||t[103]!==Y||t[104]!==S||t[105]!==ye||t[106]!==dt||t[107]!==mt?(ht=(0,$.jsx)(Gt,{value:Y,onApply:dt,fieldId:`cron.message`,fieldLabel:ft,scenario:`cron.message`,format:`markdown`,locale:ye,context:mt,disabled:S}),t[102]=a.message,t[103]=Y,t[104]=S,t[105]=ye,t[106]=dt,t[107]=mt,t[108]=ht):ht=t[108];let gt=le===`edit`?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover`,_t;t[109]===gt?_t=t[110]:(_t=i(`inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium`,gt),t[109]=gt,t[110]=_t);let vt;t[111]===de?vt=t[112]:(vt=()=>de(`edit`),t[111]=de,t[112]=vt);let yt;t[113]===Symbol.for(`react.memo_cache_sentinel`)?(yt=(0,$.jsx)(ue,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[113]=yt):yt=t[113];let bt;t[114]!==a.messageEdit||t[115]!==_t||t[116]!==vt?(bt=(0,$.jsxs)(`button`,{type:`button`,className:_t,onClick:vt,children:[yt,a.messageEdit]}),t[114]=a.messageEdit,t[115]=_t,t[116]=vt,t[117]=bt):bt=t[117];let xt=le===`preview`?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover`,Tt;t[118]===xt?Tt=t[119]:(Tt=i(`inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium`,xt),t[118]=xt,t[119]=Tt);let Et;t[120]===de?Et=t[121]:(Et=()=>de(`preview`),t[120]=de,t[121]=Et);let Dt;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(Dt=(0,$.jsx)(oe,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[122]=Dt):Dt=t[122];let Ot;t[123]!==a.messagePreview||t[124]!==Tt||t[125]!==Et?(Ot=(0,$.jsxs)(`button`,{type:`button`,className:Tt,onClick:Et,children:[Dt,a.messagePreview]}),t[123]=a.messagePreview,t[124]=Tt,t[125]=Et,t[126]=Ot):Ot=t[126];let kt;t[127]!==bt||t[128]!==Ot?(kt=(0,$.jsxs)(`div`,{className:`inline-flex rounded-lg border border-edge bg-surface-base p-0.5 dark:border-edge`,children:[bt,Ot]}),t[127]=bt,t[128]=Ot,t[129]=kt):kt=t[129];let At;t[130]!==ht||t[131]!==kt?(At=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[ht,kt]}),t[130]=ht,t[131]=kt,t[132]=At):At=t[132];let jt;t[133]!==ut||t[134]!==At?(jt=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[ut,At]}),t[133]=ut,t[134]=At,t[135]=jt):jt=t[135];let Mt=S&&`pointer-events-none opacity-60`,Nt;t[136]===Mt?Nt=t[137]:(Nt=i(`overflow-hidden rounded-md border border-edge bg-surface-base dark:border-edge`,Mt),t[136]=Mt,t[137]=Nt);let Pt;t[138]!==we||t[139]!==a.messagePlaceholder||t[140]!==g||t[141]!==Y||t[142]!==le||t[143]!==l||t[144]!==fe||t[145]!==ce?(Pt=le===`edit`?(0,$.jsx)(be,{initialContent:Y,onChange:ce,isDark:l,className:`h-[min(22rem,44vh)] min-h-[16rem]`},`cron-msg-${g??`new`}-${fe}-${we}`):(0,$.jsx)(`div`,{className:`h-[min(22rem,44vh)] min-h-[16rem] max-h-[min(26rem,52vh)] overflow-y-auto px-3 py-2`,children:Y.trim()?(0,$.jsx)(L,{content:Y,compact:!0,className:`text-sm`}):(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:a.messagePlaceholder})}),t[138]=we,t[139]=a.messagePlaceholder,t[140]=g,t[141]=Y,t[142]=le,t[143]=l,t[144]=fe,t[145]=ce,t[146]=Pt):Pt=t[146];let Ft;t[147]!==Nt||t[148]!==Pt?(Ft=(0,$.jsx)(`div`,{className:Nt,children:Pt}),t[147]=Nt,t[148]=Pt,t[149]=Ft):Ft=t[149];let It;t[150]===a.messageMarkdownHint?It=t[151]:(It=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:a.messageMarkdownHint}),t[150]=a.messageMarkdownHint,t[151]=It);let Lt;t[152]!==jt||t[153]!==Ft||t[154]!==It?(Lt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[jt,Ft,It]}),t[152]=jt,t[153]=Ft,t[154]=It,t[155]=Lt):Lt=t[155];let Rt=Lt,zt;t[156]===r?zt=t[157]:(zt=e=>!e&&r(),t[156]=r,t[157]=zt);let Bt;t[158]===Symbol.for(`react.memo_cache_sentinel`)?(Bt=(0,$.jsx)(j,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[158]=Bt):Bt=t[158];let Vt=h===`edit`?a.editJob:a.addJob,Ht;t[159]===Vt?Ht=t[160]:(Ht=(0,$.jsx)(pe,{className:`text-base font-semibold text-fg`,children:Vt}),t[159]=Vt,t[160]=Ht);let Ut;t[161]===Symbol.for(`react.memo_cache_sentinel`)?(Ut=(0,$.jsx)(k,{className:`size-5`,strokeWidth:1.75}),t[161]=Ut):Ut=t[161];let Wt;t[162]===a.close?Wt=t[163]:(Wt=(0,$.jsx)(V,{asChild:!0,children:(0,$.jsx)(J,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":a.close,children:Ut})}),t[162]=a.close,t[163]=Wt);let Kt;t[164]!==Ht||t[165]!==Wt?(Kt=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[Ht,Wt]}),t[164]=Ht,t[165]=Wt,t[166]=Kt):Kt=t[166];let qt=!Ce&&`lg:transition-[grid-template-columns] lg:duration-200 lg:ease-out`,Yt;t[167]===qt?Yt=t[168]:(Yt=i(`grid min-h-full grid-cols-1 gap-4 lg:h-full lg:min-h-0 lg:[grid-template-columns:minmax(0,var(--cron-form-primary-pane))_0.75rem_minmax(22rem,1fr)] lg:gap-0`,qt),t[167]=qt,t[168]=Yt);let Xt=`${xe}%`,Zt;t[169]===Xt?Zt=t[170]:(Zt={"--cron-form-primary-pane":Xt},t[169]=Xt,t[170]=Zt);let Qt=Zt,on;t[171]===a.name?on=t[172]:(on=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.name}),t[171]=a.name,t[172]=on);let pn;t[173]===Symbol.for(`react.memo_cache_sentinel`)?(pn=St(),t[173]=pn):pn=t[173];let mn;t[174]===v?mn=t[175]:(mn=e=>v(e.target.value),t[174]=v,t[175]=mn);let hn;t[176]!==a.namePlaceholder||t[177]!==_||t[178]!==mn?(hn=(0,$.jsx)(`input`,{type:`text`,className:pn,value:_,onChange:mn,placeholder:a.namePlaceholder}),t[176]=a.namePlaceholder,t[177]=_,t[178]=mn,t[179]=hn):hn=t[179];let gn;t[180]!==on||t[181]!==hn?(gn=(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[on,hn]}),t[180]=on,t[181]=hn,t[182]=gn):gn=t[182];let _n;t[183]===a.taskKind?_n=t[184]:(_n=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.taskKind}),t[183]=a.taskKind,t[184]=_n);let vn;t[185]===Symbol.for(`react.memo_cache_sentinel`)?(vn=Ct(),t[185]=vn):vn=t[185];let yn;t[186]===w?yn=t[187]:(yn=e=>w(e.target.value),t[186]=w,t[187]=yn);let bn;t[188]===a.taskKindMessage?bn=t[189]:(bn=(0,$.jsx)(`option`,{value:`message`,children:a.taskKindMessage}),t[188]=a.taskKindMessage,t[189]=bn);let xn;t[190]===a.taskKindWorkflowRun?xn=t[191]:(xn=(0,$.jsx)(`option`,{value:`workflowRun`,children:a.taskKindWorkflowRun}),t[190]=a.taskKindWorkflowRun,t[191]=xn);let Sn;t[192]!==S||t[193]!==C||t[194]!==yn||t[195]!==bn||t[196]!==xn?(Sn=(0,$.jsxs)(`select`,{className:vn,value:C,disabled:S,onChange:yn,children:[bn,xn]}),t[192]=S,t[193]=C,t[194]=yn,t[195]=bn,t[196]=xn,t[197]=Sn):Sn=t[197];let Cn;t[198]!==_n||t[199]!==Sn?(Cn=(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[_n,Sn]}),t[198]=_n,t[199]=Sn,t[200]=Cn):Cn=t[200];let wn;t[201]!==lt||t[202]!==gn||t[203]!==Cn?(wn=(0,$.jsxs)(an,{children:[gn,lt,Cn]}),t[201]=lt,t[202]=gn,t[203]=Cn,t[204]=wn):wn=t[204];let Tn;t[205]!==a.message||t[206]!==a.workflowDefinition||t[207]!==a.workflowDefinitionCustom||t[208]!==a.workflowDefinitionMissing||t[209]!==a.workflowDefinitionPlaceholder||t[210]!==a.workflowDefinitionsEmpty||t[211]!==a.workflowDefinitionsLoading||t[212]!==_||t[213]!==y||t[214]!==S||t[215]!==C||t[216]!==F||t[217]!==O||t[218]!==N||t[219]!==ye||t[220]!==Rt||t[221]!==I||t[222]!==A||t[223]!==P||t[224]!==De||t[225]!==ke||t[226]!==T||t[227]!==E?(Tn=C===`workflowRun`?(0,$.jsxs)(an,{title:a.workflowDefinition,children:[(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.workflowDefinition}),(0,$.jsxs)(`select`,{className:Ct(),value:O,disabled:S||E,onChange:e=>A(e.target.value),children:[(0,$.jsx)(`option`,{value:``,children:E?a.workflowDefinitionsLoading:a.workflowDefinitionPlaceholder}),O.trim()&&!T.some(e=>e.id===O.trim())?(0,$.jsx)(`option`,{value:O,children:O}):null,T.map(e=>(0,$.jsxs)(`option`,{value:e.id,children:[e.title,e.metadata.source===`user`?` (${a.workflowDefinitionCustom})`:``]},e.id))]}),!E&&T.length===0?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:a.workflowDefinitionsEmpty}):null,ke?(0,$.jsx)(`p`,{className:`text-xs leading-5 text-fg-muted`,children:ke.description}):O.trim()&&!De?(0,$.jsx)(`p`,{className:`text-xs text-amber-700 dark:text-amber-300`,children:a.workflowDefinitionMissing}):null]}),O.trim()?(0,$.jsx)($t,{workflowName:O.trim(),language:ye,argValues:F,onArgValuesChange:I,goal:N,onGoalChange:P,examplePrompts:ke?.examplePrompts??[],inputClassName:St(),aiAssist:{disabled:S,context:{page:`cron`,taskKind:C,cronName:_,scheduleSummary:Ge(y),workflowDefinitionId:O.trim(),workflowDescription:ke?.description??``}}}):null]}):(0,$.jsx)(an,{title:a.message,children:Rt}),t[205]=a.message,t[206]=a.workflowDefinition,t[207]=a.workflowDefinitionCustom,t[208]=a.workflowDefinitionMissing,t[209]=a.workflowDefinitionPlaceholder,t[210]=a.workflowDefinitionsEmpty,t[211]=a.workflowDefinitionsLoading,t[212]=_,t[213]=y,t[214]=S,t[215]=C,t[216]=F,t[217]=O,t[218]=N,t[219]=ye,t[220]=Rt,t[221]=I,t[222]=A,t[223]=P,t[224]=De,t[225]=ke,t[226]=T,t[227]=E,t[228]=Tn):Tn=t[228];let En;t[229]!==wn||t[230]!==Tn?(En=(0,$.jsx)(`div`,{className:`lg:min-h-0 lg:overflow-y-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[wn,Tn]})}),t[229]=wn,t[230]=Tn,t[231]=En):En=t[231];let Dn=a.detailResizeColumns,On;t[232]===xe?On=t[233]:(On=Math.round(xe),t[232]=xe,t[233]=On);let kn;t[234]===Symbol.for(`react.memo_cache_sentinel`)?(kn=i(`group hidden h-full cursor-col-resize touch-none select-none items-stretch justify-center rounded-lg outline-none lg:flex`,`focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`),t[234]=kn):kn=t[234];let An=Ce&&`bg-edge`,jn;t[235]===An?jn=t[236]:(jn=i(`h-full w-px bg-edge-subtle transition-colors duration-150`,`group-hover:bg-edge`,An),t[235]=An,t[236]=jn);let Mn;t[237]===jn?Mn=t[238]:(Mn=(0,$.jsx)(`span`,{className:jn}),t[237]=jn,t[238]=Mn);let Nn;t[239]!==a.detailResizeColumns||t[240]!==On||t[241]!==Mn?(Nn=(0,$.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":Dn,"aria-valuemin":en,"aria-valuemax":tn,"aria-valuenow":On,tabIndex:0,onPointerDown:Fe,onKeyDown:Le,className:kn,children:Mn}),t[239]=a.detailResizeColumns,t[240]=On,t[241]=Mn,t[242]=Nn):Nn=t[242];let Pn;t[243]!==Je||t[244]!==a.agentLocalOnly||t[245]!==a.agentLocalOnlyHint||t[246]!==a.detailRunSettings||t[247]!==a.mode||t[248]!==a.modeAgent||t[249]!==a.modeAgentOption||t[250]!==a.modeDirect||t[251]!==a.modeDirectOption||t[252]!==a.model||t[253]!==a.workflowLocalOnly||t[254]!==a.workflowLocalOnlyHint||t[255]!==a.workingDirectoryHint||t[256]!==a.workingDirectoryLabel||t[257]!==a.workingDirectoryReset||t[258]!==s||t[259]!==p||t[260]!==H||t[261]!==W||t[262]!==R||t[263]!==S||t[264]!==C||t[265]!==ne||t[266]!==U||t[267]!==G||t[268]!==z||t[269]!==q?(Pn=C===`message`?(0,$.jsxs)(an,{title:a.detailRunSettings,children:[(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.mode}),(0,$.jsxs)(`select`,{className:Ct(),value:R,onChange:e=>{let t=e.target.value;z(t,p,W.trim())},children:[(0,$.jsx)(`option`,{value:`main`,children:a.modeDirectOption}),(0,$.jsx)(`option`,{value:`isolated`,children:a.modeAgentOption})]}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:R===`main`?a.modeDirect:a.modeAgent})]}),R===`isolated`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.model}),(0,$.jsx)(x,{value:W,placeholder:s.modelPlaceholder,searchPlaceholder:s.modelSearchPlaceholder,noMatches:s.modelNoMatches,className:`w-full max-w-none min-w-0`,popoverContentClassName:`z-[70]`,onChange:G})]}),Je,(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.workingDirectoryLabel}),(0,$.jsx)(Jt,{value:ne,onChange:q,disabled:S,wd:s.workingDirectory,placeholder:s.workingDirectory.notSet,maxWidthClass:`max-w-[min(18rem,52vw)]`,clearLabel:a.workingDirectoryReset,onClear:()=>q(``)}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:a.workingDirectoryHint})]}),(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 rounded-md bg-surface-hover/45 px-3 py-2 dark:bg-surface-hover/30`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:i(`ui-checkbox`,`mt-0.5`),checked:H,onChange:e=>U(e.target.checked),"aria-label":a.agentLocalOnly}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:a.agentLocalOnly}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:a.agentLocalOnlyHint})]})]})]}):null]}):(0,$.jsxs)(an,{title:a.detailRunSettings,children:[Je,(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 rounded-md bg-surface-hover/45 px-3 py-2 dark:bg-surface-hover/30`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:i(`ui-checkbox`,`mt-0.5`),checked:H,onChange:e=>U(e.target.checked),"aria-label":a.workflowLocalOnly}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:a.workflowLocalOnly}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:a.workflowLocalOnlyHint})]})]})]}),t[243]=Je,t[244]=a.agentLocalOnly,t[245]=a.agentLocalOnlyHint,t[246]=a.detailRunSettings,t[247]=a.mode,t[248]=a.modeAgent,t[249]=a.modeAgentOption,t[250]=a.modeDirect,t[251]=a.modeDirectOption,t[252]=a.model,t[253]=a.workflowLocalOnly,t[254]=a.workflowLocalOnlyHint,t[255]=a.workingDirectoryHint,t[256]=a.workingDirectoryLabel,t[257]=a.workingDirectoryReset,t[258]=s,t[259]=p,t[260]=H,t[261]=W,t[262]=R,t[263]=S,t[264]=C,t[265]=ne,t[266]=U,t[267]=G,t[268]=z,t[269]=q,t[270]=Pn):Pn=t[270];let Fn;t[271]!==a.deliveryTarget||t[272]!==Ze?(Fn=Ze?(0,$.jsx)(an,{title:a.deliveryTarget,children:Ze}):null,t[271]=a.deliveryTarget,t[272]=Ze,t[273]=Fn):Fn=t[273];let In;t[274]!==Pn||t[275]!==Fn?(In=(0,$.jsx)(`aside`,{className:`lg:min-h-0 lg:overflow-y-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[Pn,Fn]})}),t[274]=Pn,t[275]=Fn,t[276]=In):In=t[276];let Ln;t[277]!==Yt||t[278]!==Qt||t[279]!==En||t[280]!==Nn||t[281]!==In?(Ln=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4 lg:overflow-hidden`,children:(0,$.jsxs)(`div`,{ref:Ee,className:Yt,style:Qt,children:[En,Nn,In]})}),t[277]=Yt,t[278]=Qt,t[279]=En,t[280]=Nn,t[281]=In,t[282]=Ln):Ln=t[282];let Rn;t[283]!==a.cancel||t[284]!==r?(Rn=(0,$.jsx)(J,{type:`button`,variant:`secondary`,onClick:r,children:a.cancel}),t[283]=a.cancel,t[284]=r,t[285]=Rn):Rn=t[285];let zn=S||!ge,Bn=S?a.loading:h===`edit`?a.save:a.create,Vn;t[286]!==_e||t[287]!==zn||t[288]!==Bn?(Vn=(0,$.jsx)(J,{type:`button`,variant:`primary`,disabled:zn,onClick:_e,children:Bn}),t[286]=_e,t[287]=zn,t[288]=Bn,t[289]=Vn):Vn=t[289];let Hn;t[290]!==Rn||t[291]!==Vn?(Hn=(0,$.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-4 py-3`,children:[Rn,Vn]}),t[290]=Rn,t[291]=Vn,t[292]=Hn):Hn=t[292];let Un;t[293]!==Kt||t[294]!==Ln||t[295]!==Hn?(Un=(0,$.jsxs)(m,{children:[Bt,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[60] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(B,{className:`xopc-dialog-content-pane pointer-events-auto relative flex h-[min(86vh,46rem)] w-full max-w-6xl flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none dark:border-edge`,onOpenAutoFocus:sn,children:[Kt,Ln,Hn]})})]}),t[293]=Kt,t[294]=Ln,t[295]=Hn,t[296]=Un):Un=t[296];let Wn;return t[297]!==n||t[298]!==zt||t[299]!==Un?(Wn=(0,$.jsx)(te,{open:n,onOpenChange:zt,children:Un}),t[297]=n,t[298]=zt,t[299]=Un,t[300]=Wn):Wn=t[300],Wn}function sn(e){return e.preventDefault()}function cn(e){return e+1}function ln(e){return(0,$.jsxs)(`option`,{value:e.name,disabled:!e.enabled,children:[e.name,` `,e.enabled?``:`(disabled)`]},e.name)}function un(e){return rn(e+4)}function dn(e){return rn(e-4)}function fn(e){return e.language}function pn(e){let t=(0,Q.c)(76),{c:n,mainTab:r,onMainTabChange:a,jobSort:o,onJobSortChange:s,historyRange:c,onHistoryRangeChange:l,historyJobFilter:u,onHistoryJobFilterChange:d,historyStatusFilter:f,onHistoryStatusFilterChange:p,jobs:m}=e,h=n.title,g=r===`myTasks`,_=r===`myTasks`?`text-fg`:`text-fg-muted hover:text-fg`,v;t[0]===_?v=t[1]:(v=i(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,_),t[0]=_,t[1]=v);let y;t[2]===a?y=t[3]:(y=()=>a(`myTasks`),t[2]=a,t[3]=y);let x;t[4]!==n.tabMyTasks||t[5]!==g||t[6]!==v||t[7]!==y?(x=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":g,className:v,onClick:y,children:n.tabMyTasks}),t[4]=n.tabMyTasks,t[5]=g,t[6]=v,t[7]=y,t[8]=x):x=t[8];let S=r===`systemTasks`,C=r===`systemTasks`?`text-fg`:`text-fg-muted hover:text-fg`,w;t[9]===C?w=t[10]:(w=i(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,C),t[9]=C,t[10]=w);let T;t[11]===a?T=t[12]:(T=()=>a(`systemTasks`),t[11]=a,t[12]=T);let E;t[13]!==n.tabSystemTasks||t[14]!==T||t[15]!==S||t[16]!==w?(E=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":S,className:w,onClick:T,children:n.tabSystemTasks}),t[13]=n.tabSystemTasks,t[14]=T,t[15]=S,t[16]=w,t[17]=E):E=t[17];let D=r===`history`,O=r===`history`?`text-fg`:`text-fg-muted hover:text-fg`,k;t[18]===O?k=t[19]:(k=i(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,O),t[18]=O,t[19]=k);let A;t[20]===a?A=t[21]:(A=()=>a(`history`),t[20]=a,t[21]=A);let j;t[22]!==n.tabRunHistory||t[23]!==D||t[24]!==k||t[25]!==A?(j=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":D,className:k,onClick:A,children:n.tabRunHistory}),t[22]=n.tabRunHistory,t[23]=D,t[24]=k,t[25]=A,t[26]=j):j=t[26];let M=r===`settings`,N=r===`settings`?`text-fg`:`text-fg-muted hover:text-fg`,F;t[27]===N?F=t[28]:(F=i(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,N),t[27]=N,t[28]=F);let I;t[29]===a?I=t[30]:(I=()=>a(`settings`),t[29]=a,t[30]=I);let L;t[31]!==n.globals.title||t[32]!==M||t[33]!==F||t[34]!==I?(L=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":M,className:F,onClick:I,children:n.globals.title}),t[31]=n.globals.title,t[32]=M,t[33]=F,t[34]=I,t[35]=L):L=t[35];let R;t[36]!==n.title||t[37]!==E||t[38]!==j||t[39]!==L||t[40]!==x?(R=(0,$.jsxs)(`div`,{className:`flex gap-1`,role:`tablist`,"aria-label":h,children:[x,E,j,L]}),t[36]=n.title,t[37]=E,t[38]=j,t[39]=L,t[40]=x,t[41]=R):R=t[41];let z=r===`history`?`flex-nowrap overflow-x-auto pb-0.5 sm:justify-end`:`flex-wrap sm:justify-end`,B;t[42]===z?B=t[43]:(B=i(`flex min-w-0 items-center gap-2`,z),t[42]=z,t[43]=B);let V;t[44]!==n.sortCreatedAsc||t[45]!==n.sortCreatedDesc||t[46]!==o||t[47]!==r||t[48]!==s?(V=r===`myTasks`||r===`systemTasks`?(0,$.jsxs)(`select`,{className:Tt,value:o,onChange:e=>s(e.target.value),"aria-label":n.sortCreatedDesc,children:[(0,$.jsx)(`option`,{value:`created_desc`,children:n.sortCreatedDesc}),(0,$.jsx)(`option`,{value:`created_asc`,children:n.sortCreatedAsc})]}):null,t[44]=n.sortCreatedAsc,t[45]=n.sortCreatedDesc,t[46]=o,t[47]=r,t[48]=s,t[49]=V):V=t[49];let H;t[50]!==n.execStatusCancelled||t[51]!==n.execStatusFailed||t[52]!==n.execStatusRunning||t[53]!==n.execStatusSuccess||t[54]!==n.filterAllStatuses||t[55]!==n.filterAllTasks||t[56]!==n.historyRangeDay||t[57]!==n.historyRangeMonth||t[58]!==n.historyRangeWeek||t[59]!==n.runHistoryTitle||t[60]!==u||t[61]!==c||t[62]!==f||t[63]!==m||t[64]!==r||t[65]!==d||t[66]!==l||t[67]!==p?(H=r===`history`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:i(b,`shrink-0`),role:`group`,"aria-label":n.runHistoryTitle,children:[`day`,`week`,`month`].map(e=>(0,$.jsx)(`button`,{type:`button`,className:i(P,`px-2.5 py-1`,c===e&&`bg-surface-panel shadow-sm dark:bg-surface-panel dark:shadow-sm dark:ring-1 dark:ring-edge-strong/40`,c===e&&`text-fg`),onClick:()=>l(e),children:e===`day`?n.historyRangeDay:e===`week`?n.historyRangeWeek:n.historyRangeMonth},e))}),(0,$.jsxs)(`select`,{className:Tt,value:u,onChange:e=>d(e.target.value),"aria-label":n.filterAllTasks,children:[(0,$.jsx)(`option`,{value:``,children:n.filterAllTasks}),m.map(mn)]}),(0,$.jsxs)(`select`,{className:Tt,value:f,onChange:e=>p(e.target.value),"aria-label":n.filterAllStatuses,children:[(0,$.jsx)(`option`,{value:``,children:n.filterAllStatuses}),(0,$.jsx)(`option`,{value:`success`,children:n.execStatusSuccess}),(0,$.jsx)(`option`,{value:`failed`,children:n.execStatusFailed}),(0,$.jsx)(`option`,{value:`cancelled`,children:n.execStatusCancelled}),(0,$.jsx)(`option`,{value:`running`,children:n.execStatusRunning})]})]}):null,t[50]=n.execStatusCancelled,t[51]=n.execStatusFailed,t[52]=n.execStatusRunning,t[53]=n.execStatusSuccess,t[54]=n.filterAllStatuses,t[55]=n.filterAllTasks,t[56]=n.historyRangeDay,t[57]=n.historyRangeMonth,t[58]=n.historyRangeWeek,t[59]=n.runHistoryTitle,t[60]=u,t[61]=c,t[62]=f,t[63]=m,t[64]=r,t[65]=d,t[66]=l,t[67]=p,t[68]=H):H=t[68];let U;t[69]!==B||t[70]!==V||t[71]!==H?(U=(0,$.jsxs)(`div`,{className:B,children:[V,H]}),t[69]=B,t[70]=V,t[71]=H,t[72]=U):U=t[72];let W;return t[73]!==R||t[74]!==U?(W=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 border-b border-edge-subtle pb-3 sm:flex-row sm:items-center sm:justify-between dark:border-edge-subtle`,children:[R,U]}),t[73]=R,t[74]=U,t[75]=W):W=t[75],W}function mn(e){return(0,$.jsx)(`option`,{value:e.id,children:e.name||e.id},e.id)}function hn(e){let t=(0,Q.c)(23),{c:n,loading:r,runHistoryLoading:a,onRefresh:o,onOpenTemplatePicker:s,onAddJob:c}=e,l=r||a,u=n.refresh,d=n.refresh,f;t[0]===o?f=t[1]:(f=()=>void o(),t[0]=o,t[1]=f);let p=l&&`animate-spin`,m;t[2]===p?m=t[3]:(m=i(`size-4`,p),t[2]=p,t[3]=m);let h;t[4]===m?h=t[5]:(h=(0,$.jsx)(M,{className:m,strokeWidth:1.75}),t[4]=m,t[5]=h);let g;t[6]!==l||t[7]!==n.refresh||t[8]!==f||t[9]!==h?(g=(0,$.jsx)(J,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,disabled:l,title:u,"aria-label":d,onClick:f,children:h}),t[6]=l,t[7]=n.refresh,t[8]=f,t[9]=h,t[10]=g):g=t[10];let _;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(re,{className:`size-4`,strokeWidth:1.75}),t[11]=_):_=t[11];let v;t[12]!==n.fromTemplate||t[13]!==s?(v=(0,$.jsxs)(J,{type:`button`,variant:`secondary`,className:`gap-2`,onClick:s,children:[_,n.fromTemplate]}),t[12]=n.fromTemplate,t[13]=s,t[14]=v):v=t[14];let y;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(A,{className:`size-4`,strokeWidth:1.75}),t[15]=y):y=t[15];let b;t[16]!==n.addJob||t[17]!==c?(b=(0,$.jsxs)(J,{type:`button`,variant:`primary`,className:`gap-2`,onClick:c,children:[y,n.addJob]}),t[16]=n.addJob,t[17]=c,t[18]=b):b=t[18];let x;return t[19]!==b||t[20]!==g||t[21]!==v?(x=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-wrap items-center justify-end gap-2`,children:[g,v,b]}),t[19]=b,t[20]=g,t[21]=v,t[22]=x):x=t[22],x}function gn(e){let t=(0,Q.c)(46),{c:n,runHistoryLoading:r,runHistory:a,filteredRunHistory:o,jobs:s,onRefreshHistory:c,onOpenJobDetail:l,statusLabels:u}=e,d;t[0]===n.tabRunHistory?d=t[1]:(d=(0,$.jsx)(`h2`,{id:`cron-history-panel`,className:`sr-only`,children:n.tabRunHistory}),t[0]=n.tabRunHistory,t[1]=d);let f;t[2]===n.runHistoryHint?f=t[3]:(f=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.runHistoryHint}),t[2]=n.runHistoryHint,t[3]=f);let p;t[4]!==d||t[5]!==f?(p=(0,$.jsxs)(`div`,{children:[d,f]}),t[4]=d,t[5]=f,t[6]=p):p=t[6];let m=n.refresh,h=n.refresh,g;t[7]===c?g=t[8]:(g=()=>void c(),t[7]=c,t[8]=g);let _=r&&`animate-spin`,v;t[9]===_?v=t[10]:(v=i(`size-4`,_),t[9]=_,t[10]=v);let y;t[11]===v?y=t[12]:(y=(0,$.jsx)(M,{className:v,strokeWidth:1.75}),t[11]=v,t[12]=y);let b;t[13]!==n.refresh||t[14]!==r||t[15]!==g||t[16]!==y?(b=(0,$.jsx)(J,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,disabled:r,title:m,"aria-label":h,onClick:g,children:y}),t[13]=n.refresh,t[14]=r,t[15]=g,t[16]=y,t[17]=b):b=t[17];let x;t[18]!==b||t[19]!==p?(x=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[p,b]}),t[18]=b,t[19]=p,t[20]=x):x=t[20];let S;t[21]!==n.colChat||t[22]!==n.colDetail||t[23]!==n.colDuration||t[24]!==n.colJob||t[25]!==n.colStarted||t[26]!==n.colWorkflow||t[27]!==n.emptyHistoryHint||t[28]!==n.emptyHistoryTitle||t[29]!==n.noRunsYet||t[30]!==n.openChat||t[31]!==n.openChatTitle||t[32]!==n.openWorkflow||t[33]!==n.openWorkflowTitle||t[34]!==n.runHistoryHint||t[35]!==n.status||t[36]!==o||t[37]!==s||t[38]!==l||t[39]!==a||t[40]!==r||t[41]!==u?(S=r&&a.length===0?(0,$.jsx)(`div`,{className:`flex justify-center py-16`,children:(0,$.jsx)(T,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):o.length===0?(0,$.jsxs)(`div`,{className:`flex flex-col items-center rounded-2xl border border-dashed border-edge-subtle px-6 py-16 text-center dark:border-edge-subtle`,children:[(0,$.jsx)(C,{className:`mb-4 size-14 text-fg-disabled`,strokeWidth:1.1,"aria-hidden":!0}),(0,$.jsx)(`h3`,{className:`text-base font-semibold text-fg`,children:a.length===0?n.emptyHistoryTitle:n.noRunsYet}),(0,$.jsx)(`p`,{className:`mt-2 max-w-sm text-sm text-fg-muted`,children:a.length===0?n.emptyHistoryHint:n.runHistoryHint})]}):(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-xl border border-edge-subtle bg-surface-base dark:border-edge-subtle`,children:(0,$.jsxs)(`table`,{className:`w-full min-w-[700px] border-collapse text-left text-sm`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b border-edge text-xs font-medium text-fg-muted`,children:[(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colStarted}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colJob}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.status}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colDuration}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colDetail}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colWorkflow}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colChat})]})}),(0,$.jsx)(`tbody`,{children:o.map(e=>(0,$.jsxs)(`tr`,{className:`border-b border-edge/60 last:border-0`,children:[(0,$.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2.5 text-fg`,children:(0,$.jsx)(`time`,{dateTime:e.startedAt,children:X(e.startedAt)})}),(0,$.jsx)(`td`,{className:`max-w-[10rem] truncate px-3 py-2.5`,children:s.some(t=>t.id===e.jobId)?(0,$.jsx)(`button`,{type:`button`,className:`text-left text-accent hover:underline`,onClick:()=>{let t=s.find(t=>t.id===e.jobId);t&&l(t)},children:e.jobName||e.jobId}):(0,$.jsx)(`span`,{className:`text-fg-muted`,children:e.jobName||e.jobId})}),(0,$.jsx)(`td`,{className:`px-3 py-2.5`,children:(0,$.jsx)(`span`,{className:i(`inline-flex rounded-md px-2 py-0.5 text-xs font-medium`,e.status===`success`&&`bg-emerald-500/15 text-emerald-800 dark:text-emerald-300`,e.status===`failed`&&`bg-red-500/15 text-red-800 dark:text-red-300`,e.status===`running`&&`bg-accent/15 text-accent`,e.status===`cancelled`&&`bg-surface-hover text-fg-muted`),children:Ee(e.status,u)})}),(0,$.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2.5 text-fg-muted`,children:qe(e.duration)}),(0,$.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2.5 text-fg-muted`,title:e.summary||e.error||``,children:Te(e.summary||e.error,96)}),(0,$.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2.5`,children:e.workflowRunId?.trim()?(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent hover:underline`,title:n.openWorkflowTitle,"aria-label":n.openWorkflowTitle,onClick:()=>xt(e.workflowRunId),children:n.openWorkflow}):(0,$.jsx)(`span`,{className:`text-fg-disabled`,children:`—`})}),(0,$.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2.5`,children:e.sessionKey?.trim()?(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent hover:underline`,title:n.openChatTitle,"aria-label":n.openChatTitle,onClick:()=>bt(e.sessionKey),children:n.openChat}):(0,$.jsx)(`span`,{className:`text-fg-disabled`,children:`—`})})]},e.id))})]})}),t[21]=n.colChat,t[22]=n.colDetail,t[23]=n.colDuration,t[24]=n.colJob,t[25]=n.colStarted,t[26]=n.colWorkflow,t[27]=n.emptyHistoryHint,t[28]=n.emptyHistoryTitle,t[29]=n.noRunsYet,t[30]=n.openChat,t[31]=n.openChatTitle,t[32]=n.openWorkflow,t[33]=n.openWorkflowTitle,t[34]=n.runHistoryHint,t[35]=n.status,t[36]=o,t[37]=s,t[38]=l,t[39]=a,t[40]=r,t[41]=u,t[42]=S):S=t[42];let w;return t[43]!==x||t[44]!==S?(w=(0,$.jsxs)(`section`,{"aria-labelledby":`cron-history-panel`,className:`flex flex-col gap-3`,children:[x,S]}),t[43]=x,t[44]=S,t[45]=w):w=t[45],w}function _n(e){let t=(0,Q.c)(77),{job:n,c:r,localeTag:a,scheduleBadgeLabels:o,absorbCardClickJobIdRef:s,scheduleAbsorbNextMenuCardClick:c,onOpenDetail:l,onToggle:u,onEdit:d,onRunNow:f,onDelete:p}=e,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=i(`flex h-full min-h-0 cursor-pointer flex-col rounded-xl border border-edge-subtle bg-surface-base text-left transition-colors duration-150 ease-out dark:border-edge-subtle`,`hover:bg-surface-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`),t[0]=m):m=t[0];let h,g;t[1]!==s||t[2]!==n||t[3]!==l?(h=()=>{if(s.current===n.id){s.current=null;return}l(n)},g=e=>{if(e.key===`Enter`||e.key===` `){if(e.preventDefault(),s.current===n.id){s.current=null;return}l(n)}},t[1]=s,t[2]=n,t[3]=l,t[4]=h,t[5]=g):(h=t[4],g=t[5]);let _=n.enabled,v=n.enabled?`justify-end bg-accent`:`justify-start bg-surface-hover`,y;t[6]===v?y=t[7]:(y=i(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,v),t[6]=v,t[7]=y);let b;t[8]!==n||t[9]!==u?(b=e=>{e.stopPropagation(),u(n,!n.enabled)},t[8]=n,t[9]=u,t[10]=b):b=t[10];let x;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`}),t[11]=x):x=t[11];let S;t[12]!==n.enabled||t[13]!==y||t[14]!==b?(S=(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":_,className:y,onClick:b,children:x}),t[12]=n.enabled,t[13]=y,t[14]=b,t[15]=S):S=t[15];let w;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(O,{className:`size-4`,strokeWidth:1.75}),t[16]=w):w=t[16];let T;t[17]===r.jobCardMenuAria?T=t[18]:(T=(0,$.jsx)(rt,{asChild:!0,children:(0,$.jsx)(J,{type:`button`,variant:`ghost`,className:`size-8 shrink-0 p-0`,"aria-label":r.jobCardMenuAria,onClick:yn,children:w})}),t[17]=r.jobCardMenuAria,t[18]=T);let E;t[19]!==n||t[20]!==d||t[21]!==c?(E=()=>{c(n.id),d(n)},t[19]=n,t[20]=d,t[21]=c,t[22]=E):E=t[22];let D;t[23]!==r.edit||t[24]!==E?(D=(0,$.jsx)(nt,{className:`cursor-pointer select-none rounded-lg px-2 py-1.5 text-sm text-fg outline-none data-highlighted:bg-surface-hover`,onSelect:E,children:r.edit}),t[23]=r.edit,t[24]=E,t[25]=D):D=t[25];let k;t[26]!==n||t[27]!==f||t[28]!==c?(k=()=>{c(n.id),f(n)},t[26]=n,t[27]=f,t[28]=c,t[29]=k):k=t[29];let A;t[30]!==r.runNow||t[31]!==k?(A=(0,$.jsx)(nt,{className:`cursor-pointer select-none rounded-lg px-2 py-1.5 text-sm text-fg outline-none data-highlighted:bg-surface-hover`,onSelect:k,children:r.runNow}),t[30]=r.runNow,t[31]=k,t[32]=A):A=t[32];let j;t[33]!==n||t[34]!==p||t[35]!==c?(j=()=>{c(n.id),p(n)},t[33]=n,t[34]=p,t[35]=c,t[36]=j):j=t[36];let M;t[37]!==r.delete||t[38]!==j?(M=(0,$.jsx)(nt,{className:`cursor-pointer select-none rounded-lg px-2 py-1.5 text-sm text-red-600 outline-none data-highlighted:bg-red-500/10 dark:text-red-400`,onSelect:j,children:r.delete}),t[37]=r.delete,t[38]=j,t[39]=M):M=t[39];let N;t[40]!==D||t[41]!==A||t[42]!==M?(N=(0,$.jsx)(it,{children:(0,$.jsxs)(at,{className:`z-50 min-w-[10rem] rounded-xl border border-edge-subtle bg-surface-panel p-1 shadow-elevated dark:border-edge-subtle`,sideOffset:4,align:`end`,onCloseAutoFocus:vn,children:[D,A,M]})}),t[40]=D,t[41]=A,t[42]=M,t[43]=N):N=t[43];let P;t[44]!==T||t[45]!==N?(P=(0,$.jsxs)(tt,{children:[T,N]}),t[44]=T,t[45]=N,t[46]=P):P=t[46];let F;t[47]!==P||t[48]!==S?(F=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2 px-4 pt-3`,children:[S,P]}),t[47]=P,t[48]=S,t[49]=F):F=t[49];let I=n.name||n.id,R;t[50]===I?R=t[51]:(R=(0,$.jsx)(`h3`,{className:`line-clamp-2 font-semibold text-fg`,children:I}),t[50]=I,t[51]=R);let z;t[52]===n?z=t[53]:(z=Pe(n),t[52]=n,t[53]=z);let B;t[54]===n?B=t[55]:(B=Pe(n),t[54]=n,t[55]=B);let V;t[56]===B?V=t[57]:(V=(0,$.jsx)(L,{content:B,compact:!0}),t[56]=B,t[57]=V);let H;t[58]!==z||t[59]!==V?(H=(0,$.jsx)(`div`,{className:`max-h-[4.5rem] overflow-hidden text-sm text-fg-muted [&_.markdown-body]:text-sm [&_.markdown-body]:leading-snug`,title:z,children:V}),t[58]=z,t[59]=V,t[60]=H):H=t[60];let U;t[61]!==R||t[62]!==H?(U=(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col gap-2 px-4 pb-3 pt-2`,children:[R,H]}),t[61]=R,t[62]=H,t[63]=U):U=t[63];let W;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(C,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[64]=W):W=t[64];let G;t[65]!==n||t[66]!==a||t[67]!==o?(G=we(n,a,o),t[65]=n,t[66]=a,t[67]=o,t[68]=G):G=t[68];let K;t[69]===G?K=t[70]:(K=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 border-t border-edge-subtle/90 px-4 py-2.5 text-xs text-fg-muted dark:border-edge-subtle`,children:[W,(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:G})]}),t[69]=G,t[70]=K);let ee;return t[71]!==h||t[72]!==F||t[73]!==U||t[74]!==g||t[75]!==K?(ee=(0,$.jsxs)(`article`,{role:`button`,tabIndex:0,className:m,onClick:h,onKeyDown:g,children:[F,U,K]}),t[71]=h,t[72]=F,t[73]=U,t[74]=g,t[75]=K,t[76]=ee):ee=t[76],ee}function vn(e){return e.preventDefault()}function yn(e){return e.stopPropagation()}function bn(e){let t=(0,Q.c)(134),{c:n,language:r,localeTag:o,scheduleBadgeLabels:s,loading:c,sortedSystemJobs:l,heartbeat:u,keepAwake:d,wakeSupported:f,onWakeUnsupportedClick:p,onKeepAwakeToggle:m,absorbCardClickJobIdRef:h,scheduleAbsorbNextMenuCardClick:g,onOpenDetail:_,onToggle:v,onEdit:y,onRunNow:b,onDelete:x}=e,S,C,w,E,D,O,k,A,j,M,N,P;if(t[0]!==n.disabled||t[1]!==n.enabled||t[2]!==n.keepAwake||t[3]!==n.systemHeartbeatEvery||t[4]!==n.systemHeartbeatHint||t[5]!==n.systemHeartbeatInterval||t[6]!==n.systemHeartbeatSettingsLink||t[7]!==n.systemHeartbeatStatus||t[8]!==n.systemHeartbeatTitle||t[9]!==n.systemTasksIntro||t[10]!==n.tabSystemTasks||t[11]!==n.wakeBanner||t[12]!==n.wakeLockUnavailable||t[13]!==u.enabled||t[14]!==u.intervalMs||t[15]!==d||t[16]!==r||t[17]!==o||t[18]!==m||t[19]!==p||t[20]!==f){let e=Xe(u.intervalMs,o,a(r).heartbeatSettings.intervalPresets);N=`cron-system-tasks-panel`,P=`flex flex-col gap-4`,t[33]===n.tabSystemTasks?C=t[34]:(C=(0,$.jsx)(`h2`,{id:`cron-system-tasks-panel`,className:`sr-only`,children:n.tabSystemTasks}),t[33]=n.tabSystemTasks,t[34]=C),t[35]===n.systemTasksIntro?w=t[36]:(w=(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.systemTasksIntro}),t[35]=n.systemTasksIntro,t[36]=w);let s;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(ee,{className:`mt-0.5 size-4 shrink-0 text-accent`,strokeWidth:1.75,"aria-hidden":!0}),t[37]=s):s=t[37];let c;t[38]===n.wakeBanner?c=t[39]:(c=(0,$.jsxs)(`div`,{className:`flex gap-3 text-sm text-fg`,children:[s,(0,$.jsx)(`p`,{className:`text-pretty text-fg-muted`,children:n.wakeBanner})]}),t[38]=n.wakeBanner,t[39]=c);let l;t[40]===n.keepAwake?l=t[41]:(l=(0,$.jsx)(`span`,{className:`text-sm text-fg`,children:n.keepAwake}),t[40]=n.keepAwake,t[41]=l);let h=!f,g=f?void 0:n.wakeLockUnavailable,_=d?`justify-end bg-accent`:`justify-start bg-surface-hover`,v=!f&&`cursor-not-allowed opacity-50`,y;t[42]!==_||t[43]!==v?(y=i(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,_,v),t[42]=_,t[43]=v,t[44]=y):y=t[44];let b;t[45]!==m||t[46]!==p||t[47]!==f?(b=()=>{f?m():p()},t[45]=m,t[46]=p,t[47]=f,t[48]=b):b=t[48];let x;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`}),t[49]=x):x=t[49];let T;t[50]!==d||t[51]!==h||t[52]!==g||t[53]!==y||t[54]!==b?(T=(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":d,disabled:h,title:g,className:y,onClick:b,children:x}),t[50]=d,t[51]=h,t[52]=g,t[53]=y,t[54]=b,t[55]=T):T=t[55];let F;t[56]!==l||t[57]!==T?(F=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 sm:pl-4`,children:[l,T]}),t[56]=l,t[57]=T,t[58]=F):F=t[58],t[59]!==c||t[60]!==F?(E=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl border border-accent/25 bg-accent/5 px-4 py-3 dark:border-accent/30 dark:bg-accent/10 sm:flex-row sm:items-center sm:justify-between`,children:[c,F]}),t[59]=c,t[60]=F,t[61]=E):E=t[61],j=`rounded-xl border border-edge bg-surface-base p-4 dark:bg-surface-hover/20`;let I;t[62]===n.systemHeartbeatTitle?I=t[63]:(I=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.systemHeartbeatTitle}),t[62]=n.systemHeartbeatTitle,t[63]=I);let L;t[64]===n.systemHeartbeatHint?L=t[65]:(L=(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:n.systemHeartbeatHint}),t[64]=n.systemHeartbeatHint,t[65]=L);let R;t[66]!==I||t[67]!==L?(R=(0,$.jsxs)(`div`,{children:[I,L]}),t[66]=I,t[67]=L,t[68]=R):R=t[68];let z;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,$.jsx)(de,{className:`size-3.5 opacity-70`,"aria-hidden":!0}),t[69]=z):z=t[69];let B;t[70]===n.systemHeartbeatSettingsLink?B=t[71]:(B=(0,$.jsx)(J,{type:`button`,variant:`ghost`,className:`shrink-0 gap-1 self-start px-2 py-1.5 text-xs`,asChild:!0,children:(0,$.jsxs)(me,{to:`/settings/heartbeat`,children:[n.systemHeartbeatSettingsLink,z]})}),t[70]=n.systemHeartbeatSettingsLink,t[71]=B),t[72]!==R||t[73]!==B?(M=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between`,children:[R,B]}),t[72]=R,t[73]=B,t[74]=M):M=t[74],k=`mt-3 grid gap-2 text-sm sm:grid-cols-2`;let V;t[75]===n.systemHeartbeatStatus?V=t[76]:(V=(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:n.systemHeartbeatStatus}),t[75]=n.systemHeartbeatStatus,t[76]=V);let H=u.enabled?n.enabled:n.disabled,U;t[77]===H?U=t[78]:(U=(0,$.jsx)(`dd`,{className:`text-fg`,children:H}),t[77]=H,t[78]=U),t[79]!==V||t[80]!==U?(A=(0,$.jsxs)(`div`,{children:[V,U]}),t[79]=V,t[80]=U,t[81]=A):A=t[81],t[82]===n.systemHeartbeatInterval?O=t[83]:(O=(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:n.systemHeartbeatInterval}),t[82]=n.systemHeartbeatInterval,t[83]=O),S=`text-fg`;let W;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(W=/\{\{value\}\}/g,t[84]=W):W=t[84],D=n.systemHeartbeatEvery.replace(W,e),t[0]=n.disabled,t[1]=n.enabled,t[2]=n.keepAwake,t[3]=n.systemHeartbeatEvery,t[4]=n.systemHeartbeatHint,t[5]=n.systemHeartbeatInterval,t[6]=n.systemHeartbeatSettingsLink,t[7]=n.systemHeartbeatStatus,t[8]=n.systemHeartbeatTitle,t[9]=n.systemTasksIntro,t[10]=n.tabSystemTasks,t[11]=n.wakeBanner,t[12]=n.wakeLockUnavailable,t[13]=u.enabled,t[14]=u.intervalMs,t[15]=d,t[16]=r,t[17]=o,t[18]=m,t[19]=p,t[20]=f,t[21]=S,t[22]=C,t[23]=w,t[24]=E,t[25]=D,t[26]=O,t[27]=k,t[28]=A,t[29]=j,t[30]=M,t[31]=N,t[32]=P}else S=t[21],C=t[22],w=t[23],E=t[24],D=t[25],O=t[26],k=t[27],A=t[28],j=t[29],M=t[30],N=t[31],P=t[32];let F;t[85]!==S||t[86]!==D?(F=(0,$.jsx)(`dd`,{className:S,children:D}),t[85]=S,t[86]=D,t[87]=F):F=t[87];let I;t[88]!==F||t[89]!==O?(I=(0,$.jsxs)(`div`,{children:[O,F]}),t[88]=F,t[89]=O,t[90]=I):I=t[90];let L;t[91]!==I||t[92]!==k||t[93]!==A?(L=(0,$.jsxs)(`dl`,{className:k,children:[A,I]}),t[91]=I,t[92]=k,t[93]=A,t[94]=L):L=t[94];let R;t[95]!==L||t[96]!==j||t[97]!==M?(R=(0,$.jsxs)(`div`,{className:j,children:[M,L]}),t[95]=L,t[96]=j,t[97]=M,t[98]=R):R=t[98];let z;t[99]===n.systemDreamingTitle?z=t[100]:(z=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.systemDreamingTitle}),t[99]=n.systemDreamingTitle,t[100]=z);let B;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(de,{className:`size-3.5 opacity-70`,"aria-hidden":!0}),t[101]=B):B=t[101];let V;t[102]===n.systemDreamingSettingsLink?V=t[103]:(V=(0,$.jsx)(J,{type:`button`,variant:`ghost`,className:`shrink-0 gap-1 self-start px-2 py-1.5 text-xs`,asChild:!0,children:(0,$.jsxs)(me,{to:`/settings/dreams`,children:[n.systemDreamingSettingsLink,B]})}),t[102]=n.systemDreamingSettingsLink,t[103]=V);let H;t[104]!==z||t[105]!==V?(H=(0,$.jsxs)(`div`,{className:`mb-2 flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between`,children:[z,V]}),t[104]=z,t[105]=V,t[106]=H):H=t[106];let U;t[107]===n.systemDreamingHint?U=t[108]:(U=(0,$.jsx)(`p`,{className:`mb-3 text-xs text-fg-muted`,children:n.systemDreamingHint}),t[107]=n.systemDreamingHint,t[108]=U);let W;t[109]!==h||t[110]!==n||t[111]!==c||t[112]!==o||t[113]!==x||t[114]!==y||t[115]!==_||t[116]!==b||t[117]!==v||t[118]!==g||t[119]!==s||t[120]!==l?(W=c&&l.length===0?(0,$.jsx)(`div`,{className:`flex justify-center py-12`,"aria-busy":`true`,children:(0,$.jsx)(T,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):l.length===0?(0,$.jsx)(`p`,{className:`rounded-lg border border-edge-subtle bg-surface-hover/30 px-3 py-4 text-sm text-fg-muted dark:border-edge-subtle`,children:n.systemDreamingEmpty}):(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-[repeat(auto-fill,minmax(280px,1fr))]`,children:l.map(e=>(0,$.jsx)(_n,{job:e,c:n,localeTag:o,scheduleBadgeLabels:s,absorbCardClickJobIdRef:h,scheduleAbsorbNextMenuCardClick:g,onOpenDetail:_,onToggle:v,onEdit:y,onRunNow:b,onDelete:x},e.id))}),t[109]=h,t[110]=n,t[111]=c,t[112]=o,t[113]=x,t[114]=y,t[115]=_,t[116]=b,t[117]=v,t[118]=g,t[119]=s,t[120]=l,t[121]=W):W=t[121];let G;t[122]!==H||t[123]!==U||t[124]!==W?(G=(0,$.jsxs)(`div`,{children:[H,U,W]}),t[122]=H,t[123]=U,t[124]=W,t[125]=G):G=t[125];let K;return t[126]!==C||t[127]!==w||t[128]!==E||t[129]!==R||t[130]!==G||t[131]!==N||t[132]!==P?(K=(0,$.jsxs)(`section`,{"aria-labelledby":N,className:P,children:[C,w,E,R,G]}),t[126]=C,t[127]=w,t[128]=E,t[129]=R,t[130]=G,t[131]=N,t[132]=P,t[133]=K):K=t[133],K}function xn(e,t){let n=e.templates;if(!n||typeof n!=`object`)return;let r=n[t];if(!r||typeof r!=`object`)return;let i=r.title?.trim(),a=r.prompt?.trim();if(!(!i||!a))return{title:i,description:(r.description??``).trim(),prompt:a}}var Sn=[`daily`,`monitoring`,`reports`,`automation`],Cn=[{templateId:`morning_briefing`,category:`daily`,defaultSchedule:`0 7 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`standup_prep`,category:`daily`,defaultSchedule:`0 8 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`meeting_prep`,category:`daily`,defaultSchedule:`0 9 * * 1-5`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`meeting_prep`},{templateId:`end_of_day_wrap_up`,category:`daily`,defaultSchedule:`0 18 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`inbox_triage`,category:`daily`,defaultSchedule:`30 8 * * 1-5`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`inbox_triage`},{templateId:`competitor_watch`,category:`monitoring`,defaultSchedule:`0 9 * * 1`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`competitor_scan`},{templateId:`trending_topics_monitor`,category:`monitoring`,defaultSchedule:`0 10 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`tech_radar_stack`,category:`monitoring`,defaultSchedule:`0 11 * * 3`,defaultSessionTarget:`isolated`},{templateId:`dependency_check_audit`,category:`monitoring`,defaultSchedule:`0 9 * * 0`,defaultSessionTarget:`isolated`},{templateId:`weekly_review`,category:`reports`,defaultSchedule:`0 17 * * 5`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`weekly_review`},{templateId:`code_quality_report`,category:`reports`,defaultSchedule:`0 14 * * 1`,defaultSessionTarget:`isolated`},{templateId:`git_activity_summary`,category:`reports`,defaultSchedule:`0 9 * * 1`,defaultSessionTarget:`isolated`},{templateId:`user_feedback_digest`,category:`reports`,defaultSchedule:`0 16 * * 5`,defaultSessionTarget:`isolated`},{templateId:`content_repurpose`,category:`reports`,defaultSchedule:`0 11 * * 4`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`content_repurpose`},{templateId:`stale_todo_or_issue_sweep`,category:`automation`,defaultSchedule:`0 10 * * 2`,defaultSessionTarget:`isolated`},{templateId:`release_notes_or_changelog_draft`,category:`automation`,defaultSchedule:`0 10 * * 4`,defaultSessionTarget:`isolated`},{templateId:`client_proposal`,category:`automation`,defaultSchedule:`0 10 * * 2`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`client_proposal`},{templateId:`offer_design`,category:`automation`,defaultSchedule:`0 14 1 * *`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`offer_design`},{templateId:`decision_compare`,category:`automation`,defaultSchedule:`0 15 * * 3`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`decision_compare`},{templateId:`workspace_cleanup_suggestions`,category:`automation`,defaultSchedule:`30 18 * * 5`,defaultSessionTarget:`isolated`},{templateId:`smoke_or_ci_health_reminder`,category:`automation`,defaultSchedule:`0 8 * * 1`,defaultSessionTarget:`isolated`}];function wn(e){return Cn.find(t=>t.templateId===e)}function Tn(e,t,n){let r=t.trim().toLowerCase();return Cn.filter(t=>{if(n!==`all`&&t.category!==n)return!1;if(!r)return!0;let i=xn(e,t.templateId);return[t.templateId,i?.title,i?.description,e.templateCategories[t.category]].filter(Boolean).join(` `).toLowerCase().includes(r)})}function En(e){let t=new Map;for(let n of e){let e=t.get(n.category)??[];e.push(n),t.set(n.category,e)}return Sn.flatMap(e=>{let n=t.get(e);return n?.length?[{category:e,items:n}]:[]})}function Dn(e){let t=(0,Q.c)(23),{template:n,cron:r,localeTag:a,scheduleBadgeLabels:o,onSelectTemplate:s}=e,c;t[0]!==r||t[1]!==n.templateId?(c=xn(r,n.templateId),t[0]=r,t[1]=n.templateId,t[2]=c):c=t[2];let l=c;if(!l)return null;let u;t[3]!==a||t[4]!==o||t[5]!==n.defaultSchedule?(u=we({schedule:Be(n.defaultSchedule),nextRunAtMs:void 0},a,o),t[3]=a,t[4]=o,t[5]=n.defaultSchedule,t[6]=u):u=t[6];let d=u,f;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=i(`flex h-full flex-col gap-1.5 rounded-xl border border-edge-subtle bg-surface-base p-4 text-left transition-colors`,`hover:border-accent/40 hover:bg-surface-hover`,_.focusRingPanel),t[7]=f):f=t[7];let p;t[8]!==s||t[9]!==n.templateId?(p=()=>s(n.templateId),t[8]=s,t[9]=n.templateId,t[10]=p):p=t[10];let m=`${r.templateCategories[n.category]} — ${l.title}`,h;t[11]===l.title?h=t[12]:(h=(0,$.jsx)(`span`,{className:`font-semibold text-fg`,children:l.title}),t[11]=l.title,t[12]=h);let g;t[13]===l.description?g=t[14]:(g=(0,$.jsx)(`span`,{className:`line-clamp-2 text-sm text-fg-muted`,children:l.description}),t[13]=l.description,t[14]=g);let v;t[15]===d?v=t[16]:(v=(0,$.jsx)(`span`,{className:`mt-auto flex items-center gap-1 pt-1 text-xs text-fg-muted`,children:(0,$.jsx)(`span`,{className:`tabular-nums`,children:d})}),t[15]=d,t[16]=v);let y;return t[17]!==p||t[18]!==m||t[19]!==h||t[20]!==g||t[21]!==v?(y=(0,$.jsxs)(`button`,{type:`button`,className:f,onClick:p,"aria-label":m,children:[h,g,v]}),t[17]=p,t[18]=m,t[19]=h,t[20]=g,t[21]=v,t[22]=y):y=t[22],y}function On(e){let t=(0,Q.c)(49),{cron:n,localeTag:r,scheduleBadgeLabels:a,categoryFilter:o,onCategoryFilterChange:s,onSelectTemplate:c,variant:l}=e,u=l===void 0?`embedded`:l,[d,f]=(0,Z.useState)(``),p;t[0]!==o||t[1]!==n||t[2]!==d?(p=Tn(n,d,o),t[0]=o,t[1]=n,t[2]=d,t[3]=p):p=t[3];let m=p,h;t[4]===m?h=t[5]:(h=En(m),t[4]=m,t[5]=h);let g=h,v;t[6]!==o||t[7]!==d?(v=o===`all`&&!d.trim(),t[6]=o,t[7]=d,t[8]=v):v=t[8];let y=v,b;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(q,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[9]=b):b=t[9];let x;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>f(e.target.value),t[10]=x):x=t[10];let S=n.templateSearchPlaceholder,C;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(C=i(`h-10 w-full rounded-xl border border-edge bg-surface-base py-2 pl-10 pr-3 text-sm text-fg`,`placeholder:text-fg-subtle`,_.focusRingPanel),t[11]=C):C=t[11];let w;t[12]!==n.templateSearchPlaceholder||t[13]!==d?(w=(0,$.jsxs)(`div`,{className:`relative`,children:[b,(0,$.jsx)(`input`,{value:d,onChange:x,placeholder:S,className:C})]}),t[12]=n.templateSearchPlaceholder,t[13]=d,t[14]=w):w=t[14];let T=n.fromTemplate,E=o===`all`?`secondary`:`ghost`,D;t[15]===s?D=t[16]:(D=()=>s(`all`),t[15]=s,t[16]=D);let O;t[17]!==n.templateFilterAll||t[18]!==E||t[19]!==D?(O=(0,$.jsx)(J,{type:`button`,variant:E,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:D,children:n.templateFilterAll}),t[17]=n.templateFilterAll,t[18]=E,t[19]=D,t[20]=O):O=t[20];let k;t[21]!==o||t[22]!==n.templateCategories||t[23]!==s?(k=Sn.map(e=>(0,$.jsx)(J,{type:`button`,variant:o===e?`secondary`:`ghost`,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:()=>s(e),children:n.templateCategories[e]},e)),t[21]=o,t[22]=n.templateCategories,t[23]=s,t[24]=k):k=t[24];let A;t[25]!==n.fromTemplate||t[26]!==O||t[27]!==k?(A=(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,role:`group`,"aria-label":T,children:[O,k]}),t[25]=n.fromTemplate,t[26]=O,t[27]=k,t[28]=A):A=t[28];let j;t[29]!==A||t[30]!==w?(j=(0,$.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-4`,children:[w,A]}),t[29]=A,t[30]=w,t[31]=j):j=t[31];let M=j,N;t[32]!==n||t[33]!==m||t[34]!==g||t[35]!==r||t[36]!==c||t[37]!==a||t[38]!==y||t[39]!==u?(N=m.length===0?(0,$.jsx)(`div`,{className:i(`text-center text-sm text-fg-muted`,u===`dialog`&&`flex h-full flex-col items-center justify-center px-4 py-12`),children:n.templatesEmptyHint}):y?(0,$.jsx)(`div`,{className:`flex flex-col gap-6 pb-1`,children:g.map(e=>(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`mb-3 text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:n.templateCategories[e.category]}),(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-3`,children:e.items.map(e=>(0,$.jsx)(Dn,{template:e,cron:n,localeTag:r,scheduleBadgeLabels:a,onSelectTemplate:c},e.templateId))})]},e.category))}):(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 pb-1 sm:grid-cols-2 xl:grid-cols-3`,children:m.map(e=>(0,$.jsx)(Dn,{template:e,cron:n,localeTag:r,scheduleBadgeLabels:a,onSelectTemplate:c},e.templateId))}),t[32]=n,t[33]=m,t[34]=g,t[35]=r,t[36]=c,t[37]=a,t[38]=y,t[39]=u,t[40]=N):N=t[40];let P=N;if(u===`dialog`){let e;t[41]===P?e=t[42]:(e=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:P}),t[41]=P,t[42]=e);let n;return t[43]!==M||t[44]!==e?(n=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4`,children:[M,e]}),t[43]=M,t[44]=e,t[45]=n):n=t[45],n}let F;return t[46]!==M||t[47]!==P?(F=(0,$.jsxs)(`div`,{className:`flex w-full flex-col gap-4`,children:[M,P]}),t[46]=M,t[47]=P,t[48]=F):F=t[48],F}function kn(e){let t=(0,Q.c)(49),{c:n,localeTag:r,scheduleBadgeLabels:a,loading:o,jobsCount:s,sortedJobs:c,templateCategoryFilter:l,onTemplateCategoryFilterChange:u,onSelectTemplate:d,keepAwake:f,wakeSupported:p,onWakeUnsupportedClick:m,onKeepAwakeToggle:h,absorbCardClickJobIdRef:g,scheduleAbsorbNextMenuCardClick:_,onOpenDetail:v,onToggle:y,onEdit:b,onAddJob:x,onRunNow:S,onDelete:C}=e,w;t[0]===n.tabMyTasks?w=t[1]:(w=(0,$.jsx)(`h2`,{id:`cron-tasks-panel`,className:`sr-only`,children:n.tabMyTasks}),t[0]=n.tabMyTasks,t[1]=w);let E;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(ee,{className:`mt-0.5 size-4 shrink-0 text-accent`,strokeWidth:1.75,"aria-hidden":!0}),t[2]=E):E=t[2];let D;t[3]===n.wakeBanner?D=t[4]:(D=(0,$.jsxs)(`div`,{className:`flex gap-3 text-sm text-fg`,children:[E,(0,$.jsx)(`p`,{className:`text-pretty text-fg-muted`,children:n.wakeBanner})]}),t[3]=n.wakeBanner,t[4]=D);let O;t[5]===n.keepAwake?O=t[6]:(O=(0,$.jsx)(`span`,{className:`text-sm text-fg`,children:n.keepAwake}),t[5]=n.keepAwake,t[6]=O);let k=!p,A=p?void 0:n.wakeLockUnavailable,j=f?`justify-end bg-accent`:`justify-start bg-surface-hover`,M=!p&&`cursor-not-allowed opacity-50`,N;t[7]!==j||t[8]!==M?(N=i(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,j,M),t[7]=j,t[8]=M,t[9]=N):N=t[9];let P;t[10]!==h||t[11]!==m||t[12]!==p?(P=()=>{p?h():m()},t[10]=h,t[11]=m,t[12]=p,t[13]=P):P=t[13];let F;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`}),t[14]=F):F=t[14];let I;t[15]!==f||t[16]!==P||t[17]!==k||t[18]!==A||t[19]!==N?(I=(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":f,disabled:k,title:A,className:N,onClick:P,children:F}),t[15]=f,t[16]=P,t[17]=k,t[18]=A,t[19]=N,t[20]=I):I=t[20];let L;t[21]!==I||t[22]!==O?(L=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 sm:pl-4`,children:[O,I]}),t[21]=I,t[22]=O,t[23]=L):L=t[23];let R;t[24]!==L||t[25]!==D?(R=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl border border-accent/25 bg-accent/5 px-4 py-3 dark:border-accent/30 dark:bg-accent/10 sm:flex-row sm:items-center sm:justify-between`,children:[D,L]}),t[24]=L,t[25]=D,t[26]=R):R=t[26];let z;t[27]!==g||t[28]!==n||t[29]!==s||t[30]!==o||t[31]!==r||t[32]!==x||t[33]!==C||t[34]!==b||t[35]!==v||t[36]!==S||t[37]!==d||t[38]!==u||t[39]!==y||t[40]!==_||t[41]!==a||t[42]!==c||t[43]!==l?(z=o&&s===0?(0,$.jsx)(`div`,{className:`flex justify-center py-16`,"aria-busy":`true`,children:(0,$.jsx)(T,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):s===0?(0,$.jsxs)(`div`,{className:`flex flex-col gap-6 rounded-2xl bg-surface-base px-4 py-8 dark:bg-surface-hover/25 sm:px-6 sm:py-10`,children:[(0,$.jsx)(`div`,{className:`w-full max-w-6xl`,children:(0,$.jsx)(On,{cron:n,localeTag:r,scheduleBadgeLabels:a,categoryFilter:l,onCategoryFilterChange:u,onSelectTemplate:d})}),(0,$.jsx)(`div`,{className:`flex justify-center`,children:(0,$.jsx)(J,{type:`button`,variant:`primary`,onClick:x,children:n.emptyStateCta})})]}):(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-[repeat(auto-fill,minmax(280px,1fr))]`,children:c.map(e=>(0,$.jsx)(_n,{job:e,c:n,localeTag:r,scheduleBadgeLabels:a,absorbCardClickJobIdRef:g,scheduleAbsorbNextMenuCardClick:_,onOpenDetail:e=>void v(e),onToggle:(e,t)=>void y(e,t),onEdit:b,onRunNow:S,onDelete:C},e.id))}),t[27]=g,t[28]=n,t[29]=s,t[30]=o,t[31]=r,t[32]=x,t[33]=C,t[34]=b,t[35]=v,t[36]=S,t[37]=d,t[38]=u,t[39]=y,t[40]=_,t[41]=a,t[42]=c,t[43]=l,t[44]=z):z=t[44];let B;return t[45]!==w||t[46]!==R||t[47]!==z?(B=(0,$.jsxs)(`section`,{"aria-labelledby":`cron-tasks-panel`,className:`flex flex-col gap-4`,children:[w,R,z]}),t[45]=w,t[46]=R,t[47]=z,t[48]=B):B=t[48],B}function An(e){let t=(0,Q.c)(29),{open:n,onOpenChange:r,c:a,localeTag:o,scheduleBadgeLabels:s,categoryFilter:c,onCategoryFilterChange:l,onSelectTemplate:u}=e,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(j,{className:`xopc-dialog-overlay fixed inset-0 z-[62] bg-scrim`}),t[0]=d):d=t[0];let f;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=i(`xopc-dialog-content-pane pointer-events-auto relative flex h-[min(90vh,840px)] w-full max-w-5xl flex-col`,`rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none dark:border-edge`,_.focusRingPanel),t[1]=f):f=t[1];let p;t[2]===a.fromTemplate?p=t[3]:(p=(0,$.jsx)(pe,{className:`text-lg font-semibold text-fg`,children:a.fromTemplate}),t[2]=a.fromTemplate,t[3]=p);let h;t[4]===a.templatePickerHint?h=t[5]:(h=(0,$.jsx)(H,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:a.templatePickerHint}),t[4]=a.templatePickerHint,t[5]=h);let g;t[6]!==p||t[7]!==h?(g=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[p,h]}),t[6]=p,t[7]=h,t[8]=g):g=t[8];let v;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(k,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[9]=v):v=t[9];let y;t[10]===a.close?y=t[11]:(y=(0,$.jsx)(V,{asChild:!0,children:(0,$.jsx)(J,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":a.close,children:v})}),t[10]=a.close,t[11]=y);let b;t[12]!==g||t[13]!==y?(b=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-4 border-b border-edge-subtle px-6 py-5`,children:[g,y]}),t[12]=g,t[13]=y,t[14]=b):b=t[14];let x;t[15]!==a||t[16]!==c||t[17]!==o||t[18]!==l||t[19]!==u||t[20]!==s?(x=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-6 py-5`,children:(0,$.jsx)(On,{variant:`dialog`,cron:a,localeTag:o,scheduleBadgeLabels:s,categoryFilter:c,onCategoryFilterChange:l,onSelectTemplate:u})}),t[15]=a,t[16]=c,t[17]=o,t[18]=l,t[19]=u,t[20]=s,t[21]=x):x=t[21];let S;t[22]!==b||t[23]!==x?(S=(0,$.jsxs)(m,{children:[d,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[62] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(B,{className:f,onOpenAutoFocus:jn,children:[b,x]})})]}),t[22]=b,t[23]=x,t[24]=S):S=t[24];let C;return t[25]!==r||t[26]!==n||t[27]!==S?(C=(0,$.jsx)(te,{open:n,onOpenChange:r,children:S}),t[25]=r,t[26]=n,t[27]=S,t[28]=C):C=t[28],C}function jn(e){return e.preventDefault()}function Mn(){return{formOpen:!1,formMode:`add`,formJobId:null,formName:``,formSchedule:Be(gt),formChannel:`local`,formChatId:``,formMessage:``,formMessageMdMode:`edit`,formTaskKind:`message`,formWorkflowDefinitionId:``,formWorkflowGoal:``,formWorkflowArgValues:{},messageEditorNonce:0,formSessionTarget:`main`,formAgentId:``,formAgentLocalOnly:!1,formWorkingDirectory:``,formModel:``,formSubmitting:!1}}function Nn(e,t){switch(t.type){case`patch`:return{...e,...t.patch};case`replace`:return t.state;case`setMessageMdMode`:return{...e,formMessageMdMode:t.mode,messageEditorNonce:t.mode===`edit`?e.messageEditorNonce+1:e.messageEditorNonce}}}function Pn(e,t){let n=Mn();if(n.formOpen=!0,n.formMode=e?`edit`:`add`,n.formJobId=e?.id??null,!e)return n.formModel=t(),n;if(n.formName=e.name||``,n.formSchedule=e.schedule,n.formMessage=Pe(e)??``,e.payload.kind===`workflowRun`){n.formTaskKind=`workflowRun`,n.formWorkflowDefinitionId=e.payload.definitionId,n.formWorkflowGoal=e.payload.goal||``,n.formWorkflowArgValues=Xt(e.payload.definitionId,e.payload.inputEnvelope?.payload??e.payload.input??{});let t=e.payload.agentId?.trim().toLowerCase();t&&(n.formAgentId=t)}n.formSessionTarget=e.sessionTarget===`isolated`?`isolated`:`main`,n.formAgentId=(e.sessionTarget||`main`)===`isolated`&&e.agentId?.trim()?e.agentId.trim().toLowerCase():``,n.formWorkingDirectory=(e.sessionTarget||`main`)===`isolated`&&e.workingDirectory?.trim()?e.workingDirectory.trim():``;let r=e.payload?.kind===`agentTurn`&&e.payload.model?.trim()?e.payload.model.trim():``;n.formModel=e.model?.trim()||r||t();let i=e.delivery?.channel===`local`;return n.formAgentLocalOnly=(e.sessionTarget||`main`)===`isolated`&&!i&&(!e.delivery?.to||e.delivery.mode===`none`),i?(n.formChannel=`local`,n.formChatId=``):e.delivery&&e.delivery.mode!==`none`&&e.delivery.to?(n.formChannel=e.delivery.channel||`telegram`,n.formChatId=e.delivery.to||``):(n.formChannel=`telegram`,n.formChatId=``),n.formMessageMdMode=`edit`,n.messageEditorNonce=1,n}function Fn(e){let{m:t,defaultModelForForm:n,channels:r,chatAgents:i}=e,[a,o]=(0,Z.useReducer)(Nn,void 0,Mn),s=(0,Z.useRef)(!1),c=(0,Z.useMemo)(()=>new Set([`local`,...r.map(e=>e.name)]),[r]);if(a.formOpen&&a.formMode===`add`&&!c.has(a.formChannel)&&o({type:`patch`,patch:{formChannel:`local`}}),a.formOpen&&a.formMode===`add`&&!s.current){let e=n();e&&e!==a.formModel&&o({type:`patch`,patch:{formModel:e}})}let l=E(()=>Ae(a.formChannel),[a.formChannel],{enabled:a.formOpen&&a.formChannel!==`local`,initial:[],errorData:[]}),u=a.formChannel===`local`?[]:l.data,d=(0,Z.useMemo)(()=>{let e=new Set(i.map(e=>e.id)),t=[...i],n=a.formAgentId.trim().toLowerCase();return n&&!e.has(n)&&t.push({id:n}),t},[i,a.formAgentId]),f=a.formChannel!==`local`&&(a.formTaskKind===`message`&&(a.formSessionTarget===`main`||a.formSessionTarget===`isolated`&&!a.formAgentLocalOnly)||a.formTaskKind===`workflowRun`&&!a.formAgentLocalOnly),p=a.formTaskKind===`workflowRun`?!a.formAgentLocalOnly:a.formTaskKind===`message`&&(a.formSessionTarget===`main`||a.formSessionTarget===`isolated`&&!a.formAgentLocalOnly),m=a.formTaskKind===`workflowRun`?!!a.formWorkflowDefinitionId.trim()&&Zt(a.formWorkflowDefinitionId.trim(),a.formWorkflowArgValues):!!a.formMessage.trim(),h=a.formSchedule.kind===`cron`?!!a.formSchedule.expr.trim():a.formSchedule.kind===`at`?!!a.formSchedule.at.trim():Number.isFinite(a.formSchedule.everyMs)&&a.formSchedule.everyMs>0,g=!!a.formName.trim()&&h&&m&&(!f||!!a.formChatId.trim()),_=(0,Z.useCallback)(e=>{s.current=!1,o({type:`replace`,state:Pn(e,n)})},[n]),v=(0,Z.useCallback)(e=>{o({type:`setMessageMdMode`,mode:e})},[]),y=(0,Z.useCallback)(e=>{let r=wn(e),i=r?xn(t.cron,e):void 0;if(!r||!i)return!1;let a=r.taskKind===`workflowRun`&&!!r.workflowDefinitionId;return s.current=!1,o({type:`replace`,state:{...Mn(),formOpen:!0,formMode:`add`,formName:i.title,formSchedule:Be(r.defaultSchedule),formMessage:a?``:i.prompt,formTaskKind:a?`workflowRun`:`message`,formWorkflowDefinitionId:a?r.workflowDefinitionId:``,formWorkflowGoal:a?i.description:``,formSessionTarget:r.defaultSessionTarget,formModel:n(),formAgentLocalOnly:a,messageEditorNonce:1}}),!0},[n,t.cron]),b=(0,Z.useCallback)(()=>{s.current=!1,o({type:`replace`,state:Mn()})},[]),x=(0,Z.useCallback)((e,t,n)=>{let r={formSessionTarget:e};e===`main`?(r.formAgentLocalOnly=!1,r.formAgentId=``,r.formWorkingDirectory=``):e===`isolated`&&!n&&(r.formModel=t()),o({type:`patch`,patch:r})},[]),S=(0,Z.useCallback)(e=>{o({type:`patch`,patch:{formChannel:e,formChatId:``,...e===`local`?{formAgentLocalOnly:!1}:{}}})},[]),C=(0,Z.useCallback)(e=>{s.current=!0,o({type:`patch`,patch:{formModel:e}})},[]),w=(0,Z.useCallback)(()=>{Ae(a.formChannel).then(l.setData)},[a.formChannel,l.setData]),T=(0,Z.useCallback)(e=>{o({type:`patch`,patch:e})},[]);return{formOpen:a.formOpen,formMode:a.formMode,formJobId:a.formJobId,formName:a.formName,formSchedule:a.formSchedule,formChannel:a.formChannel,formChatId:a.formChatId,formMessage:a.formMessage,formMessageMdMode:a.formMessageMdMode,formTaskKind:a.formTaskKind,formWorkflowDefinitionId:a.formWorkflowDefinitionId,formWorkflowGoal:a.formWorkflowGoal,formWorkflowArgValues:a.formWorkflowArgValues,messageEditorNonce:a.messageEditorNonce,formSessionTarget:a.formSessionTarget,formAgentId:a.formAgentId,formAgentLocalOnly:a.formAgentLocalOnly,formWorkingDirectory:a.formWorkingDirectory,formModel:a.formModel,formSubmitting:a.formSubmitting,sessionChatIds:u,setFormName:e=>T({formName:e}),setFormSchedule:e=>T({formSchedule:e}),setFormChatId:e=>T({formChatId:e}),setFormMessage:e=>T({formMessage:e}),setFormTaskKind:e=>T(e===`workflowRun`?{formTaskKind:e,formSessionTarget:`isolated`,formAgentLocalOnly:!1}:{formTaskKind:e}),setFormWorkflowDefinitionId:e=>T({formWorkflowDefinitionId:e,formWorkflowArgValues:{}}),setFormWorkflowGoal:e=>T({formWorkflowGoal:e}),setFormWorkflowArgValues:e=>T({formWorkflowArgValues:e}),setFormAgentId:e=>T({formAgentId:e}),setFormAgentLocalOnly:e=>T({formAgentLocalOnly:e}),setFormWorkingDirectory:e=>T({formWorkingDirectory:e}),setFormSubmitting:e=>T({formSubmitting:e}),canSubmit:g,needsDeliveryChat:f,showChannelPicker:p,cronAgentSelectOptions:d,openForm:_,closeForm:b,applyCronTemplate:y,setMessageMdMode:v,handleFormSessionTargetChange:x,handleFormChannelChange:S,handleFormModelUserChange:C,refreshRecipientsList:w}}function In(e){let{onUnavailable:t}=e,[n,r]=(0,Z.useState)(!1),i=(0,Z.useRef)(null),a=(0,Z.useRef)(`none`),o=(0,Z.useRef)(n),s=typeof navigator<`u`&&`wakeLock`in navigator,c=s||K(),l=(0,Z.useCallback)(async()=>{if(a.current===`electron`){try{await window.electronAPI?.cron?.setDisplaySleepPrevented?.(!1)}catch{}a.current=`none`;return}try{await i.current?.release()}catch{}i.current=null,a.current=`none`},[]),u=(0,Z.useCallback)(async()=>{let e=typeof window<`u`?window.electronAPI?.cron?.setDisplaySleepPrevented:void 0;if(e)try{await e(!0),a.current=`electron`;return}catch{t(),r(!1);return}if(s)try{let e=await navigator.wakeLock.request(`screen`);i.current=e,a.current=`navigator`,e.addEventListener(`release`,()=>{i.current=null,a.current=`none`})}catch{t(),r(!1)}},[t,s]);return o.current=n,(0,Z.useEffect)(()=>{if(!n){l();return}u();let e=()=>{document.visibilityState===`visible`&&o.current&&u()};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e),l()}},[n,u,l]),{keepAwake:n,setKeepAwake:r,featureAvailable:c}}function Ln(e){let{hasToken:t,failMessages:n,isHistoryTab:r}=e,[i,a]=(0,Z.useState)([]),[o,s]=(0,Z.useState)([]),[c,l]=(0,Z.useState)([]),[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)([]),[m,h]=(0,Z.useState)(null),[g,_]=(0,Z.useState)([]),[v,y]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(!1),[S,C]=(0,Z.useState)(null),w=(0,Z.useCallback)(async()=>{x(!0),C(null);try{a(await je())}catch(e){C(e instanceof Error?e.message:n.failedToLoadJobs)}finally{x(!1)}},[n.failedToLoadJobs]),T=(0,Z.useCallback)(async()=>{try{let[e,t,n,r,i]=await Promise.all([Re(),Ue(),Ve(),G(),ve().catch(()=>null)]);s(e),l(t),d(n.model||``),h(r.payload?.config??null),i&&p(i.items)}catch{}},[]),E=(0,Z.useCallback)(async()=>{y(!0);try{_(await De(400))}catch{}finally{y(!1)}},[]);return(0,Z.useEffect)(()=>{t&&(w(),T())},[t,w,T]),(0,Z.useEffect)(()=>{if(!t)return;let e=()=>{G().then(e=>{h(e.payload?.config??null)})};return window.addEventListener(`config-reload`,e),()=>window.removeEventListener(`config-reload`,e)},[t]),(0,Z.useEffect)(()=>{!t||!r||E()},[t,r,E]),{jobs:i,channels:o,availableModels:c,defaultModel:u,chatAgents:f,gatewayConfigRaw:m,runHistory:g,runHistoryLoading:v,loading:b,error:S,setError:C,userCronJobs:(0,Z.useMemo)(()=>i.filter(e=>!Je(e)),[i]),systemCronJobs:(0,Z.useMemo)(()=>i.filter(e=>Je(e)),[i]),heartbeatFromConfig:(0,Z.useMemo)(()=>Ze(m),[m]),loadJobs:w,loadAux:T,loadRunHistoryOnly:E,refreshAll:(0,Z.useCallback)(()=>{w(),T(),E()},[w,T,E])}}function Rn(e,t){let n=[...e];return n.sort((e,n)=>{let r=e.createdAtMs,i=n.createdAtMs;return t===`created_desc`?i-r:r-i}),n}function zn(e,t,n,r){let i=new Date,a=t===`day`?_t(i):t===`week`?vt(i):yt(i);return e.filter(e=>!(new Date(e.startedAt)<a||n&&e.jobId!==n||r&&e.status!==r))}var Bn={mainTab:`myTasks`,jobSort:`created_desc`,historyRange:`day`,historyJobFilter:``,historyStatusFilter:``,detailOpen:!1,detailJob:null,detailHistory:[],detailLoading:!1,detailActionNotice:null,confirmOpen:!1,templatePickerOpen:!1,templateCategoryFilter:`all`};function Vn(){let e=o(e=>e.language),t=a(e),n=t.cron,r=t.chat,i=c(e=>e.token),l=!!i,u=s(e=>e.resolved)===`dark`,d=e===`zh`?`zh-CN`:`en-US`,[f,m]=se(),[h,g]=(0,Z.useReducer)(S,f,e=>({...Bn,mainTab:Et(e.get(`tab`))})),{mainTab:_,jobSort:v,historyRange:y,historyJobFilter:b,historyStatusFilter:x,detailOpen:C,detailJob:w,detailHistory:T,detailLoading:E,detailActionNotice:D,confirmOpen:O,templatePickerOpen:k,templateCategoryFilter:A}=h,j=Et(f.get(`tab`));(0,Z.useEffect)(()=>{j!==_&&g({type:`patch`,patch:{mainTab:j}})},[j,_]);let M=(0,Z.useCallback)(e=>{g({type:`patch`,patch:{mainTab:e}}),m(t=>{let n=new URLSearchParams(t),r=Dt(e);return r?n.set(`tab`,r):n.delete(`tab`),n},{replace:!0})},[m]),N=Ln({hasToken:l,failMessages:{failedToLoadJobs:n.failedToLoadJobs},isHistoryTab:_===`history`}),{setError:P}=N,F=In({onUnavailable:()=>P(n.wakeLockUnavailable)}),I=(0,Z.useCallback)(()=>N.defaultModel||(N.availableModels.length>0?N.availableModels[0].id:``),[N.defaultModel,N.availableModels]),L=Fn({m:t,defaultModelForForm:I,channels:N.channels,chatAgents:N.chatAgents}),R=p(l&&L.formOpen?[`workflow-definitions-cron`,i]:null,ie,{revalidateOnFocus:!1}),z=R.data??[],B=(0,Z.useRef)(null),V=(0,Z.useRef)(null),H=(0,Z.useCallback)((e,t)=>{B.current=e,V.current=t,g({type:`patch`,patch:{confirmOpen:!0}})},[]),U=(0,Z.useCallback)(()=>{g({type:`patch`,patch:{confirmOpen:!1}}),V.current=null,B.current=null},[]),W=(0,Z.useRef)(null),G=(0,Z.useCallback)(e=>{W.current=e,window.setTimeout(()=>{W.current===e&&(W.current=null)},400)},[]),K=(0,Z.useCallback)(e=>{L.applyCronTemplate(e)&&g({type:`patch`,patch:{templatePickerOpen:!1}})},[L]),ee=async()=>{if(!L.formName.trim()){P(n.nameRequired);return}if(L.formSchedule.kind===`cron`&&!L.formSchedule.expr.trim()||L.formSchedule.kind===`at`&&!L.formSchedule.at.trim()||L.formSchedule.kind===`every`&&(!Number.isFinite(L.formSchedule.everyMs)||L.formSchedule.everyMs<=0)){P(n.scheduleRequired);return}if(L.formTaskKind===`message`&&!L.formMessage.trim()){P(n.scheduleRequired);return}if(L.formTaskKind===`workflowRun`&&!L.formWorkflowDefinitionId.trim()){P(n.workflowDefinitionRequired);return}if(L.formTaskKind===`workflowRun`&&!Zt(L.formWorkflowDefinitionId.trim(),L.formWorkflowArgValues)){P(n.workflowArgsRequired);return}if(L.needsDeliveryChat&&!L.formChatId.trim()){P(n.chatIdRequired);return}L.setFormSubmitting(!0),P(null);try{let e=L.formMessage.trim(),t=L.formModel.trim(),n=L.formAgentId.trim().toLowerCase(),r=L.formWorkingDirectory.trim(),i=L.formTaskKind===`workflowRun`,a=L.formTaskKind===`message`&&L.formSessionTarget===`isolated`,o=i?`isolated`:L.formSessionTarget,s;s=i?L.formAgentLocalOnly?{mode:`none`}:L.formChannel===`local`?{mode:`announce`,channel:`local`}:{mode:`announce`,channel:L.formChannel,to:L.formChatId.trim()}:L.formSessionTarget===`isolated`&&L.formAgentLocalOnly?{mode:`none`}:L.formChannel===`local`?{mode:`announce`,channel:`local`}:{mode:`announce`,channel:L.formChannel,to:L.formChatId.trim()};let c;if(i){let e=L.formWorkflowDefinitionId.trim(),t=et(L.formWorkflowArgValues);c={kind:`workflowRun`,definitionId:e,...t===void 0?{}:{inputEnvelope:{payload:t}},...L.formWorkflowGoal.trim()?{goal:L.formWorkflowGoal.trim()}:{},...n?{agentId:n}:{}}}else c=a?{kind:`agentTurn`,message:e,...t?{model:t}:{}}:{kind:`systemEvent`,text:e};let l=o===`main`?null:n||null,u={name:L.formName.trim(),schedule:L.formSchedule,sessionTarget:o,delivery:s,payload:c,...L.formMode===`edit`?{...l?{agentId:l}:{},...a&&r?{workingDirectory:r}:{}}:{...o===`isolated`&&n?{agentId:n}:{},...a&&r?{workingDirectory:r}:{}}};if(L.formMode===`edit`&&L.formJobId)await Me(L.formJobId,u);else{let{schedule:e,agentId:t,workingDirectory:n,...r}=u;await Le(e,{...r,...t==null?{}:{agentId:t},...n?{workingDirectory:n}:{}})}L.closeForm(),await N.loadJobs()}catch(e){P(e instanceof Error?e.message:L.formMode===`edit`?n.failedToUpdateJob:n.failedToCreateJob)}finally{L.setFormSubmitting(!1)}},te=async e=>{g({type:`patch`,patch:{detailOpen:!0,detailJob:e,detailLoading:!0,detailHistory:[],detailActionNotice:null}});try{let t=await Fe(e.id);t&&g({type:`patch`,patch:{detailJob:t,detailHistory:await ke(e.id,20)}})}catch{}finally{g({type:`patch`,patch:{detailLoading:!1}})}},ne=(0,Z.useCallback)(()=>{g({type:`patch`,patch:{detailOpen:!1,detailJob:null,detailActionNotice:null}})},[]),q=(0,Z.useCallback)(()=>{g({type:`patch`,patch:{templateCategoryFilter:`all`,templatePickerOpen:!0}})},[]),re=async(e,t)=>{try{await Ne(e.id,t),w?.id===e.id&&g({type:`patch`,patch:{detailJob:{...w,enabled:t}}}),await Promise.all([N.loadJobs(),N.loadAux()])}catch(e){P(e instanceof Error?e.message:n.failedToToggleJob)}},J=async()=>{let e=V.current,t=B.current;if(!(!e||!t)){U();try{if(t===`run`){let t=await Ie(e);w?.id===e&&g({type:`patch`,patch:{detailJob:t.job??await Fe(e),detailHistory:t.history??await ke(e,20),detailActionNotice:{kind:`info`,message:n.runStarted}}})}else await ze(e),w?.id===e&&g({type:`patch`,patch:{detailOpen:!1,detailJob:null}});await Promise.all([N.loadJobs(),N.loadAux(),N.loadRunHistoryOnly()])}catch(r){let i=r instanceof Error?r.message:n.actionFailed;if(t===`run`&&w?.id===e){let t=await Fe(e).catch(()=>null),a=await ke(e,20).catch(()=>T),o=r instanceof He&&r.code===`job_already_running`?r.runningSessionKey||t?.state?.runningSessionKey||a.find(e=>e.status===`running`)?.sessionKey:t?.state?.runningSessionKey||a.find(e=>e.status===`running`)?.sessionKey;g({type:`patch`,patch:{...t?{detailJob:t}:{},detailHistory:a,detailActionNotice:{kind:`error`,message:i.includes(`already running`)?n.jobAlreadyRunning:i,...o?{sessionKey:o}:{}}}})}else P(i)}}};(0,Z.useEffect)(()=>{let e=e=>{e.key===`Escape`&&(L.formOpen?L.closeForm():C&&g({type:`patch`,patch:{detailOpen:!1,detailJob:null}}))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[L,C]);let ae=(0,Z.useMemo)(()=>({running:n.execStatusRunning,success:n.execStatusSuccess,failed:n.execStatusFailed,cancelled:n.execStatusCancelled}),[n.execStatusCancelled,n.execStatusFailed,n.execStatusRunning,n.execStatusSuccess]),oe=(0,Z.useMemo)(()=>Rn(N.userCronJobs,v),[N.userCronJobs,v]),Y=(0,Z.useMemo)(()=>Rn(N.systemCronJobs,v),[N.systemCronJobs,v]),ce=(0,Z.useMemo)(()=>zn(N.runHistory,y,b,x),[N.runHistory,y,b,x]),le=n.scheduleBadge;return l?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Hn,{hasToken:l,c:n,loading:N.loading,runHistoryLoading:N.runHistoryLoading,onRefresh:N.refreshAll,onOpenTemplatePicker:q,onAddJob:()=>L.openForm()}),(0,$.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:[(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-6 px-4 py-6 sm:px-8`,children:[N.error?(0,$.jsx)(`div`,{className:`rounded-xl border border-red-200 bg-red-50 px-3 py-2 text-sm text-red-800 dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-200`,role:`alert`,children:N.error}):null,(0,$.jsx)(pn,{c:n,mainTab:_,onMainTabChange:M,jobSort:v,onJobSortChange:e=>g({type:`patch`,patch:{jobSort:e}}),historyRange:y,onHistoryRangeChange:e=>g({type:`patch`,patch:{historyRange:e}}),historyJobFilter:b,onHistoryJobFilterChange:e=>g({type:`patch`,patch:{historyJobFilter:e}}),historyStatusFilter:x,onHistoryStatusFilterChange:e=>g({type:`patch`,patch:{historyStatusFilter:e}}),jobs:N.jobs}),_===`myTasks`?(0,$.jsx)(kn,{c:n,localeTag:d,scheduleBadgeLabels:le,loading:N.loading,jobsCount:N.userCronJobs.length,sortedJobs:oe,templateCategoryFilter:A,onTemplateCategoryFilterChange:e=>g({type:`patch`,patch:{templateCategoryFilter:e}}),onSelectTemplate:K,keepAwake:F.keepAwake,wakeSupported:F.featureAvailable,onWakeUnsupportedClick:()=>P(n.wakeLockUnavailable),onKeepAwakeToggle:()=>F.setKeepAwake(e=>!e),absorbCardClickJobIdRef:W,scheduleAbsorbNextMenuCardClick:G,onOpenDetail:e=>void te(e),onToggle:(e,t)=>void re(e,t),onEdit:e=>L.openForm(e),onAddJob:()=>L.openForm(),onRunNow:e=>H(`run`,e.id),onDelete:e=>H(`delete`,e.id)}):_===`systemTasks`?(0,$.jsx)(bn,{c:n,language:e,localeTag:d,scheduleBadgeLabels:le,loading:N.loading,sortedSystemJobs:Y,heartbeat:N.heartbeatFromConfig,keepAwake:F.keepAwake,wakeSupported:F.featureAvailable,onWakeUnsupportedClick:()=>P(n.wakeLockUnavailable),onKeepAwakeToggle:()=>F.setKeepAwake(e=>!e),absorbCardClickJobIdRef:W,scheduleAbsorbNextMenuCardClick:G,onOpenDetail:e=>void te(e),onToggle:(e,t)=>void re(e,t),onEdit:e=>L.openForm(e),onRunNow:e=>H(`run`,e.id),onDelete:e=>H(`delete`,e.id)}):_===`history`?(0,$.jsx)(gn,{c:n,runHistoryLoading:N.runHistoryLoading,runHistory:N.runHistory,filteredRunHistory:ce,jobs:N.jobs,onRefreshHistory:()=>void N.loadRunHistoryOnly(),onOpenJobDetail:e=>void te(e),statusLabels:ae}):(0,$.jsx)(mt,{hasToken:l})]}),(0,$.jsx)(on,{open:L.formOpen,onRequestClose:L.closeForm,c:n,chatM:r,agentsMessages:t.agentsSettings,isDark:u,channels:N.channels,sessionChatIds:L.sessionChatIds,cronAgentSelectOptions:L.cronAgentSelectOptions,defaultModelResolver:I,formMode:L.formMode,formJobId:L.formJobId,formName:L.formName,onFormNameChange:L.setFormName,formSchedule:L.formSchedule,onFormScheduleChange:L.setFormSchedule,formSubmitting:L.formSubmitting,formTaskKind:L.formTaskKind,onFormTaskKindChange:L.setFormTaskKind,workflowDefinitions:z,workflowDefinitionsLoading:R.isLoading,formWorkflowDefinitionId:L.formWorkflowDefinitionId,onFormWorkflowDefinitionIdChange:L.setFormWorkflowDefinitionId,formWorkflowGoal:L.formWorkflowGoal,onFormWorkflowGoalChange:L.setFormWorkflowGoal,formWorkflowArgValues:L.formWorkflowArgValues,onFormWorkflowArgValuesChange:L.setFormWorkflowArgValues,formSessionTarget:L.formSessionTarget,onFormSessionTargetChange:L.handleFormSessionTargetChange,formAgentLocalOnly:L.formAgentLocalOnly,onFormAgentLocalOnlyChange:L.setFormAgentLocalOnly,formModel:L.formModel,onFormModelUserChange:L.handleFormModelUserChange,formAgentId:L.formAgentId,onFormAgentIdChange:L.setFormAgentId,formWorkingDirectory:L.formWorkingDirectory,onFormWorkingDirectoryChange:L.setFormWorkingDirectory,formChannel:L.formChannel,onFormChannelChange:L.handleFormChannelChange,formChatId:L.formChatId,onFormChatIdChange:L.setFormChatId,formMessage:L.formMessage,onFormMessageChange:L.setFormMessage,formMessageMdMode:L.formMessageMdMode,onSetMessageMdMode:L.setMessageMdMode,messageEditorNonce:L.messageEditorNonce,needsDeliveryChat:L.needsDeliveryChat,showChannelPicker:L.showChannelPicker,canSubmit:L.canSubmit,onSubmit:()=>void ee(),onRefreshRecipients:L.refreshRecipientsList}),(0,$.jsx)(An,{open:k,onOpenChange:e=>{g({type:`patch`,patch:{templatePickerOpen:e,...e?{templateCategoryFilter:`all`}:{}}})},c:n,localeTag:d,scheduleBadgeLabels:le,categoryFilter:A,onCategoryFilterChange:e=>g({type:`patch`,patch:{templateCategoryFilter:e}}),onSelectTemplate:K}),(0,$.jsx)(Lt,{open:C,onDismiss:ne,detailJob:w,detailLoading:E,actionNotice:D,detailHistory:T,c:n,localeTag:d,scheduleBadgeLabels:le,chatWorkingDirNotSet:r.workingDirectory.notSet,statusLabels:ae,onEdit:e=>{L.openForm(e),window.requestAnimationFrame(()=>ne())},onRunNow:e=>H(`run`,e.id),onToggle:(e,t)=>void re(e,t),onDelete:e=>H(`delete`,e.id)}),(0,$.jsx)(ot,{open:O,onOpenChange:e=>g({type:`patch`,patch:{confirmOpen:e}}),action:B.current,c:n,onDismiss:U,onConfirm:J})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Hn,{hasToken:l,c:n,loading:N.loading,runHistoryLoading:N.runHistoryLoading,onRefresh:N.refreshAll,onOpenTemplatePicker:q,onAddJob:()=>L.openForm()}),(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-16 text-center text-sm text-fg-muted sm:px-8`,children:n.needToken})]})}function Hn(e){let t=(0,Q.c)(14),{hasToken:n,c:r,loading:i,runHistoryLoading:a,onRefresh:o,onOpenTemplatePicker:s,onAddJob:c}=e,l=ce(Wn),u=ce(Un),d;t[0]!==r||t[1]!==i||t[2]!==c||t[3]!==s||t[4]!==o||t[5]!==a?(d=(0,$.jsx)(hn,{c:r,loading:i,runHistoryLoading:a,onRefresh:o,onOpenTemplatePicker:s,onAddJob:c}),t[0]=r,t[1]=i,t[2]=c,t[3]=s,t[4]=o,t[5]=a,t[6]=d):d=t[6];let f=d,p,m;return t[7]!==r.title||t[8]!==u||t[9]!==f||t[10]!==n||t[11]!==l?(p=()=>n?(l({startExtra:null,main:(0,$.jsx)(`div`,{className:`min-w-0`,children:(0,$.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:r.title})}),end:f}),()=>u()):(u(),()=>u()),m=[r.title,u,f,n,l],t[7]=r.title,t[8]=u,t[9]=f,t[10]=n,t[11]=l,t[12]=p,t[13]=m):(p=t[12],m=t[13]),(0,Z.useLayoutEffect)(p,m),null}function Un(e){return e.clearPageHeader}function Wn(e){return e.setPageHeader}export{Vn as CronPage};