@xopcai/xopc 0.0.84 → 0.0.86

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 (418) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
  3. package/dist/extensions/feishu/src/plugin.d.ts +2 -0
  4. package/dist/extensions/feishu/src/plugin.js +10 -0
  5. package/dist/extensions/feishu/src/plugin.js.map +1 -1
  6. package/dist/extensions/feishu/src/workflow-progress.d.ts +27 -0
  7. package/dist/extensions/feishu/src/workflow-progress.js +99 -0
  8. package/dist/extensions/feishu/src/workflow-progress.js.map +1 -0
  9. package/dist/extensions/telegram/src/plugin.d.ts +2 -0
  10. package/dist/extensions/telegram/src/plugin.js +11 -1
  11. package/dist/extensions/telegram/src/plugin.js.map +1 -1
  12. package/dist/extensions/telegram/src/routing-integration.js +2 -2
  13. package/dist/extensions/telegram/src/workflow-progress.d.ts +24 -0
  14. package/dist/extensions/telegram/src/workflow-progress.js +73 -0
  15. package/dist/extensions/telegram/src/workflow-progress.js.map +1 -0
  16. package/dist/extensions/telegram/xopc.extension.json +1 -1
  17. package/dist/extensions/weixin/src/__tests__/workflow-progress.test.js +158 -0
  18. package/dist/extensions/weixin/src/__tests__/workflow-progress.test.js.map +1 -0
  19. package/dist/extensions/weixin/src/api/api.js +2 -2
  20. package/dist/extensions/weixin/src/auth/accounts.js +1 -1
  21. package/dist/extensions/weixin/src/cdn/upload.js +1 -1
  22. package/dist/extensions/weixin/src/media/data-url.js +1 -1
  23. package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
  24. package/dist/extensions/weixin/src/messaging/inbound.js +1 -1
  25. package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
  26. package/dist/extensions/weixin/src/plugin.d.ts +2 -0
  27. package/dist/extensions/weixin/src/plugin.js +11 -1
  28. package/dist/extensions/weixin/src/plugin.js.map +1 -1
  29. package/dist/extensions/weixin/src/storage/sync-buf.js +1 -1
  30. package/dist/extensions/weixin/src/workflow-progress.d.ts +26 -0
  31. package/dist/extensions/weixin/src/workflow-progress.js +99 -0
  32. package/dist/extensions/weixin/src/workflow-progress.js.map +1 -0
  33. package/dist/gateway/static/root/assets/agents-mS3_HpRI.js +222 -0
  34. package/dist/gateway/static/root/assets/apps-page-DrfytjOb.js +1 -0
  35. package/dist/gateway/static/root/assets/channels-settings-BG6b9KrW.js +1 -0
  36. package/dist/gateway/static/root/assets/channels-status-swr-Bs5kMCMI.js +8 -0
  37. package/dist/gateway/static/root/assets/createLucideIcon-DPHK1VkS.js +1 -0
  38. package/dist/gateway/static/root/assets/cron-api-BuVcZ5zR.js +1 -0
  39. package/dist/gateway/static/root/assets/cron-page-BMrloeFH.js +1 -0
  40. package/dist/gateway/static/root/assets/dist-BTWC-BTN.js +45 -0
  41. package/dist/gateway/static/root/assets/{dist-CqNMNhJM.js → dist-CKU1OOTf.js} +1 -1
  42. package/dist/gateway/static/root/assets/{extension-debug-page-gf2L0kY_.js → extension-debug-page-BdW_46sN.js} +1 -1
  43. package/dist/gateway/static/root/assets/extension-page-DW47KI82.js +1 -0
  44. package/dist/gateway/static/root/assets/extension-settings-page-B-W4x2xP.js +1 -0
  45. package/dist/gateway/static/root/assets/fetch-B2MYHbWg.js +1 -0
  46. package/dist/gateway/static/root/assets/{field-primitives-DTtlp-l8.js → field-primitives-DPG-oJmx.js} +1 -1
  47. package/dist/gateway/static/root/assets/heartbeat-config-api-C8dNts9i.js +1 -0
  48. package/dist/gateway/static/root/assets/index-BmVYculr.js +4700 -0
  49. package/dist/gateway/static/root/assets/index-ew_2L2We.css +1 -0
  50. package/dist/gateway/static/root/assets/logs-page-sTsVWz0X.js +1 -0
  51. package/dist/gateway/static/root/assets/sessions-page-FaG_Vlkb.js +1 -0
  52. package/dist/gateway/static/root/assets/settings-form-section-DuvRQW--.js +1 -0
  53. package/dist/gateway/static/root/assets/settings-page-Bet1OerL.js +3 -0
  54. package/dist/gateway/static/root/assets/share-preview-page-BtG2kLDh.js +2 -0
  55. package/dist/gateway/static/root/assets/skills-page-DhUO235y.js +2 -0
  56. package/dist/gateway/static/root/assets/theme-store-DryYl3qD.js +1 -0
  57. package/dist/gateway/static/root/assets/url-BwNL6Rgk.js +3 -0
  58. package/dist/gateway/static/root/assets/utils-BY7bU1DT.js +1 -0
  59. package/dist/gateway/static/root/assets/voice-api-key-field-CGEydndO.js +1 -0
  60. package/dist/gateway/static/root/index.html +7 -6
  61. package/dist/package.js +1 -1
  62. package/dist/src/agent/agent-manager.js +7 -7
  63. package/dist/src/agent/bootstrap/load-bootstrap-files.js +1 -1
  64. package/dist/src/agent/context/workspace-seed.js +3 -3
  65. package/dist/src/agent/embedded/map-stream-events.js +6 -0
  66. package/dist/src/agent/embedded/map-stream-events.js.map +1 -1
  67. package/dist/src/agent/embedded/subscribe-session.js +24 -0
  68. package/dist/src/agent/embedded/subscribe-session.js.map +1 -1
  69. package/dist/src/agent/embedded/types.d.ts +19 -0
  70. package/dist/src/agent/goals/goal-locale.js +2 -2
  71. package/dist/src/agent/goals/goal-run-store.js +4 -4
  72. package/dist/src/agent/goals/persistent-goal-service.js +1 -1
  73. package/dist/src/agent/goals/post-turn.js +2 -2
  74. package/dist/src/agent/image/load-image-media.js +2 -2
  75. package/dist/src/agent/ipc/bus.js +1 -1
  76. package/dist/src/agent/ipc/inbox.js +2 -2
  77. package/dist/src/agent/ipc/socket.js +1 -1
  78. package/dist/src/agent/memory/builtin-memory-store.js +1 -1
  79. package/dist/src/agent/memory/dreaming/deep-promotion.js +1 -1
  80. package/dist/src/agent/memory/dreaming/events.js +1 -1
  81. package/dist/src/agent/memory/dreaming/last-run.js +1 -1
  82. package/dist/src/agent/memory/dreaming/light-sweep.js +1 -1
  83. package/dist/src/agent/memory/dreaming/preview.js +1 -1
  84. package/dist/src/agent/memory/dreaming/rem-patterns.js +1 -1
  85. package/dist/src/agent/memory/dreaming/short-term-store.js +1 -1
  86. package/dist/src/agent/memory/dreaming/utils.js +1 -1
  87. package/dist/src/agent/memory/plugin-discovery.js +1 -1
  88. package/dist/src/agent/models/manager.js +1 -1
  89. package/dist/src/agent/prompt/service-prompt-builder.js +2 -2
  90. package/dist/src/agent/reply/post-compaction-context.js +1 -1
  91. package/dist/src/agent/reply/startup-context.d.ts +3 -0
  92. package/dist/src/agent/reply/startup-context.js +25 -2
  93. package/dist/src/agent/reply/startup-context.js.map +1 -1
  94. package/dist/src/agent/reply/workspace-boundary-read.js +1 -1
  95. package/dist/src/agent/sandbox/path-policy.js +2 -2
  96. package/dist/src/agent/service/build-direct-message-content.js +1 -1
  97. package/dist/src/agent/service.d.ts +1 -0
  98. package/dist/src/agent/service.js +10 -4
  99. package/dist/src/agent/service.js.map +1 -1
  100. package/dist/src/agent/session/session-inspector.js +1 -1
  101. package/dist/src/agent/skills/config.js +1 -1
  102. package/dist/src/agent/skills/hub-hash.js +2 -2
  103. package/dist/src/agent/skills/hub-lock.js +1 -1
  104. package/dist/src/agent/skills/hub-pull.js +3 -3
  105. package/dist/src/agent/skills/index.js +1 -1
  106. package/dist/src/agent/skills/managed-store.js +1 -1
  107. package/dist/src/agent/skills/scanner.js +1 -1
  108. package/dist/src/agent/skills/skill-manage-ops.js +1 -1
  109. package/dist/src/agent/skills/skill-manager.js +1 -1
  110. package/dist/src/agent/tools/create-share-tool.d.ts +27 -0
  111. package/dist/src/agent/tools/create-share-tool.js +237 -0
  112. package/dist/src/agent/tools/create-share-tool.js.map +1 -0
  113. package/dist/src/agent/tools/dreaming-tool.js +1 -1
  114. package/dist/src/agent/tools/factory.js +35 -1
  115. package/dist/src/agent/tools/factory.js.map +1 -1
  116. package/dist/src/agent/tools/image-generate-tool.js +1 -1
  117. package/dist/src/agent/tools/index.d.ts +2 -0
  118. package/dist/src/agent/tools/index.js +3 -1
  119. package/dist/src/agent/tools/send-media.js +1 -1
  120. package/dist/src/agent/tools/skill-manage-tool.js +1 -1
  121. package/dist/src/agent/tools/workflow-tool.d.ts +41 -0
  122. package/dist/src/agent/tools/workflow-tool.js +271 -0
  123. package/dist/src/agent/tools/workflow-tool.js.map +1 -0
  124. package/dist/src/agent/tools/write.js +1 -1
  125. package/dist/src/agent/workflow/builtins/audit-repo.d.ts +13 -0
  126. package/dist/src/agent/workflow/builtins/audit-repo.js +156 -0
  127. package/dist/src/agent/workflow/builtins/audit-repo.js.map +1 -0
  128. package/dist/src/agent/workflow/builtins/debug-incident.d.ts +13 -0
  129. package/dist/src/agent/workflow/builtins/debug-incident.js +155 -0
  130. package/dist/src/agent/workflow/builtins/debug-incident.js.map +1 -0
  131. package/dist/src/agent/workflow/builtins/index.d.ts +17 -0
  132. package/dist/src/agent/workflow/builtins/index.js +38 -0
  133. package/dist/src/agent/workflow/builtins/index.js.map +1 -0
  134. package/dist/src/agent/workflow/builtins/multi-perspective-review.d.ts +14 -0
  135. package/dist/src/agent/workflow/builtins/multi-perspective-review.js +149 -0
  136. package/dist/src/agent/workflow/builtins/multi-perspective-review.js.map +1 -0
  137. package/dist/src/agent/workflow/builtins/pr-review.d.ts +12 -0
  138. package/dist/src/agent/workflow/builtins/pr-review.js +156 -0
  139. package/dist/src/agent/workflow/builtins/pr-review.js.map +1 -0
  140. package/dist/src/agent/workflow/builtins/research.d.ts +13 -0
  141. package/dist/src/agent/workflow/builtins/research.js +160 -0
  142. package/dist/src/agent/workflow/builtins/research.js.map +1 -0
  143. package/dist/src/agent/workflow/catalog.d.ts +56 -0
  144. package/dist/src/agent/workflow/catalog.js +159 -0
  145. package/dist/src/agent/workflow/catalog.js.map +1 -0
  146. package/dist/src/agent/workflow/channel-capability.d.ts +76 -0
  147. package/dist/src/agent/workflow/channel-capability.js +1 -0
  148. package/dist/src/agent/workflow/index.d.ts +11 -0
  149. package/dist/src/agent/workflow/index.js +10 -0
  150. package/dist/src/agent/workflow/last-run-memory.d.ts +42 -0
  151. package/dist/src/agent/workflow/last-run-memory.js +60 -0
  152. package/dist/src/agent/workflow/last-run-memory.js.map +1 -0
  153. package/dist/src/agent/workflow/parser.d.ts +20 -0
  154. package/dist/src/agent/workflow/parser.js +146 -0
  155. package/dist/src/agent/workflow/parser.js.map +1 -0
  156. package/dist/src/agent/workflow/progress-broker.d.ts +80 -0
  157. package/dist/src/agent/workflow/progress-broker.js +263 -0
  158. package/dist/src/agent/workflow/progress-broker.js.map +1 -0
  159. package/dist/src/agent/workflow/runtime.d.ts +31 -0
  160. package/dist/src/agent/workflow/runtime.js +301 -0
  161. package/dist/src/agent/workflow/runtime.js.map +1 -0
  162. package/dist/src/agent/workflow/snapshot.d.ts +18 -0
  163. package/dist/src/agent/workflow/snapshot.js +144 -0
  164. package/dist/src/agent/workflow/snapshot.js.map +1 -0
  165. package/dist/src/agent/workflow/structured-output-tool.d.ts +33 -0
  166. package/dist/src/agent/workflow/structured-output-tool.js +58 -0
  167. package/dist/src/agent/workflow/structured-output-tool.js.map +1 -0
  168. package/dist/src/agent/workflow/subagent-runner.d.ts +42 -0
  169. package/dist/src/agent/workflow/subagent-runner.js +104 -0
  170. package/dist/src/agent/workflow/subagent-runner.js.map +1 -0
  171. package/dist/src/agent/workflow/types.d.ts +145 -0
  172. package/dist/src/agent/workflow/types.js +1 -0
  173. package/dist/src/auth/credentials.js +3 -3
  174. package/dist/src/auth/profiles/store.js +1 -1
  175. package/dist/src/auth/sync-provider-auth.js +1 -1
  176. package/dist/src/browser/cache-dir-policy.js +1 -1
  177. package/dist/src/browser/cdp-local-launcher.js +2 -2
  178. package/dist/src/browser/providers/browser-ext-install.js +4 -4
  179. package/dist/src/browser/providers/cloakbrowser.js +4 -4
  180. package/dist/src/browser/providers/playwright-doctor.js +1 -1
  181. package/dist/src/browser/stealth.js +1 -1
  182. package/dist/src/channels/attachments/inbound-persist.js +1 -1
  183. package/dist/src/channels/attachments/outbound-tts-persist.js +1 -1
  184. package/dist/src/channels/outbound/persist-store.js +1 -1
  185. package/dist/src/channels/pairing/allow-from-file.js +1 -1
  186. package/dist/src/channels/pairing/pairing-store.js +2 -2
  187. package/dist/src/chat-commands/builtins/config.js +2 -2
  188. package/dist/src/chat-commands/builtins/model.js +40 -23
  189. package/dist/src/chat-commands/builtins/model.js.map +1 -1
  190. package/dist/src/chat-commands/builtins/system.js +30 -15
  191. package/dist/src/chat-commands/builtins/system.js.map +1 -1
  192. package/dist/src/chat-commands/builtins/workflow.d.ts +18 -0
  193. package/dist/src/chat-commands/builtins/workflow.js +172 -0
  194. package/dist/src/chat-commands/builtins/workflow.js.map +1 -0
  195. package/dist/src/chat-commands/context.js +1 -1
  196. package/dist/src/chat-commands/format-output.d.ts +28 -0
  197. package/dist/src/chat-commands/format-output.js +45 -0
  198. package/dist/src/chat-commands/format-output.js.map +1 -0
  199. package/dist/src/chat-commands/index.d.ts +1 -0
  200. package/dist/src/chat-commands/index.js +3 -1
  201. package/dist/src/chat-commands/index.js.map +1 -1
  202. package/dist/src/cli/commands/config.js +2 -2
  203. package/dist/src/cli/commands/doctor/checks/config-health.js +1 -1
  204. package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
  205. package/dist/src/cli/commands/doctor/checks/session-integrity.js +1 -1
  206. package/dist/src/cli/commands/doctor/checks/state-integrity.js +1 -1
  207. package/dist/src/cli/commands/doctor/checks/workspace-status.js +1 -1
  208. package/dist/src/cli/commands/extension-dev.js +1 -1
  209. package/dist/src/cli/commands/extension-marketplace.js +1 -1
  210. package/dist/src/cli/commands/extension-pack.js +1 -1
  211. package/dist/src/cli/commands/gateway/lifecycle.js +10 -4
  212. package/dist/src/cli/commands/gateway/lifecycle.js.map +1 -1
  213. package/dist/src/cli/commands/gateway/shared.js +1 -1
  214. package/dist/src/cli/commands/image.js +1 -1
  215. package/dist/src/cli/commands/init.js +4 -4
  216. package/dist/src/cli/commands/onboard.js +2 -2
  217. package/dist/src/cli/commands/tunnel.js +2 -2
  218. package/dist/src/cli/utils/gateway-client.js +1 -1
  219. package/dist/src/cli/utils/init-workspace-core.js +2 -2
  220. package/dist/src/config/agent-profile.js +1 -1
  221. package/dist/src/config/gateway-bind.js +1 -1
  222. package/dist/src/config/index.js +5 -5
  223. package/dist/src/config/loader.js +2 -2
  224. package/dist/src/config/models-json.js +2 -2
  225. package/dist/src/config/paths-state.js +1 -1
  226. package/dist/src/config/profile.js +2 -2
  227. package/dist/src/config/public-url.d.ts +28 -0
  228. package/dist/src/config/public-url.js +103 -0
  229. package/dist/src/config/public-url.js.map +1 -0
  230. package/dist/src/config/schema.d.ts +82 -0
  231. package/dist/src/config/schema.js +130 -1
  232. package/dist/src/config/schema.js.map +1 -1
  233. package/dist/src/config/workspace-path.js +1 -1
  234. package/dist/src/cron/executor.js +2 -2
  235. package/dist/src/cron/persistence.js +1 -1
  236. package/dist/src/cron/run-log-store.js +1 -1
  237. package/dist/src/daemon/constants.js +1 -1
  238. package/dist/src/daemon/install-plan.js +3 -3
  239. package/dist/src/daemon/install-plan.js.map +1 -1
  240. package/dist/src/daemon/launchd.js +2 -2
  241. package/dist/src/daemon/schtasks.js +38 -1
  242. package/dist/src/daemon/schtasks.js.map +1 -1
  243. package/dist/src/daemon/systemd.js +2 -2
  244. package/dist/src/extensions/bundle-mcp.js +1 -1
  245. package/dist/src/extensions/discover-extensions.js +1 -1
  246. package/dist/src/extensions/health.js +1 -1
  247. package/dist/src/extensions/loader.js +1 -1
  248. package/dist/src/extensions/lockfile.js +2 -2
  249. package/dist/src/gateway/agents-admin.js +2 -2
  250. package/dist/src/gateway/file-path-classifier.js +2 -2
  251. package/dist/src/gateway/heartbeat/service.js +1 -1
  252. package/dist/src/gateway/hono/app.js +33 -2
  253. package/dist/src/gateway/hono/app.js.map +1 -1
  254. package/dist/src/gateway/hono/lib/config-payload.js +1 -1
  255. package/dist/src/gateway/hono/lib/extension-store.js +2 -2
  256. package/dist/src/gateway/hono/lib/static-ui.js +2 -2
  257. package/dist/src/gateway/hono/oauth.js +1 -1
  258. package/dist/src/gateway/hono/routes/agents.js +1 -1
  259. package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
  260. package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
  261. package/dist/src/gateway/hono/routes/dreaming.js +1 -1
  262. package/dist/src/gateway/hono/routes/host-fs.js +2 -2
  263. package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
  264. package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
  265. package/dist/src/gateway/hono/routes/models.js +1 -1
  266. package/dist/src/gateway/hono/routes/shares.js +631 -34
  267. package/dist/src/gateway/hono/routes/shares.js.map +1 -1
  268. package/dist/src/gateway/hono/routes/site-shares.d.ts +3 -0
  269. package/dist/src/gateway/hono/routes/site-shares.js +228 -0
  270. package/dist/src/gateway/hono/routes/site-shares.js.map +1 -0
  271. package/dist/src/gateway/hono/routes/tunnel.js +97 -8
  272. package/dist/src/gateway/hono/routes/tunnel.js.map +1 -1
  273. package/dist/src/gateway/hono/routes/workspace.js +5 -5
  274. package/dist/src/gateway/hono/sse.js +2 -2
  275. package/dist/src/gateway/host.d.ts +3 -1
  276. package/dist/src/gateway/host.js +3 -1
  277. package/dist/src/gateway/host.js.map +1 -1
  278. package/dist/src/gateway/lock.js +3 -3
  279. package/dist/src/gateway/ports.d.ts +6 -0
  280. package/dist/src/gateway/ports.js +38 -2
  281. package/dist/src/gateway/ports.js.map +1 -1
  282. package/dist/src/gateway/public-url.d.ts +8 -0
  283. package/dist/src/gateway/public-url.js +10 -0
  284. package/dist/src/gateway/public-url.js.map +1 -0
  285. package/dist/src/gateway/security/origin-check.d.ts +9 -1
  286. package/dist/src/gateway/security/origin-check.js +4 -0
  287. package/dist/src/gateway/security/origin-check.js.map +1 -1
  288. package/dist/src/gateway/server.js +15 -0
  289. package/dist/src/gateway/server.js.map +1 -1
  290. package/dist/src/gateway/service/agent-runner.js +2 -2
  291. package/dist/src/gateway/service/marketplace-service.js +2 -2
  292. package/dist/src/gateway/service/run-gateway-agent.js +2 -2
  293. package/dist/src/gateway/service.js +3 -2
  294. package/dist/src/gateway/service.js.map +1 -1
  295. package/dist/src/gateway/workspace-fs-file-list.js +1 -1
  296. package/dist/src/heartbeat/index.js +1 -1
  297. package/dist/src/i18n/goals-bundle.js +1 -1
  298. package/dist/src/i18n/index.d.ts +1 -0
  299. package/dist/src/i18n/index.js +2 -1
  300. package/dist/src/i18n/locales/share-tool.en.js +15 -0
  301. package/dist/src/i18n/locales/share-tool.en.js.map +1 -0
  302. package/dist/src/i18n/locales/share-tool.zh.js +15 -0
  303. package/dist/src/i18n/locales/share-tool.zh.js.map +1 -0
  304. package/dist/src/i18n/share-tool-bundle.d.ts +20 -0
  305. package/dist/src/i18n/share-tool-bundle.js +56 -0
  306. package/dist/src/i18n/share-tool-bundle.js.map +1 -0
  307. package/dist/src/infra/gateway-processes.js +1 -0
  308. package/dist/src/infra/gateway-processes.js.map +1 -1
  309. package/dist/src/infra/restart.js +2 -2
  310. package/dist/src/infra/update-check.js +1 -1
  311. package/dist/src/infra/update-lock.js +3 -3
  312. package/dist/src/infra/update-runner.js +1 -1
  313. package/dist/src/infra/update-startup.js +2 -2
  314. package/dist/src/infra/write-file-atomic.js +2 -2
  315. package/dist/src/providers/auth-runtime/auth-profile-store.js +1 -1
  316. package/dist/src/providers/index.js +2 -2
  317. package/dist/src/providers/model-registry.js +1 -1
  318. package/dist/src/session/config-store.js +2 -2
  319. package/dist/src/session/parity/jsonl-transcript-io.js +2 -2
  320. package/dist/src/session/parity/sessions-json-file.js +1 -1
  321. package/dist/src/session/parity/transcript-file-lock.js +2 -2
  322. package/dist/src/session/parity/transcript-paths.js +1 -1
  323. package/dist/src/session/search-index-cache.js +1 -1
  324. package/dist/src/session/search-index.js +1 -1
  325. package/dist/src/session/session-title.js +3 -2
  326. package/dist/src/session/session-title.js.map +1 -1
  327. package/dist/src/session/store.js +5 -5
  328. package/dist/src/share/share-auto.d.ts +74 -0
  329. package/dist/src/share/share-auto.js +247 -0
  330. package/dist/src/share/share-auto.js.map +1 -0
  331. package/dist/src/share/share-config.js +63 -4
  332. package/dist/src/share/share-config.js.map +1 -1
  333. package/dist/src/share/share-landing.d.ts +28 -2
  334. package/dist/src/share/share-landing.js +155 -34
  335. package/dist/src/share/share-landing.js.map +1 -1
  336. package/dist/src/share/share-store.d.ts +48 -4
  337. package/dist/src/share/share-store.js +322 -51
  338. package/dist/src/share/share-store.js.map +1 -1
  339. package/dist/src/share/share-thumbnail.d.ts +35 -0
  340. package/dist/src/share/share-thumbnail.js +277 -0
  341. package/dist/src/share/share-thumbnail.js.map +1 -0
  342. package/dist/src/share/share-types.d.ts +68 -10
  343. package/dist/src/share/share-types.js +18 -1
  344. package/dist/src/share/share-types.js.map +1 -1
  345. package/dist/src/share/share-url.js +1 -1
  346. package/dist/src/share/share-zip.d.ts +35 -0
  347. package/dist/src/share/share-zip.js +303 -0
  348. package/dist/src/share/share-zip.js.map +1 -0
  349. package/dist/src/share/site-proxy.d.ts +35 -0
  350. package/dist/src/share/site-proxy.js +234 -0
  351. package/dist/src/share/site-proxy.js.map +1 -0
  352. package/dist/src/share/site-share-config.d.ts +11 -0
  353. package/dist/src/share/site-share-config.js +103 -0
  354. package/dist/src/share/site-share-config.js.map +1 -0
  355. package/dist/src/share/site-share-router.d.ts +23 -0
  356. package/dist/src/share/site-share-router.js +147 -0
  357. package/dist/src/share/site-share-router.js.map +1 -0
  358. package/dist/src/share/site-share-store.d.ts +53 -0
  359. package/dist/src/share/site-share-store.js +400 -0
  360. package/dist/src/share/site-share-store.js.map +1 -0
  361. package/dist/src/share/site-share-types.d.ts +103 -0
  362. package/dist/src/share/site-share-types.js +41 -0
  363. package/dist/src/share/site-share-types.js.map +1 -0
  364. package/dist/src/share/site-static-serve.d.ts +10 -0
  365. package/dist/src/share/site-static-serve.js +145 -0
  366. package/dist/src/share/site-static-serve.js.map +1 -0
  367. package/dist/src/tui/clipboard-image.js +3 -3
  368. package/dist/src/tui/theme-manager.js +1 -1
  369. package/dist/src/tui/tui-commands.js +18 -0
  370. package/dist/src/tui/tui-commands.js.map +1 -1
  371. package/dist/src/tui/tui-keybindings-file.js +1 -1
  372. package/dist/src/tui/tui-scoped-models.js +2 -2
  373. package/dist/src/tui/tui-settings.js +1 -1
  374. package/dist/src/tui/tui-workflow-slash.d.ts +32 -0
  375. package/dist/src/tui/tui-workflow-slash.js +63 -0
  376. package/dist/src/tui/tui-workflow-slash.js.map +1 -0
  377. package/dist/src/tui/tui.js +2 -2
  378. package/dist/src/tunnel/enable-lan-pairing.js +1 -1
  379. package/dist/src/tunnel/frpc-binary.js +3 -3
  380. package/dist/src/tunnel/frpc-config.js +1 -1
  381. package/dist/src/tunnel/frpc-extract.js +1 -1
  382. package/dist/src/tunnel/index.js +2 -2
  383. package/dist/src/tunnel/pair-context.d.ts +7 -1
  384. package/dist/src/tunnel/pair-context.js +25 -9
  385. package/dist/src/tunnel/pair-context.js.map +1 -1
  386. package/dist/src/tunnel/pair-url.d.ts +14 -1
  387. package/dist/src/tunnel/pair-url.js +14 -1
  388. package/dist/src/tunnel/pair-url.js.map +1 -1
  389. package/dist/src/tunnel/tunnel-service.js +2 -2
  390. package/dist/src/tunnel/tunnel-state.js +1 -1
  391. package/dist/src/utils/logger/audit.js +1 -1
  392. package/dist/src/utils/logger/log-store.js +1 -1
  393. package/dist/src/utils/logger/rotation.js +1 -1
  394. package/dist/src/voice/tts/audio.js +1 -1
  395. package/dist/src/voice/tts/providers/edge-speech.js +2 -2
  396. package/package.json +3 -2
  397. package/dist/gateway/static/root/assets/agents-tR-nNP04.js +0 -222
  398. package/dist/gateway/static/root/assets/apps-page-BDw6SP-d.js +0 -1
  399. package/dist/gateway/static/root/assets/button-KafIU8dx.js +0 -1
  400. package/dist/gateway/static/root/assets/channels-settings-DEFd-jj1.js +0 -1
  401. package/dist/gateway/static/root/assets/channels-status-swr-DI5FHdGe.js +0 -8
  402. package/dist/gateway/static/root/assets/cron-api-BSqY8LwW.js +0 -1
  403. package/dist/gateway/static/root/assets/cron-page-D7lVDjcR.js +0 -1
  404. package/dist/gateway/static/root/assets/dist-C57OMHW8.js +0 -48
  405. package/dist/gateway/static/root/assets/extension-page-CQo2Xsmg.js +0 -1
  406. package/dist/gateway/static/root/assets/extension-settings-page-CZf0WoZg.js +0 -1
  407. package/dist/gateway/static/root/assets/fetch-2iRFmd3n.js +0 -3
  408. package/dist/gateway/static/root/assets/heartbeat-config-api-B0drdQEJ.js +0 -1
  409. package/dist/gateway/static/root/assets/index-0Gt3TG4j.js +0 -4693
  410. package/dist/gateway/static/root/assets/index-BuFldCsB.css +0 -1
  411. package/dist/gateway/static/root/assets/logs-page-DMuORLfC.js +0 -1
  412. package/dist/gateway/static/root/assets/sessions-page-_UO8g6NN.js +0 -1
  413. package/dist/gateway/static/root/assets/settings-form-section-DkmHkknc.js +0 -1
  414. package/dist/gateway/static/root/assets/settings-page-Cz8FoW_A.js +0 -3
  415. package/dist/gateway/static/root/assets/skills-page-HrUOxF7H.js +0 -2
  416. package/dist/gateway/static/root/assets/theme-store-D01dJt95.js +0 -1
  417. package/dist/gateway/static/root/assets/utils-BFwcR6pL.js +0 -1
  418. package/dist/gateway/static/root/assets/voice-api-key-field-JF8-aqc5.js +0 -1
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,o as a}from"./url-BwNL6Rgk.js";import{a as o,i as s,n as c,o as l,s as u,t as d}from"./dist-BTWC-BTN.js";import{i as f}from"./theme-store-DryYl3qD.js";import{a as p}from"./fetch-B2MYHbWg.js";import{$n as m,Bn as h,Bt as g,Ci as _,Ei as v,F as y,Gi as b,Hn as x,On as S,Pi as C,Rr as w,Vr as T,Vt as E,Xn as D,Zn as O,bn as k,c as A,ca as j,ci as M,hn as N,i as P,ii as F,ir as I,l as L,mi as R,mn as z,nr as B,oa as V,s as H,tr as U,u as W,xn as G,xr as K}from"./index-BmVYculr.js";import{a as q,c as J,d as Y,i as X,l as ee,n as te,o as ne,s as re,t as ie,u as ae}from"./cron-dreaming-jobs-DueM3rBz.js";import{a as oe,c as se,d as ce,f as le,i as ue,l as de,m as fe,n as pe,o as me,p as he,r as ge,s as _e,t as ve,u as ye}from"./cron-api-BuVcZ5zR.js";import{s as be,t as xe}from"./heartbeat-config-api-C8dNts9i.js";import{a as Se,i as Ce,n as we,r as Te,t as Ee}from"./dist-CKU1OOTf.js";var Z=e(t(),1),Q=n(),$=r();function De(e){let t=(0,Q.c)(25),{open:n,onOpenChange:r,action:i,c:a,onDismiss:d,onConfirm:f}=e,p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(s,{className:`xopc-dialog-overlay fixed inset-0 z-[70] bg-scrim`}),t[0]=p):p=t[0];let m=i===`delete`?a.delete:a.runNow,h;t[1]===m?h=t[2]:(h=(0,$.jsx)(u,{className:`text-base font-semibold text-fg`,children:m}),t[1]=m,t[2]=h);let g=i===`delete`?a.confirmDelete:a.confirmRun,_;t[3]===g?_=t[4]:(_=(0,$.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:g}),t[3]=g,t[4]=_);let v;t[5]!==a.cancel||t[6]!==d?(v=(0,$.jsx)(U,{type:`button`,variant:`secondary`,onClick:d,children:a.cancel}),t[5]=a.cancel,t[6]=d,t[7]=v):v=t[7];let y=i===`delete`?`bg-red-600 hover:bg-red-700`:void 0,b;t[8]===f?b=t[9]:(b=()=>void f(),t[8]=f,t[9]=b);let x=i===`delete`?a.delete:a.runNow,S;t[10]!==y||t[11]!==b||t[12]!==x?(S=(0,$.jsx)(U,{type:`button`,variant:`primary`,className:y,onClick:b,children:x}),t[10]=y,t[11]=b,t[12]=x,t[13]=S):S=t[13];let C;t[14]!==S||t[15]!==v?(C=(0,$.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[v,S]}),t[14]=S,t[15]=v,t[16]=C):C=t[16];let w;t[17]!==C||t[18]!==h||t[19]!==_?(w=(0,$.jsxs)(o,{children:[p,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[70] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(c,{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:[h,_,C]})})]}),t[17]=C,t[18]=h,t[19]=_,t[20]=w):w=t[20];let T;return t[21]!==r||t[22]!==n||t[23]!==w?(T=(0,$.jsx)(l,{open:n,onOpenChange:r,children:w}),t[21]=r,t[22]=n,t[23]=w,t[24]=T):T=t[24],T}var Oe=`*/5 * * * *`;function ke(e){let t=new Date(e);return t.setHours(0,0,0,0),t}function Ae(e){let t=ke(e),n=t.getDay(),r=n===0?-6:1-n;return t.setDate(t.getDate()+r),t}function je(e){return new Date(e.getFullYear(),e.getMonth(),1,0,0,0,0)}function Me(e){let t=e?.trim();t&&window.dispatchEvent(new CustomEvent(`navigate-to-chat`,{detail:{sessionKey:t},bubbles:!0}))}function Ne(e){return B(`w-full rounded-md border border-edge bg-surface-base px-3 py-2 text-sm text-fg placeholder:text-fg-disabled`,D,e&&`cursor-not-allowed opacity-60`)}function Pe(){return B(m,O)}var Fe=B(m,`w-full text-xs sm:w-auto sm:min-w-[11rem] sm:max-w-[17rem] sm:shrink-0`),Ie=B(m,`w-auto min-w-[9rem] max-w-[14rem] shrink-0 text-xs`);function Le(e){let t=(0,Q.c)(55),{open:n,onDismiss:r,detailJob:i,detailLoading:a,detailHistory:f,c:p,chatWorkingDirNotSet:m,statusLabels:h}=e,_;t[0]===r?_=t[1]:(_=e=>{e||r()},t[0]=r,t[1]=_);let v;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(s,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[2]=v):v=t[2];let y;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(y=B(`xopc-drawer-right fixed right-0 top-0 z-[60] flex size-full max-w-lg flex-col border-l border-edge bg-surface-panel shadow-popover outline-none`,`dark:border-edge`),t[3]=y):y=t[3];let b;t[4]!==i?.id||t[5]!==i?.name?(b=i?.name?.trim()||i?.id||`—`,t[4]=i?.id,t[5]=i?.name,t[6]=b):b=t[6];let x;t[7]===b?x=t[8]:(x=(0,$.jsx)(u,{className:`min-w-0 truncate text-base font-semibold text-fg`,children:b}),t[7]=b,t[8]=x);let S;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(I,{className:`size-5`,strokeWidth:1.75}),t[9]=S):S=t[9];let C;t[10]===p.close?C=t[11]:(C=(0,$.jsx)(d,{asChild:!0,children:(0,$.jsx)(U,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":p.close,children:S})}),t[10]=p.close,t[11]=C);let w;t[12]!==x||t[13]!==C?(w=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[x,C]}),t[12]=x,t[13]=C,t[14]=w):w=t[14];let T;t[15]!==p.agentProfile||t[16]!==p.agentProfileDefault||t[17]!==p.channelLocal||t[18]!==p.colChat||t[19]!==p.colDetail||t[20]!==p.colDuration||t[21]!==p.colStarted||t[22]!==p.deliveryLocalOnly||t[23]!==p.deliveryTarget||t[24]!==p.deliveryTargetLocalChannel||t[25]!==p.detailRunHistory||t[26]!==p.disabled||t[27]!==p.enabled||t[28]!==p.messageLabel||t[29]!==p.mode||t[30]!==p.modeAgentOption||t[31]!==p.modeDirectOption||t[32]!==p.nextRun||t[33]!==p.noRunsYet||t[34]!==p.openChat||t[35]!==p.openChatTitle||t[36]!==p.scheduleLabel||t[37]!==p.status||t[38]!==p.timeLabels||t[39]!==p.workingDirectoryLabel||t[40]!==m||t[41]!==f||t[42]!==i||t[43]!==a||t[44]!==h?(T=a?(0,$.jsx)(`div`,{className:`flex justify-center py-16`,children:(0,$.jsx)(F,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`dl`,{className:`space-y-3 text-sm`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:p.scheduleLabel}),(0,$.jsx)(`dd`,{className:`mt-1 font-mono text-fg`,children:(0,$.jsx)(`code`,{children:i.schedule})})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:p.messageLabel}),(0,$.jsx)(`dd`,{className:`mt-1 min-w-0 break-words text-fg`,children:(0,$.jsx)(g,{content:pe(i),compact:!0,className:`text-sm`})})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:p.mode}),(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:i.sessionTarget===`isolated`?p.modeAgentOption:p.modeDirectOption})]}),i.sessionTarget===`isolated`?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:p.agentProfile}),(0,$.jsx)(`dd`,{className:`mt-1 font-mono text-sm text-fg`,children:i.agentId?.trim()?i.agentId.trim():p.agentProfileDefault})]}):null,i.sessionTarget===`isolated`?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:p.workingDirectoryLabel}),(0,$.jsx)(`dd`,{className:`mt-1 break-all font-mono text-xs text-fg`,children:i.workingDirectory?.trim()?i.workingDirectory.trim():m})]}):null,i.delivery?.channel===`local`||i.sessionTarget===`isolated`&&!i.delivery?.to?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:p.deliveryTarget}),(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:i.delivery?.channel===`local`?p.deliveryTargetLocalChannel:p.deliveryLocalOnly})]}):i.delivery?.to?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:p.deliveryTarget}),(0,$.jsxs)(`dd`,{className:`mt-1 break-words text-fg`,children:[(0,$.jsx)(`code`,{className:`text-xs`,children:i.delivery?.channel??``}),` → `,q(i,p.channelLocal)]})]}):null,(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:p.status}),(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:i.enabled?p.enabled:p.disabled})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:p.nextRun}),(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:i.next_run?re(i.next_run,p.timeLabels):`—`})]})]}),(0,$.jsx)(`h3`,{className:`mt-6 text-sm font-semibold text-fg`,children:p.detailRunHistory}),f.length===0?(0,$.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:p.noRunsYet}):(0,$.jsx)(`div`,{className:`mt-2 overflow-x-auto`,children:(0,$.jsxs)(`table`,{className:`w-full border-collapse text-left text-xs`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b border-edge text-fg-muted`,children:[(0,$.jsx)(`th`,{className:`py-1.5 pr-2 font-medium`,children:p.colStarted}),(0,$.jsx)(`th`,{className:`py-1.5 pr-2 font-medium`,children:p.status}),(0,$.jsx)(`th`,{className:`py-1.5 pr-2 font-medium`,children:p.colDuration}),(0,$.jsx)(`th`,{className:`py-1.5 pr-2 font-medium`,children:p.colDetail}),(0,$.jsx)(`th`,{className:`py-1.5 font-medium`,children:p.colChat})]})}),(0,$.jsx)(`tbody`,{children:f.map(e=>(0,$.jsxs)(`tr`,{className:`border-b border-edge/60`,children:[(0,$.jsx)(`td`,{className:`whitespace-nowrap py-1.5 pr-2 text-fg`,children:(0,$.jsx)(`time`,{dateTime:e.startedAt,children:ae(e.startedAt)})}),(0,$.jsx)(`td`,{className:`py-1.5 pr-2`,children:(0,$.jsx)(`span`,{className:B(`inline-flex rounded px-1.5 py-0.5 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`),children:X(e.status,h)})}),(0,$.jsx)(`td`,{className:`py-1.5 pr-2 text-fg-muted`,children:ne(e.duration)}),(0,$.jsx)(`td`,{className:`max-w-[8rem] truncate py-1.5 pr-2 text-fg-muted`,title:e.summary||e.error||``,children:Y(e.summary||e.error,120)}),(0,$.jsx)(`td`,{className:`whitespace-nowrap py-1.5`,children:e.sessionKey?.trim()?(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent hover:underline`,title:p.openChatTitle,"aria-label":p.openChatTitle,onClick:()=>Me(e.sessionKey),children:p.openChat}):(0,$.jsx)(`span`,{className:`text-fg-disabled`,children:`—`})})]},e.id))})]})})]}):null,t[15]=p.agentProfile,t[16]=p.agentProfileDefault,t[17]=p.channelLocal,t[18]=p.colChat,t[19]=p.colDetail,t[20]=p.colDuration,t[21]=p.colStarted,t[22]=p.deliveryLocalOnly,t[23]=p.deliveryTarget,t[24]=p.deliveryTargetLocalChannel,t[25]=p.detailRunHistory,t[26]=p.disabled,t[27]=p.enabled,t[28]=p.messageLabel,t[29]=p.mode,t[30]=p.modeAgentOption,t[31]=p.modeDirectOption,t[32]=p.nextRun,t[33]=p.noRunsYet,t[34]=p.openChat,t[35]=p.openChatTitle,t[36]=p.scheduleLabel,t[37]=p.status,t[38]=p.timeLabels,t[39]=p.workingDirectoryLabel,t[40]=m,t[41]=f,t[42]=i,t[43]=a,t[44]=h,t[45]=T):T=t[45];let E;t[46]===T?E=t[47]:(E=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-3`,children:T}),t[46]=T,t[47]=E);let D;t[48]!==E||t[49]!==w?(D=(0,$.jsxs)(o,{children:[v,(0,$.jsxs)(c,{className:y,"aria-describedby":void 0,children:[w,E]})]}),t[48]=E,t[49]=w,t[50]=D):D=t[50];let O;return t[51]!==n||t[52]!==_||t[53]!==D?(O=(0,$.jsx)(l,{open:n,onOpenChange:_,children:D}),t[51]=n,t[52]=_,t[53]=D,t[54]=O):O=t[54],O}function Re(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=A(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)(L,{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)(P,{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 ze(e){let t=(0,Q.c)(164),{open:n,onRequestClose:r,c:i,chatM:a,agentsMessages:f,isDark:p,channels:m,sessionChatIds:h,cronAgentSelectOptions:v,defaultModelResolver:b,formMode:x,formJobId:S,formName:C,onFormNameChange:T,formSchedule:D,onFormScheduleChange:O,formSubmitting:k,formSessionTarget:A,onFormSessionTargetChange:j,formAgentLocalOnly:M,onFormAgentLocalOnlyChange:N,formModel:P,onFormModelUserChange:F,formAgentId:L,onFormAgentIdChange:R,formWorkingDirectory:z,onFormWorkingDirectoryChange:V,formChannel:H,onFormChannelChange:G,formChatId:q,onFormChatIdChange:Y,formMessage:X,onFormMessageChange:ee,formMessageMdMode:te,onSetMessageMdMode:ne,messageEditorNonce:re,needsDeliveryChat:ie,showChannelPicker:ae,canSubmit:oe,onSubmit:se,onRefreshRecipients:ce}=e,le;t[0]===r?le=t[1]:(le=e=>!e&&r(),t[0]=r,t[1]=le);let ue;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(s,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[2]=ue):ue=t[2];let de=x===`edit`?i.editJob:i.addJob,fe;t[3]===de?fe=t[4]:(fe=(0,$.jsx)(u,{className:`text-base font-semibold text-fg`,children:de}),t[3]=de,t[4]=fe);let pe;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsx)(I,{className:`size-5`,strokeWidth:1.75}),t[5]=pe):pe=t[5];let me;t[6]===i.close?me=t[7]:(me=(0,$.jsx)(d,{asChild:!0,children:(0,$.jsx)(U,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":i.close,children:pe})}),t[6]=i.close,t[7]=me);let he;t[8]!==fe||t[9]!==me?(he=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[fe,me]}),t[8]=fe,t[9]=me,t[10]=he):he=t[10];let ge;t[11]===i.name?ge=t[12]:(ge=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.name}),t[11]=i.name,t[12]=ge);let _e;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(_e=Ne(),t[13]=_e):_e=t[13];let ve;t[14]===T?ve=t[15]:(ve=e=>T(e.target.value),t[14]=T,t[15]=ve);let ye;t[16]!==i.namePlaceholder||t[17]!==C||t[18]!==ve?(ye=(0,$.jsx)(`input`,{type:`text`,className:_e,value:C,onChange:ve,placeholder:i.namePlaceholder}),t[16]=i.namePlaceholder,t[17]=C,t[18]=ve,t[19]=ye):ye=t[19];let xe;t[20]!==ye||t[21]!==ge?(xe=(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[ge,ye]}),t[20]=ye,t[21]=ge,t[22]=xe):xe=t[22];let Se;t[23]!==i.schedulePicker||t[24]!==D||t[25]!==k||t[26]!==O?(Se=(0,$.jsx)(be,{value:D,onChange:O,disabled:k,labels:i.schedulePicker}),t[23]=i.schedulePicker,t[24]=D,t[25]=k,t[26]=O,t[27]=Se):Se=t[27];let Ce;t[28]===i.mode?Ce=t[29]:(Ce=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.mode}),t[28]=i.mode,t[29]=Ce);let we;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(we=Pe(),t[30]=we):we=t[30];let Te;t[31]!==b||t[32]!==P||t[33]!==j?(Te=e=>{let t=e.target.value;j(t,b,P.trim())},t[31]=b,t[32]=P,t[33]=j,t[34]=Te):Te=t[34];let Ee;t[35]===i.modeDirectOption?Ee=t[36]:(Ee=(0,$.jsx)(`option`,{value:`main`,children:i.modeDirectOption}),t[35]=i.modeDirectOption,t[36]=Ee);let Z;t[37]===i.modeAgentOption?Z=t[38]:(Z=(0,$.jsx)(`option`,{value:`isolated`,children:i.modeAgentOption}),t[37]=i.modeAgentOption,t[38]=Z);let De;t[39]!==A||t[40]!==Te||t[41]!==Ee||t[42]!==Z?(De=(0,$.jsxs)(`select`,{className:we,value:A,onChange:Te,children:[Ee,Z]}),t[39]=A,t[40]=Te,t[41]=Ee,t[42]=Z,t[43]=De):De=t[43];let Oe=A===`main`?i.modeDirect:i.modeAgent,ke;t[44]===Oe?ke=t[45]:(ke=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:Oe}),t[44]=Oe,t[45]=ke);let Ae;t[46]!==Ce||t[47]!==De||t[48]!==ke?(Ae=(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[Ce,De,ke]}),t[46]=Ce,t[47]=De,t[48]=ke,t[49]=Ae):Ae=t[49];let je;t[50]!==f||t[51]!==i.agentLocalOnly||t[52]!==i.agentLocalOnlyHint||t[53]!==i.agentProfile||t[54]!==i.agentProfileDefault||t[55]!==i.agentProfileHint||t[56]!==i.model||t[57]!==i.workingDirectoryHint||t[58]!==i.workingDirectoryLabel||t[59]!==i.workingDirectoryReset||t[60]!==a||t[61]!==v||t[62]!==L||t[63]!==M||t[64]!==P||t[65]!==A||t[66]!==k||t[67]!==z||t[68]!==R||t[69]!==N||t[70]!==F||t[71]!==V?(je=A===`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:i.model}),(0,$.jsx)(W,{value:P,placeholder:a.modelPlaceholder,searchPlaceholder:a.modelSearchPlaceholder,noMatches:a.modelNoMatches,className:`w-full max-w-none min-w-0`,popoverContentClassName:`z-[70]`,onChange:F})]}),(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.agentProfile}),(0,$.jsxs)(`select`,{className:Pe(),value:L,disabled:k,onChange:e=>R(e.target.value),children:[(0,$.jsx)(`option`,{value:``,children:i.agentProfileDefault}),v.map(e=>(0,$.jsx)(`option`,{value:e.id,children:`${e.id} — ${y(e,f)}`},e.id))]}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.agentProfileHint})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.workingDirectoryLabel}),(0,$.jsx)(Re,{value:z,onChange:V,disabled:k,wd:a.workingDirectory,placeholder:a.workingDirectory.notSet,maxWidthClass:`max-w-[min(16rem,48vw)]`,clearLabel:i.workingDirectoryReset,onClear:()=>V(``)}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.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:B(`ui-checkbox`,`mt-0.5`),checked:M,onChange:e=>N(e.target.checked),"aria-label":i.agentLocalOnly}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:i.agentLocalOnly}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:i.agentLocalOnlyHint})]})]})]}):null,t[50]=f,t[51]=i.agentLocalOnly,t[52]=i.agentLocalOnlyHint,t[53]=i.agentProfile,t[54]=i.agentProfileDefault,t[55]=i.agentProfileHint,t[56]=i.model,t[57]=i.workingDirectoryHint,t[58]=i.workingDirectoryLabel,t[59]=i.workingDirectoryReset,t[60]=a,t[61]=v,t[62]=L,t[63]=M,t[64]=P,t[65]=A,t[66]=k,t[67]=z,t[68]=R,t[69]=N,t[70]=F,t[71]=V,t[72]=je):je=t[72];let Me;t[73]!==i.channel||t[74]!==i.channelLocal||t[75]!==i.enterManuallyOrSelect||t[76]!==i.lastActiveLabels||t[77]!==i.noRecentChats||t[78]!==i.noRecentChatsOption||t[79]!==i.recipient||t[80]!==i.recipientPlaceholder||t[81]!==i.refreshList||t[82]!==i.refreshRecipientHint||t[83]!==i.selectRecipient||t[84]!==m||t[85]!==H||t[86]!==q||t[87]!==ie||t[88]!==G||t[89]!==Y||t[90]!==ce||t[91]!==h||t[92]!==ae?(Me=ae?(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:i.channel}),(0,$.jsxs)(`select`,{className:Pe(),value:H,onChange:e=>{let t=e.target.value;G(t)},children:[(0,$.jsx)(`option`,{value:`local`,children:i.channelLocal}),m.map(Be)]})]}),ie?(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:i.recipient}),(0,$.jsxs)(U,{type:`button`,variant:`ghost`,className:`h-7 gap-1 px-2 text-xs`,title:i.refreshRecipientHint,onClick:()=>void ce(),children:[(0,$.jsx)(w,{className:`size-3.5`,strokeWidth:1.75}),i.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:B(Ne(),`min-w-0 w-full sm:flex-1`),value:q,onChange:e=>Y(e.target.value),placeholder:i.recipientPlaceholder}),(0,$.jsxs)(`select`,{className:Fe,value:q,onChange:e=>{let t=e.target.value;t&&Y(t)},children:[(0,$.jsx)(`option`,{value:``,children:i.selectRecipient}),h.length>0?h.map(e=>(0,$.jsx)(`option`,{value:e.chatId,children:J(e,i.lastActiveLabels)},`${e.channel}-${e.chatId}`)):(0,$.jsx)(`option`,{value:``,disabled:!0,children:i.noRecentChatsOption})]})]}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:h.length>0?i.enterManuallyOrSelect:i.noRecentChats})]}):null]}):null,t[73]=i.channel,t[74]=i.channelLocal,t[75]=i.enterManuallyOrSelect,t[76]=i.lastActiveLabels,t[77]=i.noRecentChats,t[78]=i.noRecentChatsOption,t[79]=i.recipient,t[80]=i.recipientPlaceholder,t[81]=i.refreshList,t[82]=i.refreshRecipientHint,t[83]=i.selectRecipient,t[84]=m,t[85]=H,t[86]=q,t[87]=ie,t[88]=G,t[89]=Y,t[90]=ce,t[91]=h,t[92]=ae,t[93]=Me):Me=t[93];let Ie;t[94]===i.message?Ie=t[95]:(Ie=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:i.message}),t[94]=i.message,t[95]=Ie);let Le=te===`edit`?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover`,ze;t[96]===Le?ze=t[97]:(ze=B(`inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium`,Le),t[96]=Le,t[97]=ze);let He;t[98]===ne?He=t[99]:(He=()=>ne(`edit`),t[98]=ne,t[99]=He);let Ue;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,$.jsx)(K,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[100]=Ue):Ue=t[100];let We;t[101]!==i.messageEdit||t[102]!==ze||t[103]!==He?(We=(0,$.jsxs)(`button`,{type:`button`,className:ze,onClick:He,children:[Ue,i.messageEdit]}),t[101]=i.messageEdit,t[102]=ze,t[103]=He,t[104]=We):We=t[104];let Ge=te===`preview`?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover`,Ke;t[105]===Ge?Ke=t[106]:(Ke=B(`inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium`,Ge),t[105]=Ge,t[106]=Ke);let qe;t[107]===ne?qe=t[108]:(qe=()=>ne(`preview`),t[107]=ne,t[108]=qe);let Je;t[109]===Symbol.for(`react.memo_cache_sentinel`)?(Je=(0,$.jsx)(_,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[109]=Je):Je=t[109];let Ye;t[110]!==i.messagePreview||t[111]!==Ke||t[112]!==qe?(Ye=(0,$.jsxs)(`button`,{type:`button`,className:Ke,onClick:qe,children:[Je,i.messagePreview]}),t[110]=i.messagePreview,t[111]=Ke,t[112]=qe,t[113]=Ye):Ye=t[113];let Xe;t[114]!==We||t[115]!==Ye?(Xe=(0,$.jsxs)(`div`,{className:`inline-flex rounded-lg border border-edge bg-surface-base p-0.5 dark:border-edge`,children:[We,Ye]}),t[114]=We,t[115]=Ye,t[116]=Xe):Xe=t[116];let Ze;t[117]!==Ie||t[118]!==Xe?(Ze=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[Ie,Xe]}),t[117]=Ie,t[118]=Xe,t[119]=Ze):Ze=t[119];let Qe=k&&`pointer-events-none opacity-60`,$e;t[120]===Qe?$e=t[121]:($e=B(`overflow-hidden rounded-md border border-edge bg-surface-base dark:border-edge`,Qe),t[120]=Qe,t[121]=$e);let et;t[122]!==i.messagePlaceholder||t[123]!==S||t[124]!==X||t[125]!==te||t[126]!==p||t[127]!==re||t[128]!==ee?(et=te===`edit`?(0,$.jsx)(E,{initialContent:X,onChange:ee,isDark:p,className:`h-[min(18rem,40vh)] min-h-[12rem]`},`cron-msg-${S??`new`}-${re}`):(0,$.jsx)(`div`,{className:`h-[min(18rem,40vh)] min-h-[12rem] max-h-[min(24rem,50vh)] overflow-y-auto px-3 py-2`,children:X.trim()?(0,$.jsx)(g,{content:X,compact:!0,className:`text-sm`}):(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:i.messagePlaceholder})}),t[122]=i.messagePlaceholder,t[123]=S,t[124]=X,t[125]=te,t[126]=p,t[127]=re,t[128]=ee,t[129]=et):et=t[129];let tt;t[130]!==$e||t[131]!==et?(tt=(0,$.jsx)(`div`,{className:$e,children:et}),t[130]=$e,t[131]=et,t[132]=tt):tt=t[132];let nt;t[133]===i.messageMarkdownHint?nt=t[134]:(nt=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.messageMarkdownHint}),t[133]=i.messageMarkdownHint,t[134]=nt);let rt;t[135]!==Ze||t[136]!==tt||t[137]!==nt?(rt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[Ze,tt,nt]}),t[135]=Ze,t[136]=tt,t[137]=nt,t[138]=rt):rt=t[138];let it;t[139]!==xe||t[140]!==Se||t[141]!==Ae||t[142]!==je||t[143]!==Me||t[144]!==rt?(it=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-3`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[xe,Se,Ae,je,Me,rt]})}),t[139]=xe,t[140]=Se,t[141]=Ae,t[142]=je,t[143]=Me,t[144]=rt,t[145]=it):it=t[145];let at;t[146]!==i.cancel||t[147]!==r?(at=(0,$.jsx)(U,{type:`button`,variant:`secondary`,onClick:r,children:i.cancel}),t[146]=i.cancel,t[147]=r,t[148]=at):at=t[148];let ot=k||!oe,st=k?i.loading:x===`edit`?i.save:i.create,ct;t[149]!==se||t[150]!==ot||t[151]!==st?(ct=(0,$.jsx)(U,{type:`button`,variant:`primary`,disabled:ot,onClick:se,children:st}),t[149]=se,t[150]=ot,t[151]=st,t[152]=ct):ct=t[152];let lt;t[153]!==at||t[154]!==ct?(lt=(0,$.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-4 py-3`,children:[at,ct]}),t[153]=at,t[154]=ct,t[155]=lt):lt=t[155];let ut;t[156]!==it||t[157]!==lt||t[158]!==he?(ut=(0,$.jsxs)(o,{children:[ue,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[60] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(c,{className:`xopc-dialog-content-pane pointer-events-auto relative flex max-h-[min(90vh,800px)] w-full max-w-md flex-col rounded-xl border border-edge bg-surface-panel shadow-popover outline-none sm:max-w-lg lg:max-w-xl dark:border-edge`,onOpenAutoFocus:Ve,children:[he,it,lt]})})]}),t[156]=it,t[157]=lt,t[158]=he,t[159]=ut):ut=t[159];let dt;return t[160]!==n||t[161]!==le||t[162]!==ut?(dt=(0,$.jsx)($.Fragment,{children:(0,$.jsx)(l,{open:n,onOpenChange:le,children:ut})}),t[160]=n,t[161]=le,t[162]=ut,t[163]=dt):dt=t[163],dt}function Be(e){return(0,$.jsxs)(`option`,{value:e.name,disabled:!e.enabled,children:[e.name,` `,e.enabled?``:`(disabled)`]},e.name)}function Ve(e){return e.preventDefault()}function He(e){let t=(0,Q.c)(66),{c:n,mainTab:r,onMainTabChange:i,jobSort:a,onJobSortChange:o,historyRange:s,onHistoryRangeChange:c,historyJobFilter:l,onHistoryJobFilterChange:u,historyStatusFilter:d,onHistoryStatusFilterChange:f,jobs:p}=e,m=n.title,h=r===`myTasks`,g=r===`myTasks`?`text-fg`:`text-fg-muted hover:text-fg`,_;t[0]===g?_=t[1]:(_=B(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,g),t[0]=g,t[1]=_);let v;t[2]===i?v=t[3]:(v=()=>i(`myTasks`),t[2]=i,t[3]=v);let y;t[4]!==n.tabMyTasks||t[5]!==h||t[6]!==_||t[7]!==v?(y=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":h,className:_,onClick:v,children:n.tabMyTasks}),t[4]=n.tabMyTasks,t[5]=h,t[6]=_,t[7]=v,t[8]=y):y=t[8];let b=r===`systemTasks`,x=r===`systemTasks`?`text-fg`:`text-fg-muted hover:text-fg`,S;t[9]===x?S=t[10]:(S=B(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,x),t[9]=x,t[10]=S);let C;t[11]===i?C=t[12]:(C=()=>i(`systemTasks`),t[11]=i,t[12]=C);let w;t[13]!==n.tabSystemTasks||t[14]!==C||t[15]!==b||t[16]!==S?(w=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":b,className:S,onClick:C,children:n.tabSystemTasks}),t[13]=n.tabSystemTasks,t[14]=C,t[15]=b,t[16]=S,t[17]=w):w=t[17];let T=r===`history`,E=r===`history`?`text-fg`:`text-fg-muted hover:text-fg`,D;t[18]===E?D=t[19]:(D=B(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,E),t[18]=E,t[19]=D);let O;t[20]===i?O=t[21]:(O=()=>i(`history`),t[20]=i,t[21]=O);let A;t[22]!==n.tabRunHistory||t[23]!==T||t[24]!==D||t[25]!==O?(A=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":T,className:D,onClick:O,children:n.tabRunHistory}),t[22]=n.tabRunHistory,t[23]=T,t[24]=D,t[25]=O,t[26]=A):A=t[26];let j;t[27]!==n.title||t[28]!==w||t[29]!==A||t[30]!==y?(j=(0,$.jsxs)(`div`,{className:`flex gap-1`,role:`tablist`,"aria-label":m,children:[y,w,A]}),t[27]=n.title,t[28]=w,t[29]=A,t[30]=y,t[31]=j):j=t[31];let M=r===`history`?`flex-nowrap overflow-x-auto pb-0.5 sm:justify-end`:`flex-wrap sm:justify-end`,N;t[32]===M?N=t[33]:(N=B(`flex min-w-0 items-center gap-2`,M),t[32]=M,t[33]=N);let P;t[34]!==n.sortCreatedAsc||t[35]!==n.sortCreatedDesc||t[36]!==a||t[37]!==r||t[38]!==o?(P=r===`myTasks`||r===`systemTasks`?(0,$.jsxs)(`select`,{className:Ie,value:a,onChange:e=>o(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[34]=n.sortCreatedAsc,t[35]=n.sortCreatedDesc,t[36]=a,t[37]=r,t[38]=o,t[39]=P):P=t[39];let F;t[40]!==n.execStatusCancelled||t[41]!==n.execStatusFailed||t[42]!==n.execStatusRunning||t[43]!==n.execStatusSuccess||t[44]!==n.filterAllStatuses||t[45]!==n.filterAllTasks||t[46]!==n.historyRangeDay||t[47]!==n.historyRangeMonth||t[48]!==n.historyRangeWeek||t[49]!==n.runHistoryTitle||t[50]!==l||t[51]!==s||t[52]!==d||t[53]!==p||t[54]!==r||t[55]!==u||t[56]!==c||t[57]!==f?(F=r===`history`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:B(G,`shrink-0`),role:`group`,"aria-label":n.runHistoryTitle,children:[`day`,`week`,`month`].map(e=>(0,$.jsx)(`button`,{type:`button`,className:B(k,`px-2.5 py-1`,s===e&&`bg-surface-panel shadow-sm dark:bg-surface-panel dark:shadow-sm dark:ring-1 dark:ring-edge-strong/40`,s===e&&`text-fg`),onClick:()=>c(e),children:e===`day`?n.historyRangeDay:e===`week`?n.historyRangeWeek:n.historyRangeMonth},e))}),(0,$.jsxs)(`select`,{className:Ie,value:l,onChange:e=>u(e.target.value),"aria-label":n.filterAllTasks,children:[(0,$.jsx)(`option`,{value:``,children:n.filterAllTasks}),p.map(Ue)]}),(0,$.jsxs)(`select`,{className:Ie,value:d,onChange:e=>f(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[40]=n.execStatusCancelled,t[41]=n.execStatusFailed,t[42]=n.execStatusRunning,t[43]=n.execStatusSuccess,t[44]=n.filterAllStatuses,t[45]=n.filterAllTasks,t[46]=n.historyRangeDay,t[47]=n.historyRangeMonth,t[48]=n.historyRangeWeek,t[49]=n.runHistoryTitle,t[50]=l,t[51]=s,t[52]=d,t[53]=p,t[54]=r,t[55]=u,t[56]=c,t[57]=f,t[58]=F):F=t[58];let I;t[59]!==N||t[60]!==P||t[61]!==F?(I=(0,$.jsxs)(`div`,{className:N,children:[P,F]}),t[59]=N,t[60]=P,t[61]=F,t[62]=I):I=t[62];let L;return t[63]!==j||t[64]!==I?(L=(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:[j,I]}),t[63]=j,t[64]=I,t[65]=L):L=t[65],L}function Ue(e){return(0,$.jsx)(`option`,{value:e.id,children:e.name||e.id},e.id)}function We(e){let t=(0,Q.c)(23),{c:n,loading:r,runHistoryLoading:i,onRefresh:a,onOpenTemplatePicker:o,onAddJob:s}=e,c=r||i,l=n.refresh,u=n.refresh,d;t[0]===a?d=t[1]:(d=()=>void a(),t[0]=a,t[1]=d);let f=c&&`animate-spin`,p;t[2]===f?p=t[3]:(p=B(`size-4`,f),t[2]=f,t[3]=p);let m;t[4]===p?m=t[5]:(m=(0,$.jsx)(w,{className:p,strokeWidth:1.75}),t[4]=p,t[5]=m);let h;t[6]!==c||t[7]!==n.refresh||t[8]!==d||t[9]!==m?(h=(0,$.jsx)(U,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,disabled:c,title:l,"aria-label":u,onClick:d,children:m}),t[6]=c,t[7]=n.refresh,t[8]=d,t[9]=m,t[10]=h):h=t[10];let g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(M,{className:`size-4`,strokeWidth:1.75}),t[11]=g):g=t[11];let _;t[12]!==n.fromTemplate||t[13]!==o?(_=(0,$.jsxs)(U,{type:`button`,variant:`secondary`,className:`gap-2`,onClick:o,children:[g,n.fromTemplate]}),t[12]=n.fromTemplate,t[13]=o,t[14]=_):_=t[14];let v;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(T,{className:`size-4`,strokeWidth:1.75}),t[15]=v):v=t[15];let y;t[16]!==n.addJob||t[17]!==s?(y=(0,$.jsxs)(U,{type:`button`,variant:`primary`,className:`gap-2`,onClick:s,children:[v,n.addJob]}),t[16]=n.addJob,t[17]=s,t[18]=y):y=t[18];let b;return t[19]!==y||t[20]!==h||t[21]!==_?(b=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-wrap items-center justify-end gap-2`,children:[h,_,y]}),t[19]=y,t[20]=h,t[21]=_,t[22]=b):b=t[22],b}function Ge(e){let t=(0,Q.c)(43),{c:n,runHistoryLoading:r,runHistory:i,filteredRunHistory:a,jobs:o,onRefreshHistory:s,onOpenJobDetail:c,statusLabels:l}=e,u;t[0]===n.tabRunHistory?u=t[1]:(u=(0,$.jsx)(`h2`,{id:`cron-history-panel`,className:`sr-only`,children:n.tabRunHistory}),t[0]=n.tabRunHistory,t[1]=u);let d;t[2]===n.runHistoryHint?d=t[3]:(d=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.runHistoryHint}),t[2]=n.runHistoryHint,t[3]=d);let f;t[4]!==u||t[5]!==d?(f=(0,$.jsxs)(`div`,{children:[u,d]}),t[4]=u,t[5]=d,t[6]=f):f=t[6];let p=n.refresh,m=n.refresh,h;t[7]===s?h=t[8]:(h=()=>void s(),t[7]=s,t[8]=h);let g=r&&`animate-spin`,_;t[9]===g?_=t[10]:(_=B(`size-4`,g),t[9]=g,t[10]=_);let v;t[11]===_?v=t[12]:(v=(0,$.jsx)(w,{className:_,strokeWidth:1.75}),t[11]=_,t[12]=v);let y;t[13]!==n.refresh||t[14]!==r||t[15]!==h||t[16]!==v?(y=(0,$.jsx)(U,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,disabled:r,title:p,"aria-label":m,onClick:h,children:v}),t[13]=n.refresh,t[14]=r,t[15]=h,t[16]=v,t[17]=y):y=t[17];let b;t[18]!==y||t[19]!==f?(b=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[f,y]}),t[18]=y,t[19]=f,t[20]=b):b=t[20];let x;t[21]!==n.colChat||t[22]!==n.colDetail||t[23]!==n.colDuration||t[24]!==n.colJob||t[25]!==n.colStarted||t[26]!==n.emptyHistoryHint||t[27]!==n.emptyHistoryTitle||t[28]!==n.noRunsYet||t[29]!==n.openChat||t[30]!==n.openChatTitle||t[31]!==n.runHistoryHint||t[32]!==n.status||t[33]!==a||t[34]!==o||t[35]!==c||t[36]!==i||t[37]!==r||t[38]!==l?(x=r&&i.length===0?(0,$.jsx)(`div`,{className:`flex justify-center py-16`,children:(0,$.jsx)(F,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):a.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:i.length===0?n.emptyHistoryTitle:n.noRunsYet}),(0,$.jsx)(`p`,{className:`mt-2 max-w-sm text-sm text-fg-muted`,children:i.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.colChat})]})}),(0,$.jsx)(`tbody`,{children:a.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:ae(e.startedAt)})}),(0,$.jsx)(`td`,{className:`max-w-[10rem] truncate px-3 py-2.5`,children:o.some(t=>t.id===e.jobId)?(0,$.jsx)(`button`,{type:`button`,className:`text-left text-accent hover:underline`,onClick:()=>{let t=o.find(t=>t.id===e.jobId);t&&c(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:B(`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:X(e.status,l)})}),(0,$.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2.5 text-fg-muted`,children:ne(e.duration)}),(0,$.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2.5 text-fg-muted`,title:e.summary||e.error||``,children:Y(e.summary||e.error,96)}),(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:()=>Me(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.emptyHistoryHint,t[27]=n.emptyHistoryTitle,t[28]=n.noRunsYet,t[29]=n.openChat,t[30]=n.openChatTitle,t[31]=n.runHistoryHint,t[32]=n.status,t[33]=a,t[34]=o,t[35]=c,t[36]=i,t[37]=r,t[38]=l,t[39]=x):x=t[39];let S;return t[40]!==b||t[41]!==x?(S=(0,$.jsxs)(`section`,{"aria-labelledby":`cron-history-panel`,className:`flex flex-col gap-3`,children:[b,x]}),t[40]=b,t[41]=x,t[42]=S):S=t[42],S}function Ke(e){let t=(0,Q.c)(77),{job:n,c:r,localeTag:i,scheduleBadgeLabels:a,absorbCardClickJobIdRef:o,scheduleAbsorbNextMenuCardClick:s,onOpenDetail:c,onToggle:l,onEdit:u,onRunNow:d,onDelete:f}=e,p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=B(`flex 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]=p):p=t[0];let m,h;t[1]!==o||t[2]!==n||t[3]!==c?(m=()=>{if(o.current===n.id){o.current=null;return}c(n)},h=e=>{if(e.key===`Enter`||e.key===` `){if(e.preventDefault(),o.current===n.id){o.current=null;return}c(n)}},t[1]=o,t[2]=n,t[3]=c,t[4]=m,t[5]=h):(m=t[4],h=t[5]);let _=n.enabled,y=n.enabled?`justify-end bg-accent`:`justify-start bg-surface-hover`,b;t[6]===y?b=t[7]:(b=B(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,y),t[6]=y,t[7]=b);let x;t[8]!==n||t[9]!==l?(x=e=>{e.stopPropagation(),l(n,!n.enabled)},t[8]=n,t[9]=l,t[10]=x):x=t[10];let S;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`}),t[11]=S):S=t[11];let w;t[12]!==n.enabled||t[13]!==b||t[14]!==x?(w=(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":_,className:b,onClick:x,children:S}),t[12]=n.enabled,t[13]=b,t[14]=x,t[15]=w):w=t[15];let T;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(v,{className:`size-4`,strokeWidth:1.75}),t[16]=T):T=t[16];let E;t[17]===r.jobCardMenuAria?E=t[18]:(E=(0,$.jsx)(Se,{asChild:!0,children:(0,$.jsx)(U,{type:`button`,variant:`ghost`,className:`size-8 shrink-0 p-0`,"aria-label":r.jobCardMenuAria,onClick:Je,children:T})}),t[17]=r.jobCardMenuAria,t[18]=E);let D;t[19]!==n||t[20]!==u||t[21]!==s?(D=()=>{s(n.id),u(n)},t[19]=n,t[20]=u,t[21]=s,t[22]=D):D=t[22];let O;t[23]!==r.edit||t[24]!==D?(O=(0,$.jsx)(we,{className:`cursor-pointer select-none rounded-lg px-2 py-1.5 text-sm text-fg outline-none data-highlighted:bg-surface-hover`,onSelect:D,children:r.edit}),t[23]=r.edit,t[24]=D,t[25]=O):O=t[25];let k;t[26]!==n||t[27]!==d||t[28]!==s?(k=()=>{s(n.id),d(n)},t[26]=n,t[27]=d,t[28]=s,t[29]=k):k=t[29];let A;t[30]!==r.runNow||t[31]!==k?(A=(0,$.jsx)(we,{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]!==f||t[35]!==s?(j=()=>{s(n.id),f(n)},t[33]=n,t[34]=f,t[35]=s,t[36]=j):j=t[36];let M;t[37]!==r.delete||t[38]!==j?(M=(0,$.jsx)(we,{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]!==O||t[41]!==A||t[42]!==M?(N=(0,$.jsx)(Te,{children:(0,$.jsxs)(Ee,{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:qe,children:[O,A,M]})}),t[40]=O,t[41]=A,t[42]=M,t[43]=N):N=t[43];let P;t[44]!==E||t[45]!==N?(P=(0,$.jsxs)(Ce,{children:[E,N]}),t[44]=E,t[45]=N,t[46]=P):P=t[46];let F;t[47]!==P||t[48]!==w?(F=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2 px-4 pt-3`,children:[w,P]}),t[47]=P,t[48]=w,t[49]=F):F=t[49];let I=n.name||n.id,L;t[50]===I?L=t[51]:(L=(0,$.jsx)(`h3`,{className:`line-clamp-2 font-semibold text-fg`,children:I}),t[50]=I,t[51]=L);let R;t[52]===n?R=t[53]:(R=pe(n),t[52]=n,t[53]=R);let z;t[54]===n?z=t[55]:(z=pe(n),t[54]=n,t[55]=z);let V;t[56]===z?V=t[57]:(V=(0,$.jsx)(g,{content:z,compact:!0}),t[56]=z,t[57]=V);let H;t[58]!==R||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:R,children:V}),t[58]=R,t[59]=V,t[60]=H):H=t[60];let W;t[61]!==L||t[62]!==H?(W=(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col gap-2 px-4 pb-3 pt-2`,children:[L,H]}),t[61]=L,t[62]=H,t[63]=W):W=t[63];let G;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,$.jsx)(C,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[64]=G):G=t[64];let K;t[65]!==n||t[66]!==i||t[67]!==a?(K=ee(n,i,a),t[65]=n,t[66]=i,t[67]=a,t[68]=K):K=t[68];let q;t[69]===K?q=t[70]:(q=(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:[G,(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:K})]}),t[69]=K,t[70]=q);let J;return t[71]!==m||t[72]!==F||t[73]!==W||t[74]!==h||t[75]!==q?(J=(0,$.jsxs)(`article`,{role:`button`,tabIndex:0,className:p,onClick:m,onKeyDown:h,children:[F,W,q]}),t[71]=m,t[72]=F,t[73]=W,t[74]=h,t[75]=q,t[76]=J):J=t[76],J}function qe(e){return e.preventDefault()}function Je(e){return e.stopPropagation()}function Ye(e){let t=(0,Q.c)(134),{c:n,language:r,localeTag:i,scheduleBadgeLabels:o,loading:s,sortedSystemJobs:c,heartbeat:l,keepAwake:u,wakeSupported:d,onWakeUnsupportedClick:f,onKeepAwakeToggle:p,absorbCardClickJobIdRef:m,scheduleAbsorbNextMenuCardClick:h,onOpenDetail:g,onToggle:_,onEdit:v,onRunNow:y,onDelete:x}=e,S,C,w,T,E,D,O,k,A,j,M,N;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]!==l.enabled||t[14]!==l.intervalMs||t[15]!==u||t[16]!==r||t[17]!==i||t[18]!==p||t[19]!==f||t[20]!==d){let e=te(l.intervalMs,i,a(r).heartbeatSettings.intervalPresets);M=`cron-system-tasks-panel`,N=`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 o;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(R,{className:`mt-0.5 size-4 shrink-0 text-accent`,strokeWidth:1.75,"aria-hidden":!0}),t[37]=o):o=t[37];let s;t[38]===n.wakeBanner?s=t[39]:(s=(0,$.jsxs)(`div`,{className:`flex gap-3 text-sm text-fg`,children:[o,(0,$.jsx)(`p`,{className:`text-pretty text-fg-muted`,children:n.wakeBanner})]}),t[38]=n.wakeBanner,t[39]=s);let c;t[40]===n.keepAwake?c=t[41]:(c=(0,$.jsx)(`span`,{className:`text-sm text-fg`,children:n.keepAwake}),t[40]=n.keepAwake,t[41]=c);let m=!d,h=d?void 0:n.wakeLockUnavailable,g=u?`justify-end bg-accent`:`justify-start bg-surface-hover`,_=!d&&`cursor-not-allowed opacity-50`,v;t[42]!==g||t[43]!==_?(v=B(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,g,_),t[42]=g,t[43]=_,t[44]=v):v=t[44];let y;t[45]!==p||t[46]!==f||t[47]!==d?(y=()=>{d?p():f()},t[45]=p,t[46]=f,t[47]=d,t[48]=y):y=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 P;t[50]!==u||t[51]!==m||t[52]!==h||t[53]!==v||t[54]!==y?(P=(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":u,disabled:m,title:h,className:v,onClick:y,children:x}),t[50]=u,t[51]=m,t[52]=h,t[53]=v,t[54]=y,t[55]=P):P=t[55];let F;t[56]!==c||t[57]!==P?(F=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 sm:pl-4`,children:[c,P]}),t[56]=c,t[57]=P,t[58]=F):F=t[58],t[59]!==s||t[60]!==F?(T=(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:[s,F]}),t[59]=s,t[60]=F,t[61]=T):T=t[61],A=`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 z;t[66]!==I||t[67]!==L?(z=(0,$.jsxs)(`div`,{children:[I,L]}),t[66]=I,t[67]=L,t[68]=z):z=t[68];let H;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(b,{className:`size-3.5 opacity-70`,"aria-hidden":!0}),t[69]=H):H=t[69];let W;t[70]===n.systemHeartbeatSettingsLink?W=t[71]:(W=(0,$.jsx)(U,{type:`button`,variant:`ghost`,className:`shrink-0 gap-1 self-start px-2 py-1.5 text-xs`,asChild:!0,children:(0,$.jsxs)(V,{to:`/settings/heartbeat`,children:[n.systemHeartbeatSettingsLink,H]})}),t[70]=n.systemHeartbeatSettingsLink,t[71]=W),t[72]!==z||t[73]!==W?(j=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between`,children:[z,W]}),t[72]=z,t[73]=W,t[74]=j):j=t[74],O=`mt-3 grid gap-2 text-sm sm:grid-cols-2`;let G;t[75]===n.systemHeartbeatStatus?G=t[76]:(G=(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:n.systemHeartbeatStatus}),t[75]=n.systemHeartbeatStatus,t[76]=G);let K=l.enabled?n.enabled:n.disabled,q;t[77]===K?q=t[78]:(q=(0,$.jsx)(`dd`,{className:`text-fg`,children:K}),t[77]=K,t[78]=q),t[79]!==G||t[80]!==q?(k=(0,$.jsxs)(`div`,{children:[G,q]}),t[79]=G,t[80]=q,t[81]=k):k=t[81],t[82]===n.systemHeartbeatInterval?D=t[83]:(D=(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:n.systemHeartbeatInterval}),t[82]=n.systemHeartbeatInterval,t[83]=D),S=`text-fg`;let J;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(J=/\{\{value\}\}/g,t[84]=J):J=t[84],E=n.systemHeartbeatEvery.replace(J,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]=l.enabled,t[14]=l.intervalMs,t[15]=u,t[16]=r,t[17]=i,t[18]=p,t[19]=f,t[20]=d,t[21]=S,t[22]=C,t[23]=w,t[24]=T,t[25]=E,t[26]=D,t[27]=O,t[28]=k,t[29]=A,t[30]=j,t[31]=M,t[32]=N}else S=t[21],C=t[22],w=t[23],T=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];let P;t[85]!==S||t[86]!==E?(P=(0,$.jsx)(`dd`,{className:S,children:E}),t[85]=S,t[86]=E,t[87]=P):P=t[87];let I;t[88]!==P||t[89]!==D?(I=(0,$.jsxs)(`div`,{children:[D,P]}),t[88]=P,t[89]=D,t[90]=I):I=t[90];let L;t[91]!==I||t[92]!==O||t[93]!==k?(L=(0,$.jsxs)(`dl`,{className:O,children:[k,I]}),t[91]=I,t[92]=O,t[93]=k,t[94]=L):L=t[94];let z;t[95]!==L||t[96]!==A||t[97]!==j?(z=(0,$.jsxs)(`div`,{className:A,children:[j,L]}),t[95]=L,t[96]=A,t[97]=j,t[98]=z):z=t[98];let H;t[99]===n.systemDreamingTitle?H=t[100]:(H=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.systemDreamingTitle}),t[99]=n.systemDreamingTitle,t[100]=H);let W;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(W=(0,$.jsx)(b,{className:`size-3.5 opacity-70`,"aria-hidden":!0}),t[101]=W):W=t[101];let G;t[102]===n.systemDreamingSettingsLink?G=t[103]:(G=(0,$.jsx)(U,{type:`button`,variant:`ghost`,className:`shrink-0 gap-1 self-start px-2 py-1.5 text-xs`,asChild:!0,children:(0,$.jsxs)(V,{to:`/settings/dreams`,children:[n.systemDreamingSettingsLink,W]})}),t[102]=n.systemDreamingSettingsLink,t[103]=G);let K;t[104]!==H||t[105]!==G?(K=(0,$.jsxs)(`div`,{className:`mb-2 flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between`,children:[H,G]}),t[104]=H,t[105]=G,t[106]=K):K=t[106];let q;t[107]===n.systemDreamingHint?q=t[108]:(q=(0,$.jsx)(`p`,{className:`mb-3 text-xs text-fg-muted`,children:n.systemDreamingHint}),t[107]=n.systemDreamingHint,t[108]=q);let J;t[109]!==m||t[110]!==n||t[111]!==s||t[112]!==i||t[113]!==x||t[114]!==v||t[115]!==g||t[116]!==y||t[117]!==_||t[118]!==h||t[119]!==o||t[120]!==c?(J=s&&c.length===0?(0,$.jsx)(`div`,{className:`flex justify-center py-12`,"aria-busy":`true`,children:(0,$.jsx)(F,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):c.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 gap-4 sm:grid-cols-2`,children:c.map(e=>(0,$.jsx)(Ke,{job:e,c:n,localeTag:i,scheduleBadgeLabels:o,absorbCardClickJobIdRef:m,scheduleAbsorbNextMenuCardClick:h,onOpenDetail:g,onToggle:_,onEdit:v,onRunNow:y,onDelete:x},e.id))}),t[109]=m,t[110]=n,t[111]=s,t[112]=i,t[113]=x,t[114]=v,t[115]=g,t[116]=y,t[117]=_,t[118]=h,t[119]=o,t[120]=c,t[121]=J):J=t[121];let Y;t[122]!==K||t[123]!==q||t[124]!==J?(Y=(0,$.jsxs)(`div`,{children:[K,q,J]}),t[122]=K,t[123]=q,t[124]=J,t[125]=Y):Y=t[125];let X;return t[126]!==C||t[127]!==w||t[128]!==T||t[129]!==z||t[130]!==Y||t[131]!==M||t[132]!==N?(X=(0,$.jsxs)(`section`,{"aria-labelledby":M,className:N,children:[C,w,T,z,Y]}),t[126]=C,t[127]=w,t[128]=T,t[129]=z,t[130]=Y,t[131]=M,t[132]=N,t[133]=X):X=t[133],X}function Xe(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 Ze=[`daily`,`monitoring`,`reports`,`automation`],Qe=[{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:`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`},{templateId:`competitor_watch`,category:`monitoring`,defaultSchedule:`0 9 * * 1`,defaultSessionTarget:`isolated`},{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`},{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:`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:`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 $e(e){return Qe.find(t=>t.templateId===e)}function et(e){let t=(0,Q.c)(21),{cron:n,localeTag:r,scheduleBadgeLabels:i,categoryFilter:a,onCategoryFilterChange:o,onSelectTemplate:s}=e,c;if(t[0]!==a||t[1]!==n||t[2]!==r||t[3]!==o||t[4]!==s||t[5]!==i){let e=a===`all`?[...Qe]:Qe.filter(e=>e.category===a),l=n.fromTemplate,u=a===`all`?`secondary`:`ghost`,d;t[7]===o?d=t[8]:(d=()=>o(`all`),t[7]=o,t[8]=d);let f;t[9]!==n.templateFilterAll||t[10]!==u||t[11]!==d?(f=(0,$.jsx)(U,{type:`button`,variant:u,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:d,children:n.templateFilterAll}),t[9]=n.templateFilterAll,t[10]=u,t[11]=d,t[12]=f):f=t[12];let p;t[13]!==a||t[14]!==n.templateCategories||t[15]!==o?(p=Ze.map(e=>(0,$.jsx)(U,{type:`button`,variant:a===e?`secondary`:`ghost`,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:()=>o(e),children:n.templateCategories[e]},e)),t[13]=a,t[14]=n.templateCategories,t[15]=o,t[16]=p):p=t[16];let m;t[17]!==n.fromTemplate||t[18]!==f||t[19]!==p?(m=(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,role:`group`,"aria-label":l,children:[f,p]}),t[17]=n.fromTemplate,t[18]=f,t[19]=p,t[20]=m):m=t[20],c=(0,$.jsxs)(`div`,{className:`flex w-full flex-col gap-4`,children:[m,e.length===0?(0,$.jsx)(`p`,{className:`text-center text-sm text-fg-muted`,children:n.templatesEmptyHint}):(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,children:e.map(e=>{let t=Xe(n,e.templateId);if(!t)return null;let a=ee({schedule:e.defaultSchedule,timezone:void 0,next_run:void 0},r,i);return(0,$.jsxs)(`button`,{type:`button`,className:B(`flex 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`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`),onClick:()=>s(e.templateId),"aria-label":`${n.templateCategories[e.category]} — ${t.title}`,children:[(0,$.jsx)(`span`,{className:`font-semibold text-fg`,children:t.title}),(0,$.jsx)(`span`,{className:`line-clamp-2 text-sm text-fg-muted`,children:t.description}),(0,$.jsx)(`span`,{className:`mt-1 flex items-center gap-1 text-xs text-fg-muted`,children:(0,$.jsx)(`span`,{className:`tabular-nums`,children:a})})]},e.templateId)})})]}),t[0]=a,t[1]=n,t[2]=r,t[3]=o,t[4]=s,t[5]=i,t[6]=c}else c=t[6];return c}function tt(e){let t=(0,Q.c)(49),{c:n,localeTag:r,scheduleBadgeLabels:i,loading:a,jobsCount:o,sortedJobs:s,templateCategoryFilter:c,onTemplateCategoryFilterChange:l,onSelectTemplate:u,keepAwake:d,wakeSupported:f,onWakeUnsupportedClick:p,onKeepAwakeToggle:m,absorbCardClickJobIdRef:h,scheduleAbsorbNextMenuCardClick:g,onOpenDetail:_,onToggle:v,onEdit:y,onAddJob:b,onRunNow:x,onDelete:S}=e,C;t[0]===n.tabMyTasks?C=t[1]:(C=(0,$.jsx)(`h2`,{id:`cron-tasks-panel`,className:`sr-only`,children:n.tabMyTasks}),t[0]=n.tabMyTasks,t[1]=C);let w;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(R,{className:`mt-0.5 size-4 shrink-0 text-accent`,strokeWidth:1.75,"aria-hidden":!0}),t[2]=w):w=t[2];let T;t[3]===n.wakeBanner?T=t[4]:(T=(0,$.jsxs)(`div`,{className:`flex gap-3 text-sm text-fg`,children:[w,(0,$.jsx)(`p`,{className:`text-pretty text-fg-muted`,children:n.wakeBanner})]}),t[3]=n.wakeBanner,t[4]=T);let E;t[5]===n.keepAwake?E=t[6]:(E=(0,$.jsx)(`span`,{className:`text-sm text-fg`,children:n.keepAwake}),t[5]=n.keepAwake,t[6]=E);let D=!f,O=f?void 0:n.wakeLockUnavailable,k=d?`justify-end bg-accent`:`justify-start bg-surface-hover`,A=!f&&`cursor-not-allowed opacity-50`,j;t[7]!==k||t[8]!==A?(j=B(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,k,A),t[7]=k,t[8]=A,t[9]=j):j=t[9];let M;t[10]!==m||t[11]!==p||t[12]!==f?(M=()=>{f?m():p()},t[10]=m,t[11]=p,t[12]=f,t[13]=M):M=t[13];let N;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`}),t[14]=N):N=t[14];let P;t[15]!==d||t[16]!==M||t[17]!==D||t[18]!==O||t[19]!==j?(P=(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":d,disabled:D,title:O,className:j,onClick:M,children:N}),t[15]=d,t[16]=M,t[17]=D,t[18]=O,t[19]=j,t[20]=P):P=t[20];let I;t[21]!==P||t[22]!==E?(I=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 sm:pl-4`,children:[E,P]}),t[21]=P,t[22]=E,t[23]=I):I=t[23];let L;t[24]!==I||t[25]!==T?(L=(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:[T,I]}),t[24]=I,t[25]=T,t[26]=L):L=t[26];let z;t[27]!==h||t[28]!==n||t[29]!==o||t[30]!==a||t[31]!==r||t[32]!==b||t[33]!==S||t[34]!==y||t[35]!==_||t[36]!==x||t[37]!==u||t[38]!==l||t[39]!==v||t[40]!==g||t[41]!==i||t[42]!==s||t[43]!==c?(z=a&&o===0?(0,$.jsx)(`div`,{className:`flex justify-center py-16`,"aria-busy":`true`,children:(0,$.jsx)(F,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):o===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)(et,{cron:n,localeTag:r,scheduleBadgeLabels:i,categoryFilter:c,onCategoryFilterChange:l,onSelectTemplate:u})}),(0,$.jsx)(`div`,{className:`flex justify-center`,children:(0,$.jsx)(U,{type:`button`,variant:`primary`,onClick:b,children:n.emptyStateCta})})]}):(0,$.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:s.map(e=>(0,$.jsx)(Ke,{job:e,c:n,localeTag:r,scheduleBadgeLabels:i,absorbCardClickJobIdRef:h,scheduleAbsorbNextMenuCardClick:g,onOpenDetail:e=>void _(e),onToggle:(e,t)=>void v(e,t),onEdit:y,onRunNow:x,onDelete:S},e.id))}),t[27]=h,t[28]=n,t[29]=o,t[30]=a,t[31]=r,t[32]=b,t[33]=S,t[34]=y,t[35]=_,t[36]=x,t[37]=u,t[38]=l,t[39]=v,t[40]=g,t[41]=i,t[42]=s,t[43]=c,t[44]=z):z=t[44];let V;return t[45]!==C||t[46]!==L||t[47]!==z?(V=(0,$.jsxs)(`section`,{"aria-labelledby":`cron-tasks-panel`,className:`flex flex-col gap-4`,children:[C,L,z]}),t[45]=C,t[46]=L,t[47]=z,t[48]=V):V=t[48],V}function nt(e){let t=(0,Q.c)(23),{open:n,onOpenChange:r,c:i,localeTag:a,scheduleBadgeLabels:f,categoryFilter:p,onCategoryFilterChange:m,onSelectTemplate:h}=e,g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(s,{className:`xopc-dialog-overlay fixed inset-0 z-[62] bg-scrim`}),t[0]=g):g=t[0];let _;t[1]===i.fromTemplate?_=t[2]:(_=(0,$.jsx)(u,{className:`sr-only`,children:i.fromTemplate}),t[1]=i.fromTemplate,t[2]=_);let v;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(I,{className:`size-5`,strokeWidth:1.75}),t[3]=v):v=t[3];let y;t[4]===i.close?y=t[5]:(y=(0,$.jsx)(d,{asChild:!0,children:(0,$.jsx)(U,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":i.close,children:v})}),t[4]=i.close,t[5]=y);let b;t[6]!==_||t[7]!==y?(b=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end border-b border-edge px-4 py-3`,children:[_,y]}),t[6]=_,t[7]=y,t[8]=b):b=t[8];let x;t[9]!==i||t[10]!==p||t[11]!==a||t[12]!==m||t[13]!==h||t[14]!==f?(x=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-4`,children:(0,$.jsx)(et,{cron:i,localeTag:a,scheduleBadgeLabels:f,categoryFilter:p,onCategoryFilterChange:m,onSelectTemplate:h})}),t[9]=i,t[10]=p,t[11]=a,t[12]=m,t[13]=h,t[14]=f,t[15]=x):x=t[15];let S;t[16]!==b||t[17]!==x?(S=(0,$.jsxs)(o,{children:[g,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[62] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(c,{className:`xopc-dialog-content-pane pointer-events-auto relative flex max-h-[min(90vh,840px)] w-full max-w-lg flex-col rounded-xl border border-edge bg-surface-panel shadow-popover outline-none sm:max-w-2xl dark:border-edge`,onOpenAutoFocus:rt,children:[b,x]})})]}),t[16]=b,t[17]=x,t[18]=S):S=t[18];let C;return t[19]!==r||t[20]!==n||t[21]!==S?(C=(0,$.jsx)(l,{open:n,onOpenChange:r,children:S}),t[19]=r,t[20]=n,t[21]=S,t[22]=C):C=t[22],C}function rt(e){return e.preventDefault()}function it(){return{formOpen:!1,formMode:`add`,formJobId:null,formName:``,formSchedule:Oe,formChannel:`local`,formChatId:``,formMessage:``,formMessageMdMode:`edit`,messageEditorNonce:0,formSessionTarget:`main`,formAgentId:``,formAgentLocalOnly:!1,formWorkingDirectory:``,formModel:``,formSubmitting:!1}}function at(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 ot(e,t){let n=it();if(n.formOpen=!0,n.formMode=e?`edit`:`add`,n.formJobId=e?.id??null,!e)return n.formModel=t(),n;n.formName=e.name||``,n.formSchedule=e.schedule&&String(e.schedule).trim()||`*/5 * * * *`;let r=pe(e);n.formMessage=r??``,n.formSessionTarget=e.sessionTarget||`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 i=e.payload?.kind===`agentTurn`&&e.payload.model?.trim()?e.payload.model.trim():``;n.formModel=e.model?.trim()||i||t();let a=e.delivery?.channel===`local`,o=(e.sessionTarget||`main`)===`isolated`&&!a&&(!e.delivery?.to||e.delivery.mode===`none`);if(n.formAgentLocalOnly=o,a)n.formChannel=`local`,n.formChatId=``;else if(e.delivery&&e.delivery.mode!==`none`&&e.delivery.to)n.formChannel=e.delivery.channel||`telegram`,n.formChatId=e.delivery.to||``;else if(o)n.formChannel=`telegram`,n.formChatId=``;else{let e=r.split(`:`);e.length>=3&&[`telegram`,`cli`,`gateway`,`local`].includes(e[0])?(n.formChannel=e[0],n.formChatId=e[1],n.formMessage=e.slice(2).join(`:`)):(n.formChannel=`telegram`,n.formChatId=``)}return n.formMessageMdMode=`edit`,n.messageEditorNonce=1,n}function st(e){let{m:t,defaultModelForForm:n,channels:r,chatAgents:i}=e,[a,o]=(0,Z.useReducer)(at,void 0,it),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=S(()=>de(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.formSessionTarget===`main`||a.formSessionTarget===`isolated`&&!a.formAgentLocalOnly),p=a.formSessionTarget===`main`||a.formSessionTarget===`isolated`&&!a.formAgentLocalOnly,m=!!a.formName.trim()&&!!a.formSchedule.trim()&&!!a.formMessage.trim()&&(!f||!!a.formChatId.trim()),h=(0,Z.useCallback)(e=>{s.current=!1,o({type:`replace`,state:ot(e,n)})},[n]),g=(0,Z.useCallback)(e=>{o({type:`setMessageMdMode`,mode:e})},[]),_=(0,Z.useCallback)(e=>{let r=$e(e),i=r?Xe(t.cron,e):void 0;return!r||!i?!1:(s.current=!1,o({type:`replace`,state:{...it(),formOpen:!0,formMode:`add`,formName:i.title,formSchedule:r.defaultSchedule,formMessage:i.prompt,formSessionTarget:r.defaultSessionTarget,formModel:n(),messageEditorNonce:1}}),!0)},[n,t.cron]),v=(0,Z.useCallback)(()=>{s.current=!1,o({type:`replace`,state:it()})},[]),y=(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})},[]),b=(0,Z.useCallback)(e=>{o({type:`patch`,patch:{formChannel:e,formChatId:``,...e===`local`?{formAgentLocalOnly:!1}:{}}})},[]),x=(0,Z.useCallback)(e=>{s.current=!0,o({type:`patch`,patch:{formModel:e}})},[]),C=(0,Z.useCallback)(()=>{de(a.formChannel).then(l.setData)},[a.formChannel,l.setData]),w=(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,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=>w({formName:e}),setFormSchedule:e=>w({formSchedule:e}),setFormChatId:e=>w({formChatId:e}),setFormMessage:e=>w({formMessage:e}),setFormAgentId:e=>w({formAgentId:e}),setFormAgentLocalOnly:e=>w({formAgentLocalOnly:e}),setFormWorkingDirectory:e=>w({formWorkingDirectory:e}),setFormSubmitting:e=>w({formSubmitting:e}),canSubmit:m,needsDeliveryChat:f,showChannelPicker:p,cronAgentSelectOptions:d,openForm:h,closeForm:v,applyCronTemplate:_,setMessageMdMode:g,handleFormSessionTargetChange:y,handleFormChannelChange:b,handleFormModelUserChange:x,refreshRecipientsList:C}}function ct(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||x(),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 lt(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 ye())}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([ue(),se(),oe(),N(),z().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 ge(400))}catch{}finally{y(!1)}},[]);return(0,Z.useEffect)(()=>{t&&(w(),T())},[t,w,T]),(0,Z.useEffect)(()=>{if(!t)return;let e=()=>{N().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=>!ie(e)),[i]),systemCronJobs:(0,Z.useMemo)(()=>i.filter(e=>ie(e)),[i]),heartbeatFromConfig:(0,Z.useMemo)(()=>xe(m),[m]),loadJobs:w,loadAux:T,loadRunHistoryOnly:E,refreshAll:(0,Z.useCallback)(()=>{w(),T(),E()},[w,T,E])}}function ut(e,t){let n=[...e];return n.sort((e,n)=>{let r=new Date(e.created_at).getTime(),i=new Date(n.created_at).getTime();return t===`created_desc`?i-r:r-i}),n}function dt(e,t,n,r){let i=new Date,a=t===`day`?ke(i):t===`week`?Ae(i):je(i);return e.filter(e=>!(new Date(e.startedAt)<a||n&&e.jobId!==n||r&&e.status!==r))}var ft={mainTab:`myTasks`,jobSort:`created_desc`,historyRange:`day`,historyJobFilter:``,historyStatusFilter:``,detailOpen:!1,detailJob:null,detailHistory:[],detailLoading:!1,confirmOpen:!1,templatePickerOpen:!1,templateCategoryFilter:`all`};function pt(){let e=i(e=>e.language),t=a(e),n=t.cron,r=t.chat,o=!!p(e=>e.token),s=f(e=>e.resolved)===`dark`,c=e===`zh`?`zh-CN`:`en-US`,[l,u]=(0,Z.useReducer)(H,ft),{mainTab:d,jobSort:m,historyRange:h,historyJobFilter:g,historyStatusFilter:_,detailOpen:v,detailJob:y,detailHistory:b,detailLoading:x,confirmOpen:S,templatePickerOpen:C,templateCategoryFilter:w}=l,T=lt({hasToken:o,failMessages:{failedToLoadJobs:n.failedToLoadJobs},isHistoryTab:d===`history`}),{setError:E}=T,D=ct({onUnavailable:()=>E(n.wakeLockUnavailable)}),O=(0,Z.useCallback)(()=>T.defaultModel||(T.availableModels.length>0?T.availableModels[0].id:``),[T.defaultModel,T.availableModels]),k=st({m:t,defaultModelForForm:O,channels:T.channels,chatAgents:T.chatAgents}),A=(0,Z.useRef)(null),M=(0,Z.useRef)(null),N=(0,Z.useCallback)((e,t)=>{A.current=e,M.current=t,u({type:`patch`,patch:{confirmOpen:!0}})},[]),P=(0,Z.useCallback)(()=>{u({type:`patch`,patch:{confirmOpen:!1}}),M.current=null,A.current=null},[]),F=(0,Z.useRef)(null),I=(0,Z.useCallback)(e=>{F.current=e,window.setTimeout(()=>{F.current===e&&(F.current=null)},400)},[]),L=(0,Z.useCallback)(e=>{k.applyCronTemplate(e)&&u({type:`patch`,patch:{templatePickerOpen:!1}})},[k]),R=async()=>{if(!k.formName.trim()){E(n.nameRequired);return}if(!k.formSchedule.trim()||!k.formMessage.trim()){E(n.scheduleRequired);return}if(k.needsDeliveryChat&&!k.formChatId.trim()){E(n.chatIdRequired);return}k.setFormSubmitting(!0),E(null);try{let e=k.formMessage.trim(),t;t=k.formSessionTarget===`isolated`&&k.formAgentLocalOnly?{mode:`none`}:k.formChannel===`local`?{mode:`direct`,channel:`local`}:{mode:`direct`,channel:k.formChannel,to:k.formChatId.trim()};let n=k.formSessionTarget===`isolated`?{kind:`agentTurn`,message:e,...k.formModel.trim()?{model:k.formModel.trim()}:{}}:{kind:`systemEvent`,text:e},r=k.formModel.trim(),i=k.formAgentId.trim().toLowerCase(),a=k.formSessionTarget===`main`?null:i||null,o=k.formWorkingDirectory.trim(),s={name:k.formName.trim(),schedule:k.formSchedule.trim(),sessionTarget:k.formSessionTarget,model:k.formSessionTarget===`isolated`&&r?r:void 0,delivery:t,payload:n,...k.formMode===`edit`?{agentId:a,workingDirectory:k.formSessionTarget===`isolated`&&o||null}:{...k.formSessionTarget===`isolated`&&i?{agentId:i}:{},...k.formSessionTarget===`isolated`&&o?{workingDirectory:o}:{}}};if(k.formMode===`edit`&&k.formJobId)await fe(k.formJobId,s);else{let{schedule:e,agentId:t,workingDirectory:n,...r}=s;await ve(e,{...r,...t==null?{}:{agentId:t},...n?{workingDirectory:n}:{}})}k.closeForm(),await T.loadJobs(),await T.loadAux()}catch(e){E(e instanceof Error?e.message:k.formMode===`edit`?n.failedToUpdateJob:n.failedToCreateJob)}finally{k.setFormSubmitting(!1)}},z=async e=>{u({type:`patch`,patch:{detailOpen:!0,detailJob:e,detailLoading:!0,detailHistory:[]}});try{let t=await _e(e.id);t&&u({type:`patch`,patch:{detailJob:t,detailHistory:await me(e.id,20)}})}catch{}finally{u({type:`patch`,patch:{detailLoading:!1}})}},B=(0,Z.useCallback)(()=>{u({type:`patch`,patch:{detailOpen:!1,detailJob:null}})},[]),V=(0,Z.useCallback)(()=>{u({type:`patch`,patch:{templateCategoryFilter:`all`,templatePickerOpen:!0}})},[]),U=async(e,t)=>{try{await he(e.id,t),await Promise.all([T.loadJobs(),T.loadAux()])}catch(e){E(e instanceof Error?e.message:n.failedToToggleJob)}},W=async()=>{let e=M.current,t=A.current;if(!(!e||!t)){P();try{t===`run`?await le(e):(await ce(e),y?.id===e&&u({type:`patch`,patch:{detailOpen:!1,detailJob:null}})),await Promise.all([T.loadJobs(),T.loadAux(),T.loadRunHistoryOnly()])}catch(e){E(e instanceof Error?e.message:n.actionFailed)}}};(0,Z.useEffect)(()=>{let e=e=>{e.key===`Escape`&&(k.formOpen?k.closeForm():v&&u({type:`patch`,patch:{detailOpen:!1,detailJob:null}}))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[k,v]);let G=(0,Z.useMemo)(()=>({running:n.execStatusRunning,success:n.execStatusSuccess,failed:n.execStatusFailed,cancelled:n.execStatusCancelled}),[n.execStatusCancelled,n.execStatusFailed,n.execStatusRunning,n.execStatusSuccess]),K=(0,Z.useMemo)(()=>ut(T.userCronJobs,m),[T.userCronJobs,m]),q=(0,Z.useMemo)(()=>ut(T.systemCronJobs,m),[T.systemCronJobs,m]),J=(0,Z.useMemo)(()=>dt(T.runHistory,h,g,_),[T.runHistory,h,g,_]),Y=n.scheduleBadge,{pathname:X}=j(),ee=X.startsWith(`/settings/`);return o?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(mt,{hasToken:o,c:n,loading:T.loading,runHistoryLoading:T.runHistoryLoading,onRefresh:T.refreshAll,onOpenTemplatePicker:V,onAddJob:()=>k.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:[T.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:T.error}):null,(0,$.jsx)(`header`,{className:`flex flex-col gap-4`,children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight text-fg`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm text-fg-muted`,children:n.subtitle})]})}),ee?(0,$.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-2 border-b border-edge-subtle pb-3 dark:border-edge-subtle`,children:(0,$.jsx)(We,{c:n,loading:T.loading,runHistoryLoading:T.runHistoryLoading,onRefresh:T.refreshAll,onOpenTemplatePicker:V,onAddJob:()=>k.openForm()})}):null,(0,$.jsx)(He,{c:n,mainTab:d,onMainTabChange:e=>u({type:`patch`,patch:{mainTab:e}}),jobSort:m,onJobSortChange:e=>u({type:`patch`,patch:{jobSort:e}}),historyRange:h,onHistoryRangeChange:e=>u({type:`patch`,patch:{historyRange:e}}),historyJobFilter:g,onHistoryJobFilterChange:e=>u({type:`patch`,patch:{historyJobFilter:e}}),historyStatusFilter:_,onHistoryStatusFilterChange:e=>u({type:`patch`,patch:{historyStatusFilter:e}}),jobs:T.jobs}),d===`myTasks`?(0,$.jsx)(tt,{c:n,localeTag:c,scheduleBadgeLabels:Y,loading:T.loading,jobsCount:T.userCronJobs.length,sortedJobs:K,templateCategoryFilter:w,onTemplateCategoryFilterChange:e=>u({type:`patch`,patch:{templateCategoryFilter:e}}),onSelectTemplate:L,keepAwake:D.keepAwake,wakeSupported:D.featureAvailable,onWakeUnsupportedClick:()=>E(n.wakeLockUnavailable),onKeepAwakeToggle:()=>D.setKeepAwake(e=>!e),absorbCardClickJobIdRef:F,scheduleAbsorbNextMenuCardClick:I,onOpenDetail:e=>void z(e),onToggle:(e,t)=>void U(e,t),onEdit:e=>k.openForm(e),onAddJob:()=>k.openForm(),onRunNow:e=>N(`run`,e.id),onDelete:e=>N(`delete`,e.id)}):d===`systemTasks`?(0,$.jsx)(Ye,{c:n,language:e,localeTag:c,scheduleBadgeLabels:Y,loading:T.loading,sortedSystemJobs:q,heartbeat:T.heartbeatFromConfig,keepAwake:D.keepAwake,wakeSupported:D.featureAvailable,onWakeUnsupportedClick:()=>E(n.wakeLockUnavailable),onKeepAwakeToggle:()=>D.setKeepAwake(e=>!e),absorbCardClickJobIdRef:F,scheduleAbsorbNextMenuCardClick:I,onOpenDetail:e=>void z(e),onToggle:(e,t)=>void U(e,t),onEdit:e=>k.openForm(e),onRunNow:e=>N(`run`,e.id),onDelete:e=>N(`delete`,e.id)}):(0,$.jsx)(Ge,{c:n,runHistoryLoading:T.runHistoryLoading,runHistory:T.runHistory,filteredRunHistory:J,jobs:T.jobs,onRefreshHistory:()=>void T.loadRunHistoryOnly(),onOpenJobDetail:e=>void z(e),statusLabels:G})]}),(0,$.jsx)(ze,{open:k.formOpen,onRequestClose:k.closeForm,c:n,chatM:r,agentsMessages:t.agentsSettings,isDark:s,channels:T.channels,sessionChatIds:k.sessionChatIds,cronAgentSelectOptions:k.cronAgentSelectOptions,defaultModelResolver:O,formMode:k.formMode,formJobId:k.formJobId,formName:k.formName,onFormNameChange:k.setFormName,formSchedule:k.formSchedule,onFormScheduleChange:k.setFormSchedule,formSubmitting:k.formSubmitting,formSessionTarget:k.formSessionTarget,onFormSessionTargetChange:k.handleFormSessionTargetChange,formAgentLocalOnly:k.formAgentLocalOnly,onFormAgentLocalOnlyChange:k.setFormAgentLocalOnly,formModel:k.formModel,onFormModelUserChange:k.handleFormModelUserChange,formAgentId:k.formAgentId,onFormAgentIdChange:k.setFormAgentId,formWorkingDirectory:k.formWorkingDirectory,onFormWorkingDirectoryChange:k.setFormWorkingDirectory,formChannel:k.formChannel,onFormChannelChange:k.handleFormChannelChange,formChatId:k.formChatId,onFormChatIdChange:k.setFormChatId,formMessage:k.formMessage,onFormMessageChange:k.setFormMessage,formMessageMdMode:k.formMessageMdMode,onSetMessageMdMode:k.setMessageMdMode,messageEditorNonce:k.messageEditorNonce,needsDeliveryChat:k.needsDeliveryChat,showChannelPicker:k.showChannelPicker,canSubmit:k.canSubmit,onSubmit:()=>void R(),onRefreshRecipients:k.refreshRecipientsList}),(0,$.jsx)(nt,{open:C,onOpenChange:e=>{u({type:`patch`,patch:{templatePickerOpen:e,...e?{templateCategoryFilter:`all`}:{}}})},c:n,localeTag:c,scheduleBadgeLabels:Y,categoryFilter:w,onCategoryFilterChange:e=>u({type:`patch`,patch:{templateCategoryFilter:e}}),onSelectTemplate:L}),(0,$.jsx)(Le,{open:v,onDismiss:B,detailJob:y,detailLoading:x,detailHistory:b,c:n,chatWorkingDirNotSet:r.workingDirectory.notSet,statusLabels:G}),(0,$.jsx)(De,{open:S,onOpenChange:e=>u({type:`patch`,patch:{confirmOpen:e}}),action:A.current,c:n,onDismiss:P,onConfirm:W})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(mt,{hasToken:o,c:n,loading:T.loading,runHistoryLoading:T.runHistoryLoading,onRefresh:T.refreshAll,onOpenTemplatePicker:V,onAddJob:()=>k.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 mt(e){let t=(0,Q.c)(16),{hasToken:n,c:r,loading:i,runHistoryLoading:a,onRefresh:o,onOpenTemplatePicker:s,onAddJob:c}=e,{pathname:l}=j(),u;t[0]===l?u=t[1]:(u=l.startsWith(`/settings/`),t[0]=l,t[1]=u);let d=u,f=h(gt),p=h(ht),m;t[2]!==r||t[3]!==i||t[4]!==c||t[5]!==s||t[6]!==o||t[7]!==a?(m=(0,$.jsx)(We,{c:r,loading:i,runHistoryLoading:a,onRefresh:o,onOpenTemplatePicker:s,onAddJob:c}),t[2]=r,t[3]=i,t[4]=c,t[5]=s,t[6]=o,t[7]=a,t[8]=m):m=t[8];let g=m,_,v;return t[9]!==p||t[10]!==g||t[11]!==n||t[12]!==d||t[13]!==f?(_=()=>!n||d?(p(),()=>p()):(f({startExtra:null,main:null,end:g}),()=>p()),v=[p,g,n,d,f],t[9]=p,t[10]=g,t[11]=n,t[12]=d,t[13]=f,t[14]=_,t[15]=v):(_=t[14],v=t[15]),(0,Z.useLayoutEffect)(_,v),null}function ht(e){return e.clearPageHeader}function gt(e){return e.setPageHeader}export{pt as CronPage};
@@ -0,0 +1,45 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,i as n,t as r}from"./vendor-react-BOUWij0V.js";var i=e(t(),1);function a(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function o(...e){return t=>{let n=!1,r=e.map(e=>{let r=a(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():a(e[t],null)}}}}function s(...e){return i.useCallback(o(...e),e)}typeof window<`u`&&window.document&&window.document.createElement;function c(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var l=r();function u(e,t){let n=i.createContext(t),r=e=>{let{children:t,...r}=e,a=i.useMemo(()=>r,Object.values(r));return(0,l.jsx)(n.Provider,{value:a,children:t})};r.displayName=e+`Provider`;function a(r){let a=i.useContext(n);if(a)return a;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,a]}function d(e,t=[]){let n=[];function r(t,r){let a=i.createContext(r),o=n.length;n=[...n,r];let s=t=>{let{scope:n,children:r,...s}=t,c=n?.[e]?.[o]||a,u=i.useMemo(()=>s,Object.values(s));return(0,l.jsx)(c.Provider,{value:u,children:r})};s.displayName=t+`Provider`;function c(n,s){let c=s?.[e]?.[o]||a,l=i.useContext(c);if(l)return l;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[s,c]}let a=()=>{let t=n.map(e=>i.createContext(e));return function(n){let r=n?.[e]||t;return i.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return a.scopeName=e,[r,f(a,...t)]}function f(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return i.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var p=e(n(),1);function m(e){let t=h(e),n=i.forwardRef((e,n)=>{let{children:r,...a}=e,o=i.Children.toArray(r),s=o.find(v);if(s){let e=s.props.children,r=o.map(t=>t===s?i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null:t);return(0,l.jsx)(t,{...a,ref:n,children:i.isValidElement(e)?i.cloneElement(e,void 0,r):null})}return(0,l.jsx)(t,{...a,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function h(e){let t=i.forwardRef((e,t)=>{let{children:n,...r}=e;if(i.isValidElement(n)){let e=b(n),a=y(r,n.props);return n.type!==i.Fragment&&(a.ref=t?o(t,e):e),i.cloneElement(n,a)}return i.Children.count(n)>1?i.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var g=Symbol(`radix.slottable`);function _(e){let t=({children:e})=>(0,l.jsx)(l.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=g,t}function v(e){return i.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===g}function y(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function b(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var x=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=m(`Primitive.${t}`),r=i.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,l.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function S(e,t){e&&p.flushSync(()=>e.dispatchEvent(t))}function C(e){let t=i.useRef(e);return i.useEffect(()=>{t.current=e}),i.useMemo(()=>(...e)=>t.current?.(...e),[])}function ee(e,t=globalThis?.document){let n=C(e);i.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var te=`DismissableLayer`,ne=`dismissableLayer.update`,re=`dismissableLayer.pointerDownOutside`,ie=`dismissableLayer.focusOutside`,ae,oe=i.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),w=i.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:u,onDismiss:d,...f}=e,p=i.useContext(oe),[m,h]=i.useState(null),g=m?.ownerDocument??globalThis?.document,[,_]=i.useState({}),v=s(t,e=>h(e)),y=Array.from(p.layers),[b]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),S=y.indexOf(b),C=m?y.indexOf(m):-1,te=p.layersWithOutsidePointerEventsDisabled.size>0,re=C>=S,ie=le(e=>{let t=e.target,n=[...p.branches].some(e=>e.contains(t));!re||n||(a?.(e),u?.(e),e.defaultPrevented||d?.())},g),w=ue(e=>{let t=e.target;[...p.branches].some(e=>e.contains(t))||(o?.(e),u?.(e),e.defaultPrevented||d?.())},g);return ee(e=>{C===p.layers.size-1&&(r?.(e),!e.defaultPrevented&&d&&(e.preventDefault(),d()))},g),i.useEffect(()=>{if(m)return n&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(ae=g.body.style.pointerEvents,g.body.style.pointerEvents=`none`),p.layersWithOutsidePointerEventsDisabled.add(m)),p.layers.add(m),de(),()=>{n&&p.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=ae)}},[m,g,n,p]),i.useEffect(()=>()=>{m&&(p.layers.delete(m),p.layersWithOutsidePointerEventsDisabled.delete(m),de())},[m,p]),i.useEffect(()=>{let e=()=>_({});return document.addEventListener(ne,e),()=>document.removeEventListener(ne,e)},[]),(0,l.jsx)(x.div,{...f,ref:v,style:{pointerEvents:te?re?`auto`:`none`:void 0,...e.style},onFocusCapture:c(e.onFocusCapture,w.onFocusCapture),onBlurCapture:c(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:c(e.onPointerDownCapture,ie.onPointerDownCapture)})});w.displayName=te;var se=`DismissableLayerBranch`,ce=i.forwardRef((e,t)=>{let n=i.useContext(oe),r=i.useRef(null),a=s(t,r);return i.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,l.jsx)(x.div,{...e,ref:a})});ce.displayName=se;function le(e,t=globalThis?.document){let n=C(e),r=i.useRef(!1),a=i.useRef(()=>{});return i.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){fe(re,n,i,{discrete:!0})},i={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,a.current),a.current=r,t.addEventListener(`click`,a.current,{once:!0})):r()}else t.removeEventListener(`click`,a.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(i),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,a.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function ue(e,t=globalThis?.document){let n=C(e),r=i.useRef(!1);return i.useEffect(()=>{let e=e=>{e.target&&!r.current&&fe(ie,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function de(){let e=new CustomEvent(ne);document.dispatchEvent(e)}function fe(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?S(i,a):i.dispatchEvent(a)}var T=0;function pe(){i.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??me()),document.body.insertAdjacentElement(`beforeend`,e[1]??me()),T++,()=>{T===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),T--}},[])}function me(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var E=`focusScope.autoFocusOnMount`,D=`focusScope.autoFocusOnUnmount`,he={bubbles:!1,cancelable:!0},ge=`FocusScope`,O=i.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:a,onUnmountAutoFocus:o,...c}=e,[u,d]=i.useState(null),f=C(a),p=C(o),m=i.useRef(null),h=s(t,e=>d(e)),g=i.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;i.useEffect(()=>{if(r){let e=function(e){if(g.paused||!u)return;let t=e.target;u.contains(t)?m.current=t:k(m.current,{select:!0})},t=function(e){if(g.paused||!u)return;let t=e.relatedTarget;t!==null&&(u.contains(t)||k(m.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&k(u)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return u&&r.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,u,g.paused]),i.useEffect(()=>{if(u){Ce.add(g);let e=document.activeElement;if(!u.contains(e)){let t=new CustomEvent(E,he);u.addEventListener(E,f),u.dispatchEvent(t),t.defaultPrevented||(_e(Ee(ye(u)),{select:!0}),document.activeElement===e&&k(u))}return()=>{u.removeEventListener(E,f),setTimeout(()=>{let t=new CustomEvent(D,he);u.addEventListener(D,p),u.dispatchEvent(t),t.defaultPrevented||k(e??document.body,{select:!0}),u.removeEventListener(D,p),Ce.remove(g)},0)}}},[u,f,p,g]);let _=i.useCallback(e=>{if(!n&&!r||g.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=ve(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&k(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&k(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,g.paused]);return(0,l.jsx)(x.div,{tabIndex:-1,...c,ref:h,onKeyDown:_})});O.displayName=ge;function _e(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(k(r,{select:t}),document.activeElement!==n)return}function ve(e){let t=ye(e);return[be(t,e),be(t.reverse(),e)]}function ye(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function be(e,t){for(let n of e)if(!xe(n,{upTo:t}))return n}function xe(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Se(e){return e instanceof HTMLInputElement&&`select`in e}function k(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Se(e)&&t&&e.select()}}var Ce=we();function we(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Te(e,t),e.unshift(t)},remove(t){e=Te(e,t),e[0]?.resume()}}}function Te(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Ee(e){return e.filter(e=>e.tagName!==`A`)}var A=globalThis?.document?i.useLayoutEffect:()=>{},De=i.useId||(()=>void 0),Oe=0;function j(e){let[t,n]=i.useState(De());return A(()=>{e||n(e=>e??String(Oe++))},[e]),e||(t?`radix-${t}`:``)}var ke=`Portal`,M=i.forwardRef((e,t)=>{let{container:n,...r}=e,[a,o]=i.useState(!1);A(()=>o(!0),[]);let s=n||a&&globalThis?.document?.body;return s?p.createPortal((0,l.jsx)(x.div,{...r,ref:t}),s):null});M.displayName=ke;function Ae(e,t){return i.useReducer((e,n)=>t[e][n]??e,e)}var N=e=>{let{present:t,children:n}=e,r=je(t),a=typeof n==`function`?n({present:r.isPresent}):i.Children.only(n),o=s(r.ref,Me(a));return typeof n==`function`||r.isPresent?i.cloneElement(a,{ref:o}):null};N.displayName=`Presence`;function je(e){let[t,n]=i.useState(),r=i.useRef(null),a=i.useRef(e),o=i.useRef(`none`),[s,c]=Ae(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return i.useEffect(()=>{let e=P(r.current);o.current=s===`mounted`?e:`none`},[s]),A(()=>{let t=r.current,n=a.current;if(n!==e){let r=o.current,i=P(t);e?c(`MOUNT`):i===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==i?`ANIMATION_OUT`:`UNMOUNT`),a.current=e}},[e,c]),A(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,i=i=>{let o=P(r.current).includes(CSS.escape(i.animationName));if(i.target===t&&o&&(c(`ANIMATION_END`),!a.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(o.current=P(r.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,i),t.addEventListener(`animationend`,i),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,i),t.removeEventListener(`animationend`,i)}}else c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:i.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function P(e){return e?.animationName||`none`}function Me(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ne=i.useInsertionEffect||A;function Pe({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[a,o,s]=Fe({defaultProp:t,onChange:n}),c=e!==void 0,l=c?e:a;{let t=i.useRef(e!==void 0);i.useEffect(()=>{let e=t.current;e!==c&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${c?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=c},[c,r])}return[l,i.useCallback(t=>{if(c){let n=Ie(t)?t(e):t;n!==e&&s.current?.(n)}else o(t)},[c,e,o,s])]}function Fe({defaultProp:e,onChange:t}){let[n,r]=i.useState(e),a=i.useRef(n),o=i.useRef(t);return Ne(()=>{o.current=t},[t]),i.useEffect(()=>{a.current!==n&&(o.current?.(n),a.current=n)},[n,a]),[n,r,o]}function Ie(e){return typeof e==`function`}var Le=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},F=new WeakMap,I=new WeakMap,L={},R=0,Re=function(e){return e&&(e.host||Re(e.parentNode))},ze=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Re(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Be=function(e,t,n,r){var i=ze(t,Array.isArray(e)?e:[e]);L[n]||(L[n]=new WeakMap);var a=L[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(F.get(e)||0)+1,l=(a.get(e)||0)+1;F.set(e,c),a.set(e,l),o.push(e),c===1&&i&&I.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),R++,function(){o.forEach(function(e){var t=F.get(e)-1,i=a.get(e)-1;F.set(e,t),a.set(e,i),t||(I.has(e)||e.removeAttribute(r),I.delete(e)),i||e.removeAttribute(n)}),R--,R||(F=new WeakMap,F=new WeakMap,I=new WeakMap,L={})}},Ve=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Le(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Be(r,i,n,`aria-hidden`)):function(){return null}},z=function(){return z=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},z.apply(this,arguments)};function He(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Ue(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var B=`right-scroll-bar-position`,V=`width-before-scroll-bar`,We=`with-scroll-bars-hidden`,Ge=`--removed-body-scroll-bar-size`;function Ke(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function qe(e,t){var n=(0,i.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Je=typeof window<`u`?i.useLayoutEffect:i.useEffect,Ye=new WeakMap;function Xe(e,t){var n=qe(t||null,function(t){return e.forEach(function(e){return Ke(e,t)})});return Je(function(){var t=Ye.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Ke(e,null)}),i.forEach(function(e){r.has(e)||Ke(e,a)})}Ye.set(n,e)},[e]),n}function Ze(e){return e}function Qe(e,t){t===void 0&&(t=Ze);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function $e(e){e===void 0&&(e={});var t=Qe(null);return t.options=z({async:!0,ssr:!1},e),t}var et=function(e){var t=e.sideCar,n=He(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return i.createElement(r,z({},n))};et.isSideCarExport=!0;function tt(e,t){return e.useMedium(t),et}var nt=$e(),rt=function(){},H=i.forwardRef(function(e,t){var n=i.useRef(null),r=i.useState({onScrollCapture:rt,onWheelCapture:rt,onTouchMoveCapture:rt}),a=r[0],o=r[1],s=e.forwardProps,c=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=He(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=p,C=Xe([n,t]),ee=z(z({},x),a);return i.createElement(i.Fragment,null,d&&i.createElement(S,{sideCar:nt,removeScrollBar:u,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:o,allowPinchZoom:!!_,lockRef:n,gapMode:b}),s?i.cloneElement(i.Children.only(c),z(z({},ee),{ref:C})):i.createElement(y,z({},ee,{className:l,ref:C}),c))});H.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},H.classNames={fullWidth:V,zeroRight:B};var it,at=function(){if(it)return it;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function ot(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=at();return t&&e.setAttribute(`nonce`,t),e}function st(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function ct(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var lt=function(){var e=0,t=null;return{add:function(n){e==0&&(t=ot())&&(st(t,n),ct(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},ut=function(){var e=lt();return function(t,n){i.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},dt=function(){var e=ut();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},ft={left:0,top:0,right:0,gap:0},U=function(e){return parseInt(e||``,10)||0},pt=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[U(n),U(r),U(i)]},mt=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return ft;var t=pt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},ht=dt(),W=`data-scroll-locked`,gt=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
2
+ .${We} {
3
+ overflow: hidden ${r};
4
+ padding-right: ${s}px ${r};
5
+ }
6
+ body[${W}] {
7
+ overflow: hidden ${r};
8
+ overscroll-behavior: contain;
9
+ ${[t&&`position: relative ${r};`,n===`margin`&&`
10
+ padding-left: ${i}px;
11
+ padding-top: ${a}px;
12
+ padding-right: ${o}px;
13
+ margin-left:0;
14
+ margin-top:0;
15
+ margin-right: ${s}px ${r};
16
+ `,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
17
+ }
18
+
19
+ .${B} {
20
+ right: ${s}px ${r};
21
+ }
22
+
23
+ .${V} {
24
+ margin-right: ${s}px ${r};
25
+ }
26
+
27
+ .${B} .${B} {
28
+ right: 0 ${r};
29
+ }
30
+
31
+ .${V} .${V} {
32
+ margin-right: 0 ${r};
33
+ }
34
+
35
+ body[${W}] {
36
+ ${Ge}: ${s}px;
37
+ }
38
+ `},_t=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},vt=function(){i.useEffect(function(){return document.body.setAttribute(W,(_t()+1).toString()),function(){var e=_t()-1;e<=0?document.body.removeAttribute(W):document.body.setAttribute(W,e.toString())}},[])},yt=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,a=r===void 0?`margin`:r;vt();var o=i.useMemo(function(){return mt(a)},[a]);return i.createElement(ht,{styles:gt(o,!t,a,n?``:`!important`)})},G=!1;if(typeof window<`u`)try{var K=Object.defineProperty({},"passive",{get:function(){return G=!0,!0}});window.addEventListener(`test`,K,K),window.removeEventListener(`test`,K,K)}catch{G=!1}var q=G?{passive:!1}:!1,bt=function(e){return e.tagName===`TEXTAREA`},xt=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!bt(e)&&n[t]===`visible`)},St=function(e){return xt(e,`overflowY`)},Ct=function(e){return xt(e,`overflowX`)},wt=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),Dt(e,r)){var i=Ot(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Tt=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},Et=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},Dt=function(e,t){return e===`v`?St(t):Ct(t)},Ot=function(e,t){return e===`v`?Tt(t):Et(t)},kt=function(e,t){return e===`h`&&t===`rtl`?-1:1},At=function(e,t,n,r,i){var a=kt(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=Ot(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&Dt(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},J=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},jt=function(e){return[e.deltaX,e.deltaY]},Mt=function(e){return e&&`current`in e?e.current:e},Nt=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Pt=function(e){return`
39
+ .block-interactivity-${e} {pointer-events: none;}
40
+ .allow-interactivity-${e} {pointer-events: all;}
41
+ `},Ft=0,Y=[];function It(e){var t=i.useRef([]),n=i.useRef([0,0]),r=i.useRef(),a=i.useState(Ft++)[0],o=i.useState(dt)[0],s=i.useRef(e);i.useEffect(function(){s.current=e},[e]),i.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${a}`);var t=Ue([e.lockRef.current],(e.shards||[]).map(Mt),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${a}`)}),function(){document.body.classList.remove(`block-interactivity-${a}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${a}`)})}}},[e.inert,e.lockRef.current,e.shards]);var c=i.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!s.current.allowPinchZoom;var i=J(e),a=n.current,o=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(o)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=wt(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=wt(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(o||c)&&(r.current=l),!l)return!0;var h=r.current||l;return At(h,t,e,h===`h`?o:c,!0)},[]),l=i.useCallback(function(e){var n=e;if(!(!Y.length||Y[Y.length-1]!==o)){var r=`deltaY`in n?jt(n):J(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Nt(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var a=(s.current.shards||[]).map(Mt).filter(Boolean).filter(function(e){return e.contains(n.target)});(a.length>0?c(n,a[0]):!s.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),u=i.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Lt(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=i.useCallback(function(e){n.current=J(e),r.current=void 0},[]),f=i.useCallback(function(t){u(t.type,jt(t),t.target,c(t,e.lockRef.current))},[]),p=i.useCallback(function(t){u(t.type,J(t),t.target,c(t,e.lockRef.current))},[]);i.useEffect(function(){return Y.push(o),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener(`wheel`,l,q),document.addEventListener(`touchmove`,l,q),document.addEventListener(`touchstart`,d,q),function(){Y=Y.filter(function(e){return e!==o}),document.removeEventListener(`wheel`,l,q),document.removeEventListener(`touchmove`,l,q),document.removeEventListener(`touchstart`,d,q)}},[]);var m=e.removeScrollBar,h=e.inert;return i.createElement(i.Fragment,null,h?i.createElement(o,{styles:Pt(a)}):null,m?i.createElement(yt,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Lt(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Rt=tt(nt,It),zt=i.forwardRef(function(e,t){return i.createElement(H,z({},e,{ref:t,sideCar:Rt}))});zt.classNames=H.classNames;var X=`Dialog`,[Bt,Vt]=d(X),[Ht,Z]=Bt(X),Ut=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=i.useRef(null),u=i.useRef(null),[d,f]=Pe({prop:r,defaultProp:a??!1,onChange:o,caller:X});return(0,l.jsx)(Ht,{scope:t,triggerRef:c,contentRef:u,contentId:j(),titleId:j(),descriptionId:j(),open:d,onOpenChange:f,onOpenToggle:i.useCallback(()=>f(e=>!e),[f]),modal:s,children:n})};Ut.displayName=X;var Wt=`DialogTrigger`,Gt=i.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Z(Wt,n),a=s(t,i.triggerRef);return(0,l.jsx)(x.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":un(i.open),...r,ref:a,onClick:c(e.onClick,i.onOpenToggle)})});Gt.displayName=Wt;var Kt=`DialogPortal`,[qt,Jt]=Bt(Kt,{forceMount:void 0}),Yt=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:a}=e,o=Z(Kt,t);return(0,l.jsx)(qt,{scope:t,forceMount:n,children:i.Children.map(r,e=>(0,l.jsx)(N,{present:n||o.open,children:(0,l.jsx)(M,{asChild:!0,container:a,children:e})}))})};Yt.displayName=Kt;var Q=`DialogOverlay`,Xt=i.forwardRef((e,t)=>{let n=Jt(Q,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Z(Q,e.__scopeDialog);return a.modal?(0,l.jsx)(N,{present:r||a.open,children:(0,l.jsx)(Qt,{...i,ref:t})}):null});Xt.displayName=Q;var Zt=m(`DialogOverlay.RemoveScroll`),Qt=i.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Z(Q,n);return(0,l.jsx)(zt,{as:Zt,allowPinchZoom:!0,shards:[i.contentRef],children:(0,l.jsx)(x.div,{"data-state":un(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),$=`DialogContent`,$t=i.forwardRef((e,t)=>{let n=Jt($,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Z($,e.__scopeDialog);return(0,l.jsx)(N,{present:r||a.open,children:a.modal?(0,l.jsx)(en,{...i,ref:t}):(0,l.jsx)(tn,{...i,ref:t})})});$t.displayName=$;var en=i.forwardRef((e,t)=>{let n=Z($,e.__scopeDialog),r=i.useRef(null),a=s(t,n.contentRef,r);return i.useEffect(()=>{let e=r.current;if(e)return Ve(e)},[]),(0,l.jsx)(nn,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:c(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:c(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:c(e.onFocusOutside,e=>e.preventDefault())})}),tn=i.forwardRef((e,t)=>{let n=Z($,e.__scopeDialog),r=i.useRef(!1),a=i.useRef(!1);return(0,l.jsx)(nn,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(a.current=!0));let i=t.target;n.triggerRef.current?.contains(i)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&a.current&&t.preventDefault()}})}),nn=i.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:a,onCloseAutoFocus:o,...c}=e,u=Z($,n),d=i.useRef(null),f=s(t,d);return pe(),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(O,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:a,onUnmountAutoFocus:o,children:(0,l.jsx)(w,{role:`dialog`,id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":un(u.open),...c,ref:f,onDismiss:()=>u.onOpenChange(!1)})}),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(mn,{titleId:u.titleId}),(0,l.jsx)(gn,{contentRef:d,descriptionId:u.descriptionId})]})]})}),rn=`DialogTitle`,an=i.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Z(rn,n);return(0,l.jsx)(x.h2,{id:i.titleId,...r,ref:t})});an.displayName=rn;var on=`DialogDescription`,sn=i.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Z(on,n);return(0,l.jsx)(x.p,{id:i.descriptionId,...r,ref:t})});sn.displayName=on;var cn=`DialogClose`,ln=i.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Z(cn,n);return(0,l.jsx)(x.button,{type:`button`,...r,ref:t,onClick:c(e.onClick,()=>i.onOpenChange(!1))})});ln.displayName=cn;function un(e){return e?`open`:`closed`}var dn=`DialogTitleWarning`,[fn,pn]=u(dn,{contentName:$,titleName:rn,docsSlug:`dialog`}),mn=({titleId:e})=>{let t=pn(dn),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
42
+
43
+ If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
44
+
45
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return i.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},hn=`DialogDescriptionWarning`,gn=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${pn(hn).contentName}}.`;return i.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},_n=Ut,vn=Yt,yn=Xt,bn=$t,xn=an,Sn=sn,Cn=ln;export{d as C,s as E,_ as S,o as T,w as _,vn as a,S as b,zt as c,N as d,M as f,pe as g,O as h,yn as i,Ve as l,A as m,bn as n,_n as o,j as p,Sn as r,xn as s,Cn as t,Pe as u,C as v,c as w,m as x,x as y};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{C as r,E as i,T as a,_ as o,b as s,c,d as l,f as u,g as d,h as f,l as p,p as m,u as h,v as g,w as _,x as v,y}from"./dist-C57OMHW8.js";import{Fn as b,Mn as x,Nn as ee,Pn as S,jn as C}from"./index-0Gt3TG4j.js";var w=e(t(),1),T=n();function E(e){let t=e+`CollectionProvider`,[n,a]=r(t),[o,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),c=e=>{let{scope:t,children:n}=e,r=w.useRef(null),i=w.useRef(new Map).current;return(0,T.jsx)(o,{scope:t,itemMap:i,collectionRef:r,children:n})};c.displayName=t;let l=e+`CollectionSlot`,u=v(l),d=w.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,T.jsx)(u,{ref:i(t,s(l,n).collectionRef),children:r})});d.displayName=l;let f=e+`CollectionItemSlot`,p=`data-radix-collection-item`,m=v(f),h=w.forwardRef((e,t)=>{let{scope:n,children:r,...a}=e,o=w.useRef(null),c=i(t,o),l=s(f,n);return w.useEffect(()=>(l.itemMap.set(o,{ref:o,...a}),()=>void l.itemMap.delete(o))),(0,T.jsx)(m,{[p]:``,ref:c,children:r})});h.displayName=f;function g(t){let n=s(e+`CollectionConsumer`,t);return w.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${p}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:c,Slot:d,ItemSlot:h},g,a]}var D=w.createContext(void 0);function O(e){let t=w.useContext(D);return e||t||`ltr`}var k=`rovingFocusGroup.onEntryFocus`,te={bubbles:!1,cancelable:!0},A=`RovingFocusGroup`,[j,M,N]=E(A),[ne,P]=r(A,[N]),[re,F]=ne(A),I=w.forwardRef((e,t)=>(0,T.jsx)(j.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,T.jsx)(j.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,T.jsx)(ie,{...e,ref:t})})}));I.displayName=A;var ie=w.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:a=!1,dir:o,currentTabStopId:s,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=e,p=w.useRef(null),m=i(t,p),v=O(o),[b,x]=h({prop:s,defaultProp:c??null,onChange:l,caller:A}),[ee,S]=w.useState(!1),C=g(u),E=M(n),D=w.useRef(!1),[j,N]=w.useState(0);return w.useEffect(()=>{let e=p.current;if(e)return e.addEventListener(k,C),()=>e.removeEventListener(k,C)},[C]),(0,T.jsx)(re,{scope:n,orientation:r,dir:v,loop:a,currentTabStopId:b,onItemFocus:w.useCallback(e=>x(e),[x]),onItemShiftTab:w.useCallback(()=>S(!0),[]),onFocusableItemAdd:w.useCallback(()=>N(e=>e+1),[]),onFocusableItemRemove:w.useCallback(()=>N(e=>e-1),[]),children:(0,T.jsx)(y.div,{tabIndex:ee||j===0?-1:0,"data-orientation":r,...f,ref:m,style:{outline:`none`,...e.style},onMouseDown:_(e.onMouseDown,()=>{D.current=!0}),onFocus:_(e.onFocus,e=>{let t=!D.current;if(e.target===e.currentTarget&&t&&!ee){let t=new CustomEvent(k,te);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=E().filter(e=>e.focusable);ce([e.find(e=>e.active),e.find(e=>e.id===b),...e].filter(Boolean).map(e=>e.ref.current),d)}}D.current=!1}),onBlur:_(e.onBlur,()=>S(!1))})})}),L=`RovingFocusGroupItem`,R=w.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=m(),l=a||c,u=F(L,n),d=u.currentTabStopId===l,f=M(n),{onFocusableItemAdd:p,onFocusableItemRemove:h,currentTabStopId:g}=u;return w.useEffect(()=>{if(r)return p(),()=>h()},[r,p,h]),(0,T.jsx)(j.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,T.jsx)(y.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:_(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:_(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:_(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=se(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?le(n,r+1):n.slice(r+1)}setTimeout(()=>ce(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:g!=null}):o})})});R.displayName=L;var ae={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function oe(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function se(e,t,n){let r=oe(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return ae[r]}function ce(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function le(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ue=I,de=R,fe=[`Enter`,` `],pe=[`ArrowDown`,`PageUp`,`Home`],me=[`ArrowUp`,`PageDown`,`End`],he=[...pe,...me],ge={ltr:[...fe,`ArrowRight`],rtl:[...fe,`ArrowLeft`]},_e={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},z=`Menu`,[B,ve,ye]=E(z),[V,be]=r(z,[ye,b,P]),H=b(),xe=P(),[Se,U]=V(z),[Ce,W]=V(z),we=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=H(t),[c,l]=w.useState(null),u=w.useRef(!1),d=g(a),f=O(i);return w.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,T.jsx)(S,{...s,children:(0,T.jsx)(Se,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,T.jsx)(Ce,{scope:t,onClose:w.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};we.displayName=z;var Te=`MenuAnchor`,Ee=w.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=H(n);return(0,T.jsx)(C,{...i,...r,ref:t})});Ee.displayName=Te;var De=`MenuPortal`,[Oe,ke]=V(De,{forceMount:void 0}),Ae=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=U(De,t);return(0,T.jsx)(Oe,{scope:t,forceMount:n,children:(0,T.jsx)(l,{present:n||a.open,children:(0,T.jsx)(u,{asChild:!0,container:i,children:r})})})};Ae.displayName=De;var G=`MenuContent`,[je,Me]=V(G),Ne=w.forwardRef((e,t)=>{let n=ke(G,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=U(G,e.__scopeMenu),o=W(G,e.__scopeMenu);return(0,T.jsx)(B.Provider,{scope:e.__scopeMenu,children:(0,T.jsx)(l,{present:r||a.open,children:(0,T.jsx)(B.Slot,{scope:e.__scopeMenu,children:o.modal?(0,T.jsx)(Pe,{...i,ref:t}):(0,T.jsx)(Fe,{...i,ref:t})})})})}),Pe=w.forwardRef((e,t)=>{let n=U(G,e.__scopeMenu),r=w.useRef(null),a=i(t,r);return w.useEffect(()=>{let e=r.current;if(e)return p(e)},[]),(0,T.jsx)(Le,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:_(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Fe=w.forwardRef((e,t)=>{let n=U(G,e.__scopeMenu);return(0,T.jsx)(Le,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Ie=v(`MenuContent.ScrollLock`),Le=w.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:l,disableOutsidePointerEvents:u,onEntryFocus:p,onEscapeKeyDown:m,onPointerDownOutside:h,onFocusOutside:g,onInteractOutside:v,onDismiss:y,disableOutsideScroll:b,...x}=e,S=U(G,n),C=W(G,n),E=H(n),D=xe(n),O=ve(n),[k,te]=w.useState(null),A=w.useRef(null),j=i(t,A,S.onContentChange),M=w.useRef(0),N=w.useRef(``),ne=w.useRef(0),P=w.useRef(null),re=w.useRef(`right`),F=w.useRef(0),I=b?c:w.Fragment,ie=b?{as:Ie,allowPinchZoom:!0}:void 0,L=e=>{let t=N.current+e,n=O().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=gt(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){N.current=t,window.clearTimeout(M.current),t!==``&&(M.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};w.useEffect(()=>()=>window.clearTimeout(M.current),[]),d();let R=w.useCallback(e=>re.current===P.current?.side&&vt(e,P.current?.area),[]);return(0,T.jsx)(je,{scope:n,searchRef:N,onItemEnter:w.useCallback(e=>{R(e)&&e.preventDefault()},[R]),onItemLeave:w.useCallback(e=>{R(e)||(A.current?.focus(),te(null))},[R]),onTriggerLeave:w.useCallback(e=>{R(e)&&e.preventDefault()},[R]),pointerGraceTimerRef:ne,onPointerGraceIntentChange:w.useCallback(e=>{P.current=e},[]),children:(0,T.jsx)(I,{...ie,children:(0,T.jsx)(f,{asChild:!0,trapped:a,onMountAutoFocus:_(s,e=>{e.preventDefault(),A.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:l,children:(0,T.jsx)(o,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:m,onPointerDownOutside:h,onFocusOutside:g,onInteractOutside:v,onDismiss:y,children:(0,T.jsx)(ue,{asChild:!0,...D,dir:C.dir,orientation:`vertical`,loop:r,currentTabStopId:k,onCurrentTabStopIdChange:te,onEntryFocus:_(p,e=>{C.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,T.jsx)(ee,{role:`menu`,"aria-orientation":`vertical`,"data-state":pt(S.open),"data-radix-menu-content":``,dir:C.dir,...E,...x,ref:j,style:{outline:`none`,...x.style},onKeyDown:_(x.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&L(e.key));let i=A.current;if(e.target!==i||!he.includes(e.key))return;e.preventDefault();let a=O().filter(e=>!e.disabled).map(e=>e.ref.current);me.includes(e.key)&&a.reverse(),mt(a)}),onBlur:_(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(M.current),N.current=``)}),onPointerMove:_(e.onPointerMove,Z(e=>{let t=e.target,n=F.current!==e.clientX;e.currentTarget.contains(t)&&n&&(re.current=e.clientX>F.current?`right`:`left`,F.current=e.clientX)}))})})})})})})});Ne.displayName=G;var Re=`MenuGroup`,ze=w.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,T.jsx)(y.div,{role:`group`,...r,ref:t})});ze.displayName=Re;var Be=`MenuLabel`,Ve=w.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,T.jsx)(y.div,{...r,ref:t})});Ve.displayName=Be;var K=`MenuItem`,He=`menu.itemSelect`,q=w.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...a}=e,o=w.useRef(null),c=W(K,e.__scopeMenu),l=Me(K,e.__scopeMenu),u=i(t,o),d=w.useRef(!1),f=()=>{let e=o.current;if(!n&&e){let t=new CustomEvent(He,{bubbles:!0,cancelable:!0});e.addEventListener(He,e=>r?.(e),{once:!0}),s(e,t),t.defaultPrevented?d.current=!1:c.onClose()}};return(0,T.jsx)(Ue,{...a,ref:u,disabled:n,onClick:_(e.onClick,f),onPointerDown:t=>{e.onPointerDown?.(t),d.current=!0},onPointerUp:_(e.onPointerUp,e=>{d.current||e.currentTarget?.click()}),onKeyDown:_(e.onKeyDown,e=>{let t=l.searchRef.current!==``;n||t&&e.key===` `||fe.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});q.displayName=K;var Ue=w.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:a,...o}=e,s=Me(K,n),c=xe(n),l=w.useRef(null),u=i(t,l),[d,f]=w.useState(!1),[p,m]=w.useState(``);return w.useEffect(()=>{let e=l.current;e&&m((e.textContent??``).trim())},[o.children]),(0,T.jsx)(B.ItemSlot,{scope:n,disabled:r,textValue:a??p,children:(0,T.jsx)(de,{asChild:!0,...c,focusable:!r,children:(0,T.jsx)(y.div,{role:`menuitem`,"data-highlighted":d?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...o,ref:u,onPointerMove:_(e.onPointerMove,Z(e=>{r?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:_(e.onPointerLeave,Z(e=>s.onItemLeave(e))),onFocus:_(e.onFocus,()=>f(!0)),onBlur:_(e.onBlur,()=>f(!1))})})})}),We=`MenuCheckboxItem`,Ge=w.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,T.jsx)($e,{scope:e.__scopeMenu,checked:n,children:(0,T.jsx)(q,{role:`menuitemcheckbox`,"aria-checked":Y(n)?`mixed`:n,...i,ref:t,"data-state":X(n),onSelect:_(i.onSelect,()=>r?.(Y(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Ge.displayName=We;var Ke=`MenuRadioGroup`,[qe,Je]=V(Ke,{value:void 0,onValueChange:()=>{}}),Ye=w.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=g(r);return(0,T.jsx)(qe,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,T.jsx)(ze,{...i,ref:t})})});Ye.displayName=Ke;var Xe=`MenuRadioItem`,Ze=w.forwardRef((e,t)=>{let{value:n,...r}=e,i=Je(Xe,e.__scopeMenu),a=n===i.value;return(0,T.jsx)($e,{scope:e.__scopeMenu,checked:a,children:(0,T.jsx)(q,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":X(a),onSelect:_(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Ze.displayName=Xe;var Qe=`MenuItemIndicator`,[$e,et]=V(Qe,{checked:!1}),tt=w.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=et(Qe,n);return(0,T.jsx)(l,{present:r||Y(a.checked)||a.checked===!0,children:(0,T.jsx)(y.span,{...i,ref:t,"data-state":X(a.checked)})})});tt.displayName=Qe;var nt=`MenuSeparator`,rt=w.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,T.jsx)(y.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});rt.displayName=nt;var it=`MenuArrow`,at=w.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=H(n);return(0,T.jsx)(x,{...i,...r,ref:t})});at.displayName=it;var ot=`MenuSub`,[st,ct]=V(ot),lt=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=U(ot,t),o=H(t),[s,c]=w.useState(null),[l,u]=w.useState(null),d=g(i);return w.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,T.jsx)(S,{...o,children:(0,T.jsx)(Se,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,T.jsx)(st,{scope:t,contentId:m(),triggerId:m(),trigger:s,onTriggerChange:c,children:n})})})};lt.displayName=ot;var J=`MenuSubTrigger`,ut=w.forwardRef((e,t)=>{let n=U(J,e.__scopeMenu),r=W(J,e.__scopeMenu),i=ct(J,e.__scopeMenu),o=Me(J,e.__scopeMenu),s=w.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:l}=o,u={__scopeMenu:e.__scopeMenu},d=w.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return w.useEffect(()=>d,[d]),w.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),l(null)}},[c,l]),(0,T.jsx)(Ee,{asChild:!0,...u,children:(0,T.jsx)(Ue,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":pt(n.open),...e,ref:a(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:_(e.onPointerMove,Z(t=>{o.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!s.current&&(o.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),d()},100))})),onPointerLeave:_(e.onPointerLeave,Z(e=>{d();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,a=i?-5:5,s=t[i?`left`:`right`],l=t[i?`right`:`left`];o.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:s,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.onPointerGraceIntentChange(null),300)}else{if(o.onTriggerLeave(e),e.defaultPrevented)return;o.onPointerGraceIntentChange(null)}})),onKeyDown:_(e.onKeyDown,t=>{let i=o.searchRef.current!==``;e.disabled||i&&t.key===` `||ge[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});ut.displayName=J;var dt=`MenuSubContent`,ft=w.forwardRef((e,t)=>{let n=ke(G,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,o=U(G,e.__scopeMenu),s=W(G,e.__scopeMenu),c=ct(dt,e.__scopeMenu),u=w.useRef(null),d=i(t,u);return(0,T.jsx)(B.Provider,{scope:e.__scopeMenu,children:(0,T.jsx)(l,{present:r||o.open,children:(0,T.jsx)(B.Slot,{scope:e.__scopeMenu,children:(0,T.jsx)(Le,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:d,align:`start`,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&u.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:_(e.onFocusOutside,e=>{e.target!==c.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:_(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:_(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=_e[s.dir].includes(e.key);t&&n&&(o.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});ft.displayName=dt;function pt(e){return e?`open`:`closed`}function Y(e){return e===`indeterminate`}function X(e){return Y(e)?`indeterminate`:e?`checked`:`unchecked`}function mt(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function ht(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function gt(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=ht(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function _t(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function vt(e,t){return t?_t({x:e.clientX,y:e.clientY},t):!1}function Z(e){return t=>t.pointerType===`mouse`?e(t):void 0}var yt=we,bt=Ee,xt=Ae,St=Ne,Ct=ze,wt=Ve,Tt=q,Et=Ge,Dt=Ye,Ot=Ze,kt=tt,At=rt,jt=at,Mt=ut,Nt=ft,Q=`DropdownMenu`,[Pt,Ft]=r(Q,[be]),$=be(),[It,Lt]=Pt(Q),Rt=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=$(t),l=w.useRef(null),[u,d]=h({prop:i,defaultProp:a??!1,onChange:o,caller:Q});return(0,T.jsx)(It,{scope:t,triggerId:m(),triggerRef:l,contentId:m(),open:u,onOpenChange:d,onOpenToggle:w.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,T.jsx)(yt,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};Rt.displayName=Q;var zt=`DropdownMenuTrigger`,Bt=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,o=Lt(zt,n),s=$(n);return(0,T.jsx)(bt,{asChild:!0,...s,children:(0,T.jsx)(y.button,{type:`button`,id:o.triggerId,"aria-haspopup":`menu`,"aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":o.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:a(t,o.triggerRef),onPointerDown:_(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(o.onOpenToggle(),o.open||e.preventDefault())}),onKeyDown:_(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&o.onOpenToggle(),e.key===`ArrowDown`&&o.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});Bt.displayName=zt;var Vt=`DropdownMenuPortal`,Ht=e=>{let{__scopeDropdownMenu:t,...n}=e,r=$(t);return(0,T.jsx)(xt,{...r,...n})};Ht.displayName=Vt;var Ut=`DropdownMenuContent`,Wt=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Lt(Ut,n),a=$(n),o=w.useRef(!1);return(0,T.jsx)(St,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:_(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:_(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Wt.displayName=Ut;var Gt=`DropdownMenuGroup`,Kt=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Ct,{...i,...r,ref:t})});Kt.displayName=Gt;var qt=`DropdownMenuLabel`,Jt=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(wt,{...i,...r,ref:t})});Jt.displayName=qt;var Yt=`DropdownMenuItem`,Xt=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Tt,{...i,...r,ref:t})});Xt.displayName=Yt;var Zt=`DropdownMenuCheckboxItem`,Qt=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Et,{...i,...r,ref:t})});Qt.displayName=Zt;var $t=`DropdownMenuRadioGroup`,en=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Dt,{...i,...r,ref:t})});en.displayName=$t;var tn=`DropdownMenuRadioItem`,nn=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Ot,{...i,...r,ref:t})});nn.displayName=tn;var rn=`DropdownMenuItemIndicator`,an=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(kt,{...i,...r,ref:t})});an.displayName=rn;var on=`DropdownMenuSeparator`,sn=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(At,{...i,...r,ref:t})});sn.displayName=on;var cn=`DropdownMenuArrow`,ln=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(jt,{...i,...r,ref:t})});ln.displayName=cn;var un=`DropdownMenuSubTrigger`,dn=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Mt,{...i,...r,ref:t})});dn.displayName=un;var fn=`DropdownMenuSubContent`,pn=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Nt,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});pn.displayName=fn;var mn=Rt,hn=Bt,gn=Ht,_n=Wt,vn=Xt;export{hn as a,mn as i,vn as n,gn as r,_n as t};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{C as r,E as i,T as a,_ as o,b as s,c,d as l,f as u,g as d,h as f,l as p,p as m,u as h,v as g,w as _,x as v,y}from"./dist-BTWC-BTN.js";import{Fn as b,In as x,Ln as ee,Rn as S,zn as C}from"./index-BmVYculr.js";var w=e(t(),1),T=n();function E(e){let t=e+`CollectionProvider`,[n,a]=r(t),[o,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),c=e=>{let{scope:t,children:n}=e,r=w.useRef(null),i=w.useRef(new Map).current;return(0,T.jsx)(o,{scope:t,itemMap:i,collectionRef:r,children:n})};c.displayName=t;let l=e+`CollectionSlot`,u=v(l),d=w.forwardRef((e,t)=>{let{scope:n,children:r}=e;return(0,T.jsx)(u,{ref:i(t,s(l,n).collectionRef),children:r})});d.displayName=l;let f=e+`CollectionItemSlot`,p=`data-radix-collection-item`,m=v(f),h=w.forwardRef((e,t)=>{let{scope:n,children:r,...a}=e,o=w.useRef(null),c=i(t,o),l=s(f,n);return w.useEffect(()=>(l.itemMap.set(o,{ref:o,...a}),()=>void l.itemMap.delete(o))),(0,T.jsx)(m,{[p]:``,ref:c,children:r})});h.displayName=f;function g(t){let n=s(e+`CollectionConsumer`,t);return w.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${p}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return[{Provider:c,Slot:d,ItemSlot:h},g,a]}var D=w.createContext(void 0);function O(e){let t=w.useContext(D);return e||t||`ltr`}var k=`rovingFocusGroup.onEntryFocus`,te={bubbles:!1,cancelable:!0},A=`RovingFocusGroup`,[j,M,N]=E(A),[ne,P]=r(A,[N]),[re,F]=ne(A),I=w.forwardRef((e,t)=>(0,T.jsx)(j.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,T.jsx)(j.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,T.jsx)(ie,{...e,ref:t})})}));I.displayName=A;var ie=w.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:a=!1,dir:o,currentTabStopId:s,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:l,onEntryFocus:u,preventScrollOnEntryFocus:d=!1,...f}=e,p=w.useRef(null),m=i(t,p),v=O(o),[b,x]=h({prop:s,defaultProp:c??null,onChange:l,caller:A}),[ee,S]=w.useState(!1),C=g(u),E=M(n),D=w.useRef(!1),[j,N]=w.useState(0);return w.useEffect(()=>{let e=p.current;if(e)return e.addEventListener(k,C),()=>e.removeEventListener(k,C)},[C]),(0,T.jsx)(re,{scope:n,orientation:r,dir:v,loop:a,currentTabStopId:b,onItemFocus:w.useCallback(e=>x(e),[x]),onItemShiftTab:w.useCallback(()=>S(!0),[]),onFocusableItemAdd:w.useCallback(()=>N(e=>e+1),[]),onFocusableItemRemove:w.useCallback(()=>N(e=>e-1),[]),children:(0,T.jsx)(y.div,{tabIndex:ee||j===0?-1:0,"data-orientation":r,...f,ref:m,style:{outline:`none`,...e.style},onMouseDown:_(e.onMouseDown,()=>{D.current=!0}),onFocus:_(e.onFocus,e=>{let t=!D.current;if(e.target===e.currentTarget&&t&&!ee){let t=new CustomEvent(k,te);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=E().filter(e=>e.focusable);ce([e.find(e=>e.active),e.find(e=>e.id===b),...e].filter(Boolean).map(e=>e.ref.current),d)}}D.current=!1}),onBlur:_(e.onBlur,()=>S(!1))})})}),L=`RovingFocusGroupItem`,R=w.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=m(),l=a||c,u=F(L,n),d=u.currentTabStopId===l,f=M(n),{onFocusableItemAdd:p,onFocusableItemRemove:h,currentTabStopId:g}=u;return w.useEffect(()=>{if(r)return p(),()=>h()},[r,p,h]),(0,T.jsx)(j.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,T.jsx)(y.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:_(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:_(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:_(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=se(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?le(n,r+1):n.slice(r+1)}setTimeout(()=>ce(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:g!=null}):o})})});R.displayName=L;var ae={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function oe(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function se(e,t,n){let r=oe(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return ae[r]}function ce(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function le(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ue=I,de=R,fe=[`Enter`,` `],pe=[`ArrowDown`,`PageUp`,`Home`],me=[`ArrowUp`,`PageDown`,`End`],he=[...pe,...me],ge={ltr:[...fe,`ArrowRight`],rtl:[...fe,`ArrowLeft`]},_e={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},z=`Menu`,[B,ve,ye]=E(z),[V,be]=r(z,[ye,C,P]),H=C(),xe=P(),[Se,U]=V(z),[Ce,W]=V(z),we=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=H(t),[c,l]=w.useState(null),u=w.useRef(!1),d=g(a),f=O(i);return w.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener(`pointerdown`,t,{capture:!0,once:!0}),document.addEventListener(`pointermove`,t,{capture:!0,once:!0})},t=()=>u.current=!1;return document.addEventListener(`keydown`,e,{capture:!0}),()=>{document.removeEventListener(`keydown`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,{capture:!0}),document.removeEventListener(`pointermove`,t,{capture:!0})}},[]),(0,T.jsx)(S,{...s,children:(0,T.jsx)(Se,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,T.jsx)(Ce,{scope:t,onClose:w.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};we.displayName=z;var Te=`MenuAnchor`,Ee=w.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=H(n);return(0,T.jsx)(b,{...i,...r,ref:t})});Ee.displayName=Te;var De=`MenuPortal`,[Oe,ke]=V(De,{forceMount:void 0}),Ae=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=U(De,t);return(0,T.jsx)(Oe,{scope:t,forceMount:n,children:(0,T.jsx)(l,{present:n||a.open,children:(0,T.jsx)(u,{asChild:!0,container:i,children:r})})})};Ae.displayName=De;var G=`MenuContent`,[je,Me]=V(G),Ne=w.forwardRef((e,t)=>{let n=ke(G,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=U(G,e.__scopeMenu),o=W(G,e.__scopeMenu);return(0,T.jsx)(B.Provider,{scope:e.__scopeMenu,children:(0,T.jsx)(l,{present:r||a.open,children:(0,T.jsx)(B.Slot,{scope:e.__scopeMenu,children:o.modal?(0,T.jsx)(Pe,{...i,ref:t}):(0,T.jsx)(Fe,{...i,ref:t})})})})}),Pe=w.forwardRef((e,t)=>{let n=U(G,e.__scopeMenu),r=w.useRef(null),a=i(t,r);return w.useEffect(()=>{let e=r.current;if(e)return p(e)},[]),(0,T.jsx)(Le,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:_(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Fe=w.forwardRef((e,t)=>{let n=U(G,e.__scopeMenu);return(0,T.jsx)(Le,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Ie=v(`MenuContent.ScrollLock`),Le=w.forwardRef((e,t)=>{let{__scopeMenu:n,loop:r=!1,trapFocus:a,onOpenAutoFocus:s,onCloseAutoFocus:l,disableOutsidePointerEvents:u,onEntryFocus:p,onEscapeKeyDown:m,onPointerDownOutside:h,onFocusOutside:g,onInteractOutside:v,onDismiss:y,disableOutsideScroll:b,...x}=e,S=U(G,n),C=W(G,n),E=H(n),D=xe(n),O=ve(n),[k,te]=w.useState(null),A=w.useRef(null),j=i(t,A,S.onContentChange),M=w.useRef(0),N=w.useRef(``),ne=w.useRef(0),P=w.useRef(null),re=w.useRef(`right`),F=w.useRef(0),I=b?c:w.Fragment,ie=b?{as:Ie,allowPinchZoom:!0}:void 0,L=e=>{let t=N.current+e,n=O().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=gt(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){N.current=t,window.clearTimeout(M.current),t!==``&&(M.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};w.useEffect(()=>()=>window.clearTimeout(M.current),[]),d();let R=w.useCallback(e=>re.current===P.current?.side&&vt(e,P.current?.area),[]);return(0,T.jsx)(je,{scope:n,searchRef:N,onItemEnter:w.useCallback(e=>{R(e)&&e.preventDefault()},[R]),onItemLeave:w.useCallback(e=>{R(e)||(A.current?.focus(),te(null))},[R]),onTriggerLeave:w.useCallback(e=>{R(e)&&e.preventDefault()},[R]),pointerGraceTimerRef:ne,onPointerGraceIntentChange:w.useCallback(e=>{P.current=e},[]),children:(0,T.jsx)(I,{...ie,children:(0,T.jsx)(f,{asChild:!0,trapped:a,onMountAutoFocus:_(s,e=>{e.preventDefault(),A.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:l,children:(0,T.jsx)(o,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:m,onPointerDownOutside:h,onFocusOutside:g,onInteractOutside:v,onDismiss:y,children:(0,T.jsx)(ue,{asChild:!0,...D,dir:C.dir,orientation:`vertical`,loop:r,currentTabStopId:k,onCurrentTabStopIdChange:te,onEntryFocus:_(p,e=>{C.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,T.jsx)(ee,{role:`menu`,"aria-orientation":`vertical`,"data-state":pt(S.open),"data-radix-menu-content":``,dir:C.dir,...E,...x,ref:j,style:{outline:`none`,...x.style},onKeyDown:_(x.onKeyDown,e=>{let t=e.target.closest(`[data-radix-menu-content]`)===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=e.key.length===1;t&&(e.key===`Tab`&&e.preventDefault(),!n&&r&&L(e.key));let i=A.current;if(e.target!==i||!he.includes(e.key))return;e.preventDefault();let a=O().filter(e=>!e.disabled).map(e=>e.ref.current);me.includes(e.key)&&a.reverse(),mt(a)}),onBlur:_(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(M.current),N.current=``)}),onPointerMove:_(e.onPointerMove,Z(e=>{let t=e.target,n=F.current!==e.clientX;e.currentTarget.contains(t)&&n&&(re.current=e.clientX>F.current?`right`:`left`,F.current=e.clientX)}))})})})})})})});Ne.displayName=G;var Re=`MenuGroup`,ze=w.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,T.jsx)(y.div,{role:`group`,...r,ref:t})});ze.displayName=Re;var Be=`MenuLabel`,Ve=w.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,T.jsx)(y.div,{...r,ref:t})});Ve.displayName=Be;var K=`MenuItem`,He=`menu.itemSelect`,q=w.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...a}=e,o=w.useRef(null),c=W(K,e.__scopeMenu),l=Me(K,e.__scopeMenu),u=i(t,o),d=w.useRef(!1),f=()=>{let e=o.current;if(!n&&e){let t=new CustomEvent(He,{bubbles:!0,cancelable:!0});e.addEventListener(He,e=>r?.(e),{once:!0}),s(e,t),t.defaultPrevented?d.current=!1:c.onClose()}};return(0,T.jsx)(Ue,{...a,ref:u,disabled:n,onClick:_(e.onClick,f),onPointerDown:t=>{e.onPointerDown?.(t),d.current=!0},onPointerUp:_(e.onPointerUp,e=>{d.current||e.currentTarget?.click()}),onKeyDown:_(e.onKeyDown,e=>{let t=l.searchRef.current!==``;n||t&&e.key===` `||fe.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});q.displayName=K;var Ue=w.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:a,...o}=e,s=Me(K,n),c=xe(n),l=w.useRef(null),u=i(t,l),[d,f]=w.useState(!1),[p,m]=w.useState(``);return w.useEffect(()=>{let e=l.current;e&&m((e.textContent??``).trim())},[o.children]),(0,T.jsx)(B.ItemSlot,{scope:n,disabled:r,textValue:a??p,children:(0,T.jsx)(de,{asChild:!0,...c,focusable:!r,children:(0,T.jsx)(y.div,{role:`menuitem`,"data-highlighted":d?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...o,ref:u,onPointerMove:_(e.onPointerMove,Z(e=>{r?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:_(e.onPointerLeave,Z(e=>s.onItemLeave(e))),onFocus:_(e.onFocus,()=>f(!0)),onBlur:_(e.onBlur,()=>f(!1))})})})}),We=`MenuCheckboxItem`,Ge=w.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,T.jsx)($e,{scope:e.__scopeMenu,checked:n,children:(0,T.jsx)(q,{role:`menuitemcheckbox`,"aria-checked":Y(n)?`mixed`:n,...i,ref:t,"data-state":X(n),onSelect:_(i.onSelect,()=>r?.(Y(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Ge.displayName=We;var Ke=`MenuRadioGroup`,[qe,Je]=V(Ke,{value:void 0,onValueChange:()=>{}}),Ye=w.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=g(r);return(0,T.jsx)(qe,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,T.jsx)(ze,{...i,ref:t})})});Ye.displayName=Ke;var Xe=`MenuRadioItem`,Ze=w.forwardRef((e,t)=>{let{value:n,...r}=e,i=Je(Xe,e.__scopeMenu),a=n===i.value;return(0,T.jsx)($e,{scope:e.__scopeMenu,checked:a,children:(0,T.jsx)(q,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":X(a),onSelect:_(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Ze.displayName=Xe;var Qe=`MenuItemIndicator`,[$e,et]=V(Qe,{checked:!1}),tt=w.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=et(Qe,n);return(0,T.jsx)(l,{present:r||Y(a.checked)||a.checked===!0,children:(0,T.jsx)(y.span,{...i,ref:t,"data-state":X(a.checked)})})});tt.displayName=Qe;var nt=`MenuSeparator`,rt=w.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,T.jsx)(y.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});rt.displayName=nt;var it=`MenuArrow`,at=w.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=H(n);return(0,T.jsx)(x,{...i,...r,ref:t})});at.displayName=it;var ot=`MenuSub`,[st,ct]=V(ot),lt=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=U(ot,t),o=H(t),[s,c]=w.useState(null),[l,u]=w.useState(null),d=g(i);return w.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,T.jsx)(S,{...o,children:(0,T.jsx)(Se,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,T.jsx)(st,{scope:t,contentId:m(),triggerId:m(),trigger:s,onTriggerChange:c,children:n})})})};lt.displayName=ot;var J=`MenuSubTrigger`,ut=w.forwardRef((e,t)=>{let n=U(J,e.__scopeMenu),r=W(J,e.__scopeMenu),i=ct(J,e.__scopeMenu),o=Me(J,e.__scopeMenu),s=w.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:l}=o,u={__scopeMenu:e.__scopeMenu},d=w.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return w.useEffect(()=>d,[d]),w.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),l(null)}},[c,l]),(0,T.jsx)(Ee,{asChild:!0,...u,children:(0,T.jsx)(Ue,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":pt(n.open),...e,ref:a(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:_(e.onPointerMove,Z(t=>{o.onItemEnter(t),!t.defaultPrevented&&!e.disabled&&!n.open&&!s.current&&(o.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{n.onOpenChange(!0),d()},100))})),onPointerLeave:_(e.onPointerLeave,Z(e=>{d();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,i=r===`right`,a=i?-5:5,s=t[i?`left`:`right`],l=t[i?`right`:`left`];o.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:s,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.onPointerGraceIntentChange(null),300)}else{if(o.onTriggerLeave(e),e.defaultPrevented)return;o.onPointerGraceIntentChange(null)}})),onKeyDown:_(e.onKeyDown,t=>{let i=o.searchRef.current!==``;e.disabled||i&&t.key===` `||ge[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});ut.displayName=J;var dt=`MenuSubContent`,ft=w.forwardRef((e,t)=>{let n=ke(G,e.__scopeMenu),{forceMount:r=n.forceMount,...a}=e,o=U(G,e.__scopeMenu),s=W(G,e.__scopeMenu),c=ct(dt,e.__scopeMenu),u=w.useRef(null),d=i(t,u);return(0,T.jsx)(B.Provider,{scope:e.__scopeMenu,children:(0,T.jsx)(l,{present:r||o.open,children:(0,T.jsx)(B.Slot,{scope:e.__scopeMenu,children:(0,T.jsx)(Le,{id:c.contentId,"aria-labelledby":c.triggerId,...a,ref:d,align:`start`,side:s.dir===`rtl`?`left`:`right`,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&u.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:_(e.onFocusOutside,e=>{e.target!==c.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:_(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:_(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=_e[s.dir].includes(e.key);t&&n&&(o.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});ft.displayName=dt;function pt(e){return e?`open`:`closed`}function Y(e){return e===`indeterminate`}function X(e){return Y(e)?`indeterminate`:e?`checked`:`unchecked`}function mt(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function ht(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function gt(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=ht(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function _t(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function vt(e,t){return t?_t({x:e.clientX,y:e.clientY},t):!1}function Z(e){return t=>t.pointerType===`mouse`?e(t):void 0}var yt=we,bt=Ee,xt=Ae,St=Ne,Ct=ze,wt=Ve,Tt=q,Et=Ge,Dt=Ye,Ot=Ze,kt=tt,At=rt,jt=at,Mt=ut,Nt=ft,Q=`DropdownMenu`,[Pt,Ft]=r(Q,[be]),$=be(),[It,Lt]=Pt(Q),Rt=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=$(t),l=w.useRef(null),[u,d]=h({prop:i,defaultProp:a??!1,onChange:o,caller:Q});return(0,T.jsx)(It,{scope:t,triggerId:m(),triggerRef:l,contentId:m(),open:u,onOpenChange:d,onOpenToggle:w.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,T.jsx)(yt,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};Rt.displayName=Q;var zt=`DropdownMenuTrigger`,Bt=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,o=Lt(zt,n),s=$(n);return(0,T.jsx)(bt,{asChild:!0,...s,children:(0,T.jsx)(y.button,{type:`button`,id:o.triggerId,"aria-haspopup":`menu`,"aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":o.open?`open`:`closed`,"data-disabled":r?``:void 0,disabled:r,...i,ref:a(t,o.triggerRef),onPointerDown:_(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(o.onOpenToggle(),o.open||e.preventDefault())}),onKeyDown:_(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&o.onOpenToggle(),e.key===`ArrowDown`&&o.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});Bt.displayName=zt;var Vt=`DropdownMenuPortal`,Ht=e=>{let{__scopeDropdownMenu:t,...n}=e,r=$(t);return(0,T.jsx)(xt,{...r,...n})};Ht.displayName=Vt;var Ut=`DropdownMenuContent`,Wt=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=Lt(Ut,n),a=$(n),o=w.useRef(!1);return(0,T.jsx)(St,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:_(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:_(e.onInteractOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;(!i.modal||r)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});Wt.displayName=Ut;var Gt=`DropdownMenuGroup`,Kt=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Ct,{...i,...r,ref:t})});Kt.displayName=Gt;var qt=`DropdownMenuLabel`,Jt=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(wt,{...i,...r,ref:t})});Jt.displayName=qt;var Yt=`DropdownMenuItem`,Xt=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Tt,{...i,...r,ref:t})});Xt.displayName=Yt;var Zt=`DropdownMenuCheckboxItem`,Qt=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Et,{...i,...r,ref:t})});Qt.displayName=Zt;var $t=`DropdownMenuRadioGroup`,en=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Dt,{...i,...r,ref:t})});en.displayName=$t;var tn=`DropdownMenuRadioItem`,nn=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Ot,{...i,...r,ref:t})});nn.displayName=tn;var rn=`DropdownMenuItemIndicator`,an=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(kt,{...i,...r,ref:t})});an.displayName=rn;var on=`DropdownMenuSeparator`,sn=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(At,{...i,...r,ref:t})});sn.displayName=on;var cn=`DropdownMenuArrow`,ln=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(jt,{...i,...r,ref:t})});ln.displayName=cn;var un=`DropdownMenuSubTrigger`,dn=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Mt,{...i,...r,ref:t})});dn.displayName=un;var fn=`DropdownMenuSubContent`,pn=w.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=$(n);return(0,T.jsx)(Nt,{...i,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-dropdown-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-dropdown-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-dropdown-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-dropdown-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});pn.displayName=fn;var mn=Rt,hn=Bt,gn=Ht,_n=Wt,vn=Xt;export{hn as a,mn as i,vn as n,gn as r,_n as t};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{Sn as i,ea as a}from"./index-0Gt3TG4j.js";var o=n(),s=e(t(),1),c=r(),l=`xopc.extensionUiGrants.v1`;function u(){let e=(0,o.c)(79),{t}=a(),n=i(),[r,l]=(0,s.useState)(p),u;e[0]===n?u=e[1]:(u=n.toSorted(f),e[0]=n,e[1]=u);let h=u,g;e[2]===t?g=e[3]:(g=t(`extensionDebug.title`),e[2]=t,e[3]=g);let _;e[4]===g?_=e[5]:(_=(0,c.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:g}),e[4]=g,e[5]=_);let v;e[6]===t?v=e[7]:(v=t(`extensionDebug.subtitle`),e[6]=t,e[7]=v);let y;e[8]===v?y=e[9]:(y=(0,c.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:v}),e[8]=v,e[9]=y);let b;e[10]!==_||e[11]!==y?(b=(0,c.jsxs)(`div`,{children:[_,y]}),e[10]=_,e[11]=y,e[12]=b):b=e[12];let x;e[13]===t?x=e[14]:(x=t(`extensionDebug.grantsHeading`),e[13]=t,e[14]=x);let S;e[15]===x?S=e[16]:(S=(0,c.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:x}),e[15]=x,e[16]=S);let C;e[17]===t?C=e[18]:(C=t(`extensionDebug.grantsHint`),e[17]=t,e[18]=C);let w;e[19]===C?w=e[20]:(w=(0,c.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:C}),e[19]=C,e[20]=w);let T;e[21]===r?T=e[22]:(T=(0,c.jsx)(`pre`,{className:`mt-3 max-h-48 overflow-auto rounded-lg border border-edge-subtle bg-surface-muted p-3 font-mono text-xs text-fg`,children:r}),e[21]=r,e[22]=T);let E;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>l(m()),e[23]=E):E=e[23];let D;e[24]===t?D=e[25]:(D=t(`extensionDebug.refresh`),e[24]=t,e[25]=D);let O;e[26]===D?O=e[27]:(O=(0,c.jsx)(`button`,{type:`button`,className:`mt-3 rounded-lg border border-edge px-3 py-1.5 text-xs font-medium text-fg hover:bg-surface-hover`,onClick:E,children:D}),e[26]=D,e[27]=O);let k;e[28]!==T||e[29]!==O||e[30]!==S||e[31]!==w?(k=(0,c.jsxs)(`section`,{className:`rounded-xl border border-edge bg-surface-base p-4`,children:[S,w,T,O]}),e[28]=T,e[29]=O,e[30]=S,e[31]=w,e[32]=k):k=e[32];let A;e[33]===t?A=e[34]:(A=t(`extensionDebug.listHeading`),e[33]=t,e[34]=A);let j;e[35]===A?j=e[36]:(j=(0,c.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:A}),e[35]=A,e[36]=j);let M;e[37]===t?M=e[38]:(M=t(`extensionDebug.colId`),e[37]=t,e[38]=M);let N;e[39]===M?N=e[40]:(N=(0,c.jsx)(`th`,{className:`py-2 pr-2`,children:M}),e[39]=M,e[40]=N);let P;e[41]===t?P=e[42]:(P=t(`extensionDebug.colName`),e[41]=t,e[42]=P);let F;e[43]===P?F=e[44]:(F=(0,c.jsx)(`th`,{className:`py-2 pr-2`,children:P}),e[43]=P,e[44]=F);let I;e[45]===t?I=e[46]:(I=t(`extensionDebug.colPermissions`),e[45]=t,e[46]=I);let L;e[47]===I?L=e[48]:(L=(0,c.jsx)(`th`,{className:`py-2`,children:I}),e[47]=I,e[48]=L);let R;e[49]!==N||e[50]!==F||e[51]!==L?(R=(0,c.jsx)(`thead`,{children:(0,c.jsxs)(`tr`,{className:`border-b border-edge text-xs uppercase text-fg-muted`,children:[N,F,L]})}),e[49]=N,e[50]=F,e[51]=L,e[52]=R):R=e[52];let z;e[53]===h?z=e[54]:(z=h.map(d),e[53]=h,e[54]=z);let B;e[55]===z?B=e[56]:(B=(0,c.jsx)(`tbody`,{children:z}),e[55]=z,e[56]=B);let V;e[57]!==R||e[58]!==B?(V=(0,c.jsx)(`div`,{className:`mt-3 overflow-x-auto`,children:(0,c.jsxs)(`table`,{className:`w-full min-w-[32rem] border-collapse text-left text-sm`,children:[R,B]})}),e[57]=R,e[58]=B,e[59]=V):V=e[59];let H;e[60]!==j||e[61]!==V?(H=(0,c.jsxs)(`section`,{className:`rounded-xl border border-edge bg-surface-base p-4`,children:[j,V]}),e[60]=j,e[61]=V,e[62]=H):H=e[62];let U;e[63]===t?U=e[64]:(U=t(`extensionDebug.futureHeading`),e[63]=t,e[64]=U);let W;e[65]===U?W=e[66]:(W=(0,c.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:U}),e[65]=U,e[66]=W);let G;e[67]===t?G=e[68]:(G=t(`extensionDebug.futureBody`),e[67]=t,e[68]=G);let K;e[69]===G?K=e[70]:(K=(0,c.jsx)(`p`,{className:`mt-2`,children:G}),e[69]=G,e[70]=K);let q;e[71]!==W||e[72]!==K?(q=(0,c.jsxs)(`section`,{className:`rounded-xl border border-dashed border-edge-subtle bg-surface-muted/50 p-4 text-sm text-fg-muted`,children:[W,K]}),e[71]=W,e[72]=K,e[73]=q):q=e[73];let J;return e[74]!==k||e[75]!==H||e[76]!==q||e[77]!==b?(J=(0,c.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-6 px-4 py-8`,children:[b,k,H,q]}),e[74]=k,e[75]=H,e[76]=q,e[77]=b,e[78]=J):J=e[78],J}function d(e){return(0,c.jsxs)(`tr`,{className:`border-b border-edge-subtle`,children:[(0,c.jsx)(`td`,{className:`py-2 pr-2 font-mono text-xs text-fg`,children:e.id}),(0,c.jsx)(`td`,{className:`py-2 pr-2 text-fg`,children:e.name}),(0,c.jsx)(`td`,{className:`py-2 font-mono text-xs text-fg-muted`,children:(e.ui?.permissions??[]).join(`, `)||`—`})]},e.id)}function f(e,t){return e.id.localeCompare(t.id)}function p(){return m()}function m(){try{let e=localStorage.getItem(l);if(!e)return`{}`;let t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(e){return e instanceof Error?e.message:String(e)}}export{u as ExtensionDebugPage};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{fa as i,wn as a}from"./index-BmVYculr.js";var o=n(),s=e(t(),1),c=r(),l=`xopc.extensionUiGrants.v1`;function u(){let e=(0,o.c)(79),{t}=i(),n=a(),[r,l]=(0,s.useState)(p),u;e[0]===n?u=e[1]:(u=n.toSorted(f),e[0]=n,e[1]=u);let h=u,g;e[2]===t?g=e[3]:(g=t(`extensionDebug.title`),e[2]=t,e[3]=g);let _;e[4]===g?_=e[5]:(_=(0,c.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:g}),e[4]=g,e[5]=_);let v;e[6]===t?v=e[7]:(v=t(`extensionDebug.subtitle`),e[6]=t,e[7]=v);let y;e[8]===v?y=e[9]:(y=(0,c.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:v}),e[8]=v,e[9]=y);let b;e[10]!==_||e[11]!==y?(b=(0,c.jsxs)(`div`,{children:[_,y]}),e[10]=_,e[11]=y,e[12]=b):b=e[12];let x;e[13]===t?x=e[14]:(x=t(`extensionDebug.grantsHeading`),e[13]=t,e[14]=x);let S;e[15]===x?S=e[16]:(S=(0,c.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:x}),e[15]=x,e[16]=S);let C;e[17]===t?C=e[18]:(C=t(`extensionDebug.grantsHint`),e[17]=t,e[18]=C);let w;e[19]===C?w=e[20]:(w=(0,c.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:C}),e[19]=C,e[20]=w);let T;e[21]===r?T=e[22]:(T=(0,c.jsx)(`pre`,{className:`mt-3 max-h-48 overflow-auto rounded-lg border border-edge-subtle bg-surface-muted p-3 font-mono text-xs text-fg`,children:r}),e[21]=r,e[22]=T);let E;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>l(m()),e[23]=E):E=e[23];let D;e[24]===t?D=e[25]:(D=t(`extensionDebug.refresh`),e[24]=t,e[25]=D);let O;e[26]===D?O=e[27]:(O=(0,c.jsx)(`button`,{type:`button`,className:`mt-3 rounded-lg border border-edge px-3 py-1.5 text-xs font-medium text-fg hover:bg-surface-hover`,onClick:E,children:D}),e[26]=D,e[27]=O);let k;e[28]!==T||e[29]!==O||e[30]!==S||e[31]!==w?(k=(0,c.jsxs)(`section`,{className:`rounded-xl border border-edge bg-surface-base p-4`,children:[S,w,T,O]}),e[28]=T,e[29]=O,e[30]=S,e[31]=w,e[32]=k):k=e[32];let A;e[33]===t?A=e[34]:(A=t(`extensionDebug.listHeading`),e[33]=t,e[34]=A);let j;e[35]===A?j=e[36]:(j=(0,c.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:A}),e[35]=A,e[36]=j);let M;e[37]===t?M=e[38]:(M=t(`extensionDebug.colId`),e[37]=t,e[38]=M);let N;e[39]===M?N=e[40]:(N=(0,c.jsx)(`th`,{className:`py-2 pr-2`,children:M}),e[39]=M,e[40]=N);let P;e[41]===t?P=e[42]:(P=t(`extensionDebug.colName`),e[41]=t,e[42]=P);let F;e[43]===P?F=e[44]:(F=(0,c.jsx)(`th`,{className:`py-2 pr-2`,children:P}),e[43]=P,e[44]=F);let I;e[45]===t?I=e[46]:(I=t(`extensionDebug.colPermissions`),e[45]=t,e[46]=I);let L;e[47]===I?L=e[48]:(L=(0,c.jsx)(`th`,{className:`py-2`,children:I}),e[47]=I,e[48]=L);let R;e[49]!==N||e[50]!==F||e[51]!==L?(R=(0,c.jsx)(`thead`,{children:(0,c.jsxs)(`tr`,{className:`border-b border-edge text-xs uppercase text-fg-muted`,children:[N,F,L]})}),e[49]=N,e[50]=F,e[51]=L,e[52]=R):R=e[52];let z;e[53]===h?z=e[54]:(z=h.map(d),e[53]=h,e[54]=z);let B;e[55]===z?B=e[56]:(B=(0,c.jsx)(`tbody`,{children:z}),e[55]=z,e[56]=B);let V;e[57]!==R||e[58]!==B?(V=(0,c.jsx)(`div`,{className:`mt-3 overflow-x-auto`,children:(0,c.jsxs)(`table`,{className:`w-full min-w-[32rem] border-collapse text-left text-sm`,children:[R,B]})}),e[57]=R,e[58]=B,e[59]=V):V=e[59];let H;e[60]!==j||e[61]!==V?(H=(0,c.jsxs)(`section`,{className:`rounded-xl border border-edge bg-surface-base p-4`,children:[j,V]}),e[60]=j,e[61]=V,e[62]=H):H=e[62];let U;e[63]===t?U=e[64]:(U=t(`extensionDebug.futureHeading`),e[63]=t,e[64]=U);let W;e[65]===U?W=e[66]:(W=(0,c.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:U}),e[65]=U,e[66]=W);let G;e[67]===t?G=e[68]:(G=t(`extensionDebug.futureBody`),e[67]=t,e[68]=G);let K;e[69]===G?K=e[70]:(K=(0,c.jsx)(`p`,{className:`mt-2`,children:G}),e[69]=G,e[70]=K);let q;e[71]!==W||e[72]!==K?(q=(0,c.jsxs)(`section`,{className:`rounded-xl border border-dashed border-edge-subtle bg-surface-muted/50 p-4 text-sm text-fg-muted`,children:[W,K]}),e[71]=W,e[72]=K,e[73]=q):q=e[73];let J;return e[74]!==k||e[75]!==H||e[76]!==q||e[77]!==b?(J=(0,c.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-6 px-4 py-8`,children:[b,k,H,q]}),e[74]=k,e[75]=H,e[76]=q,e[77]=b,e[78]=J):J=e[78],J}function d(e){return(0,c.jsxs)(`tr`,{className:`border-b border-edge-subtle`,children:[(0,c.jsx)(`td`,{className:`py-2 pr-2 font-mono text-xs text-fg`,children:e.id}),(0,c.jsx)(`td`,{className:`py-2 pr-2 text-fg`,children:e.name}),(0,c.jsx)(`td`,{className:`py-2 font-mono text-xs text-fg-muted`,children:(e.ui?.permissions??[]).join(`, `)||`—`})]},e.id)}function f(e,t){return e.id.localeCompare(t.id)}function p(){return m()}function m(){try{let e=localStorage.getItem(l);if(!e)return`{}`;let t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(e){return e instanceof Error?e.message:String(e)}}export{u as ExtensionDebugPage};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{Bn as i,Dn as a,n as o,ua as s,wn as c}from"./index-BmVYculr.js";var l=n(),u=e(t(),1),d=r();function f(){let e=(0,l.c)(26),{extensionId:t,pageId:n}=s(),r=c(),f=i(m),g=i(p),_,v,y;e[0]!==t||e[1]!==r||e[2]!==n?(_=t?r.find(e=>e.id===t&&a(e)):void 0,v=_?.ui?.contributions?.pages,y=t&&v?.length?n?v.find(e=>e.id===n||e.id===`${t}.${n}`):v[0]:void 0,e[0]=t,e[1]=r,e[2]=n,e[3]=_,e[4]=v,e[5]=y):(_=e[3],v=e[4],y=e[5]);let b=y,x,S;if(e[6]!==g||e[7]!==_||e[8]!==t||e[9]!==b||e[10]!==f?(x=()=>{if(!t||!_||!b)return g(),()=>g();let e=b.title?.trim()||_.name||t;return f({startExtra:null,main:(0,d.jsx)(`div`,{className:`w-full min-w-0 px-3 sm:px-5 xl:px-6`,children:(0,d.jsx)(`h1`,{className:`min-w-0 truncate text-base font-semibold tracking-tight text-fg`,title:e,children:e})}),end:null}),()=>g()},S=[g,_,t,b,f],e[6]=g,e[7]=_,e[8]=t,e[9]=b,e[10]=f,e[11]=x,e[12]=S):(x=e[11],S=e[12]),(0,u.useLayoutEffect)(x,S),!t){let t;return e[13]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,d.jsx)(h,{message:`No extension ID provided.`}),e[13]=t):t=e[13],t}if(!_){let n=`Extension "${t}" not found or has no UI.`,r;return e[14]===n?r=e[15]:(r=(0,d.jsx)(h,{message:n}),e[14]=n,e[15]=r),r}if(!v?.length){let n=`Extension "${t}" has no page contributions.`,r;return e[16]===n?r=e[17]:(r=(0,d.jsx)(h,{message:n}),e[16]=n,e[17]=r),r}if(!b){let r=`Page "${n}" not found in extension "${t}".`,i;return e[18]===r?i=e[19]:(i=(0,d.jsx)(h,{message:r}),e[18]=r,e[19]=i),i}let C=_.ui?.permissions,w;return e[20]!==_.name||e[21]!==t||e[22]!==b.entrypoint||e[23]!==b.title||e[24]!==C?(w=(0,d.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,d.jsx)(o,{extensionId:t,extensionName:_.name,entrypoint:b.entrypoint,permissions:C,title:b.title,className:`min-h-0 flex-1`,fixedHeight:void 0,maxHeight:99999})}),e[20]=_.name,e[21]=t,e[22]=b.entrypoint,e[23]=b.title,e[24]=C,e[25]=w):w=e[25],w}function p(e){return e.clearPageHeader}function m(e){return e.setPageHeader}function h(e){let t=(0,l.c)(2),{message:n}=e,r;return t[0]===n?r=t[1]:(r=(0,d.jsx)(`div`,{className:`flex min-h-[min(40vh,16rem)] flex-1 items-center justify-center`,children:(0,d.jsx)(`div`,{className:`text-center`,children:(0,d.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n})})}),t[0]=n,t[1]=r),r}export{f as ExtensionPage};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,o as a,t as o}from"./url-BwNL6Rgk.js";import{i as s}from"./vendor-swr-BIWyz7Rc.js";import{a as c,n as l,t as u}from"./fetch-B2MYHbWg.js";import{$n as d,Zn as f,er as p,ii as m,n as h,nr as g,oa as _,tr as v,ua as y,wn as b}from"./index-BmVYculr.js";import{a as x,c as S,d as C,i as w,l as T,s as E,t as D,u as O}from"./voice-api-key-field-CGEydndO.js";import{n as k}from"./field-primitives-DPG-oJmx.js";var A=n(),j=e(t(),1),M=r(),N=()=>o(C);function P(e){return{credentialsIntro:e.credentialsIntro,regionHint:e.regionHint,endpointPresetsHint:e.endpointPresetsHint,apiKeyLabel:e.apiKeyLabel,optionalPlaceholder:e.optionalPlaceholder,regionLabel:e.regionLabel,baseUrlLabel:e.baseUrlLabel,imageBaseUrlLabel:e.imageBaseUrlLabel,saveCredentials:e.saveCredentials,savingCredentials:e.savingCredentials,credentialsSaved:e.credentialsSaved,discardCredentials:e.discardCredentials,credentialsNothingToSave:e.credentialsNothingToSave,credentialsSaveError:e.credentialsSaveError,regionPresetDefault:e.regionPresetDefault,regionPresetCustom:e.regionPresetCustom,baseUrlPresetDefault:e.baseUrlPresetDefault,baseUrlPresetCustom:e.baseUrlPresetCustom,openExtensionSettings:e.openExtensionSettings,openImageModelsPage:e.openImageModelsPage,extensionSettingsLinkTitle:e.extensionSettingsLinkTitle,imageModelsLinkTitle:e.imageModelsLinkTitle,configured:e.configured,missingKey:e.missingKey,unsavedChanges:e.unsavedChanges,expandProvider:e.expandProvider,collapseProvider:e.collapseProvider,defaultModel:e.defaultModel,modelsLabel:e.modelsLabel,modelCountOne:e.modelCountOne,modelCountMany:e.modelCountMany,imageBaseUrlPresetHint:e.imageBaseUrlPresetHint,dashscopeRegion_beijing:e.dashscopeRegion_beijing,dashscopeRegion_singapore:e.dashscopeRegion_singapore,dashscopeRegion_us:e.dashscopeRegion_us,apiKeyMaskedHelp:e.apiKeyMaskedHelp,apiKeyCopy:e.apiKeyCopy,apiKeyCopied:e.apiKeyCopied,apiKeyShow:e.apiKeyShow,apiKeyHide:e.apiKeyHide,apiKeyNotInConfigFile:e.apiKeyNotInConfigFile,apiKeyRevealFailed:e.apiKeyRevealFailed,minimaxClusterLabel:e.minimaxClusterLabel,minimaxClusterHint:e.minimaxClusterHint,falQueueBaseLabel:e.falQueueBaseLabel,falQueueBaseHint:e.falQueueBaseHint}}function F(e){let t=(0,A.c)(40),{extensionId:n}=e,r=i(L),o;t[0]===r?o=t[1]:(o=a(r),t[0]=r,t[1]=o);let l=o,u=l.imageModelsSettings,d=c(I),f;t[2]===d?f=t[3]:(f=d?N():null,t[2]=d,t[3]=f);let p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p={revalidateOnFocus:!1},t[4]=p):p=t[4];let{data:h,isLoading:g}=s(f,O,p),_;t[5]===h?_=t[6]:(_=h===void 0?[]:h,t[5]=h,t[6]=_);let v=_,y;if(t[7]!==v||t[8]!==n){let e;t[10]===n?e=t[11]:(e=e=>e.id===n,t[10]=n,t[11]=e),y=v.filter(e),t[7]=v,t[8]=n,t[9]=y}else y=t[9];let b=y,x=S(b),C;t[12]===u?C=t[13]:(C=P(u),t[12]=u,t[13]=C);let w=C,E;t[14]!==l.providersSettings.getApiKey||t[15]!==l.providersSettings.getApiKeyCn||t[16]!==l.providersSettings.getApiKeyIntl?(E={getApiKey:l.providersSettings.getApiKey,getApiKeyIntl:l.providersSettings.getApiKeyIntl,getApiKeyCn:l.providersSettings.getApiKeyCn},t[14]=l.providersSettings.getApiKey,t[15]=l.providersSettings.getApiKeyCn,t[16]=l.providersSettings.getApiKeyIntl,t[17]=E):E=t[17];let D=E;if(!d)return null;if(g){let e;return t[18]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,M.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-sm text-fg-muted`,children:[(0,M.jsx)(m,{className:`size-4 animate-spin`}),`…`]}),t[18]=e):e=t[18],e}if(b.length===0){let e=r===`zh`?`网关未注册该图像 Provider,或扩展已被禁用。`:`This image provider is not registered on the gateway, or the extension is disabled.`,n;return t[19]===e?n=t[20]:(n=(0,M.jsx)(`p`,{className:`text-sm text-fg-muted`,children:e}),t[19]=e,t[20]=n),n}let k;t[21]!==x||t[22]!==u.credentialsSaveError?(k=()=>void x.saveCredentials(u.credentialsSaveError),t[21]=x,t[22]=u.credentialsSaveError,t[23]=k):k=t[23];let j;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(j=new Set,t[24]=j):j=t[24];let F;return t[25]!==D||t[26]!==x.credBaseline||t[27]!==x.credDirty||t[28]!==x.credDraft||t[29]!==x.credError||t[30]!==x.credNoopFlash||t[31]!==x.credSavedFlash||t[32]!==x.credSaving||t[33]!==x.onDiscardCredentials||t[34]!==x.updateCredRow||t[35]!==r||t[36]!==w||t[37]!==b||t[38]!==k?(F=(0,M.jsx)(T,{summaries:b,credDraft:x.credDraft,credBaseline:x.credBaseline,credDirty:x.credDirty,credSaving:x.credSaving,credError:x.credError,credSavedFlash:x.credSavedFlash,credNoopFlash:x.credNoopFlash,updateCredRow:x.updateCredRow,onDiscardCredentials:x.onDiscardCredentials,onSaveCredentials:k,extensionIds:j,showExtensionLinks:!1,showImageModelsLink:!1,language:r,apiKeyLinkLabels:D,messages:w}),t[25]=D,t[26]=x.credBaseline,t[27]=x.credDirty,t[28]=x.credDraft,t[29]=x.credError,t[30]=x.credNoopFlash,t[31]=x.credSavedFlash,t[32]=x.credSaving,t[33]=x.onDiscardCredentials,t[34]=x.updateCredRow,t[35]=r,t[36]=w,t[37]=b,t[38]=k,t[39]=F):F=t[39],F}function I(e){return!!e.token}function L(e){return e.language}var R=[{id:`whisper-large-v3-turbo`,name:`Whisper Large v3 Turbo`},{id:`whisper-large-v3`,name:`Whisper Large v3`}];function ee(e){let t=e?.manifest?.mediaUnderstandingProviders?.[0];if(typeof t==`string`&&t.trim())return t.trim();let n=e?.manifest?.contracts?.mediaUnderstandingProviders?.[0];if(typeof n==`string`&&n.trim())return n.trim()}function z(){return g(d,f)}function B(){return g(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,p,`dark:border-edge`)}function V(e,t){if(!e||!t)return{apiKey:``,model:R[0].id};if(t===`alibaba`)return{apiKey:e.stt.alibaba?.apiKey??``,model:e.stt.alibaba?.model??`paraformer-v2`};if(t===`openai`)return{apiKey:e.stt.openai?.apiKey??``,model:e.stt.openai?.model??`whisper-1`};let n=e.stt.providers?.[t];return{apiKey:typeof n?.apiKey==`string`?n.apiKey:``,model:typeof n?.model==`string`?n.model:R[0].id}}function H({providerId:e,voiceSettings:t,mutateVoice:n}){let r=a(i(e=>e.language)),c=r.voiceSettings,l=r.extensionSttMedia,u={maskedHelp:c.apiKeyMaskedHelp,copy:c.apiKeyCopy,copied:c.apiKeyCopied,show:c.apiKeyShow,hide:c.apiKeyHide,notInConfigFile:c.apiKeyNotInConfigFile,loadFailed:c.apiKeyRevealFailed},{data:d}=s(o(`/api/voice/stt-providers`),x,{revalidateOnFocus:!1}),p=(0,j.useMemo)(()=>d?.providers.some(t=>t.id===e&&t.configured)??!1,[e,d]),m=(0,j.useMemo)(()=>V(t,e),[e,t]),h=(0,j.useRef)(!1),[_,y]=(0,j.useState)(null),[b,S]=(0,j.useState)(!1),[C,w]=(0,j.useState)(null),[T,O]=(0,j.useState)(!1),A=_??m,N=m,P=A.apiKey!==N.apiKey||A.model!==N.model,F=(0,j.useCallback)(async()=>{S(!0),w(null);try{let r=structuredClone(t);r.stt.enabled=!0,e===`alibaba`?(r.stt.provider=`alibaba`,r.stt.alibaba={...r.stt.alibaba,apiKey:A.apiKey,model:A.model}):e===`openai`?(r.stt.provider=`openai`,r.stt.openai={...r.stt.openai,apiKey:A.apiKey,model:A.model}):(r.stt.providers={...r.stt.providers??{},[e]:{...r.stt.providers?.[e]??{},apiKey:A.apiKey,model:A.model}},(!r.stt.provider||r.stt.provider===`alibaba`||r.stt.provider===`openai`)&&(r.stt.provider=e)),await E(r),await n(r,!1),h.current=!1,y(null),O(!0),window.setTimeout(()=>O(!1),2500)}catch(e){w(e instanceof Error?e.message:String(e))}finally{S(!1)}},[A.apiKey,A.model,n,e,t]),I=e===`groq`?R:[{id:A.model,name:A.model}];return(0,M.jsxs)(`div`,{className:`flex flex-col gap-4 rounded-xl border border-edge bg-surface-base p-4`,children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:l.credentialsTitle}),(0,M.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:l.credentialsHint.replace(`{providerId}`,e)})]}),(0,M.jsx)(`span`,{className:g(`rounded-full px-2 py-0.5 text-xs font-medium`,p?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:`bg-amber-500/10 text-amber-800 dark:text-amber-200`),children:p?l.configured:l.notConfigured})]}),(0,M.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,M.jsxs)(`div`,{className:g(`flex flex-col gap-1.5`,f),children:[(0,M.jsx)(k,{children:c.stt.apiKey}),(0,M.jsx)(D,{kind:`stt`,providerId:e,fieldId:`ext-stt-${e}-api-key`,value:A.apiKey,onChange:e=>{h.current=!0,y(t=>({...t??m,apiKey:e})),w(null)},labels:u,placeholder:e===`groq`?`gsk_...`:`sk-...`}),(0,M.jsxs)(`p`,{className:`text-xs text-fg-subtle`,children:[c.stt.apiKeyDesc,e===`groq`?` (GROQ_API_KEY)`:``]})]}),(0,M.jsxs)(`div`,{className:g(`flex flex-col gap-1.5`,f),children:[(0,M.jsx)(k,{children:c.stt.model}),e===`groq`?(0,M.jsx)(`select`,{className:z(),value:A.model,onChange:e=>{h.current=!0,y(t=>({...t??m,model:e.target.value})),w(null)},children:I.map(e=>(0,M.jsx)(`option`,{value:e.id,children:e.name},e.id))}):(0,M.jsx)(`input`,{className:B(),value:A.model,onChange:e=>{h.current=!0,y(t=>({...t??m,model:e.target.value})),w(null)}})]})]}),(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[T?(0,M.jsx)(`span`,{className:`text-xs text-emerald-600 dark:text-emerald-400`,children:c.saved}):null,C?(0,M.jsx)(`span`,{className:`text-xs text-red-600 dark:text-red-400`,children:C}):null,(0,M.jsx)(v,{type:`button`,variant:`ghost`,className:`h-8 text-xs`,disabled:!P||b,onClick:()=>{h.current=!1,y(null),w(null)},children:c.discard}),(0,M.jsx)(v,{type:`button`,variant:`primary`,className:`h-8 text-xs`,disabled:!P||b,onClick:()=>void F(),children:b?c.saving:c.save})]})]})}function U(e){let t=(0,A.c)(13),{extensionId:n}=e,r=i(G),a=c(W),u;t[0]===n?u=t[1]:(u=()=>l(o(`/api/extensions/${encodeURIComponent(n)}`)),t[0]=n,t[1]=u);let{data:d,isLoading:f}=s(a&&n?`ext-stt-detail-${n}`:null,u),p;t[2]===d?p=t[3]:(p=ee(d),t[2]=d,t[3]=p);let h=p,g;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(g={revalidateOnFocus:!1},t[4]=g):g=t[4];let{data:_,mutate:v,isLoading:y}=s(a?`voice-settings-ext-stt`:null,w,g);if(!a)return null;if(f||y){let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,M.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-sm text-fg-muted`,children:[(0,M.jsx)(m,{className:`size-4 animate-spin`}),`…`]}),t[5]=e):e=t[5],e}if(!h){let e=r===`zh`?`该扩展未声明 mediaUnderstandingProviders。`:`This extension does not declare mediaUnderstandingProviders.`,n;return t[6]===e?n=t[7]:(n=(0,M.jsx)(`p`,{className:`text-sm text-fg-muted`,children:e}),t[6]=e,t[7]=n),n}if(!_)return null;let b=`${n}:${h}`,x;return t[8]!==v||t[9]!==h||t[10]!==b||t[11]!==_?(x=(0,M.jsx)(H,{providerId:h,voiceSettings:_,mutateVoice:v},b),t[8]=v,t[9]=h,t[10]=b,t[11]=_,t[12]=x):x=t[12],x}function W(e){return!!e.token}function G(e){return e.language}function K(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function q(e){let t={};if(e.type!==`object`||!K(e.properties))return t;for(let[n,r]of Object.entries(e.properties))K(r)&&Object.prototype.hasOwnProperty.call(r,`default`)&&(t[n]=r.default);return t}function J(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Y(e){let t=e[`x-order`];return typeof t==`number`&&!Number.isNaN(t)?t:999}function X(e){let t=e[`x-group`];return typeof t==`string`&&t.length>0?t:``}function Z(e){return e[`x-hidden`]===!0}function Q(e){let t=e.properties;if(!J(t))return[];let n=[];for(let[e,r]of Object.entries(t))J(r)&&(Z(r)||n.push({key:e,sub:r,order:Y(r),group:X(r),hidden:!1}));return n.sort((e,t)=>e.order-t.order||e.key.localeCompare(t.key)),n}function te(e){let t=new Map;for(let n of e){let e=n.group;t.has(e)||t.set(e,[]),t.get(e).push(n)}return t}function ne(e){let t=(0,A.c)(29),{name:n,s:r,value:i,onChange:a,disabled:o}=e,s=typeof r.description==`string`?r.description:void 0,c=(typeof r[`x-placeholder`]==`string`?r[`x-placeholder`]:null)||s,l=r.format;if(Array.isArray(r.enum)&&r.enum.every(ie)){let e;t[0]===s?e=t[1]:(e=s?(0,M.jsx)(`label`,{className:`text-xs text-fg-muted`,children:s}):null,t[0]=s,t[1]=e);let c;t[2]===a?c=t[3]:(c=e=>a(e.target.value),t[2]=a,t[3]=c);let l;t[4]===r.enum?l=t[5]:(l=r.enum.map(re),t[4]=r.enum,t[5]=l);let u;t[6]!==o||t[7]!==n||t[8]!==c||t[9]!==l||t[10]!==i?(u=(0,M.jsx)(`select`,{name:n,className:`ui-input h-9 rounded-md border border-edge bg-surface-base px-2 text-sm text-fg`,value:i,disabled:o,onChange:c,children:l}),t[6]=o,t[7]=n,t[8]=c,t[9]=l,t[10]=i,t[11]=u):u=t[11];let d;return t[12]!==e||t[13]!==u?(d=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[e,u]}),t[12]=e,t[13]=u,t[14]=d):d=t[14],d}let u=l===`password`?`password`:`text`,d;t[15]===s?d=t[16]:(d=s?(0,M.jsx)(`label`,{className:`text-xs text-fg-muted`,children:s}):null,t[15]=s,t[16]=d);let f;t[17]===a?f=t[18]:(f=e=>a(e.target.value),t[17]=a,t[18]=f);let p;t[19]!==o||t[20]!==u||t[21]!==n||t[22]!==c||t[23]!==f||t[24]!==i?(p=(0,M.jsx)(`input`,{name:n,type:u,className:`ui-input h-9 rounded-md border border-edge bg-surface-base px-2.5 text-sm text-fg placeholder:text-fg-muted/70`,value:i,placeholder:c,disabled:o,onChange:f}),t[19]=o,t[20]=u,t[21]=n,t[22]=c,t[23]=f,t[24]=i,t[25]=p):p=t[25];let m;return t[26]!==d||t[27]!==p?(m=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[d,p]}),t[26]=d,t[27]=p,t[28]=m):m=t[28],m}function re(e){return(0,M.jsx)(`option`,{value:e,children:e},e)}function ie(e){return typeof e==`string`}function ae(e){let t=(0,A.c)(11),{s:n,value:r,onChange:i,disabled:a}=e,o=typeof n.description==`string`?n.description:void 0,s;t[0]===o?s=t[1]:(s=o?(0,M.jsx)(`label`,{className:`text-xs text-fg-muted`,children:o}):null,t[0]=o,t[1]=s);let c=Number.isFinite(r)?r:0,l;t[2]===i?l=t[3]:(l=e=>i(Number(e.target.value)),t[2]=i,t[3]=l);let u;t[4]!==a||t[5]!==c||t[6]!==l?(u=(0,M.jsx)(`input`,{type:`number`,className:`ui-input h-9 rounded-md border border-edge bg-surface-base px-2.5 text-sm text-fg`,value:c,disabled:a,onChange:l}),t[4]=a,t[5]=c,t[6]=l,t[7]=u):u=t[7];let d;return t[8]!==s||t[9]!==u?(d=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[s,u]}),t[8]=s,t[9]=u,t[10]=d):d=t[10],d}function oe(e){let t=(0,A.c)(11),{s:n,value:r,onChange:i,disabled:a}=e,o=(typeof n.description==`string`?n.description:void 0)??(typeof n.title==`string`&&n.title.length>0?n.title:`Enable`),s;t[0]===i?s=t[1]:(s=e=>i(e.target.checked),t[0]=i,t[1]=s);let c;t[2]!==a||t[3]!==s||t[4]!==r?(c=(0,M.jsx)(`input`,{type:`checkbox`,className:`size-4 rounded border border-edge`,checked:r,disabled:a,onChange:s}),t[2]=a,t[3]=s,t[4]=r,t[5]=c):c=t[5];let l;t[6]===o?l=t[7]:(l=(0,M.jsx)(`span`,{children:o}),t[6]=o,t[7]=l);let u;return t[8]!==c||t[9]!==l?(u=(0,M.jsxs)(`label`,{className:`flex items-center gap-2 text-sm text-fg`,children:[c,l]}),t[8]=c,t[9]=l,t[10]=u):u=t[10],u}function se(e){let t=(0,A.c)(21),{s:n,value:r,onChange:i,disabled:a}=e,o=typeof n.description==`string`?n.description:void 0,s=n.items;if(!(J(s)&&s.type===`string`)){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,M.jsx)(`p`,{className:`text-xs text-fg-muted`,children:`Unsupported array type`}),t[0]=e):e=t[0],e}let c;t[1]!==i||t[2]!==r?(c=e=>{let t=e.trim();!t||r.includes(t)||i([...r,t])},t[1]=i,t[2]=r,t[3]=c):c=t[3];let l=c,u;t[4]===o?u=t[5]:(u=o?(0,M.jsx)(`label`,{className:`text-xs text-fg-muted`,children:o}):null,t[4]=o,t[5]=u);let d;t[6]!==a||t[7]!==i||t[8]!==r?(d=r.map(e=>(0,M.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-edge bg-surface-panel px-2 py-0.5 text-sm`,children:[e,(0,M.jsx)(`button`,{type:`button`,className:`text-fg-muted hover:text-fg`,disabled:a,onClick:()=>i(r.filter(t=>t!==e)),children:`×`})]},e)),t[6]=a,t[7]=i,t[8]=r,t[9]=d):d=t[9];let f;t[10]===d?f=t[11]:(f=(0,M.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:d}),t[10]=d,t[11]=f);let p;t[12]===l?p=t[13]:(p=e=>{e.key===`Enter`&&(e.preventDefault(),l(e.target.value),e.target.value=``)},t[12]=l,t[13]=p);let m;t[14]!==a||t[15]!==p?(m=(0,M.jsx)(`input`,{className:`ui-input h-9 rounded-md border border-edge bg-surface-base px-2.5 text-sm`,disabled:a,placeholder:`Add and press Enter`,onKeyDown:p}),t[14]=a,t[15]=p,t[16]=m):m=t[16];let h;return t[17]!==u||t[18]!==f||t[19]!==m?(h=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[u,f,m]}),t[17]=u,t[18]=f,t[19]=m,t[20]=h):h=t[20],h}function ce(e){let t=(0,A.c)(48),{k:n,sub:r,value:i,onValue:a,disabled:o}=e,s=r.type,c=(typeof r.title==`string`&&r.title.length>0?r.title:null)??n;if(s===`boolean`){let e;t[0]===c?e=t[1]:(e=(0,M.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:c}),t[0]=c,t[1]=e);let n=i===!0,s;t[2]===a?s=t[3]:(s=e=>a(e),t[2]=a,t[3]=s);let l;t[4]!==o||t[5]!==r||t[6]!==n||t[7]!==s?(l=(0,M.jsx)(oe,{s:r,value:n,disabled:o,onChange:s}),t[4]=o,t[5]=r,t[6]=n,t[7]=s,t[8]=l):l=t[8];let u;return t[9]!==e||t[10]!==l?(u=(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[e,l]}),t[9]=e,t[10]=l,t[11]=u):u=t[11],u}if(s===`number`||s===`integer`){let e;t[12]===c?e=t[13]:(e=(0,M.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:c}),t[12]=c,t[13]=e);let n=typeof i==`number`?i:0,s;t[14]!==o||t[15]!==a||t[16]!==r||t[17]!==n?(s=(0,M.jsx)(ae,{s:r,value:n,disabled:o,onChange:a}),t[14]=o,t[15]=a,t[16]=r,t[17]=n,t[18]=s):s=t[18];let l;return t[19]!==e||t[20]!==s?(l=(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[e,s]}),t[19]=e,t[20]=s,t[21]=l):l=t[21],l}if(s===`string`){let e;t[22]===c?e=t[23]:(e=(0,M.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:c}),t[22]=c,t[23]=e);let s=typeof i==`string`?i:``,l;t[24]!==o||t[25]!==n||t[26]!==a||t[27]!==r||t[28]!==s?(l=(0,M.jsx)(ne,{name:n,s:r,value:s,disabled:o,onChange:a}),t[24]=o,t[25]=n,t[26]=a,t[27]=r,t[28]=s,t[29]=l):l=t[29];let u;return t[30]!==e||t[31]!==l?(u=(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[e,l]}),t[30]=e,t[31]=l,t[32]=u):u=t[32],u}if(s===`array`){let e=r.items;if(J(e)&&e.type===`string`){let e;t[33]===c?e=t[34]:(e=(0,M.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:c}),t[33]=c,t[34]=e);let n;t[35]===i?n=t[36]:(n=Array.isArray(i)&&i.every(le)?i:[],t[35]=i,t[36]=n);let s;t[37]!==o||t[38]!==a||t[39]!==r||t[40]!==n?(s=(0,M.jsx)(se,{s:r,value:n,disabled:o,onChange:a}),t[37]=o,t[38]=a,t[39]=r,t[40]=n,t[41]=s):s=t[41];let l;return t[42]!==e||t[43]!==s?(l=(0,M.jsxs)(`div`,{className:`space-y-1.5`,children:[e,s]}),t[42]=e,t[43]=s,t[44]=l):l=t[44],l}}let l=typeof s==`string`?` (${s})`:``,u;return t[45]!==l||t[46]!==c?(u=(0,M.jsxs)(`p`,{className:`text-xs text-fg-muted`,children:[c,`: unsupported field type`,l]}),t[45]=l,t[46]=c,t[47]=u):u=t[47],u}function le(e){return typeof e==`string`}function ue(e){let t=(0,A.c)(26),{schema:n,values:r,onChange:i,disabled:a,className:o}=e,s=a===void 0?!1:a,c;bb0:{if(n.type!==`object`){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[0]=e):e=t[0],c=e;break bb0}let e;t[1]===n?e=t[2]:(e=Q(n),t[1]=n,t[2]=e),c=e}let l=c,u;bb1:{if(l.length===0){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=new Map,t[3]=e):e=t[3],u=e;break bb1}let e;t[4]===l?e=t[5]:(e=te(l),t[4]=l,t[5]=e),u=e}let d=u,f;t[6]!==i||t[7]!==r?(f=(e,t)=>{i({...r,[e]:t})},t[6]=i,t[7]=r,t[8]=f):f=t[8];let p=f;if(n.type!==`object`||!J(n.properties)||l.length===0)return null;let m,h;if(t[9]!==o||t[10]!==s||t[11]!==d||t[12]!==p||t[13]!==r){let e=Array.from(d.keys()).sort(de);t[16]===o?m=t[17]:(m=g(`flex flex-col gap-4`,o),t[16]=o,t[17]=m);let n;t[18]!==s||t[19]!==d||t[20]!==p||t[21]!==r?(n=e=>{let t=(d.get(e)??[]).map(e=>(0,M.jsx)(ce,{k:e.key,sub:e.sub,value:r[e.key],onValue:t=>p(e.key,t),disabled:s},e.key));return e===``?(0,M.jsx)(`div`,{children:t},`default`):(0,M.jsxs)(`details`,{className:`group rounded-lg border border-edge bg-surface-panel/40 open:bg-surface-base`,open:!0,children:[(0,M.jsx)(`summary`,{className:`cursor-pointer select-none px-3 py-2 text-sm font-medium text-fg group-open:rounded-b-none`,children:e}),(0,M.jsx)(`div`,{className:`space-y-4 border-t border-edge p-3`,children:t})]},e)},t[18]=s,t[19]=d,t[20]=p,t[21]=r,t[22]=n):n=t[22],h=e.map(n),t[9]=o,t[10]=s,t[11]=d,t[12]=p,t[13]=r,t[14]=m,t[15]=h}else m=t[14],h=t[15];let _;return t[23]!==m||t[24]!==h?(_=(0,M.jsx)(`div`,{className:m,children:h}),t[23]=m,t[24]=h,t[25]=_):_=t[25],_}function de(e,t){return e===``?-1:t===``?1:e.localeCompare(t)}function fe(e,t){switch(t.type){case`sync`:return{...e,localValues:t.value,isDirty:!1,saveError:null};case`change`:return{...e,localValues:t.value,isDirty:!0,saveError:null,saveSuccess:!1};case`discard`:return{...e,localValues:t.value,isDirty:!1,saveError:null};case`reset-defaults`:return{...e,localValues:t.value,isDirty:!0,saveError:null,saveSuccess:!1};case`save-start`:return{...e,saving:!0,saveError:null};case`save-success`:return{...e,localValues:t.value,isDirty:!1,saving:!1,saveSuccess:!0,saveError:null};case`save-error`:return{...e,saving:!1,saveError:t.message}}}function pe({extensionId:e}){let t=a(i(e=>e.language)).agentSettings,n=c(e=>!!e.token),{data:r,error:d}=s(n&&e?`ext-detail-${e}`:null,()=>l(o(`/api/extensions/${encodeURIComponent(e)}`))),{data:f,mutate:p,error:m}=s(n&&e?`ext-cfg-${e}`:null,()=>l(o(`/api/extensions/${encodeURIComponent(e)}/config`))),h=r?.manifest?.configSchema,g=(0,j.useMemo)(()=>h&&h.type===`object`?q(h):{},[h]),_=(0,j.useMemo)(()=>({...g,...f??{}}),[g,f]),[y,b]=(0,j.useReducer)(fe,{localValues:{},isDirty:!1,saving:!1,saveError:null,saveSuccess:!1}),[x,S]=(0,j.useState)(!1),C=(0,j.useRef)(!1),w=(0,j.useRef)(_);!C.current&&w.current!==_&&(w.current=_,b({type:`sync`,value:_}));let T=(0,j.useCallback)(e=>{C.current=!0,b({type:`change`,value:e})},[]),E=(0,j.useCallback)(()=>{C.current=!1,b({type:`discard`,value:_})},[_]),D=(0,j.useCallback)(()=>{!h||h.type!==`object`||(C.current=!0,b({type:`reset-defaults`,value:{...q(h)}}))},[h]),O=(0,j.useCallback)(async()=>{if(e){b({type:`save-start`});try{let t=await u(o(`/api/extensions/${encodeURIComponent(e)}/config`),{method:`PATCH`,body:JSON.stringify(y.localValues)});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error?.message??t.statusText)}await p(y.localValues,!1),C.current=!1,b({type:`save-success`,value:y.localValues}),S(!0),window.setTimeout(()=>S(!1),3e3)}catch(e){b({type:`save-error`,message:e instanceof Error?e.message:String(e)})}}},[y.localValues,e,p]);if(!n)return null;if(d||m){let e=d??m;return(0,M.jsxs)(`p`,{className:`text-sm text-fg-muted`,children:[`Could not load extension settings: `,e instanceof Error?e.message:String(e)]})}return!h||h.type!==`object`?null:(0,M.jsxs)(`div`,{className:`mb-6 flex flex-col gap-3 rounded-xl border border-edge bg-surface-base p-4`,children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,M.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:`Configuration`}),(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[x?(0,M.jsx)(`span`,{className:`text-xs text-emerald-600 dark:text-emerald-400`,children:t.saved}):null,y.saveError?(0,M.jsx)(`span`,{className:`text-xs text-red-600 dark:text-red-400`,children:y.saveError}):null,(0,M.jsx)(v,{type:`button`,variant:`ghost`,className:`h-8 text-xs`,disabled:!y.isDirty,onClick:E,children:t.discard}),(0,M.jsx)(v,{type:`button`,variant:`ghost`,className:`h-8 text-xs`,onClick:D,children:`Reset to defaults`}),(0,M.jsx)(v,{type:`button`,variant:`primary`,className:`h-8 text-xs`,disabled:!y.isDirty||y.saving,onClick:()=>void O(),children:y.saving?t.saving:t.save})]})]}),(0,M.jsx)(ue,{schema:h,values:y.localValues,onChange:T,disabled:y.saving})]})}function me(){let e=(0,A.c)(47),t=i(he),n;e[0]===t?n=e[1]:(n=a(t),e[0]=t,e[1]=n);let r=n,o=r.extensionImageGen,s=r.extensionSttMedia,{extensionId:c,panelId:l}=y(),u=b();if(!c){let t;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsx)($,{message:`No extension ID provided.`}),e[2]=t):t=e[2],t}let d,f,p;if(e[3]!==c||e[4]!==u||e[5]!==l){p=Symbol.for(`react.early_return_sentinel`);bb0:{let t;if(e[9]===c?t=e[10]:(t=e=>e.id===c,e[9]=c,e[10]=t),d=u.find(t),!d){let t=`Extension "${c}" not found or is not available in this workspace.`,n;e[11]===t?n=e[12]:(n=(0,M.jsx)($,{message:t}),e[11]=t,e[12]=n),p=n;break bb0}let n=d.ui?.contributions?.settingsPanels;f=l?n?.find(e=>e.id===l||e.id===`${c}.${l}`):n?.[0]}e[3]=c,e[4]=u,e[5]=l,e[6]=d,e[7]=f,e[8]=p}else d=e[6],f=e[7],p=e[8];if(p!==Symbol.for(`react.early_return_sentinel`))return p;let m=f,g=!!(m&&d.ui),v=!!d.hasConfigSchema,x=d.kind===`image-generation`,S=d.kind===`media-provider`;if(!v&&!g&&!(x||S)){let t=`Extension "${c}" has no settings panels or config schema.`,n;return e[13]===t?n=e[14]:(n=(0,M.jsx)($,{message:t}),e[13]=t,e[14]=n),n}let C=m?.title??`${d.name} Settings`,w;e[15]===C?w=e[16]:(w=(0,M.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:C}),e[15]=C,e[16]=w);let T;e[17]!==x||e[18]!==r.imageModelsSettings||e[19]!==o?(T=x?(0,M.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-edge-subtle bg-surface-base px-4 py-3 text-sm`,children:[(0,M.jsx)(`p`,{className:`leading-relaxed text-fg-muted`,children:o.banner}),(0,M.jsx)(_,{to:`/settings/image-models`,className:`w-fit font-medium text-accent hover:underline`,title:r.imageModelsSettings.imageModelsLinkTitle,children:o.openImageModels})]}):null,e[17]=x,e[18]=r.imageModelsSettings,e[19]=o,e[20]=T):T=e[20];let E;e[21]!==c||e[22]!==x?(E=x?(0,M.jsx)(F,{extensionId:c}):null,e[21]=c,e[22]=x,e[23]=E):E=e[23];let D;e[24]!==S||e[25]!==s?(D=S?(0,M.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-edge-subtle bg-surface-base px-4 py-3 text-sm`,children:[(0,M.jsx)(`p`,{className:`leading-relaxed text-fg-muted`,children:s.banner}),(0,M.jsx)(_,{to:`/settings/voice`,className:`w-fit font-medium text-accent hover:underline`,children:s.openVoice})]}):null,e[24]=S,e[25]=s,e[26]=D):D=e[26];let O;e[27]!==c||e[28]!==S?(O=S?(0,M.jsx)(U,{extensionId:c}):null,e[27]=c,e[28]=S,e[29]=O):O=e[29];let k;e[30]!==c||e[31]!==v?(k=v?(0,M.jsx)(pe,{extensionId:c}):null,e[30]=c,e[31]=v,e[32]=k):k=e[32];let j;e[33]!==d.name||e[34]!==d.ui||e[35]!==c||e[36]!==g||e[37]!==m?(j=g&&m&&d.ui?(0,M.jsx)(`div`,{className:`overflow-hidden rounded-xl border border-edge bg-surface-base`,children:(0,M.jsx)(h,{extensionId:c,extensionName:d.name,entrypoint:m.entrypoint,permissions:d.ui?.permissions,title:m.title,className:`w-full`,minHeight:120,maxHeight:2e3})}):null,e[33]=d.name,e[34]=d.ui,e[35]=c,e[36]=g,e[37]=m,e[38]=j):j=e[38];let N;return e[39]!==w||e[40]!==T||e[41]!==E||e[42]!==D||e[43]!==O||e[44]!==k||e[45]!==j?(N=(0,M.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:[w,T,E,D,O,k,j]}),e[39]=w,e[40]=T,e[41]=E,e[42]=D,e[43]=O,e[44]=k,e[45]=j,e[46]=N):N=e[46],N}function he(e){return e.language}function $(e){let t=(0,A.c)(2),{message:n}=e,r;return t[0]===n?r=t[1]:(r=(0,M.jsx)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:(0,M.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n})}),t[0]=n,t[1]=r),r}export{me as ExtensionSettingsPage};
@@ -0,0 +1 @@
1
+ import{a as e,c as t,d as n,i as r,o as i,u as a}from"./url-BwNL6Rgk.js";var o=e((e,r)=>({baseUrl:typeof window<`u`?window.location.origin:``,token:void 0,tokenDialogOpen:!1,tokenExpired:!1,setGatewayToken:t=>{n(t),e({token:t,tokenDialogOpen:!1,tokenExpired:!1}),window.dispatchEvent(new CustomEvent(`token-saved`,{detail:{token:t}}))},clearGatewayToken:()=>{t(),e({token:void 0})},openTokenDialog:()=>e({tokenDialogOpen:!0}),closeTokenDialog:()=>e({tokenDialogOpen:!1}),onUnauthorized:()=>{r().clearGatewayToken(),e({tokenDialogOpen:!1,tokenExpired:!0}),window.dispatchEvent(new CustomEvent(`token-expired`))}}));function s(){let e=new URLSearchParams(window.location.search).get(`token`);if(e){o.getState().setGatewayToken(e);let t=window.location.pathname+window.location.hash,n=window.history.state,r=n&&typeof n==`object`&&!Array.isArray(n)?{...n}:n;window.history.replaceState(r,``,t);return}let t=a();o.setState({token:t||void 0,tokenDialogOpen:!1})}function c(){return r.getState().language}function l(e,t,n){let r=e.trim().toLowerCase();return!!(!r||r===`http ${t}`||n&&r===n.trim().toLowerCase()||t===500&&r===`internal server error`)}function u(e,t,n){let r=n?.trim()??``;if(r&&!l(r,e,t))return r;let a=i(c()).api;return e>=500?e===502?a.errorBadGateway:e===503?a.errorServiceUnavailable:e===504?a.errorGatewayTimeout:e===500?a.errorInternal:a.errorServer.replace(`{{status}}`,String(e)):e===404?a.errorNotFound:e===403?a.errorForbidden:a.errorRequest.replace(`{{status}}`,String(e))}var d=null,f=null;function p(){d||=new Promise(e=>{f=e})}function m(){d&&(f?.(),d=null,f=null)}typeof window<`u`&&window.addEventListener(`token-saved`,m);async function h(e,t){d&&await d;let n=o.getState().token,r=new Headers(t?.headers);r.has(`Content-Type`)||r.set(`Content-Type`,`application/json`),n&&r.set(`Authorization`,`Bearer ${n}`);let i=await fetch(e,{...t,headers:r});return i.status===401&&(p(),o.getState().onUnauthorized()),i}async function g(e,t){let n=await h(e,t);if(!n.ok){let e=await n.json().catch(()=>({})),t=typeof e.error==`string`?e.error:e.error?.message,r=u(n.status,n.statusText,t);throw Error(r)}return n.json()}export{o as a,s as i,g as n,u as r,h as t};
@@ -1 +1 @@
1
- import{n as e,t}from"./vendor-react-BOUWij0V.js";import{n}from"./utils-BFwcR6pL.js";var r=e(),i=t();function a(e){let t=(0,r.c)(2),{children:n}=e,a;return t[0]===n?a=t[1]:(a=(0,i.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n}),t[0]=n,t[1]=a),a}function o(e){let t=(0,r.c)(2),{children:n}=e,a;return t[0]===n?a=t[1]:(a=(0,i.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-subtle`,children:n}),t[0]=n,t[1]=a),a}function s(e){let t=(0,r.c)(14),{label:o,value:s,onChange:l,options:u}=e,d;t[0]===o?d=t[1]:(d=(0,i.jsx)(a,{children:o}),t[0]=o,t[1]=d);let f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=n(),t[2]=f):f=t[2];let p;t[3]===l?p=t[4]:(p=e=>l(e.target.value),t[3]=l,t[4]=p);let m;t[5]===u?m=t[6]:(m=u.map(c),t[5]=u,t[6]=m);let h;t[7]!==p||t[8]!==m||t[9]!==s?(h=(0,i.jsx)(`select`,{className:f,value:s,onChange:p,children:m}),t[7]=p,t[8]=m,t[9]=s,t[10]=h):h=t[10];let g;return t[11]!==d||t[12]!==h?(g=(0,i.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[d,h]}),t[11]=d,t[12]=h,t[13]=g):g=t[13],g}function c(e){return(0,i.jsx)(`option`,{value:e.value,children:e.label},e.value)}export{a as n,s as r,o as t};
1
+ import{n as e,t}from"./vendor-react-BOUWij0V.js";import{n}from"./utils-BY7bU1DT.js";var r=e(),i=t();function a(e){let t=(0,r.c)(2),{children:n}=e,a;return t[0]===n?a=t[1]:(a=(0,i.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n}),t[0]=n,t[1]=a),a}function o(e){let t=(0,r.c)(2),{children:n}=e,a;return t[0]===n?a=t[1]:(a=(0,i.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-subtle`,children:n}),t[0]=n,t[1]=a),a}function s(e){let t=(0,r.c)(14),{label:o,value:s,onChange:l,options:u}=e,d;t[0]===o?d=t[1]:(d=(0,i.jsx)(a,{children:o}),t[0]=o,t[1]=d);let f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=n(),t[2]=f):f=t[2];let p;t[3]===l?p=t[4]:(p=e=>l(e.target.value),t[3]=l,t[4]=p);let m;t[5]===u?m=t[6]:(m=u.map(c),t[5]=u,t[6]=m);let h;t[7]!==p||t[8]!==m||t[9]!==s?(h=(0,i.jsx)(`select`,{className:f,value:s,onChange:p,children:m}),t[7]=p,t[8]=m,t[9]=s,t[10]=h):h=t[10];let g;return t[11]!==d||t[12]!==h?(g=(0,i.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[d,h]}),t[11]=d,t[12]=h,t[13]=g):g=t[13],g}function c(e){return(0,i.jsx)(`option`,{value:e.value,children:e.label},e.value)}export{a as n,s as r,o as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{t as r}from"./url-BwNL6Rgk.js";import{o as i}from"./vendor-swr-BIWyz7Rc.js";import{n as a}from"./fetch-B2MYHbWg.js";import{$n as o,Xn as s,gn as c,nr as l}from"./index-BmVYculr.js";import{m as u,p as d}from"./cron-dreaming-jobs-DueM3rBz.js";var f=e(t(),1),p=n(),m=Array.from({length:60},(e,t)=>t),h=l(o,`min-w-0 shrink text-xs sm:min-w-[7rem] sm:max-w-[11rem]`),g=l(`h-9 min-w-[6.5rem] shrink-0 rounded-lg border border-edge-subtle bg-surface-panel px-2 py-1.5 text-sm text-fg`,s,`dark:bg-surface-panel`),_=l(`h-9 min-w-[9.5rem] shrink-0 rounded-lg border border-edge-subtle bg-surface-panel px-2 py-1.5 text-sm text-fg`,s),v=l(`h-9 w-14 shrink-0 rounded-lg border border-edge-subtle bg-surface-panel px-2 py-1.5 text-center text-sm tabular-nums text-fg`,s),y=l(`min-h-[2.5rem] w-full rounded-lg border border-edge-subtle bg-surface-base px-3 py-2 font-mono text-xs text-fg`,s);function b(e){return{...e,intervalMinutesDraft:null,intervalHoursDraft:null}}function x(e){let{intervalMinutesDraft:t,intervalHoursDraft:n,...r}=e;return r}function S(e,t){switch(t.type){case`reset`:return b(t.state);case`replace`:return t.state}}function C({value:e,onChange:t,labels:n,disabled:r,showHeading:i=!0}){let a=(0,f.useMemo)(()=>u(e),[e]),[o,s]=(0,f.useReducer)(S,a,b),c=(0,f.useRef)(e);c.current!==e&&(c.current=e,s({type:`reset`,state:a}));let C=(0,f.useCallback)(e=>{let n={...o,...e};s({type:`replace`,state:n});let r=x(n),i=x(o);Object.keys(r).some(e=>r[e]!==i[e])&&t(d(r))},[t,o]),{mode:w,intervalKind:T,onceDate:E,intervalMinutes:D,intervalHours:O,minute:k,hour:A,weekDays:j,dayOfMonth:M,rawCron:N,intervalMinutesDraft:P,intervalHoursDraft:F}=o,I=`${String(A).padStart(2,`0`)}:${String(k).padStart(2,`0`)}`,L=e=>{let t=e.target.value;if(!t)return;let[n,r]=t.split(`:`).map(e=>parseInt(e,10));Number.isNaN(n)||Number.isNaN(r)||C({minute:r,hour:n})},R=(0,p.jsxs)(`div`,{className:`flex min-w-0 flex-nowrap items-center gap-2 overflow-x-auto pb-0.5`,children:[(0,p.jsxs)(`select`,{className:h,disabled:r,value:w,onChange:e=>{let t=e.target.value;C({mode:t})},"aria-label":n.scheduleTimeLabel,children:[(0,p.jsx)(`option`,{value:`no_repeat`,children:n.modeNoRepeat}),(0,p.jsx)(`option`,{value:`interval`,children:n.modeInterval}),(0,p.jsx)(`option`,{value:`hourly`,children:n.modeHourly}),(0,p.jsx)(`option`,{value:`daily`,children:n.modeDaily}),(0,p.jsx)(`option`,{value:`weekly`,children:n.modeWeekly}),(0,p.jsx)(`option`,{value:`monthly`,children:n.modeMonthly}),(0,p.jsx)(`option`,{value:`custom`,children:n.modeCustom})]}),w===`no_repeat`&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`input`,{type:`date`,disabled:r,className:_,value:E,onChange:e=>{C({onceDate:e.target.value})},"aria-label":n.modeNoRepeat}),(0,p.jsx)(`input`,{type:`time`,step:60,disabled:r,className:g,value:I,onChange:L,"aria-label":n.scheduleTimeLabel})]}),w===`interval`&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(`select`,{className:l(h,`w-auto min-w-[5rem]`),disabled:r,value:T,onChange:e=>{let t=e.target.value;C({intervalKind:t,intervalMinutesDraft:null,intervalHoursDraft:null})},"aria-label":n.modeInterval,children:[(0,p.jsx)(`option`,{value:`minutes`,children:n.intervalKindMinutes}),(0,p.jsx)(`option`,{value:`hours`,children:n.intervalKindHours})]}),T===`minutes`?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`input`,{type:`number`,min:1,max:59,disabled:r,className:v,value:P??String(D),onChange:e=>{let t=e.target.value,n=parseInt(t,10),r={intervalMinutesDraft:t};Number.isFinite(n)&&n>=1&&n<=59&&(r.intervalMinutes=n),C(r)},onBlur:()=>{if(P===null)return;let e=parseInt(P,10);C({intervalMinutes:!Number.isFinite(e)||e<1?5:Math.min(59,Math.max(1,Math.round(e))),intervalMinutesDraft:null})},"aria-label":n.intervalMinutes}),(0,p.jsx)(`span`,{className:`shrink-0 text-sm text-fg-muted`,children:n.minuteUnit})]}):(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`input`,{type:`number`,min:1,max:23,disabled:r,className:v,value:F??String(O),onChange:e=>{let t=e.target.value,n=parseInt(t,10),r={intervalHoursDraft:t};Number.isFinite(n)&&n>=1&&n<=23&&(r.intervalHours=n),C(r)},onBlur:()=>{if(F===null)return;let e=parseInt(F,10);C({intervalHours:!Number.isFinite(e)||e<1?2:Math.min(23,Math.max(1,Math.round(e))),intervalHoursDraft:null})},"aria-label":n.intervalHours}),(0,p.jsx)(`span`,{className:`shrink-0 text-sm text-fg-muted`,children:n.hourUnit}),(0,p.jsx)(`select`,{className:l(h,`w-auto min-w-[4rem]`),disabled:r,value:k,onChange:e=>{C({minute:parseInt(e.target.value,10)})},"aria-label":n.minuteAtHour,children:m.map(e=>(0,p.jsx)(`option`,{value:e,children:String(e).padStart(2,`0`)},e))}),(0,p.jsx)(`span`,{className:`shrink-0 text-sm text-fg-muted`,children:n.minuteUnit})]})]}),w===`daily`&&(0,p.jsx)(`input`,{type:`time`,step:60,disabled:r,className:g,value:I,onChange:L,"aria-label":n.scheduleTimeLabel}),w===`weekly`&&(0,p.jsx)(`input`,{type:`time`,step:60,disabled:r,className:g,value:I,onChange:L,"aria-label":n.scheduleTimeLabel}),w===`monthly`&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`select`,{className:l(h,`w-auto min-w-[4.5rem]`),disabled:r,value:M,onChange:e=>{C({dayOfMonth:parseInt(e.target.value,10)})},"aria-label":n.dayOfMonth,children:Array.from({length:31},(e,t)=>t+1).map(e=>(0,p.jsx)(`option`,{value:e,children:e},e))}),(0,p.jsx)(`input`,{type:`time`,step:60,disabled:r,className:g,value:I,onChange:L,"aria-label":n.scheduleTimeLabel})]}),w===`hourly`&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(`select`,{className:l(h,`w-auto min-w-[4rem]`),disabled:r,value:k,onChange:e=>{C({minute:parseInt(e.target.value,10)})},"aria-label":n.minuteAtHour,children:m.map(e=>(0,p.jsx)(`option`,{value:e,children:String(e).padStart(2,`0`)},e))}),(0,p.jsx)(`span`,{className:`shrink-0 text-sm text-fg-muted`,children:n.minuteUnit})]})]}),z=w===`weekly`?(0,p.jsx)(`div`,{className:`flex flex-wrap gap-1.5 pt-1`,role:`group`,"aria-label":n.modeWeekly,children:n.weekdays.map((e,t)=>{let n=j[t];return(0,p.jsx)(`button`,{type:`button`,disabled:r,className:l(`flex size-9 select-none items-center justify-center rounded-full border text-xs font-medium transition-colors`,n?`border-fg bg-fg text-surface-panel`:`border-edge-subtle bg-surface-panel text-fg hover:border-edge`),"aria-pressed":n,onClick:()=>{let e=[...j];e[t]=!e[t],C({weekDays:e})},children:e},e)})}):null,B=w===`custom`?(0,p.jsxs)(`div`,{className:`pt-1`,children:[(0,p.jsx)(`textarea`,{disabled:r,className:y,rows:2,spellCheck:!1,value:N,placeholder:`*/5 * * * *`,onChange:e=>{C({rawCron:e.target.value})},"aria-label":n.modeCustom}),(0,p.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:n.customCronHint})]}):null;return(0,p.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[i?(0,p.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:n.scheduleTimeLabel}):null,R,z,B]})}function w(){return r(`/api/workspace/heartbeat-md`)}async function T(){let e=await a(w());return typeof e.payload?.content==`string`?e.payload.content:``}function E(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function D(e){let t=E(e)?e:{},n=E(t.gateway)?t.gateway:{},r=E(n.heartbeat)?n.heartbeat:{},i=r.activeHours,a=E(i)?i:null,o=a&&typeof a.start==`string`&&typeof a.end==`string`&&a.start&&a.end?{start:a.start,end:a.end,timezone:typeof a.timezone==`string`?a.timezone:``}:null;return{enabled:!!(r.enabled??!0),intervalMs:typeof r.intervalMs==`number`&&Number.isFinite(r.intervalMs)?r.intervalMs:18e5,includeSystemPromptSection:r.includeSystemPromptSection===!0,target:typeof r.target==`string`?r.target:``,targetChatId:typeof r.targetChatId==`string`?r.targetChatId:``,prompt:typeof r.prompt==`string`?r.prompt:``,ackMaxChars:typeof r.ackMaxChars==`number`&&Number.isFinite(r.ackMaxChars)?r.ackMaxChars:``,isolatedSession:!!r.isolatedSession,activeHours:o}}function O(e){let t={enabled:e.enabled,intervalMs:e.intervalMs,includeSystemPromptSection:e.includeSystemPromptSection};return e.target.trim()?t.target=e.target.trim():t.target=null,e.targetChatId.trim()?t.targetChatId=e.targetChatId.trim():t.targetChatId=null,e.prompt.trim()?t.prompt=e.prompt.trim():t.prompt=null,e.ackMaxChars===``||e.ackMaxChars===void 0?t.ackMaxChars=null:t.ackMaxChars=e.ackMaxChars,e.isolatedSession?t.isolatedSession=!0:t.isolatedSession=null,e.activeHours?.start?.trim()&&e.activeHours?.end?.trim()?t.activeHours={start:e.activeHours.start.trim(),end:e.activeHours.end.trim(),...e.activeHours.timezone.trim()?{timezone:e.activeHours.timezone.trim()}:{}}:t.activeHours=null,t}async function k(e){await a(r(`/api/config`),{method:`PATCH`,body:JSON.stringify({gateway:{heartbeat:O(e)}})}),c()}async function A(e){await a(r(`/api/workspace/heartbeat-md`),{method:`PUT`,body:JSON.stringify({content:e})}),i(w())}async function j(e){await a(r(`/api/heartbeat/trigger`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e?{reason:e}:{})})}export{T as a,j as i,k as n,w as o,A as r,C as s,D as t};