botmux 3.14.0 → 3.16.0
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.
- package/README.en.md +2 -2
- package/README.md +2 -2
- package/dist/.runtime-build-id +1 -1
- package/dist/adapters/backend/destroy-result.d.ts +159 -0
- package/dist/adapters/backend/destroy-result.d.ts.map +1 -0
- package/dist/adapters/backend/destroy-result.js +223 -0
- package/dist/adapters/backend/destroy-result.js.map +1 -0
- package/dist/adapters/backend/herdr-backend.d.ts +4 -0
- package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
- package/dist/adapters/backend/herdr-backend.js +23 -1
- package/dist/adapters/backend/herdr-backend.js.map +1 -1
- package/dist/adapters/backend/mojo-backend.d.ts +577 -0
- package/dist/adapters/backend/mojo-backend.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-backend.js +2471 -0
- package/dist/adapters/backend/mojo-backend.js.map +1 -0
- package/dist/adapters/backend/mojo-budgets.d.ts +21 -0
- package/dist/adapters/backend/mojo-budgets.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-budgets.js +22 -0
- package/dist/adapters/backend/mojo-budgets.js.map +1 -0
- package/dist/adapters/backend/mojo-isolated-workspace.d.ts +69 -0
- package/dist/adapters/backend/mojo-isolated-workspace.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-isolated-workspace.js +213 -0
- package/dist/adapters/backend/mojo-isolated-workspace.js.map +1 -0
- package/dist/adapters/backend/mojo-process-tree.d.ts +292 -0
- package/dist/adapters/backend/mojo-process-tree.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-process-tree.js +486 -0
- package/dist/adapters/backend/mojo-process-tree.js.map +1 -0
- package/dist/adapters/backend/mojo-types.d.ts +542 -0
- package/dist/adapters/backend/mojo-types.d.ts.map +1 -0
- package/dist/adapters/backend/mojo-types.js +682 -0
- package/dist/adapters/backend/mojo-types.js.map +1 -0
- package/dist/adapters/backend/reproduce-command.js +3 -3
- package/dist/adapters/backend/reproduce-command.js.map +1 -1
- package/dist/adapters/backend/riff-backend.js +1 -1
- package/dist/adapters/backend/riff-backend.js.map +1 -1
- package/dist/adapters/backend/sandbox.d.ts +44 -7
- package/dist/adapters/backend/sandbox.d.ts.map +1 -1
- package/dist/adapters/backend/sandbox.js +30 -7
- package/dist/adapters/backend/sandbox.js.map +1 -1
- package/dist/adapters/backend/session-backend-selector.d.ts +14 -1
- package/dist/adapters/backend/session-backend-selector.d.ts.map +1 -1
- package/dist/adapters/backend/session-backend-selector.js +82 -10
- package/dist/adapters/backend/session-backend-selector.js.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.d.ts +30 -0
- package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js +60 -0
- package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
- package/dist/adapters/backend/types.d.ts +108 -6
- package/dist/adapters/backend/types.d.ts.map +1 -1
- package/dist/adapters/backend/types.js.map +1 -1
- package/dist/adapters/backend/zmx-backend.d.ts +11 -0
- package/dist/adapters/backend/zmx-backend.d.ts.map +1 -1
- package/dist/adapters/backend/zmx-backend.js +16 -1
- package/dist/adapters/backend/zmx-backend.js.map +1 -1
- package/dist/adapters/cli/codex-app.d.ts.map +1 -1
- package/dist/adapters/cli/codex-app.js +2 -2
- package/dist/adapters/cli/codex-app.js.map +1 -1
- package/dist/adapters/cli/codex.d.ts.map +1 -1
- package/dist/adapters/cli/codex.js +7 -0
- package/dist/adapters/cli/codex.js.map +1 -1
- package/dist/adapters/cli/copilot.d.ts +3 -1
- package/dist/adapters/cli/copilot.d.ts.map +1 -1
- package/dist/adapters/cli/copilot.js +23 -5
- package/dist/adapters/cli/copilot.js.map +1 -1
- package/dist/adapters/cli/cursor.d.ts.map +1 -1
- package/dist/adapters/cli/cursor.js +26 -4
- package/dist/adapters/cli/cursor.js.map +1 -1
- package/dist/adapters/cli/dsh.d.ts.map +1 -1
- package/dist/adapters/cli/dsh.js +5 -1
- package/dist/adapters/cli/dsh.js.map +1 -1
- package/dist/adapters/cli/grok.d.ts.map +1 -1
- package/dist/adapters/cli/grok.js +24 -5
- package/dist/adapters/cli/grok.js.map +1 -1
- package/dist/adapters/cli/kimi.d.ts.map +1 -1
- package/dist/adapters/cli/kimi.js +19 -1
- package/dist/adapters/cli/kimi.js.map +1 -1
- package/dist/adapters/cli/mojo.d.ts +28 -0
- package/dist/adapters/cli/mojo.d.ts.map +1 -0
- package/dist/adapters/cli/mojo.js +58 -0
- package/dist/adapters/cli/mojo.js.map +1 -0
- package/dist/adapters/cli/pi.d.ts +20 -5
- package/dist/adapters/cli/pi.d.ts.map +1 -1
- package/dist/adapters/cli/pi.js +27 -5
- package/dist/adapters/cli/pi.js.map +1 -1
- package/dist/adapters/cli/read-isolation.d.ts +251 -1
- package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
- package/dist/adapters/cli/read-isolation.js +254 -1
- package/dist/adapters/cli/read-isolation.js.map +1 -1
- package/dist/adapters/cli/registry.d.ts +13 -1
- package/dist/adapters/cli/registry.d.ts.map +1 -1
- package/dist/adapters/cli/registry.js +19 -1
- package/dist/adapters/cli/registry.js.map +1 -1
- package/dist/adapters/cli/runner-input.d.ts +3 -3
- package/dist/adapters/cli/runner-input.d.ts.map +1 -1
- package/dist/adapters/cli/runner-input.js +4 -3
- package/dist/adapters/cli/runner-input.js.map +1 -1
- package/dist/adapters/cli/shared-hints.d.ts +3 -1
- package/dist/adapters/cli/shared-hints.d.ts.map +1 -1
- package/dist/adapters/cli/shared-hints.js +51 -30
- package/dist/adapters/cli/shared-hints.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +33 -4
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/bot-registry.d.ts +42 -0
- package/dist/bot-registry.d.ts.map +1 -1
- package/dist/bot-registry.js +54 -4
- package/dist/bot-registry.js.map +1 -1
- package/dist/cli/arg-utils.d.ts +5 -0
- package/dist/cli/arg-utils.d.ts.map +1 -1
- package/dist/cli/arg-utils.js +7 -0
- package/dist/cli/arg-utils.js.map +1 -1
- package/dist/cli/bots-list-output.d.ts +130 -2
- package/dist/cli/bots-list-output.d.ts.map +1 -1
- package/dist/cli/bots-list-output.js +173 -27
- package/dist/cli/bots-list-output.js.map +1 -1
- package/dist/cli/daemon-lifecycle-env.d.ts +10 -3
- package/dist/cli/daemon-lifecycle-env.d.ts.map +1 -1
- package/dist/cli/daemon-lifecycle-env.js +38 -11
- package/dist/cli/daemon-lifecycle-env.js.map +1 -1
- package/dist/cli/dashboard-command.d.ts +15 -0
- package/dist/cli/dashboard-command.d.ts.map +1 -1
- package/dist/cli/dashboard-command.js +22 -0
- package/dist/cli/dashboard-command.js.map +1 -1
- package/dist/cli/log-tail.d.ts +54 -0
- package/dist/cli/log-tail.d.ts.map +1 -0
- package/dist/cli/log-tail.js +167 -0
- package/dist/cli/log-tail.js.map +1 -0
- package/dist/cli/pm2-env.d.ts +16 -0
- package/dist/cli/pm2-env.d.ts.map +1 -0
- package/dist/cli/pm2-env.js +63 -0
- package/dist/cli/pm2-env.js.map +1 -0
- package/dist/cli/pm2-fleet-lock.d.ts +26 -0
- package/dist/cli/pm2-fleet-lock.d.ts.map +1 -0
- package/dist/cli/pm2-fleet-lock.js +50 -0
- package/dist/cli/pm2-fleet-lock.js.map +1 -0
- package/dist/cli/pm2-god-retirement.d.ts +59 -0
- package/dist/cli/pm2-god-retirement.d.ts.map +1 -0
- package/dist/cli/pm2-god-retirement.js +95 -0
- package/dist/cli/pm2-god-retirement.js.map +1 -0
- package/dist/cli/session-list-wake.d.ts +41 -0
- package/dist/cli/session-list-wake.d.ts.map +1 -0
- package/dist/cli/session-list-wake.js +102 -0
- package/dist/cli/session-list-wake.js.map +1 -0
- package/dist/cli/workflow.d.ts.map +1 -1
- package/dist/cli/workflow.js +26 -0
- package/dist/cli/workflow.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +941 -118
- package/dist/cli.js.map +1 -1
- package/dist/codex-app-runner.js +261 -49
- package/dist/codex-app-runner.js.map +1 -1
- package/dist/core/cli-runtime-update.d.ts +8 -0
- package/dist/core/cli-runtime-update.d.ts.map +1 -1
- package/dist/core/cli-runtime-update.js +127 -8
- package/dist/core/cli-runtime-update.js.map +1 -1
- package/dist/core/close-residual.d.ts +64 -0
- package/dist/core/close-residual.d.ts.map +1 -0
- package/dist/core/close-residual.js +93 -0
- package/dist/core/close-residual.js.map +1 -0
- package/dist/core/closed-session-card.d.ts.map +1 -1
- package/dist/core/closed-session-card.js +11 -3
- package/dist/core/closed-session-card.js.map +1 -1
- package/dist/core/command-discovery.d.ts.map +1 -1
- package/dist/core/command-discovery.js +4 -1
- package/dist/core/command-discovery.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +129 -27
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/cost-calculator.d.ts +3 -1
- package/dist/core/cost-calculator.d.ts.map +1 -1
- package/dist/core/cost-calculator.js +230 -1
- package/dist/core/cost-calculator.js.map +1 -1
- package/dist/core/daemon-background-close.d.ts +19 -0
- package/dist/core/daemon-background-close.d.ts.map +1 -0
- package/dist/core/daemon-background-close.js +39 -0
- package/dist/core/daemon-background-close.js.map +1 -0
- package/dist/core/dashboard-command/overview.d.ts +4 -0
- package/dist/core/dashboard-command/overview.d.ts.map +1 -1
- package/dist/core/dashboard-command/overview.js +8 -1
- package/dist/core/dashboard-command/overview.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +415 -42
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/dashboard-rows.d.ts +4 -0
- package/dist/core/dashboard-rows.d.ts.map +1 -1
- package/dist/core/dashboard-rows.js +3 -0
- package/dist/core/dashboard-rows.js.map +1 -1
- package/dist/core/dashboard-url.d.ts +37 -0
- package/dist/core/dashboard-url.d.ts.map +1 -1
- package/dist/core/dashboard-url.js +71 -0
- package/dist/core/dashboard-url.js.map +1 -1
- package/dist/core/deferred-schedule-settlement.d.ts +15 -1
- package/dist/core/deferred-schedule-settlement.d.ts.map +1 -1
- package/dist/core/deferred-schedule-settlement.js +4 -1
- package/dist/core/deferred-schedule-settlement.js.map +1 -1
- package/dist/core/device-isolation-daemon.d.ts +91 -1
- package/dist/core/device-isolation-daemon.d.ts.map +1 -1
- package/dist/core/device-isolation-daemon.js +346 -2
- package/dist/core/device-isolation-daemon.js.map +1 -1
- package/dist/core/local-terminal-opener.d.ts.map +1 -1
- package/dist/core/local-terminal-opener.js +5 -1
- package/dist/core/local-terminal-opener.js.map +1 -1
- package/dist/core/loopback-target.d.ts +14 -0
- package/dist/core/loopback-target.d.ts.map +1 -0
- package/dist/core/loopback-target.js +20 -0
- package/dist/core/loopback-target.js.map +1 -0
- package/dist/core/maintenance.d.ts.map +1 -1
- package/dist/core/maintenance.js +16 -2
- package/dist/core/maintenance.js.map +1 -1
- package/dist/core/mojo-containment-command.d.ts +20 -0
- package/dist/core/mojo-containment-command.d.ts.map +1 -0
- package/dist/core/mojo-containment-command.js +266 -0
- package/dist/core/mojo-containment-command.js.map +1 -0
- package/dist/core/mojo-containment.d.ts +575 -0
- package/dist/core/mojo-containment.d.ts.map +1 -0
- package/dist/core/mojo-containment.js +1158 -0
- package/dist/core/mojo-containment.js.map +1 -0
- package/dist/core/mojo-launcher-env-quarantine.d.ts +30 -0
- package/dist/core/mojo-launcher-env-quarantine.d.ts.map +1 -0
- package/dist/core/mojo-launcher-env-quarantine.js +175 -0
- package/dist/core/mojo-launcher-env-quarantine.js.map +1 -0
- package/dist/core/mojo-session-identity.d.ts +3 -0
- package/dist/core/mojo-session-identity.d.ts.map +1 -0
- package/dist/core/mojo-session-identity.js +126 -0
- package/dist/core/mojo-session-identity.js.map +1 -0
- package/dist/core/persistent-backend.d.ts +32 -8
- package/dist/core/persistent-backend.d.ts.map +1 -1
- package/dist/core/persistent-backend.js +55 -17
- package/dist/core/persistent-backend.js.map +1 -1
- package/dist/core/plugins/mcp/gateway.d.ts +14 -1
- package/dist/core/plugins/mcp/gateway.d.ts.map +1 -1
- package/dist/core/plugins/mcp/gateway.js +70 -3
- package/dist/core/plugins/mcp/gateway.js.map +1 -1
- package/dist/core/plugins/mcp/host.d.ts +2 -0
- package/dist/core/plugins/mcp/host.d.ts.map +1 -1
- package/dist/core/plugins/mcp/host.js +2 -0
- package/dist/core/plugins/mcp/host.js.map +1 -1
- package/dist/core/plugins/pm2.d.ts.map +1 -1
- package/dist/core/plugins/pm2.js +16 -3
- package/dist/core/plugins/pm2.js.map +1 -1
- package/dist/core/plugins/service-manager.d.ts +9 -0
- package/dist/core/plugins/service-manager.d.ts.map +1 -1
- package/dist/core/plugins/service-manager.js +33 -16
- package/dist/core/plugins/service-manager.js.map +1 -1
- package/dist/core/preview-port-owner.d.ts +109 -0
- package/dist/core/preview-port-owner.d.ts.map +1 -0
- package/dist/core/preview-port-owner.js +320 -0
- package/dist/core/preview-port-owner.js.map +1 -0
- package/dist/core/remote-cli-ids.d.ts +5 -0
- package/dist/core/remote-cli-ids.d.ts.map +1 -0
- package/dist/core/remote-cli-ids.js +24 -0
- package/dist/core/remote-cli-ids.js.map +1 -0
- package/dist/core/{riff-shutdown-detach.d.ts → remote-shutdown-detach.d.ts} +40 -39
- package/dist/core/remote-shutdown-detach.d.ts.map +1 -0
- package/dist/core/{riff-shutdown-detach.js → remote-shutdown-detach.js} +85 -83
- package/dist/core/remote-shutdown-detach.js.map +1 -0
- package/dist/core/{riff-worker-shutdown-readiness.d.ts → remote-worker-shutdown-readiness.d.ts} +5 -4
- package/dist/core/remote-worker-shutdown-readiness.d.ts.map +1 -0
- package/dist/core/{riff-worker-shutdown-readiness.js → remote-worker-shutdown-readiness.js} +4 -3
- package/dist/core/remote-worker-shutdown-readiness.js.map +1 -0
- package/dist/core/reply-target.d.ts +16 -1
- package/dist/core/reply-target.d.ts.map +1 -1
- package/dist/core/reply-target.js +61 -0
- package/dist/core/reply-target.js.map +1 -1
- package/dist/core/session-group-birth.d.ts +26 -0
- package/dist/core/session-group-birth.d.ts.map +1 -1
- package/dist/core/session-group-birth.js +81 -4
- package/dist/core/session-group-birth.js.map +1 -1
- package/dist/core/session-manager.d.ts +15 -2
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +259 -5
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-model.d.ts +46 -0
- package/dist/core/session-model.d.ts.map +1 -0
- package/dist/core/session-model.js +42 -0
- package/dist/core/session-model.js.map +1 -0
- package/dist/core/session-owner-reminder.d.ts +63 -0
- package/dist/core/session-owner-reminder.d.ts.map +1 -0
- package/dist/core/session-owner-reminder.js +196 -0
- package/dist/core/session-owner-reminder.js.map +1 -0
- package/dist/core/session-preview-registry.d.ts +53 -0
- package/dist/core/session-preview-registry.d.ts.map +1 -0
- package/dist/core/session-preview-registry.js +82 -0
- package/dist/core/session-preview-registry.js.map +1 -0
- package/dist/core/session-preview.d.ts +114 -0
- package/dist/core/session-preview.d.ts.map +1 -0
- package/dist/core/session-preview.js +184 -0
- package/dist/core/session-preview.js.map +1 -0
- package/dist/core/session-rename.d.ts.map +1 -1
- package/dist/core/session-rename.js +5 -3
- package/dist/core/session-rename.js.map +1 -1
- package/dist/core/session-wake-deadline.d.ts +5 -0
- package/dist/core/session-wake-deadline.d.ts.map +1 -0
- package/dist/core/session-wake-deadline.js +13 -0
- package/dist/core/session-wake-deadline.js.map +1 -0
- package/dist/core/shutdown-budgets.d.ts +7 -6
- package/dist/core/shutdown-budgets.d.ts.map +1 -1
- package/dist/core/shutdown-budgets.js +11 -10
- package/dist/core/shutdown-budgets.js.map +1 -1
- package/dist/core/skills/frontmatter.d.ts.map +1 -1
- package/dist/core/skills/frontmatter.js +6 -1
- package/dist/core/skills/frontmatter.js.map +1 -1
- package/dist/core/terminal-control-grant.d.ts +74 -0
- package/dist/core/terminal-control-grant.d.ts.map +1 -0
- package/dist/core/terminal-control-grant.js +183 -0
- package/dist/core/terminal-control-grant.js.map +1 -0
- package/dist/core/terminal-proxy.d.ts.map +1 -1
- package/dist/core/terminal-proxy.js +4 -5
- package/dist/core/terminal-proxy.js.map +1 -1
- package/dist/core/terminal-write-auth.d.ts +4 -11
- package/dist/core/terminal-write-auth.d.ts.map +1 -1
- package/dist/core/terminal-write-auth.js +19 -16
- package/dist/core/terminal-write-auth.js.map +1 -1
- package/dist/core/trigger-session.d.ts.map +1 -1
- package/dist/core/trigger-session.js +36 -29
- package/dist/core/trigger-session.js.map +1 -1
- package/dist/core/types.d.ts +88 -10
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +9 -7
- package/dist/core/types.js.map +1 -1
- package/dist/core/workbench-link.d.ts +81 -0
- package/dist/core/workbench-link.d.ts.map +1 -0
- package/dist/core/workbench-link.js +109 -0
- package/dist/core/workbench-link.js.map +1 -0
- package/dist/core/worker-pool.d.ts +312 -11
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +2515 -217
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts +6 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +447 -116
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/aggregator.d.ts +33 -3
- package/dist/dashboard/aggregator.d.ts.map +1 -1
- package/dist/dashboard/aggregator.js +93 -17
- package/dist/dashboard/aggregator.js.map +1 -1
- package/dist/dashboard/auth-session-connections.d.ts +59 -0
- package/dist/dashboard/auth-session-connections.d.ts.map +1 -0
- package/dist/dashboard/auth-session-connections.js +109 -0
- package/dist/dashboard/auth-session-connections.js.map +1 -0
- package/dist/dashboard/auth.d.ts +99 -1
- package/dist/dashboard/auth.d.ts.map +1 -1
- package/dist/dashboard/auth.js +176 -64
- package/dist/dashboard/auth.js.map +1 -1
- package/dist/dashboard/bot-payload.d.ts +5 -0
- package/dist/dashboard/bot-payload.d.ts.map +1 -1
- package/dist/dashboard/bot-payload.js +4 -0
- package/dist/dashboard/bot-payload.js.map +1 -1
- package/dist/dashboard/control-audit.d.ts +112 -0
- package/dist/dashboard/control-audit.d.ts.map +1 -0
- package/dist/dashboard/control-audit.js +195 -0
- package/dist/dashboard/control-audit.js.map +1 -0
- package/dist/dashboard/control-csrf.d.ts +123 -0
- package/dist/dashboard/control-csrf.d.ts.map +1 -0
- package/dist/dashboard/control-csrf.js +392 -0
- package/dist/dashboard/control-csrf.js.map +1 -0
- package/dist/dashboard/daemon-reconcile.d.ts +26 -0
- package/dist/dashboard/daemon-reconcile.d.ts.map +1 -0
- package/dist/dashboard/daemon-reconcile.js +46 -0
- package/dist/dashboard/daemon-reconcile.js.map +1 -0
- package/dist/dashboard/debug-terminal.d.ts.map +1 -1
- package/dist/dashboard/debug-terminal.js +18 -4
- package/dist/dashboard/debug-terminal.js.map +1 -1
- package/dist/dashboard/events-sse.d.ts +60 -0
- package/dist/dashboard/events-sse.d.ts.map +1 -0
- package/dist/dashboard/events-sse.js +63 -0
- package/dist/dashboard/events-sse.js.map +1 -0
- package/dist/dashboard/h5-auth.d.ts +256 -0
- package/dist/dashboard/h5-auth.d.ts.map +1 -0
- package/dist/dashboard/h5-auth.js +825 -0
- package/dist/dashboard/h5-auth.js.map +1 -0
- package/dist/dashboard/managed-spawn.d.ts +36 -0
- package/dist/dashboard/managed-spawn.d.ts.map +1 -0
- package/dist/dashboard/managed-spawn.js +169 -0
- package/dist/dashboard/managed-spawn.js.map +1 -0
- package/dist/dashboard/preview-content-capability.d.ts +41 -0
- package/dist/dashboard/preview-content-capability.d.ts.map +1 -0
- package/dist/dashboard/preview-content-capability.js +127 -0
- package/dist/dashboard/preview-content-capability.js.map +1 -0
- package/dist/dashboard/preview-contract.d.ts +85 -0
- package/dist/dashboard/preview-contract.d.ts.map +1 -0
- package/dist/dashboard/preview-contract.js +198 -0
- package/dist/dashboard/preview-contract.js.map +1 -0
- package/dist/dashboard/preview-guard-page.d.ts +52 -0
- package/dist/dashboard/preview-guard-page.d.ts.map +1 -0
- package/dist/dashboard/preview-guard-page.js +162 -0
- package/dist/dashboard/preview-guard-page.js.map +1 -0
- package/dist/dashboard/preview-interaction.d.ts +57 -0
- package/dist/dashboard/preview-interaction.d.ts.map +1 -0
- package/dist/dashboard/preview-interaction.js +198 -0
- package/dist/dashboard/preview-interaction.js.map +1 -0
- package/dist/dashboard/preview-proxy.d.ts +113 -0
- package/dist/dashboard/preview-proxy.d.ts.map +1 -0
- package/dist/dashboard/preview-proxy.js +543 -0
- package/dist/dashboard/preview-proxy.js.map +1 -0
- package/dist/dashboard/public-redact.d.ts +23 -0
- package/dist/dashboard/public-redact.d.ts.map +1 -1
- package/dist/dashboard/public-redact.js +90 -21
- package/dist/dashboard/public-redact.js.map +1 -1
- package/dist/dashboard/request-identity.d.ts +77 -0
- package/dist/dashboard/request-identity.d.ts.map +1 -0
- package/dist/dashboard/request-identity.js +72 -0
- package/dist/dashboard/request-identity.js.map +1 -0
- package/dist/dashboard/session-cleanup.d.ts +5 -0
- package/dist/dashboard/session-cleanup.d.ts.map +1 -1
- package/dist/dashboard/session-cleanup.js +4 -0
- package/dist/dashboard/session-cleanup.js.map +1 -1
- package/dist/dashboard/settings-write-applier.d.ts +5 -1
- package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
- package/dist/dashboard/settings-write-applier.js +14 -0
- package/dist/dashboard/settings-write-applier.js.map +1 -1
- package/dist/dashboard/standing-link.d.ts +76 -0
- package/dist/dashboard/standing-link.d.ts.map +1 -0
- package/dist/dashboard/standing-link.js +111 -0
- package/dist/dashboard/standing-link.js.map +1 -0
- package/dist/dashboard/terminal-control.d.ts +105 -0
- package/dist/dashboard/terminal-control.d.ts.map +1 -0
- package/dist/dashboard/terminal-control.js +296 -0
- package/dist/dashboard/terminal-control.js.map +1 -0
- package/dist/dashboard/terminal-front-proxy.d.ts +55 -0
- package/dist/dashboard/terminal-front-proxy.d.ts.map +1 -0
- package/dist/dashboard/terminal-front-proxy.js +397 -0
- package/dist/dashboard/terminal-front-proxy.js.map +1 -0
- package/dist/dashboard/terminal-view-capability.d.ts +97 -0
- package/dist/dashboard/terminal-view-capability.d.ts.map +1 -0
- package/dist/dashboard/terminal-view-capability.js +145 -0
- package/dist/dashboard/terminal-view-capability.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-api.d.ts +59 -0
- package/dist/dashboard/web/agent-workbench-api.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-api.js +227 -0
- package/dist/dashboard/web/agent-workbench-api.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-appearance-menu.d.ts +59 -0
- package/dist/dashboard/web/agent-workbench-appearance-menu.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-appearance-menu.js +195 -0
- package/dist/dashboard/web/agent-workbench-appearance-menu.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-appearance.d.ts +222 -0
- package/dist/dashboard/web/agent-workbench-appearance.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-appearance.js +499 -0
- package/dist/dashboard/web/agent-workbench-appearance.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-capabilities.d.ts +13 -0
- package/dist/dashboard/web/agent-workbench-capabilities.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-capabilities.js +24 -0
- package/dist/dashboard/web/agent-workbench-capabilities.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-chat.d.ts +90 -0
- package/dist/dashboard/web/agent-workbench-chat.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-chat.js +168 -0
- package/dist/dashboard/web/agent-workbench-chat.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-dock-page.d.ts +3 -0
- package/dist/dashboard/web/agent-workbench-dock-page.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-dock-page.js +23 -0
- package/dist/dashboard/web/agent-workbench-dock-page.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-dock-view.d.ts +22 -0
- package/dist/dashboard/web/agent-workbench-dock-view.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-dock-view.js +76 -0
- package/dist/dashboard/web/agent-workbench-dock-view.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-model.d.ts +196 -0
- package/dist/dashboard/web/agent-workbench-model.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-model.js +529 -0
- package/dist/dashboard/web/agent-workbench-model.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-page.d.ts +3 -0
- package/dist/dashboard/web/agent-workbench-page.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-page.js +27 -0
- package/dist/dashboard/web/agent-workbench-page.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-panes.d.ts +49 -0
- package/dist/dashboard/web/agent-workbench-panes.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-panes.js +468 -0
- package/dist/dashboard/web/agent-workbench-panes.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-session-list.d.ts +42 -0
- package/dist/dashboard/web/agent-workbench-session-list.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-session-list.js +353 -0
- package/dist/dashboard/web/agent-workbench-session-list.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-storage.d.ts +49 -0
- package/dist/dashboard/web/agent-workbench-storage.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-storage.js +197 -0
- package/dist/dashboard/web/agent-workbench-storage.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-touch.d.ts +46 -0
- package/dist/dashboard/web/agent-workbench-touch.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-touch.js +96 -0
- package/dist/dashboard/web/agent-workbench-touch.js.map +1 -0
- package/dist/dashboard/web/agent-workbench-view.d.ts +34 -0
- package/dist/dashboard/web/agent-workbench-view.d.ts.map +1 -0
- package/dist/dashboard/web/agent-workbench-view.js +439 -0
- package/dist/dashboard/web/agent-workbench-view.js.map +1 -0
- package/dist/dashboard/web/app.d.ts.map +1 -1
- package/dist/dashboard/web/app.js +63 -2
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.d.ts +18 -0
- package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.js +362 -36
- package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts +8 -0
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/control-csrf.d.ts +4 -0
- package/dist/dashboard/web/control-csrf.d.ts.map +1 -0
- package/dist/dashboard/web/control-csrf.js +26 -0
- package/dist/dashboard/web/control-csrf.js.map +1 -0
- package/dist/dashboard/web/dashboard-routes.d.ts.map +1 -1
- package/dist/dashboard/web/dashboard-routes.js +2 -0
- package/dist/dashboard/web/dashboard-routes.js.map +1 -1
- package/dist/dashboard/web/groups-page.d.ts.map +1 -1
- package/dist/dashboard/web/groups-page.js +11 -2
- package/dist/dashboard/web/groups-page.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +140 -6
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/overview-page.d.ts.map +1 -1
- package/dist/dashboard/web/overview-page.js +3 -2
- package/dist/dashboard/web/overview-page.js.map +1 -1
- package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
- package/dist/dashboard/web/sessions-page.js +41 -1
- package/dist/dashboard/web/sessions-page.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +5 -1
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/settings-page.d.ts +3 -0
- package/dist/dashboard/web/settings-page.d.ts.map +1 -1
- package/dist/dashboard/web/settings-page.js +56 -10
- package/dist/dashboard/web/settings-page.js.map +1 -1
- package/dist/dashboard/web/skills-page.d.ts.map +1 -1
- package/dist/dashboard/web/skills-page.js +4 -2
- package/dist/dashboard/web/skills-page.js.map +1 -1
- package/dist/dashboard/web/store.d.ts +27 -2
- package/dist/dashboard/web/store.d.ts.map +1 -1
- package/dist/dashboard/web/store.js +43 -4
- package/dist/dashboard/web/store.js.map +1 -1
- package/dist/dashboard/web/ui.d.ts +3 -0
- package/dist/dashboard/web/ui.d.ts.map +1 -1
- package/dist/dashboard/web/ui.js +11 -0
- package/dist/dashboard/web/ui.js.map +1 -1
- package/dist/dashboard/web/update-action.d.ts +12 -0
- package/dist/dashboard/web/update-action.d.ts.map +1 -1
- package/dist/dashboard/web/update-action.js +11 -0
- package/dist/dashboard/web/update-action.js.map +1 -1
- package/dist/dashboard/workbench-doctor.d.ts +114 -0
- package/dist/dashboard/workbench-doctor.d.ts.map +1 -0
- package/dist/dashboard/workbench-doctor.js +620 -0
- package/dist/dashboard/workbench-doctor.js.map +1 -0
- package/dist/dashboard/workbench-ticket.d.ts +165 -0
- package/dist/dashboard/workbench-ticket.d.ts.map +1 -0
- package/dist/dashboard/workbench-ticket.js +495 -0
- package/dist/dashboard/workbench-ticket.js.map +1 -0
- package/dist/dashboard-web/app.js +1 -1
- package/dist/dashboard-web/chunks/agent-workbench-dock-page-IKAC5CFL.js +1 -0
- package/dist/dashboard-web/chunks/agent-workbench-page-M53UN5EB.js +1 -0
- package/dist/dashboard-web/chunks/bot-defaults-page-YKE5SDZF.js +10 -0
- package/dist/dashboard-web/chunks/chunk-22WIADUT.js +2 -0
- package/dist/dashboard-web/chunks/chunk-24ONYQMR.js +1 -0
- package/dist/dashboard-web/chunks/{chunk-6O7KXFD2.js → chunk-2W6SCN3M.js} +1 -1
- package/dist/dashboard-web/chunks/chunk-4XNJX6B3.js +1 -0
- package/dist/dashboard-web/chunks/{chunk-Q2MT4VWH.js → chunk-F6KNPF4R.js} +11 -9
- package/dist/dashboard-web/chunks/chunk-FXW3V4JR.js +1 -0
- package/dist/dashboard-web/chunks/chunk-G5ZS2YUS.js +1 -0
- package/dist/dashboard-web/chunks/chunk-KTQ7B6ZR.js +1 -0
- package/dist/dashboard-web/chunks/{chunk-U3ZFSO7E.js → chunk-NACP7BMR.js} +1 -1
- package/dist/dashboard-web/chunks/{connectors-page-2KZO5KSJ.js → connectors-page-VOISXXII.js} +1 -1
- package/dist/dashboard-web/chunks/{feedback-page-CLVTOLLO.js → feedback-page-RN6HRZMS.js} +1 -1
- package/dist/dashboard-web/chunks/groups-page-UQT6DCB7.js +8 -0
- package/dist/dashboard-web/chunks/{insights-page-4RPU2CRU.js → insights-page-HJFDYR5N.js} +3 -3
- package/dist/dashboard-web/chunks/{monitor-room-OTKQ2CXK.js → monitor-room-V7PCP47V.js} +1 -1
- package/dist/dashboard-web/chunks/{monitoring-page-IJPUB6JT.js → monitoring-page-NKEKVQAP.js} +1 -1
- package/dist/dashboard-web/chunks/{office-page-QSR3J44Y.js → office-page-GVJF73XW.js} +1 -1
- package/dist/dashboard-web/chunks/overview-page-KHLV6VTI.js +1 -0
- package/dist/dashboard-web/chunks/{plugin-page-VEGTCEAS.js → plugin-page-J3OF5IY4.js} +1 -1
- package/dist/dashboard-web/chunks/{roles-page-6NWJMOB5.js → roles-page-WQIRSOLZ.js} +1 -1
- package/dist/dashboard-web/chunks/{schedules-page-6I3LNXD4.js → schedules-page-J2DEY2X6.js} +1 -1
- package/dist/dashboard-web/chunks/sessions-page-7BQFEA5P.js +8 -0
- package/dist/dashboard-web/chunks/settings-page-BJEIOFJH.js +2 -0
- package/dist/dashboard-web/chunks/{skills-page-M2Q6L5CB.js → skills-page-HGIFR3IU.js} +2 -2
- package/dist/dashboard-web/chunks/{team-federation-page-7I7FDE3B.js → team-federation-page-MR5ZPL4B.js} +1 -1
- package/dist/dashboard-web/chunks/{v3-page-HQXRL65L.js → v3-page-GBR5JWPE.js} +2 -2
- package/dist/dashboard-web/chunks/{whiteboards-page-LQKC4TAZ.js → whiteboards-page-QAZM4BN3.js} +1 -1
- package/dist/dashboard-web/index.html +8 -1
- package/dist/dashboard-web/style.css +2006 -10
- package/dist/dashboard.js +1017 -264
- package/dist/dashboard.js.map +1 -1
- package/dist/dsh-runner.js +8 -1
- package/dist/dsh-runner.js.map +1 -1
- package/dist/global-config.d.ts +30 -0
- package/dist/global-config.d.ts.map +1 -1
- package/dist/global-config.js +33 -0
- package/dist/global-config.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +46 -27
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +43 -27
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +1 -1
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +22 -6
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +118 -24
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts +15 -0
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +30 -0
- package/dist/im/lark/client.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts +48 -0
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +138 -41
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/identity-cache.d.ts +14 -6
- package/dist/im/lark/identity-cache.d.ts.map +1 -1
- package/dist/im/lark/identity-cache.js +69 -26
- package/dist/im/lark/identity-cache.js.map +1 -1
- package/dist/im/lark/lark-hosts.d.ts +13 -0
- package/dist/im/lark/lark-hosts.d.ts.map +1 -1
- package/dist/im/lark/lark-hosts.js +16 -0
- package/dist/im/lark/lark-hosts.js.map +1 -1
- package/dist/im/lark/overview-card.d.ts +22 -0
- package/dist/im/lark/overview-card.d.ts.map +1 -1
- package/dist/im/lark/overview-card.js +53 -3
- package/dist/im/lark/overview-card.js.map +1 -1
- package/dist/im/lark/sessions-card.d.ts.map +1 -1
- package/dist/im/lark/sessions-card.js +26 -3
- package/dist/im/lark/sessions-card.js.map +1 -1
- package/dist/im/lark/workflow-slash-command.d.ts +6 -0
- package/dist/im/lark/workflow-slash-command.d.ts.map +1 -1
- package/dist/im/lark/workflow-slash-command.js +7 -0
- package/dist/im/lark/workflow-slash-command.js.map +1 -1
- package/dist/index-daemon.js +27 -4
- package/dist/index-daemon.js.map +1 -1
- package/dist/index-dashboard.d.ts +3 -0
- package/dist/index-dashboard.d.ts.map +1 -0
- package/dist/index-dashboard.js +94 -0
- package/dist/index-dashboard.js.map +1 -0
- package/dist/platform/team-agents-client.d.ts +199 -0
- package/dist/platform/team-agents-client.d.ts.map +1 -0
- package/dist/platform/team-agents-client.js +263 -0
- package/dist/platform/team-agents-client.js.map +1 -0
- package/dist/platform/tunnel-client.d.ts +6 -0
- package/dist/platform/tunnel-client.d.ts.map +1 -1
- package/dist/platform/tunnel-client.js.map +1 -1
- package/dist/services/async-trigger-state.d.ts +7 -3
- package/dist/services/async-trigger-state.d.ts.map +1 -1
- package/dist/services/async-trigger-state.js +28 -0
- package/dist/services/async-trigger-state.js.map +1 -1
- package/dist/services/async-trigger-store.d.ts +13 -4
- package/dist/services/async-trigger-store.d.ts.map +1 -1
- package/dist/services/async-trigger-store.js +55 -8
- package/dist/services/async-trigger-store.js.map +1 -1
- package/dist/services/bot-config-store.d.ts +1 -11
- package/dist/services/bot-config-store.d.ts.map +1 -1
- package/dist/services/bot-config-store.js +27 -3
- package/dist/services/bot-config-store.js.map +1 -1
- package/dist/services/bot-profile-store.d.ts +17 -2
- package/dist/services/bot-profile-store.d.ts.map +1 -1
- package/dist/services/bot-profile-store.js +93 -12
- package/dist/services/bot-profile-store.js.map +1 -1
- package/dist/services/bridge-fallback-gate.d.ts +15 -7
- package/dist/services/bridge-fallback-gate.d.ts.map +1 -1
- package/dist/services/bridge-fallback-gate.js +43 -16
- package/dist/services/bridge-fallback-gate.js.map +1 -1
- package/dist/services/bridge-turn-queue.d.ts +10 -1
- package/dist/services/bridge-turn-queue.d.ts.map +1 -1
- package/dist/services/bridge-turn-queue.js +29 -9
- package/dist/services/bridge-turn-queue.js.map +1 -1
- package/dist/services/claude-transcript.d.ts +19 -0
- package/dist/services/claude-transcript.d.ts.map +1 -1
- package/dist/services/claude-transcript.js +57 -5
- package/dist/services/claude-transcript.js.map +1 -1
- package/dist/services/codex-app-threads.d.ts +2 -0
- package/dist/services/codex-app-threads.d.ts.map +1 -1
- package/dist/services/codex-app-threads.js +1 -1
- package/dist/services/codex-app-threads.js.map +1 -1
- package/dist/services/codex-reasoning-effort.d.ts +8 -0
- package/dist/services/codex-reasoning-effort.d.ts.map +1 -1
- package/dist/services/codex-reasoning-effort.js +24 -0
- package/dist/services/codex-reasoning-effort.js.map +1 -1
- package/dist/services/cursor-resume-policy.d.ts.map +1 -1
- package/dist/services/cursor-resume-policy.js +15 -3
- package/dist/services/cursor-resume-policy.js.map +1 -1
- package/dist/services/open-platform-rename.d.ts.map +1 -1
- package/dist/services/open-platform-rename.js +3 -2
- package/dist/services/open-platform-rename.js.map +1 -1
- package/dist/services/ordinary-turn-recovery.d.ts +76 -0
- package/dist/services/ordinary-turn-recovery.d.ts.map +1 -0
- package/dist/services/ordinary-turn-recovery.js +349 -0
- package/dist/services/ordinary-turn-recovery.js.map +1 -0
- package/dist/services/peer-cross-ref-store.d.ts +8 -0
- package/dist/services/peer-cross-ref-store.d.ts.map +1 -0
- package/dist/services/peer-cross-ref-store.js +95 -0
- package/dist/services/peer-cross-ref-store.js.map +1 -0
- package/dist/services/pi-transcript.d.ts.map +1 -1
- package/dist/services/pi-transcript.js +10 -6
- package/dist/services/pi-transcript.js.map +1 -1
- package/dist/services/resume-fresh-policy.d.ts +17 -0
- package/dist/services/resume-fresh-policy.d.ts.map +1 -0
- package/dist/services/resume-fresh-policy.js +24 -0
- package/dist/services/resume-fresh-policy.js.map +1 -0
- package/dist/services/session-group-title.d.ts +1 -0
- package/dist/services/session-group-title.d.ts.map +1 -1
- package/dist/services/session-group-title.js +16 -1
- package/dist/services/session-group-title.js.map +1 -1
- package/dist/services/session-groups-store.d.ts +30 -0
- package/dist/services/session-groups-store.d.ts.map +1 -1
- package/dist/services/session-groups-store.js +26 -4
- package/dist/services/session-groups-store.js.map +1 -1
- package/dist/services/session-owner-notification.d.ts +9 -0
- package/dist/services/session-owner-notification.d.ts.map +1 -0
- package/dist/services/session-owner-notification.js +10 -0
- package/dist/services/session-owner-notification.js.map +1 -0
- package/dist/services/session-owner-reminder-config-store.d.ts +9 -0
- package/dist/services/session-owner-reminder-config-store.d.ts.map +1 -0
- package/dist/services/session-owner-reminder-config-store.js +24 -0
- package/dist/services/session-owner-reminder-config-store.js.map +1 -0
- package/dist/services/session-owner-reminder-store.d.ts +5 -0
- package/dist/services/session-owner-reminder-store.d.ts.map +1 -0
- package/dist/services/session-owner-reminder-store.js +54 -0
- package/dist/services/session-owner-reminder-store.js.map +1 -0
- package/dist/services/session-store.d.ts +98 -21
- package/dist/services/session-store.d.ts.map +1 -1
- package/dist/services/session-store.js +406 -48
- package/dist/services/session-store.js.map +1 -1
- package/dist/services/structured-bridge-clis.d.ts +15 -2
- package/dist/services/structured-bridge-clis.d.ts.map +1 -1
- package/dist/services/structured-bridge-clis.js +16 -1
- package/dist/services/structured-bridge-clis.js.map +1 -1
- package/dist/services/transcript-resolver.d.ts +1 -1
- package/dist/services/transcript-resolver.d.ts.map +1 -1
- package/dist/services/transcript-resolver.js +6 -1
- package/dist/services/transcript-resolver.js.map +1 -1
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +7 -2
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/setup/ensure-herdr-integrations.d.ts +13 -0
- package/dist/setup/ensure-herdr-integrations.d.ts.map +1 -1
- package/dist/setup/ensure-herdr-integrations.js +21 -3
- package/dist/setup/ensure-herdr-integrations.js.map +1 -1
- package/dist/setup/open-platform-automation.d.ts +1 -0
- package/dist/setup/open-platform-automation.d.ts.map +1 -1
- package/dist/setup/open-platform-automation.js +107 -7
- package/dist/setup/open-platform-automation.js.map +1 -1
- package/dist/skills/definitions.d.ts +17 -0
- package/dist/skills/definitions.d.ts.map +1 -1
- package/dist/skills/definitions.js +78 -8
- package/dist/skills/definitions.js.map +1 -1
- package/dist/skills/injection-mode.d.ts +24 -3
- package/dist/skills/injection-mode.d.ts.map +1 -1
- package/dist/skills/injection-mode.js +64 -15
- package/dist/skills/injection-mode.js.map +1 -1
- package/dist/skills/installer.d.ts +18 -0
- package/dist/skills/installer.d.ts.map +1 -1
- package/dist/skills/installer.js +45 -1
- package/dist/skills/installer.js.map +1 -1
- package/dist/types.d.ts +222 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/bot-routing.d.ts +1 -1
- package/dist/utils/bot-routing.d.ts.map +1 -1
- package/dist/utils/bot-routing.js.map +1 -1
- package/dist/utils/child-env.d.ts +92 -2
- package/dist/utils/child-env.d.ts.map +1 -1
- package/dist/utils/child-env.js +195 -1
- package/dist/utils/child-env.js.map +1 -1
- package/dist/utils/cli-usage-limit.d.ts +25 -14
- package/dist/utils/cli-usage-limit.d.ts.map +1 -1
- package/dist/utils/cli-usage-limit.js +25 -15
- package/dist/utils/cli-usage-limit.js.map +1 -1
- package/dist/utils/daemon-rejection-guard.d.ts +35 -0
- package/dist/utils/daemon-rejection-guard.d.ts.map +1 -0
- package/dist/utils/daemon-rejection-guard.js +101 -0
- package/dist/utils/daemon-rejection-guard.js.map +1 -0
- package/dist/utils/dashboard-env.d.ts +53 -0
- package/dist/utils/dashboard-env.d.ts.map +1 -0
- package/dist/utils/dashboard-env.js +116 -0
- package/dist/utils/dashboard-env.js.map +1 -0
- package/dist/utils/global-install.d.ts.map +1 -1
- package/dist/utils/global-install.js +61 -5
- package/dist/utils/global-install.js.map +1 -1
- package/dist/utils/install-diagnostics.d.ts +14 -7
- package/dist/utils/install-diagnostics.d.ts.map +1 -1
- package/dist/utils/install-diagnostics.js +20 -11
- package/dist/utils/install-diagnostics.js.map +1 -1
- package/dist/utils/local-dev-update.d.ts +132 -0
- package/dist/utils/local-dev-update.d.ts.map +1 -0
- package/dist/utils/local-dev-update.js +176 -0
- package/dist/utils/local-dev-update.js.map +1 -0
- package/dist/utils/pending-input-queue.d.ts +12 -1
- package/dist/utils/pending-input-queue.d.ts.map +1 -1
- package/dist/utils/pending-input-queue.js.map +1 -1
- package/dist/worker.js +1517 -236
- package/dist/worker.js.map +1 -1
- package/dist/workflows/definition.d.ts +68 -68
- package/dist/workflows/events/payloads.d.ts +14 -14
- package/dist/workflows/events/schema.d.ts +312 -312
- package/dist/workflows/migration/v2-run-archive-schema.d.ts +40 -40
- package/dist/workflows/v3/cli-run.d.ts.map +1 -1
- package/dist/workflows/v3/cli-run.js +7 -0
- package/dist/workflows/v3/cli-run.js.map +1 -1
- package/dist/workflows/v3/goal-cli.d.ts +3 -0
- package/dist/workflows/v3/goal-cli.d.ts.map +1 -1
- package/dist/workflows/v3/goal-cli.js +11 -0
- package/dist/workflows/v3/goal-cli.js.map +1 -1
- package/dist/workflows/v3/run-envelope.d.ts +144 -144
- package/package.json +7 -2
- package/dist/cli/pm2-god-admission.d.ts +0 -8
- package/dist/cli/pm2-god-admission.d.ts.map +0 -1
- package/dist/cli/pm2-god-admission.js +0 -25
- package/dist/cli/pm2-god-admission.js.map +0 -1
- package/dist/core/riff-shutdown-detach.d.ts.map +0 -1
- package/dist/core/riff-shutdown-detach.js.map +0 -1
- package/dist/core/riff-worker-shutdown-readiness.d.ts.map +0 -1
- package/dist/core/riff-worker-shutdown-readiness.js.map +0 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-4RENHE7J.js +0 -10
- package/dist/dashboard-web/chunks/chunk-2WQDS65D.js +0 -1
- package/dist/dashboard-web/chunks/chunk-G5XGBCM6.js +0 -1
- package/dist/dashboard-web/chunks/chunk-WLIVBPJC.js +0 -1
- package/dist/dashboard-web/chunks/groups-page-HLASRTSY.js +0 -8
- package/dist/dashboard-web/chunks/overview-page-6OK63V4V.js +0 -1
- package/dist/dashboard-web/chunks/sessions-page-B2TXGJDO.js +0 -8
- package/dist/dashboard-web/chunks/settings-page-6KJADSC6.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workbench-ticket.js","sourceRoot":"","sources":["../../src/dashboard/workbench-ticket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as gt,b as vt}from"./chunks/chunk-U3ZFSO7E.js";import{b as Ce,d as mt,e as ft,g as bt}from"./chunks/chunk-AGCPF6MT.js";import{a as lt}from"./chunks/chunk-BD3PZGH2.js";import{a as me,b as pt,c as ht}from"./chunks/chunk-6O7KXFD2.js";import{i as dt,j as ut}from"./chunks/chunk-5CJMHTT4.js";import{a as ue,b as nt}from"./chunks/chunk-G5XGBCM6.js";import{B as at,D as st,G as it,H as he,c as pe,r as y,s,t as rt,u as ot}from"./chunks/chunk-Q2MT4VWH.js";import{a as hn,b as mn,c as fn,d as ct}from"./chunks/chunk-5THX4DI2.js";import{c as Y}from"./chunks/chunk-7SZRL6FY.js";var Xt=Y(mn(),1),Yt=Y(fn(),1),c=Y(hn(),1);var De="botmux:close-theme-menu",bn={palette:'<circle cx="13.5" cy="6.5" r=".5" fill="currentColor"/><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"/><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"/><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"/><path d="M12 2a10 10 0 0 0 0 20h1.7a2.3 2.3 0 0 0 1.6-4c-.5-.5-.2-1.3.5-1.3H17a5 5 0 0 0 5-5 9.7 9.7 0 0 0-10-9.7z"/>',monitor:'<rect width="20" height="14" x="2" y="3" rx="2"/><line x1="8" x2="16" y1="21" y2="21"/><line x1="12" x2="12" y1="17" y2="21"/>',sun:'<circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/>',moon:'<path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"/>',cpu:'<path d="M12 20v2"/><path d="M12 2v2"/><path d="M17 20v2"/><path d="M17 2v2"/><path d="M2 12h2"/><path d="M2 17h2"/><path d="M2 7h2"/><path d="M20 12h2"/><path d="M20 17h2"/><path d="M20 7h2"/><path d="M7 20v2"/><path d="M7 2v2"/><rect x="4" y="4" width="16" height="16" rx="2"/><rect x="8" y="8" width="8" height="8" rx="1"/>',zap:'<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>',chevron:'<path d="m6 9 6 6 6-6"/>'},wt=[{labelKey:"theme.base",options:[{value:"system",labelKey:"status.system",icon:"monitor"},{value:"light",labelKey:"status.light",icon:"sun"},{value:"dark",labelKey:"status.dark",icon:"moon"}]},{labelKey:"theme.skins",options:[{value:"cyber",labelKey:"skin.cyber",icon:"cpu"},{value:"fallout",labelKey:"skin.fallout",icon:"zap"}]}],yt=wt.flatMap(e=>e.options),M=!1,Z=null,Q=null,gn=70,vn=120;function Oe(e){return`<svg class="tm-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${bn[e]??""}</svg>`}function yn(e){return e.replace(/[&<>"]/g,n=>({"&":"&","<":"<",">":">",'"':"""})[n])}function xt(){let e=document.getElementById("theme-menu"),n=document.getElementById("theme-menu-btn"),r=document.getElementById("theme-menu-pop");if(!e||!n||!r||e.dataset.themeMenuInit==="1")return;e.dataset.themeMenuInit="1",r.innerHTML=wt.map(p=>`<div class="tm-group" data-label-key="${p.labelKey}"></div>`+p.options.map(f=>`<button type="button" class="tm-item" role="option" data-value="${f.value}"><span class="tm-ic">${Oe(f.icon)}</span><span class="tm-label" data-label-key="${f.labelKey}"></span></button>`).join("")).join("");let o=()=>{if(!M)return;let p=n.getBoundingClientRect(),f=12,h=Math.min(Math.max(r.offsetWidth||216,216),Math.max(0,window.innerWidth-f*2)),P=f+h/2,g=window.innerWidth-f-h/2,w=p.left+p.width/2,R=Math.min(Math.max(w,P),Math.max(P,g)),U=Math.max(180,window.innerHeight-p.bottom-20);r.style.setProperty("--theme-menu-pop-left",`${Math.round(R)}px`),r.style.setProperty("--theme-menu-pop-top",`${Math.round(p.bottom+8)}px`),r.style.setProperty("--theme-menu-pop-max-height",`${Math.round(U)}px`)},a=p=>{Z!=null&&(window.clearTimeout(Z),Z=null),Q!=null&&(window.clearTimeout(Q),Q=null),M=p,n.setAttribute("aria-expanded",String(M)),document.body.classList.toggle("theme-menu-open",M),M?(r.hidden=!1,o(),window.requestAnimationFrame(()=>e.classList.add("open"))):(e.classList.remove("open"),Q=window.setTimeout(()=>{Q=null,M||(r.hidden=!0)},vn))},i=()=>a(!0),u=()=>{Z==null&&(Z=window.setTimeout(()=>a(!1),gn))},m=p=>{p.pointerType!=="touch"&&i()},d=p=>{p.pointerType!=="touch"&&u()};e.addEventListener("pointerenter",m),e.addEventListener("pointerleave",d),r.addEventListener("pointerenter",m),r.addEventListener("pointerleave",d),n.addEventListener("click",p=>{p.stopPropagation(),a(!M)}),n.addEventListener("focus",()=>{n.matches(":focus-visible")&&i()}),e.addEventListener("focusout",p=>{let f=p.relatedTarget;(!(f instanceof Node)||!e.contains(f))&&u()}),r.addEventListener("click",p=>{let f=p.target.closest(".tm-item");f&&(y.setTheme(f.dataset.value??"system"),a(!1))}),document.addEventListener("click",p=>{M&&!e.contains(p.target)&&a(!1)}),document.addEventListener("pointermove",p=>{if(!M||p.pointerType==="touch")return;let f=p.target;f instanceof Node&&e.contains(f)||u()}),document.addEventListener("keydown",p=>{p.key==="Escape"&&M&&a(!1)}),window.addEventListener("resize",o),window.addEventListener("scroll",o,!0),window.addEventListener(De,()=>{M&&a(!1)}),He()}function He(){let e=document.getElementById("theme-menu-btn");if(!e)return;let n=yt.find(r=>r.value===y.theme)??yt[0];e.innerHTML=`<span class="tm-ic">${Oe("palette")}</span><span class="tm-current">${yn(s(n.labelKey))}</span><span class="tm-chev">${Oe("chevron")}</span>`,document.querySelectorAll("#theme-menu-pop [data-label-key]").forEach(r=>{r.textContent=s(r.dataset.labelKey??"")}),document.querySelectorAll("#theme-menu-pop .tm-item").forEach(r=>{r.classList.toggle("active",r.dataset.value===y.theme)})}function v(e,n,r,o,a=!1){return{id:e,routePrefix:n,rerenderOnUiChange:a,load:async()=>(await r())[o]}}var wn=[{id:"plugins",routePrefix:"#/plugins",rerenderOnUiChange:!1,load:async()=>{let e=await import("./chunks/plugin-page-VEGTCEAS.js");return n=>e.renderPluginPage(n)}},v("workflows","#/workflows",()=>import("./chunks/v3-page-HQXRL65L.js"),"renderV3RunsPage"),v("groups","#/groups",()=>import("./chunks/groups-page-HLASRTSY.js"),"renderGroupsPage"),v("settings","#/settings",()=>import("./chunks/settings-page-6KJADSC6.js"),"renderSettingsPage"),v("bot-defaults","#/bot-defaults",()=>import("./chunks/bot-defaults-page-4RENHE7J.js"),"renderBotDefaultsPage"),v("skills","#/skills",()=>import("./chunks/skills-page-M2Q6L5CB.js"),"renderSkillsPage"),v("connectors-logs","#/connectors/logs",()=>import("./chunks/connectors-page-2KZO5KSJ.js"),"renderConnectorsLogsPage"),v("webhook-logs","#/webhook-logs",()=>import("./chunks/connectors-page-2KZO5KSJ.js"),"renderConnectorsLogsPage"),v("connectors","#/connectors",()=>import("./chunks/connectors-page-2KZO5KSJ.js"),"renderConnectorsPage"),v("team-manage","#/team/manage",()=>import("./chunks/team-federation-page-7I7FDE3B.js"),"renderTeamManagePage"),v("team","#/team",()=>import("./chunks/team-federation-page-7I7FDE3B.js"),"renderTeamFederationPage"),v("roles-profile","#/roles/profile",()=>import("./chunks/roles-page-6NWJMOB5.js"),"renderRoleProfilesPage"),v("roles","#/roles",()=>import("./chunks/roles-page-6NWJMOB5.js"),"renderRolesPage"),v("schedules","#/schedules",()=>import("./chunks/schedules-page-6I3LNXD4.js"),"renderSchedulesPage"),v("whiteboards","#/whiteboards",()=>import("./chunks/whiteboards-page-LQKC4TAZ.js"),"renderWhiteboardsPage"),v("monitoring","#/monitoring",()=>import("./chunks/monitoring-page-IJPUB6JT.js"),"renderMonitoringPage"),v("sessions","#/sessions",()=>import("./chunks/sessions-page-B2TXGJDO.js"),"renderSessionsPage"),v("monitor-room","#/monitor-room",()=>import("./chunks/monitor-room-OTKQ2CXK.js"),"renderMonitorRoomPage",!0),v("office","#/office",()=>import("./chunks/office-page-QSR3J44Y.js"),"renderOfficePage"),v("insights","#/insights",()=>import("./chunks/insights-page-4RPU2CRU.js"),"renderInsightsPage"),v("feedback","#/feedback",()=>import("./chunks/feedback-page-CLVTOLLO.js"),"renderFeedbackPage")];function kt(e){return wn.find(n=>n.exact?e===n.routePrefix:e.startsWith(n.routePrefix))}async function Et(){let e=await import("./chunks/overview-page-6OK63V4V.js");return n=>e.renderOverviewPage(n)}function Mt(){return{seq:0,pageDispose:null,rerenderOnUiChange:!0}}function Tt(e){let n=++e.seq;return e.pageDispose&&(e.pageDispose(),e.pageDispose=null),n}function Rt(e,n){return n===e.seq}async function Lt(e,n,r,o,a={}){let i=await o();if(!Rt(e,n))return!1;let u=i(r);return Rt(e,n)?(e.pageDispose=typeof u=="function"?u:null,e.rerenderOnUiChange=a.rerenderOnUiChange??!0,!0):(typeof u=="function"&&u(),!1)}var xn="botmux.dashboard.stale-chunk-reload.v1:",kn=/Failed to fetch dynamically imported module|Importing a module script failed|error loading dynamically imported module|dynamically imported module/i,En=/\b(?:https?:\/\/|\/assets\/)\S+?\.js\b/;function Nt(e){return e instanceof Error?`${e.name}: ${e.message}`:String(e)}function St(e){return kn.test(Nt(e))}function Rn(e,n){let a=Nt(e).match(En)?.[0]||`${n.href}|${n.hash}`;return`${xn}${a.slice(-240)}`}function Mn(e,n){if(!St(e))return!1;let r=Rn(e,n);try{if(n.sessionStorage.getItem(r)==="1")return!1;n.sessionStorage.setItem(r,"1")}catch{return!1}return n.reload(),!0}function Pt(e,n){if(!St(e))return!1;let r;try{r=n.getSessionStorage()}catch{return!1}return Mn(e,{...n,sessionStorage:r})}var Tn=new Set(["auto","scroll","overlay"]),fe=28,S=3,_=6,Ct=!1,It=null,Ot=new WeakMap,C=new Map,Dt=null,Ht=null,Ae=0,Ie=0,ee=null;function Ln(e){return e.closest("dialog[open]")??document.body}function Nn(e){let n=Ot.get(e);if(n?.isConnected)return n;let r=document.createElement("div");return r.className="floating-scrollbar-layer",r.setAttribute("aria-hidden","true"),e.appendChild(r),Ot.set(e,r),r}function Sn(e){return Tn.has(e)}function Be(e,n){let r=getComputedStyle(e),o=n==="y"?r.overflowY:r.overflowX;return Sn(o)?n==="y"?e.scrollHeight-e.clientHeight>1:e.scrollWidth-e.clientWidth>1:!1}function Pn(e){if(!e.isConnected||e.closest("[hidden]"))return!1;let n=e.getBoundingClientRect();return n.width>0&&n.height>0&&n.bottom>0&&n.right>0&&n.top<window.innerHeight&&n.left<window.innerWidth}function Cn(e){return[e,...Array.from(e.querySelectorAll("*"))].filter(r=>Pn(r)&&(Be(r,"x")||Be(r,"y")))}function be(e){e.hideTimer!==void 0&&window.clearTimeout(e.hideTimer),e.track.remove()}function On(e,n){let r=C.get(e);r||(r={},C.set(e,r));let o=r[n],a=Ln(e),i=Nn(a);if(o?.track.parentElement===i)return o;o&&be(o);let u=document.createElement("div"),m=document.createElement("div");u.className=`floating-scrollbar floating-scrollbar-${n}`,m.className="floating-scrollbar-thumb",u.appendChild(m),i.appendChild(u);let d={target:e,axis:n,track:u,thumb:m,hideTimer:void 0};return r[n]=d,d}function Ue(e,n=!1){e.track.classList.add("is-visible"),e.hideTimer!==void 0&&window.clearTimeout(e.hideTimer),e.hideTimer=n?void 0:window.setTimeout(()=>{e.track.classList.remove("is-visible","is-active"),e.hideTimer=void 0},900)}function Dn(e){let{target:n,axis:r,track:o,thumb:a}=e,i=n.getBoundingClientRect();if(r==="y"){let P=Math.max(0,i.top+S),g=Math.min(window.innerHeight,i.bottom-S),w=Math.max(0,g-P);if(w<fe||n.scrollHeight<=n.clientHeight){o.hidden=!0;return}let R=Math.max(fe,Math.round(w*n.clientHeight/n.scrollHeight)),U=Math.max(1,n.scrollHeight-n.clientHeight),V=Math.round((w-R)*n.scrollTop/U);o.hidden=!1,o.style.left=`${Math.min(window.innerWidth-_-S,Math.max(S,i.right-_-S))}px`,o.style.top=`${P}px`,o.style.width=`${_}px`,o.style.height=`${w}px`,a.style.width="100%",a.style.height=`${R}px`,a.style.transform=`translate3d(0, ${V}px, 0)`;return}let u=Math.max(0,i.left+S),m=Math.min(window.innerWidth,i.right-S),d=Math.max(0,m-u);if(d<fe||n.scrollWidth<=n.clientWidth){o.hidden=!0;return}let p=Math.max(fe,Math.round(d*n.clientWidth/n.scrollWidth)),f=Math.max(1,n.scrollWidth-n.clientWidth),h=Math.round((d-p)*n.scrollLeft/f);o.hidden=!1,o.style.left=`${u}px`,o.style.top=`${Math.min(window.innerHeight-_-S,Math.max(S,i.bottom-_-S))}px`,o.style.width=`${d}px`,o.style.height=`${_}px`,a.style.width=`${p}px`,a.style.height="100%",a.style.transform=`translate3d(${h}px, 0, 0)`}function F(){Ae||(Ae=window.requestAnimationFrame(()=>{Ae=0,An()}))}function Hn(){Ie||(Ie=window.setTimeout(()=>{Ie=0,F()},120))}function An(){let e=It;if(!e)return;let n=new Set(Cn(e));for(let[r,o]of C)n.has(r)||(o.x&&be(o.x),o.y&&be(o.y),C.delete(r));for(let r of n){let o=r===ee;for(let a of["x","y"]){let i=C.get(r);if(!Be(r,a)){let m=i?.[a];m&&(be(m),delete i?.[a]);continue}let u=On(r,a);Dn(u),o&&Ue(u,!0)}}}function In(e){if(!(e instanceof HTMLElement))return;let n=C.get(e);if(n)for(let r of Object.values(n))r&&(r.track.classList.add("is-active"),Ue(r))}function Bn(e){for(let n=e;n;n=n.parentElement)if(n instanceof HTMLElement&&C.has(n))return n;return null}function At(e){if(ee===e)return;let n=ee?C.get(ee):void 0;if(ee=e,n)for(let o of Object.values(n))o?.track.classList.remove("is-visible");let r=e?C.get(e):void 0;if(r)for(let o of Object.values(r))o&&Ue(o,!0)}function Bt(e){Ct||(Ct=!0,It=e,document.documentElement.classList.add("floating-scrollbars-on"),Dt=typeof ResizeObserver>"u"?null:new ResizeObserver(F),Dt?.observe(e),Ht=new MutationObserver(n=>{for(let r of n){let o=r.target;if(!(o instanceof Element&&o.closest(".floating-scrollbar-layer"))){Hn();return}}}),Ht.observe(e,{attributes:!0,attributeFilter:["class","style","hidden","open"],childList:!0,subtree:!0}),document.addEventListener("scroll",n=>{In(n.target),F()},!0),window.addEventListener("resize",F),window.addEventListener("hashchange",F),document.addEventListener("pointermove",n=>{At(Bn(document.elementFromPoint(n.clientX,n.clientY)))}),document.addEventListener("pointerleave",()=>At(null)),F())}var Ut=!1,K=null,ge=null,W=null;function _t(){if(K)return K;let e=document.createElement("div");return e.className="icon-tip",e.setAttribute("role","tooltip"),e.style.display="none",document.body.appendChild(e),K=e,e}function Un(e){let n=_t(),r=dt(e,document.body);return n.parentNode!==r&&r.appendChild(n),n}function $n(e){let n=_t(),r=e.getBoundingClientRect(),o=n.offsetWidth,a=n.offsetHeight,i=8,u=r.top<a+i+4,m=r.left+r.width/2-o/2;m=Math.min(Math.max(m,6),window.innerWidth-o-6);let d=u?r.bottom+i:r.top-a-i;n.style.left=`${Math.round(m)}px`,n.style.top=`${Math.round(d)}px`,n.dataset.placement=u?"bottom":"top"}function te(){W&&(clearTimeout(W),W=null),ge=null,K&&(K.style.display="none",K.classList.remove("show"))}function $t(e){let n=e.getAttribute("data-tip");if(!n)return;ge=e;let r=Un(e);r.textContent=n,r.style.display="block",r.classList.remove("show"),$n(e),requestAnimationFrame(()=>{ge===e&&r.classList.add("show")})}function $e(e){return e instanceof Element?e.closest("[data-tip]"):null}function Ft(){Ut||typeof document>"u"||(Ut=!0,document.addEventListener("pointerover",e=>{let n=$e(e.target);!n||n===ge||(W&&clearTimeout(W),W=setTimeout(()=>$t(n),120))}),document.addEventListener("pointerout",e=>{let n=$e(e.target);if(!n)return;let r=e.relatedTarget instanceof Element?e.relatedTarget:null;r&&(r===n||n.contains(r))||te()}),document.addEventListener("focusin",e=>{let n=$e(e.target);n&&$t(n)}),document.addEventListener("focusout",te),document.addEventListener("click",te,!0),window.addEventListener("scroll",te,!0),window.addEventListener("resize",te))}async function Kt(e){let n=await e.json().catch(()=>null);return n&&typeof n=="object"?n:{}}function Wt(e,n){let r=n.detail??n.error;return new Error(typeof r=="string"?r:`HTTP ${e.status}`)}async function _e(e,n=()=>{},r){n("updating");let o=await e(r?"/api/update/rollback":"/api/update/run",r?{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({version:r})}:{method:"POST"}),a=await Kt(o);if(!o.ok||a.ok===!1)throw Wt(o,a);if(a.ok!==!0||typeof a.oldVersion!="string"||typeof a.newVersion!="string"||typeof a.changed!="boolean")throw new Error("Invalid update response");if(r&&(a.newVersion!==r||a.changed!==!0))throw new Error("Invalid rollback response");let i={oldVersion:a.oldVersion,newVersion:a.newVersion,changed:a.changed,restarted:!1};if(n("restarting"),r)return{...i,restarted:!0};let u=await e("/api/update/restart",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({update:{oldVersion:i.oldVersion,newVersion:i.newVersion}})}),m=await Kt(u);if(m.error==="bootstrap_shutdown_protocol_required"){let p=Array.isArray(m.unsafeDaemons)?m.unsafeDaemons.filter(f=>typeof f=="string"):[];return{...i,restarted:!1,bootstrapRequired:!0,unsafeDaemons:p}}if(!u.ok||m.ok===!1)return{...i,restarted:!1,restartError:Wt(u,m).message};if(m.ok!==!0)throw new Error("Invalid restart response");return m.alreadyScheduled===!0?{...i,restarted:!0,alreadyScheduled:!0}:{...i,restarted:!0}}function Fe(e,n){if(e)try{let r=new URL(e);if(!["http:","https:"].includes(r.protocol)||r.username||r.password)return;let o=n.startsWith("#/")&&n.length<=4096&&!/[\u0000-\u001f\u007f]/.test(n)?n:"#/";return r.searchParams.set("next",`/${o}`),r.toString()}catch{return}}var t=Y(ct(),1),_n=["roles","role-profiles","bot-defaults","skills","plugins","team","connectors","insights","feedback","whiteboards"],zt=[{id:"overview",href:"#/",labelKey:"nav.overview",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"1.5",y:"1.5",width:"5.4",height:"5.4",rx:"1.5"}),(0,t.jsx)("rect",{x:"9.1",y:"1.5",width:"5.4",height:"5.4",rx:"1.5"}),(0,t.jsx)("rect",{x:"1.5",y:"9.1",width:"5.4",height:"5.4",rx:"1.5"}),(0,t.jsx)("rect",{x:"9.1",y:"9.1",width:"5.4",height:"5.4",rx:"1.5"})]})},{id:"sessions",href:"#/sessions",labelKey:"nav.sessions",icon:(0,t.jsx)("path",{d:"M2 3.5h12v7H6l-3 3v-3H2z"})},{id:"groups",href:"#/groups",labelKey:"nav.groups",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"5.6",cy:"5.8",r:"2.4"}),(0,t.jsx)("circle",{cx:"11",cy:"6.8",r:"1.9"}),(0,t.jsx)("path",{d:"M1.8 13.2c.5-2.4 2-3.6 3.8-3.6s3.3 1.2 3.8 3.6M9.8 12.6c.4-1.7 1.5-2.6 2.8-2.6 1 0 1.9.5 2.4 1.6"})]})},{id:"roles",href:"#/roles",labelKey:"nav.roles",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M8 1.8l5.2 2v3.4c0 3.4-2.2 5.9-5.2 7-3-1.1-5.2-3.6-5.2-7V3.8z"}),(0,t.jsx)("path",{d:"M5.8 8l1.6 1.6 2.8-3"})]})},{id:"monitoring",href:"#/monitoring",labelKey:"nav.monitoring",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M2 9.2h2.3l1.3-4.8 2.5 8.4 1.8-5.1h4.1"}),(0,t.jsx)("path",{d:"M2 2.5h12v11H2z"})]})},{id:"insights",href:"#/insights",labelKey:"nav.insights",manage:!0,icon:(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("path",{d:"M2 2v12h12M5 11V7M8.5 11V4.5M12 11V8.5"})})},{id:"feedback",href:"#/feedback",labelKey:"nav.feedback",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M2.2 3.2h11.6v8H8l-3.2 2.6v-2.6H2.2z"}),(0,t.jsx)("path",{d:"M5 6.2h6M5 8.3h4"})]})},{id:"workflows",href:"#/workflows",labelKey:"nav.workflows",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"3.4",cy:"3.6",r:"1.9"}),(0,t.jsx)("circle",{cx:"3.4",cy:"12.4",r:"1.9"}),(0,t.jsx)("circle",{cx:"12.6",cy:"8",r:"1.9"}),(0,t.jsx)("path",{d:"M5.2 4.4l5.6 2.8M5.2 11.6l5.6-2.8"})]})},{id:"schedules",href:"#/schedules",labelKey:"nav.schedules",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"6.2"}),(0,t.jsx)("path",{d:"M8 4.5V8l2.4 1.6"})]})},{id:"whiteboards",href:"#/whiteboards",labelKey:"nav.whiteboards",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.2",y:"2.2",width:"11.6",height:"11.6",rx:"2"}),(0,t.jsx)("path",{d:"M4.8 5.2h6.4M4.8 8h6.4M4.8 10.8h4"})]})},{id:"office",href:"#/office",labelKey:"nav.office",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"3",y:"4",width:"10",height:"7",rx:"2"}),(0,t.jsx)("circle",{cx:"6",cy:"7.5",r:"1"}),(0,t.jsx)("circle",{cx:"10",cy:"7.5",r:"1"}),(0,t.jsx)("path",{d:"M8 4V2M4.5 11v2M11.5 11v2"})]})},{id:"bot-defaults",href:"#/bot-defaults",labelKey:"nav.botDefaults",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.5",y:"5",width:"11",height:"8",rx:"2"}),(0,t.jsx)("circle",{cx:"5.8",cy:"9",r:"1"}),(0,t.jsx)("circle",{cx:"10.2",cy:"9",r:"1"}),(0,t.jsx)("path",{d:"M8 5V2.5M5.5 13v1.2M10.5 13v1.2"})]})},{id:"skills",href:"#/skills",labelKey:"nav.skills",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M3 2.5h10v3H3zM3 7h10v6.5H3z"}),(0,t.jsx)("path",{d:"M5.4 9.2h5.2M5.4 11.2h3.8"})]})},{id:"plugins",href:"#/plugins",label:"\u63D2\u4EF6",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M6.4 1.8h3.2v3h2.8v3.2H9.6v2.8H6.4V8H3.6V4.8h2.8z"}),(0,t.jsx)("path",{d:"M2.2 11.8h11.6v2.4H2.2z"})]})},{id:"team",href:"#/team",labelKey:"nav.team",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"6.2"}),(0,t.jsx)("path",{d:"M1.8 8h12.4M8 1.8c-2 1.8-2 10.6 0 12.4 2-1.8 2-10.6 0-12.4z"})]})},{id:"connectors",href:"#/connectors",labelKey:"nav.connectors",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M5.5 6.5v-3a2.5 2.5 0 0 1 5 0v3"}),(0,t.jsx)("rect",{x:"3.5",y:"6.5",width:"9",height:"7",rx:"2"})]})},{id:"settings",href:"#/settings",labelKey:"nav.settings",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M8 1.75 9.35 2.05 10 3.28l1.38.3 1.04-.96.96.96-.96 1.04.3 1.38 1.23.65L14.25 8l-.3 1.35-1.23.65-.3 1.38.96 1.04-.96.96-1.04-.96-1.38.3-.65 1.23L8 14.25l-1.35-.3L6 12.72l-1.38-.3-1.04.96-.96-.96.96-1.04-.3-1.38-1.23-.65L1.75 8l.3-1.35 1.23-.65.3-1.38-.96-1.04.96-.96 1.04.96 1.38-.3.65-1.23z"}),(0,t.jsx)("circle",{cx:"8",cy:"8",r:"2"})]})}],re=[],A=!0,qe=!1,Zt=location.hash||"#/",z=null,oe=!1,ae=null,ye=null,Qt=null,we=null,en=null,H=Mt(),tn="botmux.ownerAvatar.v1",Fn=new Set(["working","analyzing","active","starting"]),je="botmux:auth-expired",Ge;function ne(e){return(0,t.jsx)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:e})}function Vt(e){return e.labelKey?s(e.labelKey):e.label??""}function Kn(e,n){let r=n||"#/";return e.id==="plugins"&&re.some(o=>o.href===r||r.startsWith(`${o.href}?`)||r.startsWith(`${o.href}/`))?!1:e.id==="sessions"&&(r==="#/monitor-room"||r.startsWith("#/monitor-room?")||r.startsWith("#/monitor-room/"))||e.id==="connectors"&&(r==="#/webhook-logs"||r.startsWith("#/webhook-logs?")||r.startsWith("#/webhook-logs/"))?!0:e.href===r||e.href!=="#/"&&(r.startsWith(`${e.href}?`)||r.startsWith(`${e.href}/`))}function Wn(){let e=ft()?zt.filter(r=>r.id!=="workflows"):zt;if(re.length===0)return e;let n=e.findIndex(r=>r.id==="plugins");return n<0?[...e,...re]:[...e.slice(0,n+1),...re,...e.slice(n+1)]}function zn(e){let n=[];return Kn(e,Zt)&&n.push("active"),e.id==="settings"&&oe&&n.push("nav-has-update"),n.length?n.join(" "):void 0}function nn(){let e=pe(new URLSearchParams(location.search).get("locale"));if(e)return e;let n=location.hash.indexOf("?");return n<0?null:pe(new URLSearchParams(location.hash.slice(n+1)).get("locale"))}function qt(){let e=nn();return!e||e===y.locale?!1:(y.setLocale(e),!0)}function Vn(){let e=location.hash.indexOf("?");return e<0?null:{path:location.hash.slice(0,e)||"#/",params:new URLSearchParams(location.hash.slice(e+1))}}function qn(){let e=Vn(),n=e?.params.get("open");if(!e||!n||n!=="bot-onboarding"&&n!=="create-session")return!1;e.params.delete("open");let r=e.params.toString();return history.replaceState(null,"",r?`${e.path}?${r}`:e.path),n==="bot-onboarding"?window.dispatchEvent(new Event(me)):Ce(),!0}function jt(){let e=ae?`v${ae}`:"";return ye==="runtime"?s("update.navRuntimeBadgeTitle",{version:e}):s("update.navBadgeTitle",{version:e})}function jn(e){we=e}function Ke(){if(we)return we;let e=document.getElementById("root");if(!e)throw new Error("dashboard root is not mounted");return we=e,e}function Gn(){return(0,c.useEffect)(()=>{xt()},[]),(0,c.useEffect)(()=>{He()}),(0,t.jsxs)("div",{className:"theme-menu",id:"theme-menu",children:[(0,t.jsx)("button",{type:"button",className:"theme-menu-btn",id:"theme-menu-btn","aria-haspopup":"listbox","aria-expanded":"false","aria-label":"Theme",children:(0,t.jsx)("span",{className:"tm-ic",children:(0,t.jsxs)("svg",{className:"tm-svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,t.jsx)("circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor"}),(0,t.jsx)("path",{d:"M12 2a10 10 0 0 0 0 20h1.7a2.3 2.3 0 0 0 1.6-4c-.5-.5-.2-1.3.5-1.3H17a5 5 0 0 0 5-5 9.7 9.7 0 0 0-10-9.7z"})]})})}),(0,t.jsx)("div",{className:"theme-menu-pop",id:"theme-menu-pop",role:"listbox",hidden:!0})]})}function Jn(){let e=[...ue.sessions.values()],n=e.filter(d=>d.status!=="closed"),r=n.map(d=>({s:d,reason:it(d)})).filter(d=>!!d.reason).sort((d,p)=>he(d.s)-he(p.s)),o=new Set(r.map(d=>String(d.s.sessionId??""))),a=n.filter(d=>Fn.has(String(d.status))&&!o.has(String(d.sessionId??""))).length,i=r[0]??null,u=vt(e).filter(d=>d.online||d.active.length>0).length,m=Math.max(0,n.length-r.length-a);return{working:a,attention:r.length,idle:m,onlineBots:u,attentionNotice:i?{count:r.length,time:ot(he(i.s)),bot:st(i.s),reason:i.reason}:null}}function ve(e){return(0,t.jsxs)("div",{className:`topbar-status-row${e.hot?" topbar-status-row-hot":""}`,children:[(0,t.jsx)("span",{children:e.label}),(0,t.jsx)("b",{className:e.value>0?"status-count-on":void 0,children:e.value})]})}function Xn(e){let{attention:n,idle:r,working:o}=e.summary,a=o+n+r,i=a===0?"conic-gradient(var(--border) 0 360deg)":(()=>{let u=o/a*360,m=u+n/a*360;return`conic-gradient(var(--accent) 0 ${u}deg, var(--warning) ${u}deg ${m}deg, var(--success) ${m}deg 360deg)`})();return(0,t.jsxs)("div",{className:"topbar-status-donut-wrap","aria-hidden":"true",children:[(0,t.jsx)("div",{className:"topbar-status-donut",style:{background:i}}),(0,t.jsxs)("div",{className:"topbar-status-donut-center",children:[(0,t.jsx)("b",{children:a}),(0,t.jsx)("span",{children:s("overview.openSessions")})]})]})}function We(){window.dispatchEvent(new Event(De))}function Yn(e){let{autoOpen:n=!1,summary:r}=e,[o,a]=(0,c.useState)(!1),[i,u]=(0,c.useState)(!1),[m,d]=(0,c.useState)(!1),p=(0,c.useRef)(null),f=n&&!i,h=o||f;return(0,c.useEffect)(()=>{n||u(!1)},[n]),(0,c.useEffect)(()=>{if(!h)return;let g=w=>{let R=w.target;R instanceof Node&&p.current?.contains(R)||(a(!1),u(!0))};return document.addEventListener("pointerdown",g),()=>document.removeEventListener("pointerdown",g)},[h]),(0,t.jsxs)("div",{ref:p,className:`topbar-status-menu${f?" topbar-status-auto-open":""}${o?" is-open":""}${m?" suppress-hover":""}`,onPointerEnter:We,onPointerLeave:()=>d(!1),onFocusCapture:We,onBlur:g=>{let w=g.relatedTarget;(!(w instanceof Node)||!g.currentTarget.contains(w))&&a(!1)},onKeyDown:g=>{g.key==="Escape"&&(a(!1),u(!0),d(!0),g.currentTarget.querySelector("#status")?.focus())},children:[(0,t.jsx)("button",{type:"button",id:"status",className:"connection-status","aria-haspopup":"true","aria-expanded":h,onClick:()=>{if(We(),h){a(!1),u(!0),d(!0);return}d(!1),a(!0)},children:s("overview.sessionOverview")}),(0,t.jsxs)("div",{className:"topbar-status-pop",children:[r.attentionNotice?(0,t.jsxs)("a",{className:"topbar-attention-notice",href:"#/sessions",children:[(0,t.jsx)("span",{className:"topbar-attention-dot","aria-hidden":"true"}),(0,t.jsxs)("span",{className:"topbar-attention-copy",children:[(0,t.jsx)("b",{children:s("strip.pending",{count:r.attentionNotice.count})}),(0,t.jsx)("small",{children:s("strip.longestCompact",{time:r.attentionNotice.time,bot:r.attentionNotice.bot,reason:r.attentionNotice.reason})})]}),(0,t.jsx)("span",{className:"topbar-attention-action",children:s("strip.handle")})]}):null,(0,t.jsxs)("div",{className:"topbar-status-list",children:[(0,t.jsx)(ve,{label:s("overview.workingSessions"),value:r.working}),(0,t.jsx)(ve,{label:s("overview.idleSessions"),value:r.idle}),(0,t.jsx)(ve,{label:s("overview.attention"),value:r.attention,hot:r.attention>0}),(0,t.jsx)(ve,{label:s("overview.onlineBots"),value:r.onlineBots})]}),(0,t.jsx)(Xn,{summary:r})]})]})}function Zn(e){if(!e.open)return null;let n=!!e.loginUrl;return(0,t.jsx)("div",{id:"auth-expired-overlay",className:"auth-expired-overlay",role:"presentation",onClick:r=>{r.target===r.currentTarget&&e.onClose()},children:(0,t.jsxs)("div",{className:"auth-expired-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"auth-expired-title",children:[(0,t.jsx)("h2",{id:"auth-expired-title",children:n?"\u767B\u5F55 Dashboard":"\u8BBF\u95EE\u94FE\u63A5\u5DF2\u5931\u6548"}),(0,t.jsx)("p",{children:n?"\u5F53\u524D\u6D4F\u89C8\u5668\u5C1A\u672A\u767B\u5F55\u3002\u70B9\u51FB\u540E\u5C06\u901A\u8FC7 Botmux \u5E73\u53F0\u6821\u9A8C\u673A\u5668 owner \u6743\u9650\uFF0C\u5E76\u8FD4\u56DE\u5F53\u524D\u9875\u9762\uFF1B\u65E0\u6743\u9650\u8D26\u53F7\u4ECD\u4F1A\u88AB\u62D2\u7EDD\u3002":"\u5F53\u524D\u94FE\u63A5/\u8BBF\u95EE\u5DF2\u5931\u6548\uFF0C\u8BF7\u4F7F\u7528\u6700\u65B0\u6388\u6743\u94FE\u63A5\u91CD\u65B0\u8FDB\u5165\uFF08\u8FD0\u884C botmux dashboard \u83B7\u53D6\uFF09\u3002"}),(0,t.jsxs)("div",{className:"auth-expired-actions",children:[e.loginUrl?(0,t.jsx)("a",{id:"dashboard-one-click-login",className:"auth-login-link primary",href:e.loginUrl,target:"_top",rel:"noopener",children:"\u4E00\u952E\u767B\u5F55"}):null,(0,t.jsx)("button",{id:"auth-expired-dismiss",type:"button",className:n?"secondary":"primary",onClick:e.onClose,children:n?"\u6682\u4E0D\u767B\u5F55":"\u77E5\u9053\u4E86"})]})]})})}function Qn(e){let n=new Date(e);if(Number.isNaN(n.getTime()))return e.slice(0,10);try{return new Intl.DateTimeFormat(y.locale==="zh"?"zh-CN":"en-US",{year:"numeric",month:"numeric",day:"numeric"}).format(n)}catch{return e.slice(0,10)}}async function Gt(){let e=await fetch("/__selfcheck",{cache:"no-store"}),n=await e.text();if(!e.ok||!n)throw new Error(s("update.healthCheckFailed"));return n}function er(e){let{status:n}=e,[r,o]=(0,c.useState)(!1),[a,i]=(0,c.useState)("idle"),[u,m]=(0,c.useState)(0),[d,p]=(0,c.useState)(!1),[f,h]=(0,c.useState)(!1),[P,g]=(0,c.useState)(""),[w,R]=(0,c.useState)(!1),[U,V]=(0,c.useState)(!1),[T,xe]=(0,c.useState)(!1),[q,ie]=(0,c.useState)(!1),[j,Xe]=(0,c.useState)([]),[x,ke]=(0,c.useState)(null),[O,Ee]=(0,c.useState)(null),L=(0,c.useRef)(!1),G=(0,c.useRef)(null),le=(0,c.useRef)(null),Ye=(0,c.useRef)(null),Re=(0,c.useRef)(null),Me=(0,c.useRef)(null),[J,Ze]=(0,c.useState)(null),rn=()=>{G.current!==null&&(window.clearTimeout(G.current),G.current=null)},Te=()=>{le.current!==null&&(window.clearInterval(le.current),le.current=null)};if((0,c.useEffect)(()=>{L.current=!1,i("idle"),m(0),p(!1),h(!1),g(""),R(!1),V(!1),xe(!1),ie(!1),Xe([]),ke(null),Ee(null)},[n?.current,n?.latest]),(0,c.useEffect)(()=>{if(Te(),a==="idle"||a==="error"){m(0);return}let l=a==="updating"?50:95;return a==="restarting"&&m(b=>Math.max(b,50)),le.current=window.setInterval(()=>{m(b=>b>=l?l:b+Math.max(.5,(l-b)*.08))},400),()=>Te()},[a]),(0,c.useEffect)(()=>{n&&h(n.versionLookupOk===!1)},[n]),(0,c.useEffect)(()=>{r||R(!1)},[r]),(0,c.useEffect)(()=>{if(!r||!J)return;let l=window.requestAnimationFrame(()=>{Me.current?.querySelector('button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')?.focus()});return()=>window.cancelAnimationFrame(l)},[r,J!==null]),(0,c.useEffect)(()=>{if(!r){Ze(null);return}let l=()=>{let b=Re.current;if(!b)return;let k=b.getBoundingClientRect(),N=Math.min(340,Math.max(0,window.innerWidth-32)),B=Math.max(16,Math.min(k.left,window.innerWidth-N-16));Ze({top:k.bottom+8,left:B})};return l(),window.addEventListener("resize",l),document.addEventListener("scroll",l,!0),()=>{window.removeEventListener("resize",l),document.removeEventListener("scroll",l,!0)}},[r]),(0,c.useEffect)(()=>()=>{rn(),Te()},[]),(0,c.useEffect)(()=>{if(!r)return;let l=k=>{let N=k.target;Ye.current?.contains(N)||Me.current?.contains(N)||o(!1)},b=k=>{k.key==="Escape"&&(o(!1),Re.current?.focus())};return document.addEventListener("pointerdown",l),document.addEventListener("keydown",b),()=>{document.removeEventListener("pointerdown",l),document.removeEventListener("keydown",b)}},[r]),!n)return null;let I=n.behind&&!!n.latest,Le=!n.latest,Ne=I&&n.updateSupported&&!n.localDevInstall&&n.node.ok,Qe=n.updateSupported&&!n.localDevInstall&&n.node.ok,D=a==="updating"||a==="restarting",et=2*Math.PI*20,on=et*(1-Math.max(2,Math.round(u))/100),an=n.updateCommand??"botmux update",Se=`v${n.current}`,sn=n.latest?`v${n.latest}`:"",ln=n.localDevInstall?s("update.localDev"):n.updateSupported?n.node.ok?"":s("update.nodeWarn",{version:n.node.version,required:n.node.required}):s("update.unsupportedInstall"),tt=l=>{let b=Date.now(),k=async()=>{try{let N=await fetch("/__selfcheck",{cache:"no-store"}),B=await N.text();if(N.ok&&B&&B!==l){location.reload();return}}catch{}if(Date.now()-b>9e4){L.current=!1,i("error"),g(s("update.restartSlow"));return}G.current=window.setTimeout(()=>{k()},2e3)};G.current=window.setTimeout(()=>{k()},3e3)},cn=async()=>{if(I){if(!Ne){o(!1),location.hash="#/settings";return}if(!L.current){L.current=!0,Ee(null),h(!1),g("");try{let l=await Gt(),b=await _e(fetch,i);if(b.bootstrapRequired){L.current=!1,i("error"),g(s("update.bootstrapRequired"));return}if(!b.restarted){L.current=!1,i("error"),g(s("update.restartFailed",{detail:b.restartError??"unknown"}));return}tt(l)}catch(l){L.current=!1,i("error"),g(l instanceof Error?l.message:String(l))}}}},Pe=async(l=!1)=>{if(T)return!q;xe(!0),ie(!1);try{let b=await fetch(`/api/update/versions${l?"?refresh=1":""}`,{cache:"no-store"}),k=await b.json().catch(()=>null);if(!k||!Array.isArray(k.versions))throw new Error("Invalid rollback versions response");let N=k.versions.filter($=>{if(!$||typeof $!="object")return!1;let X=$;return typeof X.version=="string"&&(typeof X.publishedAt=="string"||X.publishedAt===null)}).slice(0,3);Xe(N),ke($=>N.some(X=>X.version===$)?$:null),V(!0);let B=b.ok&&k.ok===!0;return ie(!B),B}catch{return V(!0),ie(!0),!1}finally{xe(!1)}},dn=async()=>{if(!(!x||!Qe||T||L.current)){L.current=!0,Ee(x),h(!1),g("");try{let l=await Gt();await _e(fetch,i,x),tt(l)}catch(l){L.current=!1,i("error"),g(l instanceof Error?l.message:String(l))}}},un=async()=>{if(!(d||D)){p(!0),h(!1);try{let l=await e.onRefresh();w&&await Pe(!0),h(!l)}finally{p(!1)}}},ce=a==="updating"?O?s("update.rollbackInstalling",{version:O}):s("update.updating",{command:an}):a==="restarting"?O?s("update.rollbackRestarting",{version:O}):s("update.restarting"):a==="error"?O?s("update.rollbackFailed",{detail:P}):s("update.updateFailed",{detail:P}):f?s("update.topbarRefreshFailed"):I?Ne?s("update.versionUpgradePrompt",{version:sn}):ln:n.latest?s("update.upToDate"):s("update.checkUnavailable"),pn=Ne?a==="error"?s("update.topbarRetry"):a==="idle"?s("update.topbarAction"):s("update.topbarWorking"):s("update.topbarReview"),de=a==="error"||f&&Le?{className:"is-error",symbol:"!"}:I?{className:"has-update",symbol:"\u2191"}:Le?{className:"is-unknown",symbol:"?"}:{className:"is-current",symbol:"\u2713"};return(0,t.jsxs)("div",{ref:Ye,className:`dashboard-version-control${r?" is-open":""}`,children:[(0,t.jsxs)("button",{ref:Re,type:"button",className:`dashboard-version-chip${I?" has-update":""}${Le?" is-unknown":""}${a==="error"?" is-error":""}`,"aria-haspopup":"dialog","aria-expanded":r,"aria-label":`${Se}. ${ce}`,title:ce,onClick:()=>o(l=>!l),children:[(0,t.jsx)("span",{children:Se}),(0,t.jsx)("span",{className:`dashboard-version-state ${de.className}`,"aria-hidden":"true",children:de.symbol})]}),r&&J&&typeof document<"u"?(0,Xt.createPortal)((0,t.jsxs)("section",{ref:Me,className:"dashboard-version-popover",role:"dialog","aria-modal":"false","aria-labelledby":"dashboard-version-title",style:{top:J.top,left:J.left},children:[(0,t.jsxs)("header",{className:"dashboard-version-popover-head",children:[(0,t.jsx)("strong",{id:"dashboard-version-title",children:s("update.current")}),(0,t.jsxs)("div",{className:"dashboard-version-head-actions",children:[(0,t.jsx)("button",{type:"button",className:`dashboard-version-refresh${d?" is-refreshing":""}`,"aria-label":s(d?"update.topbarRefreshing":"update.topbarRefresh"),title:s(d?"update.topbarRefreshing":"update.topbarRefresh"),disabled:d||T||D,onClick:()=>{un()},children:(0,t.jsxs)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M13.2 5.7A5.8 5.8 0 1 0 13 10.8"}),(0,t.jsx)("path",{d:"M13.2 2.8v2.9h-2.9"})]})}),(0,t.jsx)("button",{type:"button",className:"dashboard-version-close","aria-label":s("update.topbarClose"),onClick:()=>o(!1),children:"\xD7"})]})]}),(0,t.jsxs)("div",{className:"dashboard-version-popover-body",children:[(0,t.jsxs)("div",{className:"dashboard-version-current",children:[(0,t.jsx)("strong",{children:Se}),D?(0,t.jsxs)("span",{className:"dashboard-version-ring",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(u),"aria-label":ce,children:[(0,t.jsxs)("svg",{viewBox:"0 0 44 44",width:"44",height:"44","aria-hidden":"true",children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"dvr-grad",x1:"0%",y1:"100%",x2:"100%",y2:"0%",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:"var(--brand-accent-cyan)"}),(0,t.jsx)("stop",{offset:"55%",stopColor:"var(--accent)"}),(0,t.jsx)("stop",{offset:"100%",stopColor:"var(--brand-accent-pink)"})]})}),(0,t.jsx)("circle",{className:"dvr-track",cx:"22",cy:"22",r:"20"}),(0,t.jsx)("circle",{className:"dvr-arc",cx:"22",cy:"22",r:"20",style:{strokeDasharray:et,strokeDashoffset:on}})]}),(0,t.jsxs)("span",{className:"dvr-pct",children:[Math.round(u),"%"]})]}):(0,t.jsx)("span",{className:de.className,"aria-hidden":"true",children:de.symbol})]}),(0,t.jsx)("p",{className:`dashboard-version-message${a==="error"||f?" is-error":""}`,role:a==="error"||f?"alert":"status","aria-live":"polite",children:ce}),(0,t.jsxs)("a",{className:"dashboard-version-release-link",href:"https://github.com/deepcoldy/botmux/releases",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M8 1.5a6.5 6.5 0 0 0-2.1 12.65c.33.06.45-.14.45-.32v-1.26c-1.84.4-2.23-.78-2.23-.78-.3-.76-.73-.96-.73-.96-.6-.41.05-.4.05-.4.66.05 1 .68 1 .68.59 1 1.54.72 1.92.55.06-.42.23-.72.42-.88-1.47-.17-3.02-.74-3.02-3.28 0-.72.26-1.32.68-1.78-.07-.17-.3-.84.07-1.75 0 0 .56-.18 1.79.68A6.2 6.2 0 0 1 8 4.63a6.2 6.2 0 0 1 1.71.22c1.23-.86 1.79-.68 1.79-.68.37.91.14 1.58.07 1.75.42.46.68 1.06.68 1.78 0 2.55-1.55 3.11-3.03 3.28.24.21.45.61.45 1.23v1.62c0 .18.12.38.46.32A6.5 6.5 0 0 0 8 1.5Z"})}),(0,t.jsx)("span",{children:s("update.changelogViewOnGitHub")})]}),(I||w)&&n.installs.multiple?(0,t.jsxs)("details",{className:"dashboard-version-installs",children:[(0,t.jsx)("summary",{children:s("update.multiInstallWarn")}),(0,t.jsx)("ul",{children:n.installs.entries.map(l=>(0,t.jsx)("li",{children:l.binPath},l.binPath))})]}):null,Qe?(0,t.jsxs)("details",{className:"dashboard-version-rollback",open:w,"aria-busy":T,onToggle:l=>{let b=l.currentTarget.open;R(b),b&&!U&&!T&&Pe()},children:[(0,t.jsxs)("summary",{children:[(0,t.jsxs)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"5.5"}),(0,t.jsx)("path",{d:"M8 4.8V8l2.2 1.3"})]}),(0,t.jsx)("span",{children:s("update.rollbackTitle")}),(0,t.jsx)("span",{className:"dashboard-version-rollback-chevron","aria-hidden":"true",children:"\u2304"})]}),(0,t.jsxs)("div",{className:"dashboard-version-rollback-body",children:[T&&j.length===0?(0,t.jsxs)("p",{className:"dashboard-version-rollback-status",role:"status","aria-live":"polite",children:[(0,t.jsx)("span",{className:"dashboard-update-spinner","aria-hidden":"true"}),s("update.rollbackLoading")]}):null,q?(0,t.jsxs)("p",{className:"dashboard-version-rollback-load-error",role:"alert",children:[(0,t.jsx)("span",{children:s("update.rollbackLoadFailed")}),(0,t.jsx)("button",{type:"button",disabled:T,onClick:()=>{Pe(!0)},children:s("update.rollbackRetry")})]}):null,U&&!T&&!q&&j.length===0?(0,t.jsx)("p",{className:"dashboard-version-rollback-status",children:s("update.rollbackEmpty")}):null,j.length>0?(0,t.jsxs)("fieldset",{disabled:D||T||q,children:[(0,t.jsx)("legend",{children:s("update.rollbackHint")}),(0,t.jsx)("div",{className:"dashboard-version-rollback-options",children:j.map(l=>(0,t.jsxs)("label",{className:x===l.version?"is-selected":"",children:[(0,t.jsx)("input",{type:"radio",name:"dashboard-rollback-version",value:l.version,checked:x===l.version,onChange:()=>ke(l.version)}),(0,t.jsxs)("strong",{children:["v",l.version]}),l.publishedAt?(0,t.jsx)("time",{dateTime:l.publishedAt,children:Qn(l.publishedAt)}):null]},l.version))})]}):null,x?(0,t.jsxs)("p",{id:"dashboard-version-rollback-risk",className:"dashboard-version-rollback-risk",role:"note",children:[(0,t.jsxs)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M7.1 2.3 1.8 12a1 1 0 0 0 .9 1.5h10.6a1 1 0 0 0 .9-1.5L8.9 2.3a1 1 0 0 0-1.8 0Z"}),(0,t.jsx)("path",{d:"M8 5.5v3.6M8 11.6h.01"})]}),(0,t.jsxs)("span",{children:[s("update.rollbackRisk",{version:x})," ",(0,t.jsx)("a",{href:`https://github.com/deepcoldy/botmux/releases/tag/v${encodeURIComponent(x)}`,target:"_blank",rel:"noopener noreferrer","aria-label":s("update.rollbackReleaseNotesA11y",{version:x}),children:s("update.rollbackReleaseNotes",{version:x})})]})]}):null,j.length>0?(0,t.jsxs)("button",{type:"button",className:"dashboard-version-rollback-action",disabled:!x||T||q||D,"aria-describedby":x?"dashboard-version-rollback-risk":void 0,onClick:()=>{dn()},children:[D&&O?(0,t.jsx)("span",{className:"dashboard-update-spinner","aria-hidden":"true"}):null,x?a==="error"&&O===x?s("update.rollbackRetry"):s("update.rollbackAction",{version:x}):s("update.rollbackSelect")]}):null]})]}):null]}),I&&!w&&!O?(0,t.jsxs)("footer",{className:"dashboard-version-popover-actions",children:[(0,t.jsx)("button",{type:"button",className:"dashboard-version-secondary",onClick:()=>o(!1),children:D?s("update.topbarClose"):s("update.topbarLater")}),(0,t.jsx)("button",{type:"button",className:"dashboard-version-primary",disabled:D,onClick:()=>{cn()},children:pn})]}):null]}),document.body):null]})}function tr(){let e=Jn(),[n,r]=(0,c.useState)(!1),[o,a]=(0,c.useState)(!1),[i,u]=(0,c.useState)(!1),m=(0,c.useRef)(e.attention),d=(0,c.useRef)(null),p=()=>{d.current!==null&&(window.clearTimeout(d.current),d.current=null)};(0,c.useEffect)(()=>{let h=()=>r(!0);return window.addEventListener(me,h),()=>window.removeEventListener(me,h)},[]),(0,c.useEffect)(()=>{let h=()=>a(!0);return window.addEventListener(je,h),se&&a(!0),()=>window.removeEventListener(je,h)},[]),(0,c.useEffect)(()=>()=>p(),[]),(0,c.useEffect)(()=>{let h=m.current;if(m.current=e.attention,e.attention===0){p(),u(!1);return}h!==0||document.body.classList.contains("theme-menu-open")||(u(!0),p(),d.current=window.setTimeout(()=>{d.current=null,u(!1)},4e3))},[e.attention]);let f=()=>{se=!1,a(!1)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"aurora","aria-hidden":"true",children:[(0,t.jsx)("i",{className:"a1"}),(0,t.jsx)("i",{className:"a2"}),(0,t.jsx)("i",{className:"a3"})]}),(0,t.jsxs)("div",{className:"app-shell",children:[(0,t.jsxs)("header",{className:"topbar",children:[(0,t.jsx)("div",{className:"topbar-left",children:(0,t.jsxs)("div",{className:"topbar-brand-block",children:[(0,t.jsxs)("a",{className:"brand",href:"#/",children:[(0,t.jsx)("span",{className:"brand-mark","aria-hidden":"true",children:(0,t.jsx)("img",{className:"brand-logo-img",src:"/assets/brand-logo.png",alt:"",decoding:"sync",loading:"eager",fetchPriority:"high"})}),(0,t.jsx)("strong",{className:"brand-wordmark",children:"Botmux"}),(0,t.jsx)("span",{className:"brand-product",children:"Dashboard"})]}),(0,t.jsx)(er,{status:Qt,onRefresh:()=>Je(!0)})]})}),(0,t.jsxs)("div",{className:"topbar-actions",children:[(0,t.jsx)(Yn,{summary:e,autoOpen:i}),(0,t.jsxs)("div",{className:"topbar-tool-group",children:[(0,t.jsx)("button",{type:"button",className:"topbar-locale-toggle","aria-label":y.locale==="zh"?"Switch to English":"\u5207\u6362\u5230\u4E2D\u6587",title:y.locale==="zh"?"Switch to English":"\u5207\u6362\u5230\u4E2D\u6587",onClick:()=>nr(y.locale==="zh"?"en":"zh"),children:y.locale==="zh"?"CN":"EN"}),(0,t.jsx)(Gn,{}),(0,t.jsxs)("a",{className:"topbar-docs-link",href:"https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/",target:"_blank",rel:"noopener noreferrer",title:s("nav.docs"),"aria-label":s("nav.docs"),children:[ne((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.2",y:"2.2",width:"11.6",height:"11.6",rx:"2"}),(0,t.jsx)("path",{d:"M4.8 5.2h6.4M4.8 8h6.4M4.8 10.8h4"})]})),(0,t.jsx)("span",{children:s("nav.docs")})]})]}),(0,t.jsxs)("span",{className:"topbar-owner",title:z?.name,"aria-label":z?.name??"Owner",children:[(0,t.jsx)("span",{className:"topbar-owner-placeholder","aria-hidden":"true",children:ne((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"8",cy:"6",r:"2.4"}),(0,t.jsx)("path",{d:"M3.7 13c.7-2.5 2.2-3.7 4.3-3.7s3.6 1.2 4.3 3.7"})]}))}),z?.avatarUrl?(0,t.jsx)("img",{className:"topbar-owner-img",src:z.avatarUrl,alt:"",decoding:"async",referrerPolicy:"no-referrer",onError:h=>{h.currentTarget.remove()}}):null]})]})]}),(0,t.jsxs)("div",{className:"chrome-body",children:[(0,t.jsxs)("aside",{className:"sidebar",children:[A?(0,t.jsxs)("div",{className:"sidebar-create-actions",children:[(0,t.jsxs)("button",{type:"button",className:"sidebar-create-btn",onClick:()=>Ce(),children:[ne((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M2 3.5h12v7H6l-3 3v-3H2z"}),(0,t.jsx)("path",{d:"M8 4.9v4.2M5.9 7h4.2"})]})),(0,t.jsx)("span",{className:"sidebar-nav-label",children:s("nav.createSession")})]}),(0,t.jsxs)("button",{type:"button",className:"sidebar-create-btn",onClick:()=>{pt()},children:[ne((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.5",y:"6",width:"11",height:"7.5",rx:"2"}),(0,t.jsx)("circle",{cx:"5.8",cy:"9.75",r:"1"}),(0,t.jsx)("circle",{cx:"10.2",cy:"9.75",r:"1"}),(0,t.jsx)("path",{d:"M8 6V3.8M6.3 1.9h3.4"})]})),(0,t.jsx)("span",{className:"sidebar-nav-label",children:s("nav.createBot")})]})]}):null,(0,t.jsx)("nav",{className:"sidebar-nav","aria-label":"Dashboard",children:Wn().filter(h=>A||!h.manage).map(h=>(0,t.jsxs)("a",{href:h.href,"data-route":h.id,className:[zn(h),h.plugin?"sidebar-plugin-item":""].filter(Boolean).join(" ")||void 0,title:h.plugin?Vt(h):void 0,children:[ne(h.icon),(0,t.jsx)("span",{className:"sidebar-nav-label",children:Vt(h)}),h.id==="settings"&&oe?(0,t.jsx)(ut,{className:"nav-update-tip",label:jt(),trigger:(0,t.jsx)("span",{className:"nav-update-dot","aria-hidden":"true"}),preventClick:!1,focusable:!1,children:jt()}):null]},h.id))})]}),(0,t.jsxs)("div",{className:"workspace",children:[(0,t.jsx)("dialog",{id:"create-session-modal",className:"create-session-modal"}),(0,t.jsx)(ht,{open:n,onClose:()=>r(!1)}),(0,t.jsx)("main",{id:"root",ref:jn})]})]})]}),(0,t.jsx)(Zn,{open:o,loginUrl:Fe(Ge,location.hash),onClose:f})]})}function E(){en?.render((0,t.jsx)(tr,{}))}function nr(e){y.setLocale(e),ir(e)}var se=!1;function rr(e){let n=!!Fe(e,location.hash),r=n&&Ge!==e;n&&(Ge=e),se&&r&&E(),!se&&(se=!0,window.dispatchEvent(new Event(je)))}var ze;function or(){let e=document.getElementById("readonly-toast");e||(e=document.createElement("div"),e.id="readonly-toast",e.style.cssText="position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:9999;background:var(--fg,#1f2329);color:var(--bg,#fff);padding:10px 18px;border-radius:var(--radius-lg);font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.25)",document.body.appendChild(e)),e.textContent="\u5F53\u524D\u662F\u53EA\u8BFB\u8BBF\u95EE\uFF0C\u6B64\u64CD\u4F5C\u9700\u8981\u6388\u6743\u94FE\u63A5\uFF08\u8FD0\u884C botmux dashboard \u83B7\u53D6\uFF09",e.style.display="block",ze&&window.clearTimeout(ze),ze=window.setTimeout(()=>{e.style.display="none"},4e3)}var ar=window.fetch.bind(window);window.fetch=async function(...n){let r=await ar(...n);if(r.status===401){let o=r.headers.get("x-botmux-login-url")??void 0,a=(n[1]?.method??"GET").toUpperCase();o||(a==="GET"||a==="HEAD")&&!qe?rr(o):or()}return r};async function sr(){try{let e=await fetch("/api/settings");if(e.ok){let n=await e.json();A=!!n.authed,y.authed=A,qe=!!(n.settings&&n.settings.publicReadOnly),y.publicReadOnly=qe;let r=nn()??pe(n.lang);r&&y.setLocale(r)}}catch{}}async function Jt(){try{let e=await fetch("/api/plugins/dashboard");if(!e.ok)return;let n=await e.json();re=(Array.isArray(n?.plugins)?n.plugins:[]).filter(o=>o.pinned===!0&&typeof o.route=="string").map(o=>({id:`plugin:${o.pluginId}:${o.id}`,href:o.route,label:o.displayName||o.pluginId,manage:!0,plugin:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M5.2 2.2h5.6v3.1l1.7 1.7-1.4 1.4-1-1v6.4H5.9V7.4l-1 1L3.5 7l1.7-1.7z"}),(0,t.jsx)("path",{d:"M8 13.8v1"})]})})),E()}catch{}}async function ir(e){if(A)try{await fetch("/api/settings",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({lang:e})})}catch{}}async function Je(e=!1){if(!A)return!1;try{let n=await fetch(`/api/update/status${e?"?refresh=1":""}`,{cache:"no-store"});if(!n.ok)return!1;let r=await n.json();Qt=r;let o=Array.isArray(r.cliUpdates)?r.cliUpdates.find(a=>a?.updateAvailable===!0&&a?.latest):null;return r.behind===!0&&r.latest?(oe=!0,ye="botmux",ae=String(r.latest)):o?(oe=!0,ye="runtime",ae=String(o.latest)):(oe=!1,ye=null,ae=null),E(),r.versionLookupOk!==!1}catch{return!1}}function lr(e){e.innerHTML='<section class="auth-required" style="max-width:520px;margin:64px auto;text-align:center;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 36px;box-shadow:0 8px 28px rgba(0,0,0,.12)"><h2 style="margin:0 0 12px;font-size:20px;color:var(--fg)">\u6B64\u9875\u9700\u8981\u6388\u6743\u94FE\u63A5</h2><p style="margin:0 0 24px;line-height:1.7;color:var(--muted);font-size:14px">\u4F60\u5F53\u524D\u662F\u53EA\u8BFB\u8BBF\u95EE\uFF0C\u7BA1\u7406\u9875\uFF08\u7FA4\u89D2\u8272 / Profiles / Bot \u914D\u7F6E / \u56E2\u961F / Webhook\uFF09\u9700\u8981\u6388\u6743\u94FE\u63A5\u3002\u8FD0\u884C <code>botmux dashboard</code> \u83B7\u53D6\u6700\u65B0\u94FE\u63A5\u540E\u5373\u53EF\u7BA1\u7406\u3002</p><a href="#/" style="display:inline-block;padding:8px 22px;background:var(--accent);color:var(--on-accent);border-radius:var(--radius-lg);text-decoration:none;font-size:14px">\u8FD4\u56DE\u603B\u89C8</a></section>'}async function Ve(){let e=Tt(H),n=location.hash||"#/";Zt=n,E();let r=bt(n);if(r){window.location.replace(r);return}if(!A&&_n.some(o=>n.startsWith("#/"+o))){lr(Ke()),H.rerenderOnUiChange=!0;return}if(n.startsWith("#/v3")){window.location.replace(`#/workflows${n.slice(4)}`);return}else if(n.startsWith("#/legacy-workflow")){window.location.replace("#/workflows");return}else if(/^#\/workflows(?:\/|-)catalog(?:[/?].*)?$/.test(n)){window.location.replace("#/workflows");return}if(n.startsWith("#/role-profiles")){window.location.replace(`#/roles/profile${n.slice(15)}`);return}try{let o=kt(n);await Lt(H,e,Ke(),o?o.load:Et,{rerenderOnUiChange:o?o.rerenderOnUiChange:!1}),e===H.seq&&A&&qn()}catch(o){if(e!==H.seq||Pt(o,{href:window.location.href,hash:n,getSessionStorage:()=>window.sessionStorage,reload:()=>window.location.reload()}))return;Ke().innerHTML=`<section class="page"><div class="empty">Dashboard route failed: ${rt(String(o))}</div></section>`,H.pageDispose=null,H.rerenderOnUiChange=!0}}function cr(){try{let e=JSON.parse(window.localStorage.getItem(tn)??"null");if(e?.avatarUrl)return{avatarUrl:String(e.avatarUrl),name:e.name?String(e.name):void 0}}catch{}return null}function dr(){z=cr(),E(),fetch("/api/owner-profile").then(e=>e.ok?e.json():null).then(e=>{if(!(!e?.ok||!e.avatarUrl)){z={avatarUrl:String(e.avatarUrl),name:e.name?String(e.name):void 0};try{window.localStorage.setItem(tn,JSON.stringify({avatarUrl:e.avatarUrl,name:e.name??""}))}catch{}E()}}).catch(()=>{})}(async()=>{let e=mt(window.location.href);e&&window.history.replaceState(window.history.state,"",e),y.init(),qt();let n=document.getElementById("app-root");if(!n)throw new Error("missing dashboard app root");Bt(n),Ft(),en=(0,Yt.createRoot)(n),E(),y.on(()=>{E(),H.rerenderOnUiChange&&Ve()}),ue.on(()=>{E()}),await sr(),E(),window.addEventListener(lt,()=>{Jt()}),Jt(),Je(),window.setInterval(()=>{document.hidden||Je()},30*6e4),dr();try{await nt()}catch(r){console.error("botmux dashboard bootstrap failed",r),ue.setOnline(!1)}at().then(E),gt().then(E),window.addEventListener("hashchange",()=>{qt()||Ve()}),Ve()})();export{rr as showAuthExpiredOverlay,or as showReadOnlyToast};
|
|
1
|
+
import{a as kt,b as xt}from"./chunks/chunk-NACP7BMR.js";import{b as Be,d as vt,e as wt,g as yt}from"./chunks/chunk-AGCPF6MT.js";import{a as ht}from"./chunks/chunk-BD3PZGH2.js";import{b as Ie}from"./chunks/chunk-G5ZS2YUS.js";import{a as me,b as bt,c as gt}from"./chunks/chunk-2W6SCN3M.js";import{i as mt,j as ft}from"./chunks/chunk-5CJMHTT4.js";import{a as ue,b as rt}from"./chunks/chunk-24ONYQMR.js";import{G as ct,I as dt,L as ut,M as he,c as pe,u as He,v as st,w as b,x as s,y as it,z as lt}from"./chunks/chunk-F6KNPF4R.js";import{a as gn,b as vn,c as wn,d as pt}from"./chunks/chunk-5THX4DI2.js";import{c as Y}from"./chunks/chunk-7SZRL6FY.js";var en=Y(vn(),1),tn=Y(wn(),1),l=Y(gn(),1);var $e="botmux:close-theme-menu",yn={palette:'<circle cx="13.5" cy="6.5" r=".5" fill="currentColor"/><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"/><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"/><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"/><path d="M12 2a10 10 0 0 0 0 20h1.7a2.3 2.3 0 0 0 1.6-4c-.5-.5-.2-1.3.5-1.3H17a5 5 0 0 0 5-5 9.7 9.7 0 0 0-10-9.7z"/>',monitor:'<rect width="20" height="14" x="2" y="3" rx="2"/><line x1="8" x2="16" y1="21" y2="21"/><line x1="12" x2="12" y1="17" y2="21"/>',sun:'<circle cx="12" cy="12" r="4"/><path d="M12 2v2"/><path d="M12 20v2"/><path d="m4.93 4.93 1.41 1.41"/><path d="m17.66 17.66 1.41 1.41"/><path d="M2 12h2"/><path d="M20 12h2"/><path d="m6.34 17.66-1.41 1.41"/><path d="m19.07 4.93-1.41 1.41"/>',moon:'<path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"/>',cpu:'<path d="M12 20v2"/><path d="M12 2v2"/><path d="M17 20v2"/><path d="M17 2v2"/><path d="M2 12h2"/><path d="M2 17h2"/><path d="M2 7h2"/><path d="M20 12h2"/><path d="M20 17h2"/><path d="M20 7h2"/><path d="M7 20v2"/><path d="M7 2v2"/><rect x="4" y="4" width="16" height="16" rx="2"/><rect x="8" y="8" width="8" height="8" rx="1"/>',zap:'<path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>',chevron:'<path d="m6 9 6 6 6-6"/>'},Mt=[{labelKey:"theme.base",options:[{value:"system",labelKey:"status.system",icon:"monitor"},{value:"light",labelKey:"status.light",icon:"sun"},{value:"dark",labelKey:"status.dark",icon:"moon"}]},{labelKey:"theme.skins",options:[{value:"cyber",labelKey:"skin.cyber",icon:"cpu"},{value:"fallout",labelKey:"skin.fallout",icon:"zap"}]}],Et=Mt.flatMap(e=>e.options),L=!1,Z=null,Q=null,kn=70,xn=120;function Ue(e){return`<svg class="tm-svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${yn[e]??""}</svg>`}function En(e){return e.replace(/[&<>"]/g,n=>({"&":"&","<":"<",">":">",'"':"""})[n])}function Rt(){let e=document.getElementById("theme-menu"),n=document.getElementById("theme-menu-btn"),o=document.getElementById("theme-menu-pop");if(!e||!n||!o||e.dataset.themeMenuInit==="1")return;e.dataset.themeMenuInit="1",o.innerHTML=Mt.map(u=>`<div class="tm-group" data-label-key="${u.labelKey}"></div>`+u.options.map(f=>`<button type="button" class="tm-item" role="option" data-value="${f.value}"><span class="tm-ic">${Ue(f.icon)}</span><span class="tm-label" data-label-key="${f.labelKey}"></span></button>`).join("")).join("");let a=()=>{if(!L)return;let u=n.getBoundingClientRect(),f=12,y=Math.min(Math.max(o.offsetWidth||216,216),Math.max(0,window.innerWidth-f*2)),h=f+y/2,w=window.innerWidth-f-y/2,k=u.left+u.width/2,R=Math.min(Math.max(k,h),Math.max(h,w)),U=Math.max(180,window.innerHeight-u.bottom-20);o.style.setProperty("--theme-menu-pop-left",`${Math.round(R)}px`),o.style.setProperty("--theme-menu-pop-top",`${Math.round(u.bottom+8)}px`),o.style.setProperty("--theme-menu-pop-max-height",`${Math.round(U)}px`)},r=u=>{Z!=null&&(window.clearTimeout(Z),Z=null),Q!=null&&(window.clearTimeout(Q),Q=null),L=u,n.setAttribute("aria-expanded",String(L)),document.body.classList.toggle("theme-menu-open",L),L?(o.hidden=!1,a(),window.requestAnimationFrame(()=>e.classList.add("open"))):(e.classList.remove("open"),Q=window.setTimeout(()=>{Q=null,L||(o.hidden=!0)},xn))},d=()=>r(!0),p=()=>{Z==null&&(Z=window.setTimeout(()=>r(!1),kn))},m=u=>{u.pointerType!=="touch"&&d()},c=u=>{u.pointerType!=="touch"&&p()};e.addEventListener("pointerenter",m),e.addEventListener("pointerleave",c),o.addEventListener("pointerenter",m),o.addEventListener("pointerleave",c),n.addEventListener("click",u=>{u.stopPropagation(),r(!L)}),n.addEventListener("focus",()=>{n.matches(":focus-visible")&&d()}),e.addEventListener("focusout",u=>{let f=u.relatedTarget;(!(f instanceof Node)||!e.contains(f))&&p()}),o.addEventListener("click",u=>{let f=u.target.closest(".tm-item");f&&(b.setTheme(f.dataset.value??"system"),r(!1))}),document.addEventListener("click",u=>{L&&!e.contains(u.target)&&r(!1)}),document.addEventListener("pointermove",u=>{if(!L||u.pointerType==="touch")return;let f=u.target;f instanceof Node&&e.contains(f)||p()}),document.addEventListener("keydown",u=>{u.key==="Escape"&&L&&r(!1)}),window.addEventListener("resize",a),window.addEventListener("scroll",a,!0),window.addEventListener($e,()=>{L&&r(!1)}),_e()}function _e(){let e=document.getElementById("theme-menu-btn");if(!e)return;let n=Et.find(o=>o.value===b.theme)??Et[0];e.innerHTML=`<span class="tm-ic">${Ue("palette")}</span><span class="tm-current">${En(s(n.labelKey))}</span><span class="tm-chev">${Ue("chevron")}</span>`,document.querySelectorAll("#theme-menu-pop [data-label-key]").forEach(o=>{o.textContent=s(o.dataset.labelKey??"")}),document.querySelectorAll("#theme-menu-pop .tm-item").forEach(o=>{o.classList.toggle("active",o.dataset.value===b.theme)})}function v(e,n,o,a,r=!1){return{id:e,routePrefix:n,rerenderOnUiChange:r,load:async()=>(await o())[a]}}var Mn=[v("agent-workbench-dock","#/agent-workbench-dock",()=>import("./chunks/agent-workbench-dock-page-IKAC5CFL.js"),"renderAgentWorkbenchDockPage"),v("agent-workbench","#/agent-workbench",()=>import("./chunks/agent-workbench-page-M53UN5EB.js"),"renderAgentWorkbenchPage"),{id:"plugins",routePrefix:"#/plugins",rerenderOnUiChange:!1,load:async()=>{let e=await import("./chunks/plugin-page-J3OF5IY4.js");return n=>e.renderPluginPage(n)}},v("workflows","#/workflows",()=>import("./chunks/v3-page-GBR5JWPE.js"),"renderV3RunsPage"),v("groups","#/groups",()=>import("./chunks/groups-page-UQT6DCB7.js"),"renderGroupsPage"),v("settings","#/settings",()=>import("./chunks/settings-page-BJEIOFJH.js"),"renderSettingsPage"),v("bot-defaults","#/bot-defaults",()=>import("./chunks/bot-defaults-page-YKE5SDZF.js"),"renderBotDefaultsPage"),v("skills","#/skills",()=>import("./chunks/skills-page-HGIFR3IU.js"),"renderSkillsPage"),v("connectors-logs","#/connectors/logs",()=>import("./chunks/connectors-page-VOISXXII.js"),"renderConnectorsLogsPage"),v("webhook-logs","#/webhook-logs",()=>import("./chunks/connectors-page-VOISXXII.js"),"renderConnectorsLogsPage"),v("connectors","#/connectors",()=>import("./chunks/connectors-page-VOISXXII.js"),"renderConnectorsPage"),v("team-manage","#/team/manage",()=>import("./chunks/team-federation-page-MR5ZPL4B.js"),"renderTeamManagePage"),v("team","#/team",()=>import("./chunks/team-federation-page-MR5ZPL4B.js"),"renderTeamFederationPage"),v("roles-profile","#/roles/profile",()=>import("./chunks/roles-page-WQIRSOLZ.js"),"renderRoleProfilesPage"),v("roles","#/roles",()=>import("./chunks/roles-page-WQIRSOLZ.js"),"renderRolesPage"),v("schedules","#/schedules",()=>import("./chunks/schedules-page-J2DEY2X6.js"),"renderSchedulesPage"),v("whiteboards","#/whiteboards",()=>import("./chunks/whiteboards-page-QAZM4BN3.js"),"renderWhiteboardsPage"),v("monitoring","#/monitoring",()=>import("./chunks/monitoring-page-NKEKVQAP.js"),"renderMonitoringPage"),v("sessions","#/sessions",()=>import("./chunks/sessions-page-7BQFEA5P.js"),"renderSessionsPage"),v("monitor-room","#/monitor-room",()=>import("./chunks/monitor-room-V7PCP47V.js"),"renderMonitorRoomPage",!0),v("office","#/office",()=>import("./chunks/office-page-GVJF73XW.js"),"renderOfficePage"),v("insights","#/insights",()=>import("./chunks/insights-page-HJFDYR5N.js"),"renderInsightsPage"),v("feedback","#/feedback",()=>import("./chunks/feedback-page-RN6HRZMS.js"),"renderFeedbackPage")];function Lt(e){return Mn.find(n=>n.exact?e===n.routePrefix:e.startsWith(n.routePrefix))}async function Nt(){let e=await import("./chunks/overview-page-KHLV6VTI.js");return n=>e.renderOverviewPage(n)}function St(){return{seq:0,pageDispose:null,rerenderOnUiChange:!0}}function Ct(e){let n=++e.seq;return e.pageDispose&&(e.pageDispose(),e.pageDispose=null),n}function Tt(e,n){return n===e.seq}async function Pt(e,n,o,a,r={}){let d=await a();if(!Tt(e,n))return!1;let p=d(o);return Tt(e,n)?(e.pageDispose=typeof p=="function"?p:null,e.rerenderOnUiChange=r.rerenderOnUiChange??!0,!0):(typeof p=="function"&&p(),!1)}var Rn="botmux.dashboard.stale-chunk-reload.v1:",Ln=/Failed to fetch dynamically imported module|Importing a module script failed|error loading dynamically imported module|dynamically imported module/i,Nn=/\b(?:https?:\/\/|\/assets\/)\S+?\.js\b/;function Ot(e){return e instanceof Error?`${e.name}: ${e.message}`:String(e)}function At(e){return Ln.test(Ot(e))}function Tn(e,n){let r=Ot(e).match(Nn)?.[0]||`${n.href}|${n.hash}`;return`${Rn}${r.slice(-240)}`}function Sn(e,n){if(!At(e))return!1;let o=Tn(e,n);try{if(n.sessionStorage.getItem(o)==="1")return!1;n.sessionStorage.setItem(o,"1")}catch{return!1}return n.reload(),!0}function Dt(e,n){if(!At(e))return!1;let o;try{o=n.getSessionStorage()}catch{return!1}return Sn(e,{...n,sessionStorage:o})}var Cn=new Set(["auto","scroll","overlay"]),fe=28,P=3,_=6,Ht=!1,_t=null,It=new WeakMap,O=new Map,Bt=null,Ut=null,Fe=0,We=0,ee=null;function Pn(e){return e.closest("dialog[open]")??document.body}function On(e){let n=It.get(e);if(n?.isConnected)return n;let o=document.createElement("div");return o.className="floating-scrollbar-layer",o.setAttribute("aria-hidden","true"),e.appendChild(o),It.set(e,o),o}function An(e){return Cn.has(e)}function Ke(e,n){let o=getComputedStyle(e),a=n==="y"?o.overflowY:o.overflowX;return An(a)?n==="y"?e.scrollHeight-e.clientHeight>1:e.scrollWidth-e.clientWidth>1:!1}function Dn(e){if(!e.isConnected||e.closest("[hidden]"))return!1;let n=e.getBoundingClientRect();return n.width>0&&n.height>0&&n.bottom>0&&n.right>0&&n.top<window.innerHeight&&n.left<window.innerWidth}function Hn(e){return[e,...Array.from(e.querySelectorAll("*"))].filter(o=>Dn(o)&&(Ke(o,"x")||Ke(o,"y")))}function be(e){e.hideTimer!==void 0&&window.clearTimeout(e.hideTimer),e.track.remove()}function In(e,n){let o=O.get(e);o||(o={},O.set(e,o));let a=o[n],r=Pn(e),d=On(r);if(a?.track.parentElement===d)return a;a&&be(a);let p=document.createElement("div"),m=document.createElement("div");p.className=`floating-scrollbar floating-scrollbar-${n}`,m.className="floating-scrollbar-thumb",p.appendChild(m),d.appendChild(p);let c={target:e,axis:n,track:p,thumb:m,hideTimer:void 0};return o[n]=c,c}function ze(e,n=!1){e.track.classList.add("is-visible"),e.hideTimer!==void 0&&window.clearTimeout(e.hideTimer),e.hideTimer=n?void 0:window.setTimeout(()=>{e.track.classList.remove("is-visible","is-active"),e.hideTimer=void 0},900)}function Bn(e){let{target:n,axis:o,track:a,thumb:r}=e,d=n.getBoundingClientRect();if(o==="y"){let h=Math.max(0,d.top+P),w=Math.min(window.innerHeight,d.bottom-P),k=Math.max(0,w-h);if(k<fe||n.scrollHeight<=n.clientHeight){a.hidden=!0;return}let R=Math.max(fe,Math.round(k*n.clientHeight/n.scrollHeight)),U=Math.max(1,n.scrollHeight-n.clientHeight),V=Math.round((k-R)*n.scrollTop/U);a.hidden=!1,a.style.left=`${Math.min(window.innerWidth-_-P,Math.max(P,d.right-_-P))}px`,a.style.top=`${h}px`,a.style.width=`${_}px`,a.style.height=`${k}px`,r.style.width="100%",r.style.height=`${R}px`,r.style.transform=`translate3d(0, ${V}px, 0)`;return}let p=Math.max(0,d.left+P),m=Math.min(window.innerWidth,d.right-P),c=Math.max(0,m-p);if(c<fe||n.scrollWidth<=n.clientWidth){a.hidden=!0;return}let u=Math.max(fe,Math.round(c*n.clientWidth/n.scrollWidth)),f=Math.max(1,n.scrollWidth-n.clientWidth),y=Math.round((c-u)*n.scrollLeft/f);a.hidden=!1,a.style.left=`${p}px`,a.style.top=`${Math.min(window.innerHeight-_-P,Math.max(P,d.bottom-_-P))}px`,a.style.width=`${c}px`,a.style.height=`${_}px`,r.style.width=`${u}px`,r.style.height="100%",r.style.transform=`translate3d(${y}px, 0, 0)`}function F(){Fe||(Fe=window.requestAnimationFrame(()=>{Fe=0,$n()}))}function Un(){We||(We=window.setTimeout(()=>{We=0,F()},120))}function $n(){let e=_t;if(!e)return;let n=new Set(Hn(e));for(let[o,a]of O)n.has(o)||(a.x&&be(a.x),a.y&&be(a.y),O.delete(o));for(let o of n){let a=o===ee;for(let r of["x","y"]){let d=O.get(o);if(!Ke(o,r)){let m=d?.[r];m&&(be(m),delete d?.[r]);continue}let p=In(o,r);Bn(p),a&&ze(p,!0)}}}function _n(e){if(!(e instanceof HTMLElement))return;let n=O.get(e);if(n)for(let o of Object.values(n))o&&(o.track.classList.add("is-active"),ze(o))}function Fn(e){for(let n=e;n;n=n.parentElement)if(n instanceof HTMLElement&&O.has(n))return n;return null}function $t(e){if(ee===e)return;let n=ee?O.get(ee):void 0;if(ee=e,n)for(let a of Object.values(n))a?.track.classList.remove("is-visible");let o=e?O.get(e):void 0;if(o)for(let a of Object.values(o))a&&ze(a,!0)}function Ft(e){Ht||(Ht=!0,_t=e,document.documentElement.classList.add("floating-scrollbars-on"),Bt=typeof ResizeObserver>"u"?null:new ResizeObserver(F),Bt?.observe(e),Ut=new MutationObserver(n=>{for(let o of n){let a=o.target;if(!(a instanceof Element&&a.closest(".floating-scrollbar-layer"))){Un();return}}}),Ut.observe(e,{attributes:!0,attributeFilter:["class","style","hidden","open"],childList:!0,subtree:!0}),document.addEventListener("scroll",n=>{_n(n.target),F()},!0),window.addEventListener("resize",F),window.addEventListener("hashchange",F),document.addEventListener("pointermove",n=>{$t(Fn(document.elementFromPoint(n.clientX,n.clientY)))}),document.addEventListener("pointerleave",()=>$t(null)),F())}var Wt=!1,W=null,ge=null,K=null;function zt(){if(W)return W;let e=document.createElement("div");return e.className="icon-tip",e.setAttribute("role","tooltip"),e.style.display="none",document.body.appendChild(e),W=e,e}function Wn(e){let n=zt(),o=mt(e,document.body);return n.parentNode!==o&&o.appendChild(n),n}function Kn(e){let n=zt(),o=e.getBoundingClientRect(),a=n.offsetWidth,r=n.offsetHeight,d=8,p=o.top<r+d+4,m=o.left+o.width/2-a/2;m=Math.min(Math.max(m,6),window.innerWidth-a-6);let c=p?o.bottom+d:o.top-r-d;n.style.left=`${Math.round(m)}px`,n.style.top=`${Math.round(c)}px`,n.dataset.placement=p?"bottom":"top"}function te(){K&&(clearTimeout(K),K=null),ge=null,W&&(W.style.display="none",W.classList.remove("show"))}function Kt(e){let n=e.getAttribute("data-tip");if(!n)return;ge=e;let o=Wn(e);o.textContent=n,o.style.display="block",o.classList.remove("show"),Kn(e),requestAnimationFrame(()=>{ge===e&&o.classList.add("show")})}function Ve(e){return e instanceof Element?e.closest("[data-tip]"):null}function Vt(){Wt||typeof document>"u"||(Wt=!0,document.addEventListener("pointerover",e=>{let n=Ve(e.target);!n||n===ge||(K&&clearTimeout(K),K=setTimeout(()=>Kt(n),120))}),document.addEventListener("pointerout",e=>{let n=Ve(e.target);if(!n)return;let o=e.relatedTarget instanceof Element?e.relatedTarget:null;o&&(o===n||n.contains(o))||te()}),document.addEventListener("focusin",e=>{let n=Ve(e.target);n&&Kt(n)}),document.addEventListener("focusout",te),document.addEventListener("click",te,!0),window.addEventListener("scroll",te,!0),window.addEventListener("resize",te))}function ve(e,n){if(e)try{let o=new URL(e);if(!["http:","https:"].includes(o.protocol)||o.username||o.password)return;let a=n.startsWith("#/")&&n.length<=4096&&!/[\u0000-\u001f\u007f]/.test(n)?n:"#/";return o.searchParams.set("next",`/${a}`),o.toString()}catch{return}}var t=Y(pt(),1),zn=["roles","role-profiles","bot-defaults","skills","plugins","team","connectors","insights","feedback","whiteboards"],qt=[{id:"overview",href:"#/",labelKey:"nav.overview",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"1.5",y:"1.5",width:"5.4",height:"5.4",rx:"1.5"}),(0,t.jsx)("rect",{x:"9.1",y:"1.5",width:"5.4",height:"5.4",rx:"1.5"}),(0,t.jsx)("rect",{x:"1.5",y:"9.1",width:"5.4",height:"5.4",rx:"1.5"}),(0,t.jsx)("rect",{x:"9.1",y:"9.1",width:"5.4",height:"5.4",rx:"1.5"})]})},{id:"sessions",href:"#/sessions",labelKey:"nav.sessions",icon:(0,t.jsx)("path",{d:"M2 3.5h12v7H6l-3 3v-3H2z"})},{id:"groups",href:"#/groups",labelKey:"nav.groups",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"5.6",cy:"5.8",r:"2.4"}),(0,t.jsx)("circle",{cx:"11",cy:"6.8",r:"1.9"}),(0,t.jsx)("path",{d:"M1.8 13.2c.5-2.4 2-3.6 3.8-3.6s3.3 1.2 3.8 3.6M9.8 12.6c.4-1.7 1.5-2.6 2.8-2.6 1 0 1.9.5 2.4 1.6"})]})},{id:"roles",href:"#/roles",labelKey:"nav.roles",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M8 1.8l5.2 2v3.4c0 3.4-2.2 5.9-5.2 7-3-1.1-5.2-3.6-5.2-7V3.8z"}),(0,t.jsx)("path",{d:"M5.8 8l1.6 1.6 2.8-3"})]})},{id:"monitoring",href:"#/monitoring",labelKey:"nav.monitoring",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M2 9.2h2.3l1.3-4.8 2.5 8.4 1.8-5.1h4.1"}),(0,t.jsx)("path",{d:"M2 2.5h12v11H2z"})]})},{id:"insights",href:"#/insights",labelKey:"nav.insights",manage:!0,icon:(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("path",{d:"M2 2v12h12M5 11V7M8.5 11V4.5M12 11V8.5"})})},{id:"feedback",href:"#/feedback",labelKey:"nav.feedback",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M2.2 3.2h11.6v8H8l-3.2 2.6v-2.6H2.2z"}),(0,t.jsx)("path",{d:"M5 6.2h6M5 8.3h4"})]})},{id:"workflows",href:"#/workflows",labelKey:"nav.workflows",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"3.4",cy:"3.6",r:"1.9"}),(0,t.jsx)("circle",{cx:"3.4",cy:"12.4",r:"1.9"}),(0,t.jsx)("circle",{cx:"12.6",cy:"8",r:"1.9"}),(0,t.jsx)("path",{d:"M5.2 4.4l5.6 2.8M5.2 11.6l5.6-2.8"})]})},{id:"schedules",href:"#/schedules",labelKey:"nav.schedules",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"6.2"}),(0,t.jsx)("path",{d:"M8 4.5V8l2.4 1.6"})]})},{id:"whiteboards",href:"#/whiteboards",labelKey:"nav.whiteboards",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.2",y:"2.2",width:"11.6",height:"11.6",rx:"2"}),(0,t.jsx)("path",{d:"M4.8 5.2h6.4M4.8 8h6.4M4.8 10.8h4"})]})},{id:"office",href:"#/office",labelKey:"nav.office",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"3",y:"4",width:"10",height:"7",rx:"2"}),(0,t.jsx)("circle",{cx:"6",cy:"7.5",r:"1"}),(0,t.jsx)("circle",{cx:"10",cy:"7.5",r:"1"}),(0,t.jsx)("path",{d:"M8 4V2M4.5 11v2M11.5 11v2"})]})},{id:"bot-defaults",href:"#/bot-defaults",labelKey:"nav.botDefaults",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.5",y:"5",width:"11",height:"8",rx:"2"}),(0,t.jsx)("circle",{cx:"5.8",cy:"9",r:"1"}),(0,t.jsx)("circle",{cx:"10.2",cy:"9",r:"1"}),(0,t.jsx)("path",{d:"M8 5V2.5M5.5 13v1.2M10.5 13v1.2"})]})},{id:"skills",href:"#/skills",labelKey:"nav.skills",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M3 2.5h10v3H3zM3 7h10v6.5H3z"}),(0,t.jsx)("path",{d:"M5.4 9.2h5.2M5.4 11.2h3.8"})]})},{id:"plugins",href:"#/plugins",label:"\u63D2\u4EF6",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M6.4 1.8h3.2v3h2.8v3.2H9.6v2.8H6.4V8H3.6V4.8h2.8z"}),(0,t.jsx)("path",{d:"M2.2 11.8h11.6v2.4H2.2z"})]})},{id:"team",href:"#/team",labelKey:"nav.team",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"6.2"}),(0,t.jsx)("path",{d:"M1.8 8h12.4M8 1.8c-2 1.8-2 10.6 0 12.4 2-1.8 2-10.6 0-12.4z"})]})},{id:"connectors",href:"#/connectors",labelKey:"nav.connectors",manage:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M5.5 6.5v-3a2.5 2.5 0 0 1 5 0v3"}),(0,t.jsx)("rect",{x:"3.5",y:"6.5",width:"9",height:"7",rx:"2"})]})},{id:"settings",href:"#/settings",labelKey:"nav.settings",icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M8 1.75 9.35 2.05 10 3.28l1.38.3 1.04-.96.96.96-.96 1.04.3 1.38 1.23.65L14.25 8l-.3 1.35-1.23.65-.3 1.38.96 1.04-.96.96-1.04-.96-1.38.3-.65 1.23L8 14.25l-1.35-.3L6 12.72l-1.38-.3-1.04.96-.96-.96.96-1.04-.3-1.38-1.23-.65L1.75 8l.3-1.35 1.23-.65.3-1.38-.96-1.04.96-.96 1.04.96 1.38-.3.65-1.23z"}),(0,t.jsx)("circle",{cx:"8",cy:"8",r:"2"})]})}],oe=[],N=!0,ye=!1,Ee=location.hash||"#/",z=null,ae=!1,re=null,ke=null,nn=null,xe=null,on=null,H=St(),an="botmux.ownerAvatar.v1",Vn=new Set(["working","analyzing","active","starting"]),Je="botmux:auth-expired",Me;function ne(e){return(0,t.jsx)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:e})}function jt(e){return e.labelKey?s(e.labelKey):e.label??""}function qn(e,n){let o=n||"#/";return e.id==="plugins"&&oe.some(a=>a.href===o||o.startsWith(`${a.href}?`)||o.startsWith(`${a.href}/`))?!1:e.id==="sessions"&&(o==="#/monitor-room"||o.startsWith("#/monitor-room?")||o.startsWith("#/monitor-room/"))||e.id==="connectors"&&(o==="#/webhook-logs"||o.startsWith("#/webhook-logs?")||o.startsWith("#/webhook-logs/"))?!0:e.href===o||e.href!=="#/"&&(o.startsWith(`${e.href}?`)||o.startsWith(`${e.href}/`))}function jn(){let e=wt()?qt.filter(o=>o.id!=="workflows"):qt;if(oe.length===0)return e;let n=e.findIndex(o=>o.id==="plugins");return n<0?[...e,...oe]:[...e.slice(0,n+1),...oe,...e.slice(n+1)]}function Gn(e){let n=[];return qn(e,Ee)&&n.push("active"),e.id==="settings"&&ae&&n.push("nav-has-update"),n.length?n.join(" "):void 0}function rn(){let e=pe(new URLSearchParams(location.search).get("locale"));if(e)return e;let n=location.hash.indexOf("?");return n<0?null:pe(new URLSearchParams(location.hash.slice(n+1)).get("locale"))}function Gt(){let e=rn();return!e||e===b.locale?!1:(b.setLocale(e),!0)}function Xn(){let e=location.hash.indexOf("?");return e<0?null:{path:location.hash.slice(0,e)||"#/",params:new URLSearchParams(location.hash.slice(e+1))}}function Jn(){let e=Xn(),n=e?.params.get("open");if(!e||!n||n!=="bot-onboarding"&&n!=="create-session")return!1;e.params.delete("open");let o=e.params.toString();return history.replaceState(null,"",o?`${e.path}?${o}`:e.path),n==="bot-onboarding"?window.dispatchEvent(new Event(me)):Be(),!0}function Xt(){let e=re?`v${re}`:"";return ke==="runtime"?s("update.navRuntimeBadgeTitle",{version:e}):s("update.navBadgeTitle",{version:e})}function Jt(e){xe=e}function qe(){if(xe)return xe;let e=document.getElementById("root");if(!e)throw new Error("dashboard root is not mounted");return xe=e,e}function Yn(){return(0,l.useEffect)(()=>{Rt()},[]),(0,l.useEffect)(()=>{_e()}),(0,t.jsxs)("div",{className:"theme-menu",id:"theme-menu",children:[(0,t.jsx)("button",{type:"button",className:"theme-menu-btn",id:"theme-menu-btn","aria-haspopup":"listbox","aria-expanded":"false","aria-label":"Theme",children:(0,t.jsx)("span",{className:"tm-ic",children:(0,t.jsxs)("svg",{className:"tm-svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,t.jsx)("circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor"}),(0,t.jsx)("circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor"}),(0,t.jsx)("path",{d:"M12 2a10 10 0 0 0 0 20h1.7a2.3 2.3 0 0 0 1.6-4c-.5-.5-.2-1.3.5-1.3H17a5 5 0 0 0 5-5 9.7 9.7 0 0 0-10-9.7z"})]})})}),(0,t.jsx)("div",{className:"theme-menu-pop",id:"theme-menu-pop",role:"listbox",hidden:!0})]})}function Zn(){let e=[...ue.sessions.values()],n=e.filter(c=>c.status!=="closed"),o=n.map(c=>({s:c,reason:ut(c)})).filter(c=>!!c.reason).sort((c,u)=>he(c.s)-he(u.s)),a=new Set(o.map(c=>String(c.s.sessionId??""))),r=n.filter(c=>Vn.has(String(c.status))&&!a.has(String(c.sessionId??""))).length,d=o[0]??null,p=xt(e).filter(c=>c.online||c.active.length>0).length,m=Math.max(0,n.length-o.length-r);return{working:r,attention:o.length,idle:m,onlineBots:p,attentionNotice:d?{count:o.length,time:lt(he(d.s)),bot:dt(d.s),reason:d.reason}:null}}function we(e){return(0,t.jsxs)("div",{className:`topbar-status-row${e.hot?" topbar-status-row-hot":""}`,children:[(0,t.jsx)("span",{children:e.label}),(0,t.jsx)("b",{className:e.value>0?"status-count-on":void 0,children:e.value})]})}function Qn(e){let{attention:n,idle:o,working:a}=e.summary,r=a+n+o,d=r===0?"conic-gradient(var(--border) 0 360deg)":(()=>{let p=a/r*360,m=p+n/r*360;return`conic-gradient(var(--accent) 0 ${p}deg, var(--warning) ${p}deg ${m}deg, var(--success) ${m}deg 360deg)`})();return(0,t.jsxs)("div",{className:"topbar-status-donut-wrap","aria-hidden":"true",children:[(0,t.jsx)("div",{className:"topbar-status-donut",style:{background:d}}),(0,t.jsxs)("div",{className:"topbar-status-donut-center",children:[(0,t.jsx)("b",{children:r}),(0,t.jsx)("span",{children:s("overview.openSessions")})]})]})}function je(){window.dispatchEvent(new Event($e))}function eo(e){let{autoOpen:n=!1,summary:o}=e,[a,r]=(0,l.useState)(!1),[d,p]=(0,l.useState)(!1),[m,c]=(0,l.useState)(!1),u=(0,l.useRef)(null),f=n&&!d,y=a||f;return(0,l.useEffect)(()=>{n||p(!1)},[n]),(0,l.useEffect)(()=>{if(!y)return;let w=k=>{let R=k.target;R instanceof Node&&u.current?.contains(R)||(r(!1),p(!0))};return document.addEventListener("pointerdown",w),()=>document.removeEventListener("pointerdown",w)},[y]),(0,t.jsxs)("div",{ref:u,className:`topbar-status-menu${f?" topbar-status-auto-open":""}${a?" is-open":""}${m?" suppress-hover":""}`,onPointerEnter:je,onPointerLeave:()=>c(!1),onFocusCapture:je,onBlur:w=>{let k=w.relatedTarget;(!(k instanceof Node)||!w.currentTarget.contains(k))&&r(!1)},onKeyDown:w=>{w.key==="Escape"&&(r(!1),p(!0),c(!0),w.currentTarget.querySelector("#status")?.focus())},children:[(0,t.jsx)("button",{type:"button",id:"status",className:"connection-status","aria-haspopup":"true","aria-expanded":y,onClick:()=>{if(je(),y){r(!1),p(!0),c(!0);return}c(!1),r(!0)},children:s("overview.sessionOverview")}),(0,t.jsxs)("div",{className:"topbar-status-pop",children:[o.attentionNotice?(0,t.jsxs)("a",{className:"topbar-attention-notice",href:"#/sessions",children:[(0,t.jsx)("span",{className:"topbar-attention-dot","aria-hidden":"true"}),(0,t.jsxs)("span",{className:"topbar-attention-copy",children:[(0,t.jsx)("b",{children:s("strip.pending",{count:o.attentionNotice.count})}),(0,t.jsx)("small",{children:s("strip.longestCompact",{time:o.attentionNotice.time,bot:o.attentionNotice.bot,reason:o.attentionNotice.reason})})]}),(0,t.jsx)("span",{className:"topbar-attention-action",children:s("strip.handle")})]}):null,(0,t.jsxs)("div",{className:"topbar-status-list",children:[(0,t.jsx)(we,{label:s("overview.workingSessions"),value:o.working}),(0,t.jsx)(we,{label:s("overview.idleSessions"),value:o.idle}),(0,t.jsx)(we,{label:s("overview.attention"),value:o.attention,hot:o.attention>0}),(0,t.jsx)(we,{label:s("overview.onlineBots"),value:o.onlineBots})]}),(0,t.jsx)(Qn,{summary:o})]})]})}function Yt(e){if(!e.open)return null;let n=!!e.loginUrl;return(0,t.jsx)("div",{id:"auth-expired-overlay",className:"auth-expired-overlay",role:"presentation",onClick:o=>{o.target===o.currentTarget&&e.onClose()},children:(0,t.jsxs)("div",{className:"auth-expired-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"auth-expired-title",children:[(0,t.jsx)("h2",{id:"auth-expired-title",children:n?"\u767B\u5F55 Dashboard":"\u8BBF\u95EE\u94FE\u63A5\u5DF2\u5931\u6548"}),(0,t.jsx)("p",{children:n?"\u5F53\u524D\u6D4F\u89C8\u5668\u5C1A\u672A\u767B\u5F55\u3002\u70B9\u51FB\u540E\u5C06\u901A\u8FC7 Botmux \u5E73\u53F0\u6821\u9A8C\u673A\u5668 owner \u6743\u9650\uFF0C\u5E76\u8FD4\u56DE\u5F53\u524D\u9875\u9762\uFF1B\u65E0\u6743\u9650\u8D26\u53F7\u4ECD\u4F1A\u88AB\u62D2\u7EDD\u3002":"\u5F53\u524D\u94FE\u63A5/\u8BBF\u95EE\u5DF2\u5931\u6548\uFF0C\u8BF7\u4F7F\u7528\u6700\u65B0\u6388\u6743\u94FE\u63A5\u91CD\u65B0\u8FDB\u5165\uFF08\u8FD0\u884C botmux dashboard \u83B7\u53D6\uFF09\u3002"}),(0,t.jsxs)("div",{className:"auth-expired-actions",children:[e.loginUrl?(0,t.jsx)("a",{id:"dashboard-one-click-login",className:"auth-login-link primary",href:e.loginUrl,target:"_top",rel:"noopener",children:"\u4E00\u952E\u767B\u5F55"}):null,(0,t.jsx)("button",{id:"auth-expired-dismiss",type:"button",className:n?"secondary":"primary",onClick:e.onClose,children:n?"\u6682\u4E0D\u767B\u5F55":"\u77E5\u9053\u4E86"})]})]})})}function to(e){let n=new Date(e);if(Number.isNaN(n.getTime()))return e.slice(0,10);try{return new Intl.DateTimeFormat(b.locale==="zh"?"zh-CN":"en-US",{year:"numeric",month:"numeric",day:"numeric"}).format(n)}catch{return e.slice(0,10)}}async function Zt(){let e=await fetch("/__selfcheck",{cache:"no-store"}),n=await e.text();if(!e.ok||!n)throw new Error(s("update.healthCheckFailed"));return n}function no(e){let{status:n}=e,[o,a]=(0,l.useState)(!1),[r,d]=(0,l.useState)("idle"),[p,m]=(0,l.useState)(0),[c,u]=(0,l.useState)(!1),[f,y]=(0,l.useState)(!1),[h,w]=(0,l.useState)(""),[k,R]=(0,l.useState)(!1),[U,V]=(0,l.useState)(!1),[T,Re]=(0,l.useState)(!1),[q,ie]=(0,l.useState)(!1),[j,Qe]=(0,l.useState)([]),[x,Le]=(0,l.useState)(null),[A,Ne]=(0,l.useState)(null),S=(0,l.useRef)(!1),G=(0,l.useRef)(null),le=(0,l.useRef)(null),et=(0,l.useRef)(null),Te=(0,l.useRef)(null),Se=(0,l.useRef)(null),[X,tt]=(0,l.useState)(null),ln=()=>{G.current!==null&&(window.clearTimeout(G.current),G.current=null)},Ce=()=>{le.current!==null&&(window.clearInterval(le.current),le.current=null)};if((0,l.useEffect)(()=>{S.current=!1,d("idle"),m(0),u(!1),y(!1),w(""),R(!1),V(!1),Re(!1),ie(!1),Qe([]),Le(null),Ne(null)},[n?.current,n?.latest]),(0,l.useEffect)(()=>{if(Ce(),r==="idle"||r==="error"){m(0);return}let i=r==="updating"?50:95;return r==="restarting"&&m(g=>Math.max(g,50)),le.current=window.setInterval(()=>{m(g=>g>=i?i:g+Math.max(.5,(i-g)*.08))},400),()=>Ce()},[r]),(0,l.useEffect)(()=>{n&&y(n.versionLookupOk===!1)},[n]),(0,l.useEffect)(()=>{o||R(!1)},[o]),(0,l.useEffect)(()=>{if(!o||!X)return;let i=window.requestAnimationFrame(()=>{Se.current?.querySelector('button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')?.focus()});return()=>window.cancelAnimationFrame(i)},[o,X!==null]),(0,l.useEffect)(()=>{if(!o){tt(null);return}let i=()=>{let g=Te.current;if(!g)return;let E=g.getBoundingClientRect(),C=Math.min(340,Math.max(0,window.innerWidth-32)),B=Math.max(16,Math.min(E.left,window.innerWidth-C-16));tt({top:E.bottom+8,left:B})};return i(),window.addEventListener("resize",i),document.addEventListener("scroll",i,!0),()=>{window.removeEventListener("resize",i),document.removeEventListener("scroll",i,!0)}},[o]),(0,l.useEffect)(()=>()=>{ln(),Ce()},[]),(0,l.useEffect)(()=>{if(!o)return;let i=E=>{let C=E.target;et.current?.contains(C)||Se.current?.contains(C)||a(!1)},g=E=>{E.key==="Escape"&&(a(!1),Te.current?.focus())};return document.addEventListener("pointerdown",i),document.addEventListener("keydown",g),()=>{document.removeEventListener("pointerdown",i),document.removeEventListener("keydown",g)}},[o]),!n)return null;let I=n.behind&&!!n.latest,Pe=!n.latest,Oe=I&&n.updateSupported&&!n.localDevInstall&&n.node.ok,nt=n.updateSupported&&!n.localDevInstall&&n.node.ok,D=r==="updating"||r==="restarting",ot=2*Math.PI*20,cn=ot*(1-Math.max(2,Math.round(p))/100),dn=n.updateCommand??"botmux update",Ae=`v${n.current}`,un=n.latest?`v${n.latest}`:"",pn=n.localDevInstall?s("update.localDev"):n.updateSupported?n.node.ok?"":s("update.nodeWarn",{version:n.node.version,required:n.node.required}):s("update.unsupportedInstall"),at=i=>{let g=Date.now(),E=async()=>{try{let C=await fetch("/__selfcheck",{cache:"no-store"}),B=await C.text();if(C.ok&&B&&B!==i){location.reload();return}}catch{}if(Date.now()-g>9e4){S.current=!1,d("error"),w(s("update.restartSlow"));return}G.current=window.setTimeout(()=>{E()},2e3)};G.current=window.setTimeout(()=>{E()},3e3)},hn=async()=>{if(I){if(!Oe){a(!1),location.hash="#/settings";return}if(!S.current){S.current=!0,Ne(null),y(!1),w("");try{let i=await Zt(),g=await Ie(fetch,d);if(g.bootstrapRequired){S.current=!1,d("error"),w(s("update.bootstrapRequired"));return}if(!g.restarted){S.current=!1,d("error"),w(s("update.restartFailed",{detail:g.restartError??"unknown"}));return}at(i)}catch(i){S.current=!1,d("error"),w(i instanceof Error?i.message:String(i))}}}},De=async(i=!1)=>{if(T)return!q;Re(!0),ie(!1);try{let g=await fetch(`/api/update/versions${i?"?refresh=1":""}`,{cache:"no-store"}),E=await g.json().catch(()=>null);if(!E||!Array.isArray(E.versions))throw new Error("Invalid rollback versions response");let C=E.versions.filter($=>{if(!$||typeof $!="object")return!1;let J=$;return typeof J.version=="string"&&(typeof J.publishedAt=="string"||J.publishedAt===null)}).slice(0,3);Qe(C),Le($=>C.some(J=>J.version===$)?$:null),V(!0);let B=g.ok&&E.ok===!0;return ie(!B),B}catch{return V(!0),ie(!0),!1}finally{Re(!1)}},mn=async()=>{if(!(!x||!nt||T||S.current)){S.current=!0,Ne(x),y(!1),w("");try{let i=await Zt();await Ie(fetch,d,x),at(i)}catch(i){S.current=!1,d("error"),w(i instanceof Error?i.message:String(i))}}},fn=async()=>{if(!(c||D)){u(!0),y(!1);try{let i=await e.onRefresh();k&&await De(!0),y(!i)}finally{u(!1)}}},ce=r==="updating"?A?s("update.rollbackInstalling",{version:A}):s("update.updating",{command:dn}):r==="restarting"?A?s("update.rollbackRestarting",{version:A}):s("update.restarting"):r==="error"?A?s("update.rollbackFailed",{detail:h}):s("update.updateFailed",{detail:h}):f?s("update.topbarRefreshFailed"):I?Oe?s("update.versionUpgradePrompt",{version:un}):pn:n.latest?s("update.upToDate"):s("update.checkUnavailable"),bn=Oe?r==="error"?s("update.topbarRetry"):r==="idle"?s("update.topbarAction"):s("update.topbarWorking"):s("update.topbarReview"),de=r==="error"||f&&Pe?{className:"is-error",symbol:"!"}:I?{className:"has-update",symbol:"\u2191"}:Pe?{className:"is-unknown",symbol:"?"}:{className:"is-current",symbol:"\u2713"};return(0,t.jsxs)("div",{ref:et,className:`dashboard-version-control${o?" is-open":""}`,children:[(0,t.jsxs)("button",{ref:Te,type:"button",className:`dashboard-version-chip${I?" has-update":""}${Pe?" is-unknown":""}${r==="error"?" is-error":""}`,"aria-haspopup":"dialog","aria-expanded":o,"aria-label":`${Ae}. ${ce}`,title:ce,onClick:()=>a(i=>!i),children:[(0,t.jsx)("span",{children:Ae}),(0,t.jsx)("span",{className:`dashboard-version-state ${de.className}`,"aria-hidden":"true",children:de.symbol})]}),o&&X&&typeof document<"u"?(0,en.createPortal)((0,t.jsxs)("section",{ref:Se,className:"dashboard-version-popover",role:"dialog","aria-modal":"false","aria-labelledby":"dashboard-version-title",style:{top:X.top,left:X.left},children:[(0,t.jsxs)("header",{className:"dashboard-version-popover-head",children:[(0,t.jsx)("strong",{id:"dashboard-version-title",children:s("update.current")}),(0,t.jsxs)("div",{className:"dashboard-version-head-actions",children:[(0,t.jsx)("button",{type:"button",className:`dashboard-version-refresh${c?" is-refreshing":""}`,"aria-label":s(c?"update.topbarRefreshing":"update.topbarRefresh"),title:s(c?"update.topbarRefreshing":"update.topbarRefresh"),disabled:c||T||D,onClick:()=>{fn()},children:(0,t.jsxs)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M13.2 5.7A5.8 5.8 0 1 0 13 10.8"}),(0,t.jsx)("path",{d:"M13.2 2.8v2.9h-2.9"})]})}),(0,t.jsx)("button",{type:"button",className:"dashboard-version-close","aria-label":s("update.topbarClose"),onClick:()=>a(!1),children:"\xD7"})]})]}),(0,t.jsxs)("div",{className:"dashboard-version-popover-body",children:[(0,t.jsxs)("div",{className:"dashboard-version-current",children:[(0,t.jsx)("strong",{children:Ae}),D?(0,t.jsxs)("span",{className:"dashboard-version-ring",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(p),"aria-label":ce,children:[(0,t.jsxs)("svg",{viewBox:"0 0 44 44",width:"44",height:"44","aria-hidden":"true",children:[(0,t.jsx)("defs",{children:(0,t.jsxs)("linearGradient",{id:"dvr-grad",x1:"0%",y1:"100%",x2:"100%",y2:"0%",children:[(0,t.jsx)("stop",{offset:"0%",stopColor:"var(--brand-accent-cyan)"}),(0,t.jsx)("stop",{offset:"55%",stopColor:"var(--accent)"}),(0,t.jsx)("stop",{offset:"100%",stopColor:"var(--brand-accent-pink)"})]})}),(0,t.jsx)("circle",{className:"dvr-track",cx:"22",cy:"22",r:"20"}),(0,t.jsx)("circle",{className:"dvr-arc",cx:"22",cy:"22",r:"20",style:{strokeDasharray:ot,strokeDashoffset:cn}})]}),(0,t.jsxs)("span",{className:"dvr-pct",children:[Math.round(p),"%"]})]}):(0,t.jsx)("span",{className:de.className,"aria-hidden":"true",children:de.symbol})]}),(0,t.jsx)("p",{className:`dashboard-version-message${r==="error"||f?" is-error":""}`,role:r==="error"||f?"alert":"status","aria-live":"polite",children:ce}),(0,t.jsxs)("a",{className:"dashboard-version-release-link",href:"https://github.com/deepcoldy/botmux/releases",target:"_blank",rel:"noopener noreferrer",children:[(0,t.jsx)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M8 1.5a6.5 6.5 0 0 0-2.1 12.65c.33.06.45-.14.45-.32v-1.26c-1.84.4-2.23-.78-2.23-.78-.3-.76-.73-.96-.73-.96-.6-.41.05-.4.05-.4.66.05 1 .68 1 .68.59 1 1.54.72 1.92.55.06-.42.23-.72.42-.88-1.47-.17-3.02-.74-3.02-3.28 0-.72.26-1.32.68-1.78-.07-.17-.3-.84.07-1.75 0 0 .56-.18 1.79.68A6.2 6.2 0 0 1 8 4.63a6.2 6.2 0 0 1 1.71.22c1.23-.86 1.79-.68 1.79-.68.37.91.14 1.58.07 1.75.42.46.68 1.06.68 1.78 0 2.55-1.55 3.11-3.03 3.28.24.21.45.61.45 1.23v1.62c0 .18.12.38.46.32A6.5 6.5 0 0 0 8 1.5Z"})}),(0,t.jsx)("span",{children:s("update.changelogViewOnGitHub")})]}),(I||k)&&n.installs.multiple?(0,t.jsxs)("details",{className:"dashboard-version-installs",children:[(0,t.jsx)("summary",{children:s("update.multiInstallWarn")}),(0,t.jsx)("ul",{children:n.installs.entries.map(i=>(0,t.jsx)("li",{children:i.binPath},i.binPath))})]}):null,nt?(0,t.jsxs)("details",{className:"dashboard-version-rollback",open:k,"aria-busy":T,onToggle:i=>{let g=i.currentTarget.open;R(g),g&&!U&&!T&&De()},children:[(0,t.jsxs)("summary",{children:[(0,t.jsxs)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[(0,t.jsx)("circle",{cx:"8",cy:"8",r:"5.5"}),(0,t.jsx)("path",{d:"M8 4.8V8l2.2 1.3"})]}),(0,t.jsx)("span",{children:s("update.rollbackTitle")}),(0,t.jsx)("span",{className:"dashboard-version-rollback-chevron","aria-hidden":"true",children:"\u2304"})]}),(0,t.jsxs)("div",{className:"dashboard-version-rollback-body",children:[T&&j.length===0?(0,t.jsxs)("p",{className:"dashboard-version-rollback-status",role:"status","aria-live":"polite",children:[(0,t.jsx)("span",{className:"dashboard-update-spinner","aria-hidden":"true"}),s("update.rollbackLoading")]}):null,q?(0,t.jsxs)("p",{className:"dashboard-version-rollback-load-error",role:"alert",children:[(0,t.jsx)("span",{children:s("update.rollbackLoadFailed")}),(0,t.jsx)("button",{type:"button",disabled:T,onClick:()=>{De(!0)},children:s("update.rollbackRetry")})]}):null,U&&!T&&!q&&j.length===0?(0,t.jsx)("p",{className:"dashboard-version-rollback-status",children:s("update.rollbackEmpty")}):null,j.length>0?(0,t.jsxs)("fieldset",{disabled:D||T||q,children:[(0,t.jsx)("legend",{children:s("update.rollbackHint")}),(0,t.jsx)("div",{className:"dashboard-version-rollback-options",children:j.map(i=>(0,t.jsxs)("label",{className:x===i.version?"is-selected":"",children:[(0,t.jsx)("input",{type:"radio",name:"dashboard-rollback-version",value:i.version,checked:x===i.version,onChange:()=>Le(i.version)}),(0,t.jsxs)("strong",{children:["v",i.version]}),i.publishedAt?(0,t.jsx)("time",{dateTime:i.publishedAt,children:to(i.publishedAt)}):null]},i.version))})]}):null,x?(0,t.jsxs)("p",{id:"dashboard-version-rollback-risk",className:"dashboard-version-rollback-risk",role:"note",children:[(0,t.jsxs)("svg",{viewBox:"0 0 16 16","aria-hidden":"true",children:[(0,t.jsx)("path",{d:"M7.1 2.3 1.8 12a1 1 0 0 0 .9 1.5h10.6a1 1 0 0 0 .9-1.5L8.9 2.3a1 1 0 0 0-1.8 0Z"}),(0,t.jsx)("path",{d:"M8 5.5v3.6M8 11.6h.01"})]}),(0,t.jsxs)("span",{children:[s("update.rollbackRisk",{version:x})," ",(0,t.jsx)("a",{href:`https://github.com/deepcoldy/botmux/releases/tag/v${encodeURIComponent(x)}`,target:"_blank",rel:"noopener noreferrer","aria-label":s("update.rollbackReleaseNotesA11y",{version:x}),children:s("update.rollbackReleaseNotes",{version:x})})]})]}):null,j.length>0?(0,t.jsxs)("button",{type:"button",className:"dashboard-version-rollback-action",disabled:!x||T||q||D,"aria-describedby":x?"dashboard-version-rollback-risk":void 0,onClick:()=>{mn()},children:[D&&A?(0,t.jsx)("span",{className:"dashboard-update-spinner","aria-hidden":"true"}):null,x?r==="error"&&A===x?s("update.rollbackRetry"):s("update.rollbackAction",{version:x}):s("update.rollbackSelect")]}):null]})]}):null]}),I&&!k&&!A?(0,t.jsxs)("footer",{className:"dashboard-version-popover-actions",children:[(0,t.jsx)("button",{type:"button",className:"dashboard-version-secondary",onClick:()=>a(!1),children:D?s("update.topbarClose"):s("update.topbarLater")}),(0,t.jsx)("button",{type:"button",className:"dashboard-version-primary",disabled:D,onClick:()=>{hn()},children:bn})]}):null]}),document.body):null]})}function oo(){let e=Zn(),[n,o]=(0,l.useState)(!1),[a,r]=(0,l.useState)(!1),[d,p]=(0,l.useState)(!1),m=(0,l.useRef)(e.attention),c=(0,l.useRef)(null),u=()=>{c.current!==null&&(window.clearTimeout(c.current),c.current=null)};(0,l.useEffect)(()=>{let h=()=>o(!0);return window.addEventListener(me,h),()=>window.removeEventListener(me,h)},[]),(0,l.useEffect)(()=>{let h=()=>r(!0);return window.addEventListener(Je,h),se&&r(!0),()=>window.removeEventListener(Je,h)},[]),(0,l.useEffect)(()=>()=>u(),[]),(0,l.useEffect)(()=>{let h=m.current;if(m.current=e.attention,e.attention===0){u(),p(!1);return}h!==0||document.body.classList.contains("theme-menu-open")||(p(!0),u(),c.current=window.setTimeout(()=>{c.current=null,p(!1)},4e3))},[e.attention]);let f=()=>{se=!1,r(!1)},y=Ee.startsWith("#/agent-workbench-dock")?"dock":Ee.startsWith("#/agent-workbench")?"appCenter":null;return y?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"workbench-route-host","data-workbench-surface":y,children:(0,t.jsx)("main",{id:"root",ref:Jt})}),(0,t.jsx)(Yt,{open:a,loginUrl:ve(Me,location.hash),onClose:f})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"aurora","aria-hidden":"true",children:[(0,t.jsx)("i",{className:"a1"}),(0,t.jsx)("i",{className:"a2"}),(0,t.jsx)("i",{className:"a3"})]}),(0,t.jsxs)("div",{className:"app-shell",children:[(0,t.jsxs)("header",{className:"topbar",children:[(0,t.jsx)("div",{className:"topbar-left",children:(0,t.jsxs)("div",{className:"topbar-brand-block",children:[(0,t.jsxs)("a",{className:"brand",href:"#/",children:[(0,t.jsx)("span",{className:"brand-mark","aria-hidden":"true",children:(0,t.jsx)("img",{className:"brand-logo-img",src:"/assets/brand-logo.png",alt:"",decoding:"sync",loading:"eager",fetchPriority:"high"})}),(0,t.jsx)("strong",{className:"brand-wordmark",children:"Botmux"}),(0,t.jsx)("span",{className:"brand-product",children:"Dashboard"})]}),(0,t.jsx)(no,{status:nn,onRefresh:()=>Ye(!0)})]})}),(0,t.jsxs)("div",{className:"topbar-actions",children:[(0,t.jsx)(eo,{summary:e,autoOpen:d}),(0,t.jsxs)("div",{className:"topbar-tool-group",children:[(0,t.jsx)("button",{type:"button",className:"topbar-locale-toggle","aria-label":b.locale==="zh"?"Switch to English":"\u5207\u6362\u5230\u4E2D\u6587",title:b.locale==="zh"?"Switch to English":"\u5207\u6362\u5230\u4E2D\u6587",onClick:()=>ao(b.locale==="zh"?"en":"zh"),children:b.locale==="zh"?"CN":"EN"}),(0,t.jsx)(Yn,{}),(0,t.jsxs)("a",{className:"topbar-docs-link",href:"https://bytedance.aiforce.cloud/app/app_4k9smq6rdxher/",target:"_blank",rel:"noopener noreferrer",title:s("nav.docs"),"aria-label":s("nav.docs"),children:[ne((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.2",y:"2.2",width:"11.6",height:"11.6",rx:"2"}),(0,t.jsx)("path",{d:"M4.8 5.2h6.4M4.8 8h6.4M4.8 10.8h4"})]})),(0,t.jsx)("span",{children:s("nav.docs")})]})]}),(0,t.jsxs)("span",{className:"topbar-owner",title:z?.name,"aria-label":z?.name??"Owner",children:[(0,t.jsx)("span",{className:"topbar-owner-placeholder","aria-hidden":"true",children:ne((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:"8",cy:"6",r:"2.4"}),(0,t.jsx)("path",{d:"M3.7 13c.7-2.5 2.2-3.7 4.3-3.7s3.6 1.2 4.3 3.7"})]}))}),z?.avatarUrl?(0,t.jsx)("img",{className:"topbar-owner-img",src:z.avatarUrl,alt:"",decoding:"async",referrerPolicy:"no-referrer",onError:h=>{h.currentTarget.remove()}}):null]})]})]}),(0,t.jsxs)("div",{className:"chrome-body",children:[(0,t.jsxs)("aside",{className:"sidebar",children:[N?(0,t.jsxs)("div",{className:"sidebar-create-actions",children:[(0,t.jsxs)("button",{type:"button",className:"sidebar-create-btn",onClick:()=>Be(),children:[ne((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M2 3.5h12v7H6l-3 3v-3H2z"}),(0,t.jsx)("path",{d:"M8 4.9v4.2M5.9 7h4.2"})]})),(0,t.jsx)("span",{className:"sidebar-nav-label",children:s("nav.createSession")})]}),(0,t.jsxs)("button",{type:"button",className:"sidebar-create-btn",onClick:()=>{bt()},children:[ne((0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("rect",{x:"2.5",y:"6",width:"11",height:"7.5",rx:"2"}),(0,t.jsx)("circle",{cx:"5.8",cy:"9.75",r:"1"}),(0,t.jsx)("circle",{cx:"10.2",cy:"9.75",r:"1"}),(0,t.jsx)("path",{d:"M8 6V3.8M6.3 1.9h3.4"})]})),(0,t.jsx)("span",{className:"sidebar-nav-label",children:s("nav.createBot")})]})]}):null,(0,t.jsx)("nav",{className:"sidebar-nav","aria-label":"Dashboard",children:jn().filter(h=>N||!h.manage).map(h=>(0,t.jsxs)("a",{href:h.href,"data-route":h.id,className:[Gn(h),h.plugin?"sidebar-plugin-item":""].filter(Boolean).join(" ")||void 0,title:h.plugin?jt(h):void 0,children:[ne(h.icon),(0,t.jsx)("span",{className:"sidebar-nav-label",children:jt(h)}),h.id==="settings"&&ae?(0,t.jsx)(ft,{className:"nav-update-tip",label:Xt(),trigger:(0,t.jsx)("span",{className:"nav-update-dot","aria-hidden":"true"}),preventClick:!1,focusable:!1,children:Xt()}):null]},h.id))})]}),(0,t.jsxs)("div",{className:"workspace",children:[(0,t.jsx)("dialog",{id:"create-session-modal",className:"create-session-modal"}),(0,t.jsx)(gt,{open:n,onClose:()=>o(!1)}),(0,t.jsx)("main",{id:"root",ref:Jt})]})]})]}),(0,t.jsx)(Yt,{open:a,loginUrl:ve(Me,location.hash),onClose:f})]})}function M(){on?.render((0,t.jsx)(oo,{}))}function ao(e){b.setLocale(e),lo(e)}var se=!1;function sn(e){let n=!!ve(e,location.hash),o=n&&Me!==e;n&&(Me=e),se&&o&&M(),!se&&(se=!0,window.dispatchEvent(new Event(Je)))}var Ge;function ro(){let e=document.getElementById("readonly-toast");e||(e=document.createElement("div"),e.id="readonly-toast",e.style.cssText="position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:9999;background:var(--fg,#1f2329);color:var(--bg,#fff);padding:10px 18px;border-radius:var(--radius-lg);font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.25)",document.body.appendChild(e)),e.textContent="\u5F53\u524D\u662F\u53EA\u8BFB\u8BBF\u95EE\uFF0C\u6B64\u64CD\u4F5C\u9700\u8981\u6388\u6743\u94FE\u63A5\uFF08\u8FD0\u884C botmux dashboard \u83B7\u53D6\uFF09",e.style.display="block",Ge&&window.clearTimeout(Ge),Ge=window.setTimeout(()=>{e.style.display="none"},4e3)}var Ze=window.fetch.bind(window);window.fetch=async function(...n){let o=await Ze(...n);if(o.status===401){if(o.headers.get("x-botmux-auth-scope")==="workbench")return o;let a=o.headers.get("x-botmux-login-url")??void 0,r=(n[1]?.method??"GET").toUpperCase();a||(r==="GET"||r==="HEAD")&&!ye?sn(a):ro()}return o};async function so(){try{let e=await Ze("/api/workbench/capabilities",{cache:"no-store"});b.workbenchCapabilities=e.ok?st(await e.json()):He}catch{b.workbenchCapabilities=He}}async function io(){let e=so();try{let n=await Ze("/api/settings");if(n.ok){let o=await n.json();N=!!o.authed,b.authed=N,b.workbenchAuthed=N,ye=!!(o.settings&&o.settings.publicReadOnly),b.publicReadOnly=ye;let a=rn()??pe(o.lang);a&&b.setLocale(a)}else if(n.status===401&&n.headers.get("x-botmux-auth-scope")==="workbench")N=!1,b.authed=!1,b.workbenchAuthed=!0,ye=!1,b.publicReadOnly=!1;else if(n.status===401){N=!1,b.authed=!1,b.workbenchAuthed=!1;let o=n.headers.get("x-botmux-login-url")??void 0;sn(o)}}catch{}await e}async function Qt(){try{let e=await fetch("/api/plugins/dashboard");if(!e.ok)return;let n=await e.json();oe=(Array.isArray(n?.plugins)?n.plugins:[]).filter(a=>a.pinned===!0&&typeof a.route=="string").map(a=>({id:`plugin:${a.pluginId}:${a.id}`,href:a.route,label:a.displayName||a.pluginId,manage:!0,plugin:!0,icon:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("path",{d:"M5.2 2.2h5.6v3.1l1.7 1.7-1.4 1.4-1-1v6.4H5.9V7.4l-1 1L3.5 7l1.7-1.7z"}),(0,t.jsx)("path",{d:"M8 13.8v1"})]})})),M()}catch{}}async function lo(e){if(N)try{await fetch("/api/settings",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({lang:e})})}catch{}}async function Ye(e=!1){if(!N)return!1;try{let n=await fetch(`/api/update/status${e?"?refresh=1":""}`,{cache:"no-store"});if(!n.ok)return!1;let o=await n.json();nn=o;let a=Array.isArray(o.cliUpdates)?o.cliUpdates.find(r=>r?.updateAvailable===!0&&r?.latest):null;return o.behind===!0&&o.latest?(ae=!0,ke="botmux",re=String(o.latest)):a?(ae=!0,ke="runtime",re=String(a.latest)):(ae=!1,ke=null,re=null),M(),o.versionLookupOk!==!1}catch{return!1}}function co(e){e.innerHTML='<section class="auth-required" style="max-width:520px;margin:64px auto;text-align:center;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 36px;box-shadow:0 8px 28px rgba(0,0,0,.12)"><h2 style="margin:0 0 12px;font-size:20px;color:var(--fg)">\u6B64\u9875\u9700\u8981\u6388\u6743\u94FE\u63A5</h2><p style="margin:0 0 24px;line-height:1.7;color:var(--muted);font-size:14px">\u4F60\u5F53\u524D\u662F\u53EA\u8BFB\u8BBF\u95EE\uFF0C\u7BA1\u7406\u9875\uFF08\u7FA4\u89D2\u8272 / Profiles / Bot \u914D\u7F6E / \u56E2\u961F / Webhook\uFF09\u9700\u8981\u6388\u6743\u94FE\u63A5\u3002\u8FD0\u884C <code>botmux dashboard</code> \u83B7\u53D6\u6700\u65B0\u94FE\u63A5\u540E\u5373\u53EF\u7BA1\u7406\u3002</p><a href="#/" style="display:inline-block;padding:8px 22px;background:var(--accent);color:var(--on-accent);border-radius:var(--radius-lg);text-decoration:none;font-size:14px">\u8FD4\u56DE\u603B\u89C8</a></section>'}async function Xe(){let e=Ct(H),n=location.hash||"#/";Ee=n,M();let o=yt(n);if(o){window.location.replace(o);return}if(!N&&zn.some(a=>n.startsWith("#/"+a))){co(qe()),H.rerenderOnUiChange=!0;return}if(n.startsWith("#/v3")){window.location.replace(`#/workflows${n.slice(4)}`);return}else if(n.startsWith("#/legacy-workflow")){window.location.replace("#/workflows");return}else if(/^#\/workflows(?:\/|-)catalog(?:[/?].*)?$/.test(n)){window.location.replace("#/workflows");return}if(n.startsWith("#/role-profiles")){window.location.replace(`#/roles/profile${n.slice(15)}`);return}try{let a=Lt(n);await Pt(H,e,qe(),a?a.load:Nt,{rerenderOnUiChange:a?a.rerenderOnUiChange:!1}),e===H.seq&&N&&Jn()}catch(a){if(e!==H.seq||Dt(a,{href:window.location.href,hash:n,getSessionStorage:()=>window.sessionStorage,reload:()=>window.location.reload()}))return;qe().innerHTML=`<section class="page"><div class="empty">Dashboard route failed: ${it(String(a))}</div></section>`,H.pageDispose=null,H.rerenderOnUiChange=!0}}function uo(){try{let e=JSON.parse(window.localStorage.getItem(an)??"null");if(e?.avatarUrl)return{avatarUrl:String(e.avatarUrl),name:e.name?String(e.name):void 0}}catch{}return null}function po(){z=uo(),M(),fetch("/api/owner-profile").then(e=>e.ok?e.json():null).then(e=>{if(!(!e?.ok||!e.avatarUrl)){z={avatarUrl:String(e.avatarUrl),name:e.name?String(e.name):void 0};try{window.localStorage.setItem(an,JSON.stringify({avatarUrl:e.avatarUrl,name:e.name??""}))}catch{}M()}}).catch(()=>{})}(async()=>{let e=vt(window.location.href);e&&window.history.replaceState(window.history.state,"",e),b.init(),Gt();let n=document.getElementById("app-root");if(!n)throw new Error("missing dashboard app root");Ft(n),Vt(),on=(0,tn.createRoot)(n),M(),b.on(()=>{M(),H.rerenderOnUiChange&&Xe()}),ue.on(()=>{M()}),await io(),M(),window.addEventListener(ht,()=>{Qt()}),Qt(),Ye(),window.setInterval(()=>{document.hidden||Ye()},30*6e4),po();try{await rt({canReadSchedules:()=>b.authed||b.publicReadOnly})}catch(o){console.error("botmux dashboard bootstrap failed",o),ue.setOnline(!1)}ct().then(M),kt().then(M),window.addEventListener("hashchange",()=>{Gt()||Xe()}),Xe()})();export{sn as showAuthExpiredOverlay,ro as showReadOnlyToast};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as _,K as J,L as M,b as m,c as C,h as w,i as L,k as N,l as x,m as D,n as H,o as R,p as T,r as P,w as E,z as V}from"./chunk-22WIADUT.js";import"./chunk-ZJVTGU5X.js";import{a as v}from"./chunk-FXW3V4JR.js";import"./chunk-24ONYQMR.js";import{w as k}from"./chunk-F6KNPF4R.js";import{a as S}from"./chunk-SYC6D5XU.js";import{a as A,d}from"./chunk-5THX4DI2.js";import{c as r}from"./chunk-7SZRL6FY.js";var h=r(A(),1);var s=r(A(),1);var e=r(d(),1);function G(n){let t=L(n);return t["needs-you"][0]?.sessionId??t.active[0]?.sessionId??t.recent[0]?.sessionId??null}function O(n){let t=(0,s.useMemo)(()=>n.api??P(),[n.api]);E();let[l,c]=(0,s.useState)(n.initialSessionId??G(n.sessions)),[i,B]=(0,s.useState)(n.h5Context??null),o=n.sessions.find(a=>a.sessionId===l)??null,F=n.targetOrigin??(typeof window>"u"?"https://dashboard.invalid":window.location.origin),X=n.location??(typeof window>"u"?null:window.location);(0,s.useEffect)(()=>{if(n.h5Context!==void 0)return;let a=new AbortController;return t.getH5Context(a.signal).then(B),()=>a.abort()},[t,n.h5Context]);let z=a=>{c(a);let y=m("dock",a);n.onRouteChange?n.onRouteChange(y):typeof window<"u"&&window.history.replaceState(window.history.state,"",y)},p=o&&i?.enabled?R({appId:i.appId,brand:i.brand,surface:"main",targetOrigin:F,sessionId:o.sessionId}):null,U=J(),g=o?N(o,X):null,q=o?x(o):null,u=!!g&&!q&&(U||!n.authenticated),b=M({api:t,sessionId:o?.sessionId??"",enabled:u}),W=u?b.link?.url??null:g,I=o?D(o):null;return(0,e.jsxs)("main",{className:"agent-workbench-dock","data-surface":"sidebar",style:{minWidth:350},children:[(0,e.jsxs)("header",{className:"wb-dock-header",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("span",{"aria-hidden":"true",children:"\u25D6"}),(0,e.jsx)("strong",{children:"\u4F1A\u8BDD\u575E"})]}),(0,e.jsx)("span",{className:n.online?"is-online":"is-offline",children:n.online?"\u25CF \u5728\u7EBF":"\u25CB \u79BB\u7EBF"}),(0,e.jsx)(V,{standingLink:n.manageAuthed===!0,api:t})]}),(0,e.jsx)(_,{sessions:n.sessions,selectedSessionId:l,locale:n.locale,now:n.now,online:n.online,onSelect:z}),(0,e.jsx)("section",{className:"wb-dock-actions","aria-live":"polite",children:o?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"wb-dock-selected",children:[(0,e.jsx)("strong",{title:w(o),children:w(o)}),(0,e.jsxs)("span",{children:[o.botName||o.larkAppId||"Bot"," \xB7 ",o.status]})]}),n.authenticated?p?(0,e.jsx)("a",{className:"wb-primary-action",href:p,children:"\u6253\u5F00\u5B8C\u6574\u5DE5\u4F5C\u53F0"}):(0,e.jsx)("a",{className:"wb-primary-action",href:m("main",o.sessionId),target:"_top",children:"\u6253\u5F00\u5B8C\u6574\u5DE5\u4F5C\u53F0"}):(0,e.jsx)("a",{className:"wb-primary-action",href:T(i?.entryPath??"/auth/feishu","dock",o.sessionId),children:"\u767B\u5F55\u540E\u7EE7\u7EED"}),(0,e.jsxs)("div",{className:"wb-dock-action-grid",children:[o.chatId?(0,e.jsx)("a",{href:o.feishuChatLink||H(o.chatId,i?.brand),target:"_blank",rel:"noopener",children:"\u6253\u5F00\u804A\u5929"}):(0,e.jsx)("span",{"aria-disabled":"true",children:"\u65E0\u804A\u5929"}),W?(0,e.jsx)("a",{href:W,target:"_blank",rel:"noopener noreferrer",children:"\u7EC8\u7AEF\u94FE\u63A5"}):u?b.phase==="failed"?(0,e.jsx)("button",{type:"button",onClick:b.retry,children:"\u7EC8\u7AEF\u91CD\u8BD5"}):(0,e.jsx)("span",{"aria-disabled":"true",children:"\u7EC8\u7AEF\u51C6\u5907\u4E2D\u2026"}):(0,e.jsx)("span",{"aria-disabled":"true",children:"\u65E0\u7EC8\u7AEF"}),I?(0,e.jsx)("a",{href:I,target:"_blank",rel:"noopener noreferrer",children:"\u7F51\u9875\u94FE\u63A5"}):(0,e.jsx)("span",{"aria-disabled":"true",children:"\u65E0\u7F51\u9875\u9884\u89C8"})]})]}):(0,e.jsx)("p",{children:"\u8BF7\u9009\u62E9\u4E00\u4E2A\u4F1A\u8BDD\u3002"})}),(0,e.jsx)("footer",{children:"\u8F7B\u91CF\u4F1A\u8BDD\u575E \xB7 \u7EC8\u7AEF/\u7F51\u9875\u8BF7\u5728\u5B8C\u6574\u5DE5\u4F5C\u53F0\u67E5\u770B \xB7 \u804A\u5929\u4F7F\u7528\u98DE\u4E66\u539F\u751F\u7A97\u53E3"})]})}var f=r(d(),1);function K(){let n=v(),[t,l]=(0,h.useState)(Date.now());(0,h.useEffect)(()=>{let i=window.setInterval(()=>l(Date.now()),3e4);return()=>window.clearInterval(i)},[]);let c=C(window.location.hash);return(0,f.jsx)(O,{sessions:[...n.sessions.values()],online:n.online,authenticated:k.workbenchAuthed,manageAuthed:k.authed,initialSessionId:c?.surface==="dock"?c.sessionId:null,locale:"zh-CN",now:t})}function re(n){return S(n,(0,f.jsx)(K,{}))}export{re as renderAgentWorkbenchDockPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as Y,B as ze,C as Ue,D as Ge,E as te,F as Je,G as Ve,H as qe,I as Ye,J as je,K as oe,L as Qe,a as q,b as Ee,c as Te,d as Pe,e as we,f as Ae,g as he,h as ee,i as Ne,j as fe,k as Re,l as De,m as ne,q as xe,r as Me,s as _e,t as Fe,u as He,v as Ke,w as $e,x as Be,y as Oe,z as Xe}from"./chunk-22WIADUT.js";import"./chunk-ZJVTGU5X.js";import{a as Le}from"./chunk-FXW3V4JR.js";import"./chunk-24ONYQMR.js";import{w as Z}from"./chunk-F6KNPF4R.js";import{a as Ie}from"./chunk-SYC6D5XU.js";import{a as be,d as G}from"./chunk-5THX4DI2.js";import{c as K}from"./chunk-7SZRL6FY.js";var re=K(be(),1);var c=K(be(),1);var r=K(be(),1);var t=K(G(),1);function mn(e){try{let o=e?.contentWindow?.document?.getElementById("status")?.textContent?.trim();return o==="connected"?"connected":o==="disconnected"?"disconnected":"unknown"}catch{return"unknown"}}var bn=1e3,wn=8;function hn(e){let{enabled:o,frameKey:a,sessionId:h}=e,[m,C]=(0,r.useState)(!1),[I,w]=(0,r.useState)(null),A=(0,r.useRef)(!1),L=(0,r.useRef)(e.read);(0,r.useEffect)(()=>{L.current=e.read}),(0,r.useEffect)(()=>{A.current=!1,C(!1)},[h]),(0,r.useEffect)(()=>{if(!o||A.current||I!==a)return;let f=0,b=setInterval(()=>{let p=L.current();if(p==="connected"){A.current=!0,C(!1),clearInterval(b);return}if(p!=="disconnected"){f=0;return}f+=1,f>=wn&&C(!0)},bn);return()=>clearInterval(b)},[o,a,I]);let g=(0,r.useCallback)(()=>w(a),[a]);return{blocked:o&&m,onFrameLoad:o?g:void 0}}function fn(){try{return typeof window>"u"?void 0:window.location?.href}catch{return}}function ie(e){return e instanceof xe?{authentication_required:"\u9700\u8981\u767B\u5F55\u8BA4\u8BC1",session_not_active:"\u4F1A\u8BDD\u5DF2\u4E0D\u518D\u6D3B\u8DC3",daemon_offline:"\u6240\u5C5E daemon \u5DF2\u79BB\u7EBF",terminal_unavailable:"\u7EC8\u7AEF\u4E0D\u53EF\u7528",control_busy:"\u53E6\u4E00\u4E2A\u6D4F\u89C8\u5668\u6B63\u5728\u63A7\u5236\u8BE5\u7EC8\u7AEF",preview_not_registered:"\u672A\u6CE8\u518C\u7F51\u9875\u9884\u89C8"}[e.code]??e.code.replaceAll("_"," "):e instanceof Error?e.message:String(e)}function Ze(e){let[o,a]=(0,r.useState)(null),[h,m]=(0,r.useState)("loading"),[C,I]=(0,r.useState)(""),[w,A]=(0,r.useState)(0),L=(0,r.useRef)(null),g=(0,r.useRef)(0),f=Re(e.session,e.location),b=De(e.session),p=oe(),{link:D,phase:_,retry:z}=Qe({api:e.api,sessionId:e.session.sessionId,enabled:!b&&(p||!e.authenticated)}),X=D?D.url:null,T=!b&&p?X:e.authenticated?f:X,l=(0,r.useCallback)((S,M=!0)=>{let v=L.current;L.current=S,a(S),M&&v?.mode==="controlled"&&v.owned&&(S.mode!=="controlled"||!S.owned)&&A(B=>B+1)},[]),y=(0,r.useCallback)(async(S,M)=>{let v=++g.current;if(!f||b||!e.authenticated){m("ready"),l({mode:"readonly",owned:!1});return}S==="load"&&m("loading");try{let B=await e.api.getTerminalControl(e.session.sessionId,M);if(v!==g.current)return;l(B),I(""),m("ready")}catch(B){if(M?.aborted||v!==g.current)return;l({mode:"readonly",owned:!1}),I(ie(B)),m("error")}},[l,b,e.api,e.authenticated,e.session.sessionId,f]);(0,r.useEffect)(()=>{let S=new AbortController;y("load",S.signal);let M=setInterval(()=>{y("poll",S.signal)},15e3);return()=>{g.current+=1,clearInterval(M),S.abort()}},[y]),(0,r.useEffect)(()=>{if(o?.mode!=="controlled"||!o.owned||!o.expiresAt)return;let S=setTimeout(()=>{y("poll")},Math.max(0,o.expiresAt-Date.now())+25);return()=>clearTimeout(S)},[o?.expiresAt,o?.mode,o?.owned,y]);let E=(0,r.useRef)(null);(0,r.useEffect)(()=>{!e.autoTakeControl||!e.authenticated||!e.capabilities.canControl||p||h!=="ready"||!o||o.mode!=="readonly"||o.fixed||E.current!==e.session.sessionId&&(E.current=e.session.sessionId,N("takeover"))});let N=async S=>{let M=++g.current;m("busy");try{let v=S==="takeover"?await e.api.takeoverTerminal(e.session.sessionId):await e.api.releaseTerminal(e.session.sessionId);if(M!==g.current)return;l(v,!1),I(""),A(B=>B+1),m("ready")}catch(v){if(M!==g.current)return;l({mode:"readonly",owned:!1}),I(ie(v)),m("error")}},$=(0,r.useRef)(null),J=`${e.session.sessionId}-${w}`,j=e.readFrameStatus??mn,V=hn({enabled:p,sessionId:e.session.sessionId,frameKey:J,read:()=>j($.current)}),{appearance:x,skin:u}=Ke(),F=(0,r.useCallback)(()=>{He($.current,T,x.termStyle,u,fn())},[x.termStyle,T,u]);(0,r.useEffect)(()=>{F()},[F]);let se=(0,r.useCallback)(()=>{V.onFrameLoad?.(),F()},[V,F]),k=!p&&o?.mode==="controlled"&&o.owned,le=k?"\u53EF\u8F93\u5165":"\u53EA\u8BFB",Q=k&&o?.expiresAt?fe(o.expiresAt,e.now,"zh-CN"):null;return(0,t.jsxs)("section",{className:`wb-pane wb-terminal-pane ${_e(x.termStyle)}`,style:Fe(x.termStyle,u),"aria-label":"\u7EC8\u7AEF\u9762\u677F",children:[(0,t.jsxs)("header",{className:"wb-pane-titlebar",children:[(0,t.jsxs)("div",{className:"wb-pane-identity",children:[(0,t.jsx)("span",{className:"wb-pane-glyph","aria-hidden":"true",children:"\u203A_"}),(0,t.jsx)("strong",{children:"\u7EC8\u7AEF"}),(0,t.jsxs)("span",{className:`wb-mode-chip ${k?"is-controlled":"is-readonly"}`,children:[(0,t.jsx)("span",{"aria-hidden":"true",children:k?"\u25C6":"\u25CC"}),le]}),Q?(0,t.jsx)("span",{className:"wb-lease-time",children:`${Q}\u5230\u671F`}):null]}),(0,t.jsx)(Be,{termStyle:x.termStyle}),(0,t.jsxs)("div",{className:"wb-pane-actions",children:[T?(0,t.jsx)("a",{href:T,target:"_blank",rel:"noopener noreferrer",children:"\u65B0\u6807\u7B7E\u9875\u6253\u5F00"}):null,!b&&f&&e.authenticated&&e.capabilities.canControl&&!p&&!o?.fixed?k?(0,t.jsx)("button",{type:"button",disabled:h==="busy",onClick:()=>{N("release")},children:"\u91CA\u653E\u8F93\u5165"}):(0,t.jsx)("button",{type:"button",disabled:h==="busy",onClick:()=>{N("takeover")},children:"\u63A5\u7BA1\u8F93\u5165"}):null]})]}),(0,t.jsx)("div",{className:"wb-pane-feedback",role:"status","aria-live":"polite",children:p?"\u53EA\u8BFB\u67E5\u770B\u4E2D\u3002\u624B\u673A\u7AEF\u4E3A\u53EA\u8BFB\u89C6\u56FE\uFF0C\u9700\u8981\u8F93\u5165\u8BF7\u5728\u7535\u8111\u4E0A\u64CD\u4F5C\u3002":h==="loading"?"\u6B63\u5728\u68C0\u67E5\u7EC8\u7AEF\u6743\u9650\u2026":C||(o?.fixed?"\u5E73\u53F0\u6240\u6709\u8005\u8EAB\u4EFD\u5DF2\u767B\u5F55\uFF0C\u53EF\u76F4\u63A5\u8F93\u5165\u3002":k?"\u5DF2\u63A5\u7BA1\uFF0C\u53EF\u952E\u76D8\u8F93\u5165\u3002":e.authenticated&&e.capabilities.canControl?"\u53EA\u8BFB\u67E5\u770B\u4E2D\uFF0C\u70B9\u300C\u63A5\u7BA1\u8F93\u5165\u300D\u53EF\u64CD\u4F5C\u3002":e.authenticated?"\u53EA\u8BFB\u67E5\u770B\u4E2D\uFF0C\u5F53\u524D\u8EAB\u4EFD\u4E0D\u53EF\u63A5\u7BA1\u8F93\u5165\u3002":"\u53EA\u8BFB\u67E5\u770B\u3002\u767B\u5F55 Dashboard \u540E\u53EF\u63A5\u7BA1\u3002")}),(0,t.jsx)("div",{className:"wb-pane-frame-shell",children:b?(0,t.jsxs)("div",{className:"wb-pane-empty",children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"\u2197"}),(0,t.jsx)("strong",{children:"\u5916\u90E8 Riff \u7EC8\u7AEF"}),(0,t.jsx)("p",{children:"\u8BE5\u540E\u7AEF\u4E0D\u5728\u5DE5\u4F5C\u53F0\u9762\u677F\u5185\u5C55\u793A\u3002"}),(0,t.jsx)("a",{href:b,target:"_blank",rel:"noopener noreferrer",children:"\u6253\u5F00\u5916\u90E8\u7EC8\u7AEF"})]}):T?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("iframe",{ref:$,className:"wb-pane-frame",src:T,title:`\u7EC8\u7AEF \u2014 ${ee(e.session)}`,allow:"clipboard-read; clipboard-write",referrerPolicy:"no-referrer",onLoad:se},J),V.blocked?(0,t.jsxs)("div",{className:"wb-pane-empty wb-ws-blocked",role:"status",children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"\u26A0"}),(0,t.jsx)("strong",{children:"\u7EC8\u7AEF\u5B9E\u65F6\u8FDE\u63A5\u672A\u5EFA\u7ACB"}),(0,t.jsx)("p",{children:"\u5F53\u524D\u6D4F\u89C8\u5668\u73AF\u5883\u9650\u5236\u4E86\u975E\u52A0\u5BC6\u7684\u5B9E\u65F6\u8FDE\u63A5\uFF08iOS \u5185\u5E38\u89C1\uFF09\u3002\u53EF\u5C1D\u8BD5\u7528\u7CFB\u7EDF\u6D4F\u89C8\u5668\u6253\u5F00\uFF0C\u6216\u5728\u7535\u8111\u4E0A\u67E5\u770B\u3002"}),(0,t.jsx)("a",{href:T,target:"_blank",rel:"noopener",children:"\u5728\u6D4F\u89C8\u5668\u4E2D\u6253\u5F00"}),(0,t.jsx)("p",{children:"\u98DE\u4E66\u5185\u53EF\u901A\u8FC7\u53F3\u4E0A\u89D2 \u22EF \u83DC\u5355\u9009\u62E9\u300C\u5728\u6D4F\u89C8\u5668\u6253\u5F00\u300D\u3002"})]}):null]}):(p||!e.authenticated)&&!b&&f?_==="failed"?(0,t.jsxs)("div",{className:"wb-pane-empty",role:"status",children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"\u26A0"}),(0,t.jsx)("strong",{children:"\u53EA\u8BFB\u94FE\u63A5\u83B7\u53D6\u5931\u8D25"}),(0,t.jsx)("p",{children:"\u767B\u5F55\u6001\u53EF\u80FD\u5DF2\u8FC7\u671F\uFF0C\u6216\u8BE5\u4F1A\u8BDD\u7684\u7EC8\u7AEF\u670D\u52A1\u672A\u6CE8\u518C\u3002\u7A0D\u540E\u4F1A\u81EA\u52A8\u91CD\u8BD5\u3002"}),(0,t.jsx)("button",{type:"button",onClick:z,children:"\u91CD\u8BD5"})]}):(0,t.jsxs)("div",{className:"wb-pane-empty",role:"status",children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"\u203A_"}),(0,t.jsx)("strong",{children:"\u6B63\u5728\u83B7\u53D6\u53EA\u8BFB\u7EC8\u7AEF\u94FE\u63A5\u2026"})]}):(0,t.jsxs)("div",{className:"wb-pane-empty",role:"status",children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"\u25A1"}),(0,t.jsx)("strong",{children:"\u7EC8\u7AEF\u4E0D\u53EF\u7528"}),(0,t.jsx)("p",{children:e.session.status==="closed"?"\u4F1A\u8BDD\u5DF2\u5173\u95ED\u3002":"\u8BE5\u4F1A\u8BDD\u5C1A\u672A\u63D0\u4F9B\u7EC8\u7AEF\u5165\u53E3\u3002"})]})})]})}var ae={mode:"preview",label:"\u9884\u89C8",securityNotice:"\u4EA4\u4E92\u906E\u7F69\u7528\u4E8E\u9632\u8BEF\u89E6\uFF0C\u4E0D\u662F\u5E94\u7528\u7EA7\u5B89\u5168\u8FB9\u754C\u3002"};function en(e){let o=ne(e.session),[a,h]=(0,r.useState)(ae),[m,C]=(0,r.useState)("loading"),[I,w]=(0,r.useState)("\u9884\u89C8\u6A21\u5F0F\u5DF2\u9501\u5B9A\u3002"),[A,L]=(0,r.useState)(0),g=(0,r.useRef)("preview"),f=(0,r.useRef)(0),b=(0,r.useRef)(0),p=(0,r.useCallback)((l,y)=>{let E=g.current;g.current=l.mode,h(l),C("ready"),E==="interactive"&&l.mode==="preview"?w(y==="poll"?"\u957F\u65F6\u95F4\u65E0\u64CD\u4F5C\uFF0C\u5DF2\u91CD\u65B0\u9501\u5B9A\u3002":"\u5DF2\u91CD\u65B0\u9501\u5B9A\u3002"):l.mode==="interactive"?w("\u5DF2\u5F00\u542F\u4EA4\u4E92\uFF0C\u6301\u7EED\u64CD\u4F5C\u81EA\u52A8\u7EED\u671F\uFF0815 \u5206\u949F\uFF09\u3002"):w("\u9884\u89C8\u6A21\u5F0F\u5DF2\u9501\u5B9A\u3002")},[]),D=(0,r.useCallback)(async(l,y)=>{let E=++b.current;if(!o){h(ae),C("ready");return}try{let N=await e.api.getPreviewInteraction(e.session.sessionId,y);if(E!==b.current)return;p(N,l)}catch(N){if(y?.aborted||E!==b.current)return;g.current="preview",h(ae),w(`\u5DF2\u5B89\u5168\u9501\u5B9A\uFF1A${ie(N)}`),C("error")}},[p,o,e.api,e.session.sessionId]);(0,r.useEffect)(()=>{let l=new AbortController;C("loading"),D("load",l.signal);let y=setInterval(()=>{(typeof document>"u"||!document.hidden)&&D("poll",l.signal)},15e3);return()=>{b.current+=1,clearInterval(y),l.abort()}},[D]),(0,r.useEffect)(()=>{if(a.mode!=="interactive"||!a.idleExpiresAt)return;let l=setTimeout(()=>{D("poll")},Math.max(0,a.idleExpiresAt-Date.now())+25);return()=>clearTimeout(l)},[a.idleExpiresAt,a.mode,D]);let _=async l=>{let y=++b.current;C("busy");try{let E=l==="unlock"?await e.api.unlockPreview(e.session.sessionId):l==="lock"?await e.api.lockPreview(e.session.sessionId):await e.api.touchPreview(e.session.sessionId);if(y!==b.current)return;p(E,"action"),(l==="unlock"||l==="lock")&&L(N=>N+1)}catch(E){if(y!==b.current)return;g.current="preview",h(ae),w(`\u5DF2\u5B89\u5168\u9501\u5B9A\uFF1A${ie(E)}`),C("error")}},z=l=>{typeof Element<"u"&&l.target instanceof Element&&l.target.closest(".wb-pane-titlebar")||a.mode!=="interactive"||Date.now()-f.current<2e4||(f.current=Date.now(),_("activity"))},X=a.mode==="interactive"&&a.idleExpiresAt?fe(a.idleExpiresAt,e.now,"zh-CN"):null,T=a.mode==="interactive"?"\u53EF\u4EA4\u4E92":"\u9884\u89C8";return(0,t.jsxs)("section",{className:"wb-pane wb-web-pane","aria-label":"\u7F51\u9875\u9884\u89C8\u9762\u677F",onPointerDown:z,onKeyDown:z,children:[(0,t.jsxs)("header",{className:"wb-pane-titlebar",children:[(0,t.jsxs)("div",{className:"wb-pane-identity",children:[(0,t.jsx)("span",{className:"wb-pane-glyph","aria-hidden":"true",children:"\u25CE"}),(0,t.jsx)("strong",{children:"\u7F51\u9875"}),(0,t.jsxs)("span",{className:`wb-mode-chip ${a.mode==="interactive"?"is-interactive":"is-preview"}`,children:[(0,t.jsx)("span",{"aria-hidden":"true",children:a.mode==="interactive"?"\u25C6":"\u25C9"}),T]}),X?(0,t.jsx)("span",{className:"wb-lease-time",children:`${X}\u91CD\u65B0\u9501\u5B9A`}):null]}),(0,t.jsxs)("div",{className:"wb-pane-actions",children:[o?(0,t.jsx)("a",{href:o,target:"_blank",rel:"noopener noreferrer",children:"\u65B0\u6807\u7B7E\u9875\u6253\u5F00"}):null,o&&e.authenticated&&e.capabilities.canInteract?a.mode==="interactive"?(0,t.jsx)("button",{type:"button",disabled:m==="busy",onClick:()=>{_("lock")},children:"\u7ACB\u5373\u9501\u5B9A"}):(0,t.jsx)("button",{type:"button",disabled:m==="busy",onClick:()=>{_("unlock")},children:"\u5F00\u542F\u4EA4\u4E92"}):null]})]}),(0,t.jsxs)("div",{className:"wb-pane-feedback",role:"status","aria-live":"polite",children:[(0,t.jsxs)("strong",{children:[T,":"]})," ",I," ",(0,t.jsx)("span",{title:a.securityNotice,children:a.securityNotice})]}),(0,t.jsx)("div",{className:"wb-pane-frame-shell",children:o?(0,t.jsx)("iframe",{className:"wb-pane-frame",src:o,"data-interaction-generation":A,title:`\u7F51\u9875\u9884\u89C8 \u2014 ${ee(e.session)} \u2014 ${T}`,allow:"clipboard-read; clipboard-write",referrerPolicy:"no-referrer"},`${e.session.sessionId}-${A}`):(0,t.jsxs)("div",{className:"wb-pane-empty",role:"status",children:[(0,t.jsx)("span",{"aria-hidden":"true",children:"\u25CE"}),(0,t.jsx)("strong",{children:"\u672A\u6CE8\u518C\u7F51\u9875\u9884\u89C8"}),(0,t.jsxs)("p",{children:["\u5728\u8BE5\u4F1A\u8BDD\u5185\u8FD0\u884C ",(0,t.jsx)("code",{children:"botmux preview <\u7AEF\u53E3>"})," \u6CE8\u518C\u9884\u89C8\u3002"]})]})})]})}function pe(e){let o=e.session,a=[["\u4F1A\u8BDD ID",o.sessionId],["\u72B6\u6001",o.status],["\u673A\u5668\u4EBA",o.botName||o.larkAppId||"\u2014"],["CLI",o.cliId||"unknown"],["\u4ED3\u5E93",o.repoName||o.workingDir||"\u2014"],["\u5206\u652F",o.gitBranch||"\u2014"],["\u7FA4\u804A",o.chatDisplayName||o.chatId||"\u2014"],["\u8303\u56F4",o.scope||"thread"]];return(0,t.jsxs)("div",{className:"wb-info-content",children:[(0,t.jsx)("h2",{children:ee(o)}),(0,t.jsx)("dl",{children:a.map(([h,m])=>(0,t.jsxs)("div",{children:[(0,t.jsx)("dt",{children:h}),(0,t.jsx)("dd",{title:String(m),children:String(m)})]},h))})]})}var s=K(G(),1),nn=250,kn=250,gn=new Set(["starting","working","analyzing"]);function Sn(){return typeof window>"u"?null:window.location}function Wn(){if(typeof window>"u")return null;try{return window.localStorage}catch{return null}}function Cn(e){let[o,a]=(0,c.useState)(e??(typeof window>"u"?1440:window.innerWidth));return(0,c.useEffect)(()=>{if(e!==void 0){a(e);return}let h=()=>a(window.innerWidth);return h(),window.addEventListener("resize",h,{passive:!0}),()=>window.removeEventListener("resize",h)},[e]),o}function In(e){let o=Ne(e);return o["needs-you"][0]?.sessionId??o.active[0]?.sessionId??o.recent[0]?.sessionId??null}function Ln(e,o){return{...e,...o,version:1,railWidth:Pe(Number(o.railWidth??e.railWidth)),splitRatio:we(Number(o.splitRatio??e.splitRatio))}}function tn(e){let o=(0,c.useMemo)(()=>e.api??Me(),[e.api]),a=e.storage===void 0?Wn():e.storage,h=e.location===void 0?Sn():e.location,m=e.now??Date.now(),C=Cn(e.viewportWidth),I=e.initialSessionId??In(e.sessions),[w,A]=(0,c.useState)(I),[L,g]=(0,c.useState)(()=>{let n=I?Y(I,a):Y("",null),i=Ue(a);return{sessionId:I,layout:i?{...n,railWidth:i.railWidth,railCollapsed:i.railCollapsed}:n}}),[f,b]=(0,c.useState)("sessions"),p=(0,c.useRef)(null),D=(0,c.useRef)(e.initialSessionId),_=(0,c.useRef)(m);_.current=m;let z=(0,c.useRef)(m),[X,T]=(0,c.useState)(()=>qe(a)??"status"),[l,y]=(0,c.useState)(()=>{let n=Je(a);if(n)return n;let i={};for(let d of e.sessions)q(d.sessionId)&&(i[d.sessionId]=m);return te({seen:i,unread:{}})}),E=(0,c.useRef)(new Map),[N,$]=(0,c.useState)(null),J=N?.sessionId??null,j=N?.wantsControl??!1,V=(n,i)=>{i&&!e.capabilities.canControl&&(i=!1),$(d=>d&&d.sessionId===n&&d.wantsControl===i?null:{sessionId:n,wantsControl:i})},x=(0,c.useMemo)(()=>e.sessions.find(n=>n.sessionId===J)??null,[e.sessions,J]),u=(0,c.useMemo)(()=>e.sessions.find(n=>n.sessionId===w)??null,[e.sessions,w]),F=!!u&&ne(u)!==null,se=(0,c.useMemo)(()=>F?["workspace","preview","info"]:["workspace","info"],[F]),k=L.layout,le=$e().appearance.termStyle,[Q,S]=(0,c.useState)(!1),M=oe(),v=Ae(C,k),B=v.chatMode==="native-split"&&k.chatRequested,ye=v.railCollapsed,on=ye?40:k.railWidth;(0,c.useEffect)(()=>{let n=D.current!==e.initialSessionId;D.current=e.initialSessionId,!(!n||e.initialSessionId===void 0)&&A(e.initialSessionId)},[e.initialSessionId]),(0,c.useEffect)(()=>{L.sessionId!==w&&g(n=>{let i=w?Y(w,a):Y("",null);return{sessionId:w,layout:{...i,railWidth:n.layout.railWidth,railCollapsed:n.layout.railCollapsed}}})},[L.sessionId,w,a]),(0,c.useEffect)(()=>{f==="preview"&&!F&&b("workspace")},[f,F]),(0,c.useEffect)(()=>{let n=L.sessionId;if(!n)return;let i=L.layout,d=setTimeout(()=>{ze(n,i,a)},nn);return()=>clearTimeout(d)},[L,a]),(0,c.useEffect)(()=>{let n={railWidth:k.railWidth,railCollapsed:k.railCollapsed},i=setTimeout(()=>{Ge(a,n)},nn);return()=>clearTimeout(i)},[k.railWidth,k.railCollapsed,a]),(0,c.useEffect)(()=>{let n=E.current,i=new Map,d=[];for(let P of e.sessions){let R=P.sessionId;if(!q(R))continue;let O=String(P.status??"");i.set(R,O);let H=n.get(R);H&&gn.has(H)&&O==="idle"&&R!==w&&d.push(R)}if(E.current=i,d.length===0)return;let W=_.current;y(P=>{let R={...P.unread};for(let O of d)R[O]=W;return te({seen:P.seen,unread:R})})},[e.sessions,w]),(0,c.useEffect)(()=>{let n=l,i=setTimeout(()=>{Ve(a,n)},kn);return()=>clearTimeout(i)},[l,a]);let an=(0,c.useMemo)(()=>{let n=new Set;for(let i of e.sessions){let d=i.sessionId;if(!q(d)||d===w||i.status==="closed")continue;let W=l.seen[d],P=l.unread[d];if(P!==void 0&&P>=(W??0)){n.add(d);continue}he(i)>(W??z.current)&&n.add(d)}return n},[e.sessions,l,w]),ke=n=>{if(!q(n))return;let i=e.sessions.find(W=>W.sessionId===n),d=Math.max(_.current,i?he(i):0);y(W=>{if(W.seen[n]===d&&W.unread[n]===void 0)return W;let P={...W.unread};return delete P[n],te({seen:{...W.seen,[n]:d},unread:P})})},rn=n=>{T(n),Ye(a,n)},ce=n=>{g(i=>({...i,layout:Ln(i.layout,n)}))},ge=n=>{ke(n),A(n),$(d=>d===null?null:d.sessionId===n?d:{sessionId:n,wantsControl:!1});let i=Ee("main",n);e.onRouteChange?e.onRouteChange(i):typeof window<"u"&&window.history.replaceState(window.history.state,"",i)},sn=n=>{n.preventDefault();let i=n.currentTarget;i.setPointerCapture?.(n.pointerId);let d=p.current;d?.classList.add("is-rail-dragging");let W=n.clientX,P=k.railWidth,R=W,O=W,H=0,We=()=>{H=0,O=R,ce({railWidth:P+O-W})},Ce=un=>{R=un.clientX,H===0&&(H=window.requestAnimationFrame(We))},U=()=>{H!==0&&(window.cancelAnimationFrame(H),H=0),R!==O&&We(),d?.classList.remove("is-rail-dragging"),window.removeEventListener("pointermove",Ce),window.removeEventListener("pointerup",U),window.removeEventListener("pointercancel",U),i.removeEventListener("lostpointercapture",U)};window.addEventListener("pointermove",Ce),window.addEventListener("pointerup",U),window.addEventListener("pointercancel",U),i.addEventListener("lostpointercapture",U)},ln=n=>{n.key!=="ArrowLeft"&&n.key!=="ArrowRight"||(n.preventDefault(),ce({railWidth:k.railWidth+(n.key==="ArrowLeft"?-8:8)}))},cn=n=>{n.key==="/"&&!(n.target instanceof HTMLInputElement)&&!(n.target instanceof HTMLTextAreaElement)&&(n.preventDefault(),p.current?.querySelector(".wb-session-search input")?.focus())},dn={"--wb-rail-width":`${on}px`},Se=v.mode==="desktop"?()=>ce({railCollapsed:!k.railCollapsed}):void 0,de=!!Se&&ye,ue=(0,s.jsx)(je,{sessions:e.sessions,selectedSessionId:w,collapsed:de,locale:e.locale,now:m,online:e.online,chatFollowNavigates:v.mode!=="mobile",unreadIds:an,dimension:X,onDimensionChange:rn,onSeen:ke,onLocate:e.capabilities.canLocate?n=>o.locateSession(n):void 0,canControlTerminal:e.capabilities.canControl&&!M,onOpenAppearance:v.mode==="mobile"?()=>S(!0):void 0,onSelect:n=>{if(ge(n),v.mode==="mobile"){$({sessionId:n,wantsControl:!1}),b("workspace");return}},onOpenSurface:(n,i)=>{ge(n),V(n,i==="terminal-control"),b("workspace")},onToggleCollapsed:Se}),me=u?(0,s.jsxs)("section",{className:"wb-workspace","aria-label":`\u5DE5\u4F5C\u53F0 \u2014 ${u.title||u.sessionId}`,children:[(0,s.jsxs)("header",{className:"wb-workspace-header",children:[(0,s.jsx)("div",{className:"wb-workspace-title",children:(0,s.jsxs)("span",{children:[(0,s.jsx)("strong",{title:String(u.title||u.sessionId),children:String(u.title||u.sessionId)}),(0,s.jsxs)("small",{children:[u.botName||u.larkAppId||"Bot"," \xB7 ",u.cliId||"\u672A\u77E5"," \xB7 ",u.repoName||"\u65E0\u4ED3\u5E93"]})]})}),(0,s.jsxs)("div",{className:"wb-workspace-controls",children:[x?(0,s.jsx)("button",{type:"button",className:"wb-layout-level wb-terminal-toggle","aria-pressed":"true",title:"\u5173\u95ED\u7EC8\u7AEF\u9762\u677F",onClick:()=>$(null),children:"\u5173\u95ED\u7EC8\u7AEF \u2715"}):null,v.mode!=="mobile"?(0,s.jsx)(Xe,{standingLink:e.manageAuthed===!0,api:o}):null]})]}),(0,s.jsx)("div",{className:"wb-pane-stack",children:x?(0,s.jsx)(Ze,{session:x,api:o,authenticated:e.authenticated,capabilities:e.capabilities,now:m,location:h,autoTakeControl:j},`${x.sessionId}:${j?"rw":"ro"}`):(0,s.jsxs)("div",{className:"wb-pane-placeholder",role:"status",children:[(0,s.jsx)("span",{"aria-hidden":"true",children:"\u203A_"}),(0,s.jsx)("p",{children:"\u5728\u5DE6\u4FA7\u4F1A\u8BDD\u884C\u70B9\u51FB\u7EC8\u7AEF\u56FE\u6807\u6253\u5F00\u7EC8\u7AEF"})]})})]}):(0,s.jsxs)("section",{className:"wb-workspace wb-no-selection","aria-live":"polite",children:[(0,s.jsx)("span",{"aria-hidden":"true",children:"\u2301"}),(0,s.jsx)("h2",{children:w?"\u4F1A\u8BDD\u4E0D\u5B58\u5728":"\u9009\u62E9\u4E00\u4E2A\u4F1A\u8BDD"}),(0,s.jsx)("p",{children:w?"\u8BE5\u4F1A\u8BDD\u5DF2\u7ED3\u675F\u6216\u88AB\u6E05\u7406":"\u4ECE\u5DE6\u4FA7\u5217\u8868\u9009\u62E9\u4F1A\u8BDD\uFF0C\u67E5\u770B\u7EC8\u7AEF\u6216\u7F51\u9875\u9884\u89C8"})]}),Tn=f==="sessions"?ue:f==="info"&&u?(0,s.jsx)("main",{className:"wb-mobile-info",children:(0,s.jsx)(pe,{session:u})}):me;return(0,s.jsx)("main",{ref:p,className:"agent-workbench-page","data-surface":"appCenter","data-term-style":le,"data-responsive-step":v.step,"data-demo":e.demo?"true":void 0,style:dn,onKeyDown:cn,children:v.mode==="mobile"?(0,s.jsxs)("div",{className:"wb-mobile-stack",children:[f==="sessions"?ue:(0,s.jsxs)("div",{className:"wb-mobile-detail",children:[(0,s.jsxs)("div",{className:"wb-mobile-detail-bar",children:[(0,s.jsx)("button",{type:"button",className:"wb-mobile-back",onClick:()=>b("sessions"),children:"\u2039 \u4F1A\u8BDD\u5217\u8868"}),u?(0,s.jsx)("span",{className:"wb-mobile-detail-title",title:String(u.title||u.sessionId),children:String(u.title||u.sessionId)}):null,(0,s.jsx)("span",{className:"wb-mobile-detail-seg",children:se.map(n=>(0,s.jsx)("button",{type:"button","aria-current":f===n?"page":void 0,onClick:()=>b(n),children:n==="workspace"?"\u7EC8\u7AEF":n==="preview"?"\u7F51\u9875":"\u4FE1\u606F"},n))})]}),f==="info"&&u?(0,s.jsx)("main",{className:"wb-mobile-info",children:(0,s.jsx)(pe,{session:u})}):f==="preview"&&u?(0,s.jsx)("main",{className:"wb-mobile-preview",children:(0,s.jsx)(en,{session:u,api:o,authenticated:e.authenticated,capabilities:e.capabilities,now:m})}):me]}),(0,s.jsx)(Oe,{open:Q,onClose:()=>S(!1),standingLink:e.manageAuthed===!0,api:o})]}):(0,s.jsxs)("div",{className:`wb-desktop-layout${de?" is-rail-collapsed":""}${x?"":" is-terminal-closed"}`,children:[ue,de?null:(0,s.jsx)("button",{type:"button",className:"wb-rail-separator",role:"separator","aria-label":"\u8C03\u6574\u5217\u8868\u5BBD\u5EA6","aria-orientation":"vertical","aria-valuemin":176,"aria-valuemax":460,"aria-valuenow":k.railWidth,onPointerDown:sn,onKeyDown:ln,children:(0,s.jsx)("span",{"aria-hidden":"true",children:"\u22EE"})}),me]})})}var ve=K(G(),1);function En(){let e=Le(),[o,a]=(0,re.useState)(Date.now());(0,re.useEffect)(()=>{let m=window.setInterval(()=>a(Date.now()),3e4);return()=>window.clearInterval(m)},[]);let h=Te(window.location.hash);return(0,ve.jsx)(tn,{sessions:[...e.sessions.values()],online:e.online,authenticated:Z.workbenchAuthed,capabilities:Z.workbenchCapabilities,manageAuthed:Z.authed,initialSessionId:h?.surface==="main"?h.sessionId:null,locale:"zh-CN",now:o})}function qn(e){return Ie(e,(0,ve.jsx)(En,{}))}export{qn as renderAgentWorkbenchPage};
|