@xopcai/xopc 0.0.83 → 0.0.85
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.md +2 -0
- package/README.zh-CN.md +3 -1
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
- package/dist/extensions/feishu/src/plugin.d.ts +2 -0
- package/dist/extensions/feishu/src/plugin.js +10 -0
- package/dist/extensions/feishu/src/plugin.js.map +1 -1
- package/dist/extensions/feishu/src/workflow-progress.d.ts +27 -0
- package/dist/extensions/feishu/src/workflow-progress.js +99 -0
- package/dist/extensions/feishu/src/workflow-progress.js.map +1 -0
- package/dist/extensions/telegram/src/plugin.d.ts +2 -0
- package/dist/extensions/telegram/src/plugin.js +11 -1
- package/dist/extensions/telegram/src/plugin.js.map +1 -1
- package/dist/extensions/telegram/src/routing-integration.js +2 -2
- package/dist/extensions/telegram/src/workflow-progress.d.ts +24 -0
- package/dist/extensions/telegram/src/workflow-progress.js +73 -0
- package/dist/extensions/telegram/src/workflow-progress.js.map +1 -0
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/extensions/weixin/src/__tests__/workflow-progress.test.js +158 -0
- package/dist/extensions/weixin/src/__tests__/workflow-progress.test.js.map +1 -0
- package/dist/extensions/weixin/src/api/api.js +2 -2
- package/dist/extensions/weixin/src/auth/accounts.js +1 -1
- package/dist/extensions/weixin/src/cdn/upload.js +1 -1
- package/dist/extensions/weixin/src/media/data-url.js +1 -1
- package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
- package/dist/extensions/weixin/src/messaging/inbound.js +1 -1
- package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
- package/dist/extensions/weixin/src/plugin.d.ts +2 -0
- package/dist/extensions/weixin/src/plugin.js +11 -1
- package/dist/extensions/weixin/src/plugin.js.map +1 -1
- package/dist/extensions/weixin/src/storage/sync-buf.js +1 -1
- package/dist/extensions/weixin/src/workflow-progress.d.ts +26 -0
- package/dist/extensions/weixin/src/workflow-progress.js +99 -0
- package/dist/extensions/weixin/src/workflow-progress.js.map +1 -0
- package/dist/gateway/static/root/assets/agents-D3_-kNlZ.js +222 -0
- package/dist/gateway/static/root/assets/apps-page-D7v7649T.js +1 -0
- package/dist/gateway/static/root/assets/channels-settings-nCaMb0a7.js +1 -0
- package/dist/gateway/static/root/assets/channels-status-swr-C1gZBcJV.js +8 -0
- package/dist/gateway/static/root/assets/createLucideIcon-DPHK1VkS.js +1 -0
- package/dist/gateway/static/root/assets/cron-api-CoYK0hlm.js +1 -0
- package/dist/gateway/static/root/assets/cron-page-DeGo-Vjc.js +1 -0
- package/dist/gateway/static/root/assets/dist-BTWC-BTN.js +45 -0
- package/dist/gateway/static/root/assets/{dist-BpQxde0t.js → dist-DaK4dsss.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-CY27wj_p.js → extension-debug-page-BZngZWbO.js} +1 -1
- package/dist/gateway/static/root/assets/extension-page-D6JSyV27.js +1 -0
- package/dist/gateway/static/root/assets/extension-settings-page-8PZcmWI7.js +1 -0
- package/dist/gateway/static/root/assets/fetch-B2MYHbWg.js +1 -0
- package/dist/gateway/static/root/assets/{field-primitives-fa_hiQcX.js → field-primitives-Zzl22MvN.js} +1 -1
- package/dist/gateway/static/root/assets/heartbeat-config-api-BtIcpG0O.js +1 -0
- package/dist/gateway/static/root/assets/index-D4vM3-P7.js +4700 -0
- package/dist/gateway/static/root/assets/index-ew_2L2We.css +1 -0
- package/dist/gateway/static/root/assets/logs-page-_d4UJ-qQ.js +1 -0
- package/dist/gateway/static/root/assets/sessions-page-5N4aF2Wk.js +1 -0
- package/dist/gateway/static/root/assets/settings-form-section-D_tgb8r2.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-C18xBt4X.js +3 -0
- package/dist/gateway/static/root/assets/share-preview-page-D4EG_vM1.js +2 -0
- package/dist/gateway/static/root/assets/skills-page-sPAXhh8w.js +2 -0
- package/dist/gateway/static/root/assets/theme-store-DryYl3qD.js +1 -0
- package/dist/gateway/static/root/assets/url-BwNL6Rgk.js +3 -0
- package/dist/gateway/static/root/assets/utils-CYO9eTCM.js +1 -0
- package/dist/gateway/static/root/assets/voice-api-key-field-Ds51havm.js +1 -0
- package/dist/gateway/static/root/index.html +7 -6
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.js +7 -7
- package/dist/src/agent/bootstrap/load-bootstrap-files.js +1 -1
- package/dist/src/agent/context/workspace-seed.js +3 -3
- package/dist/src/agent/embedded/map-stream-events.js +6 -0
- package/dist/src/agent/embedded/map-stream-events.js.map +1 -1
- package/dist/src/agent/embedded/subscribe-session.js +24 -0
- package/dist/src/agent/embedded/subscribe-session.js.map +1 -1
- package/dist/src/agent/embedded/types.d.ts +19 -0
- package/dist/src/agent/goals/goal-locale.js +2 -2
- package/dist/src/agent/goals/goal-run-store.js +4 -4
- package/dist/src/agent/goals/persistent-goal-service.js +1 -1
- package/dist/src/agent/goals/post-turn.js +2 -2
- package/dist/src/agent/image/load-image-media.js +2 -2
- package/dist/src/agent/ipc/bus.js +1 -1
- package/dist/src/agent/ipc/inbox.js +2 -2
- package/dist/src/agent/ipc/socket.js +1 -1
- package/dist/src/agent/memory/builtin-memory-store.js +1 -1
- package/dist/src/agent/memory/dreaming/deep-promotion.js +1 -1
- package/dist/src/agent/memory/dreaming/events.js +1 -1
- package/dist/src/agent/memory/dreaming/last-run.js +1 -1
- package/dist/src/agent/memory/dreaming/light-sweep.js +1 -1
- package/dist/src/agent/memory/dreaming/preview.js +1 -1
- package/dist/src/agent/memory/dreaming/rem-patterns.js +1 -1
- package/dist/src/agent/memory/dreaming/short-term-store.js +1 -1
- package/dist/src/agent/memory/dreaming/utils.js +1 -1
- package/dist/src/agent/memory/plugin-discovery.js +1 -1
- package/dist/src/agent/models/manager.js +1 -1
- package/dist/src/agent/prompt/service-prompt-builder.js +2 -2
- package/dist/src/agent/reply/post-compaction-context.js +1 -1
- package/dist/src/agent/reply/startup-context.d.ts +3 -0
- package/dist/src/agent/reply/startup-context.js +25 -2
- package/dist/src/agent/reply/startup-context.js.map +1 -1
- package/dist/src/agent/reply/workspace-boundary-read.js +1 -1
- package/dist/src/agent/sandbox/path-policy.js +2 -2
- package/dist/src/agent/service/build-direct-message-content.js +1 -1
- package/dist/src/agent/service.d.ts +1 -0
- package/dist/src/agent/service.js +10 -4
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/session/session-inspector.js +1 -1
- package/dist/src/agent/skills/config.js +1 -1
- package/dist/src/agent/skills/hub-hash.js +2 -2
- package/dist/src/agent/skills/hub-lock.js +1 -1
- package/dist/src/agent/skills/hub-pull.js +3 -3
- package/dist/src/agent/skills/index.js +1 -1
- package/dist/src/agent/skills/managed-store.js +1 -1
- package/dist/src/agent/skills/scanner.js +1 -1
- package/dist/src/agent/skills/skill-manage-ops.js +1 -1
- package/dist/src/agent/skills/skill-manager.js +1 -1
- package/dist/src/agent/tools/create-share-tool.d.ts +27 -0
- package/dist/src/agent/tools/create-share-tool.js +237 -0
- package/dist/src/agent/tools/create-share-tool.js.map +1 -0
- package/dist/src/agent/tools/dreaming-tool.js +1 -1
- package/dist/src/agent/tools/factory.js +35 -1
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/image-generate-tool.js +1 -1
- package/dist/src/agent/tools/index.d.ts +2 -0
- package/dist/src/agent/tools/index.js +3 -1
- package/dist/src/agent/tools/send-media.js +1 -1
- package/dist/src/agent/tools/skill-manage-tool.js +1 -1
- package/dist/src/agent/tools/workflow-tool.d.ts +41 -0
- package/dist/src/agent/tools/workflow-tool.js +271 -0
- package/dist/src/agent/tools/workflow-tool.js.map +1 -0
- package/dist/src/agent/tools/write.js +1 -1
- package/dist/src/agent/workflow/builtins/audit-repo.d.ts +9 -0
- package/dist/src/agent/workflow/builtins/audit-repo.js +115 -0
- package/dist/src/agent/workflow/builtins/audit-repo.js.map +1 -0
- package/dist/src/agent/workflow/builtins/index.d.ts +15 -0
- package/dist/src/agent/workflow/builtins/index.js +28 -0
- package/dist/src/agent/workflow/builtins/index.js.map +1 -0
- package/dist/src/agent/workflow/builtins/multi-perspective-review.d.ts +9 -0
- package/dist/src/agent/workflow/builtins/multi-perspective-review.js +113 -0
- package/dist/src/agent/workflow/builtins/multi-perspective-review.js.map +1 -0
- package/dist/src/agent/workflow/builtins/research.d.ts +9 -0
- package/dist/src/agent/workflow/builtins/research.js +129 -0
- package/dist/src/agent/workflow/builtins/research.js.map +1 -0
- package/dist/src/agent/workflow/catalog.d.ts +51 -0
- package/dist/src/agent/workflow/catalog.js +155 -0
- package/dist/src/agent/workflow/catalog.js.map +1 -0
- package/dist/src/agent/workflow/channel-capability.d.ts +76 -0
- package/dist/src/agent/workflow/channel-capability.js +1 -0
- package/dist/src/agent/workflow/index.d.ts +11 -0
- package/dist/src/agent/workflow/index.js +10 -0
- package/dist/src/agent/workflow/last-run-memory.d.ts +42 -0
- package/dist/src/agent/workflow/last-run-memory.js +60 -0
- package/dist/src/agent/workflow/last-run-memory.js.map +1 -0
- package/dist/src/agent/workflow/parser.d.ts +20 -0
- package/dist/src/agent/workflow/parser.js +137 -0
- package/dist/src/agent/workflow/parser.js.map +1 -0
- package/dist/src/agent/workflow/progress-broker.d.ts +80 -0
- package/dist/src/agent/workflow/progress-broker.js +263 -0
- package/dist/src/agent/workflow/progress-broker.js.map +1 -0
- package/dist/src/agent/workflow/runtime.d.ts +31 -0
- package/dist/src/agent/workflow/runtime.js +301 -0
- package/dist/src/agent/workflow/runtime.js.map +1 -0
- package/dist/src/agent/workflow/snapshot.d.ts +18 -0
- package/dist/src/agent/workflow/snapshot.js +144 -0
- package/dist/src/agent/workflow/snapshot.js.map +1 -0
- package/dist/src/agent/workflow/structured-output-tool.d.ts +33 -0
- package/dist/src/agent/workflow/structured-output-tool.js +58 -0
- package/dist/src/agent/workflow/structured-output-tool.js.map +1 -0
- package/dist/src/agent/workflow/subagent-runner.d.ts +42 -0
- package/dist/src/agent/workflow/subagent-runner.js +104 -0
- package/dist/src/agent/workflow/subagent-runner.js.map +1 -0
- package/dist/src/agent/workflow/types.d.ts +137 -0
- package/dist/src/agent/workflow/types.js +1 -0
- package/dist/src/auth/credentials.js +3 -3
- package/dist/src/auth/profiles/store.js +1 -1
- package/dist/src/auth/sync-provider-auth.js +1 -1
- package/dist/src/browser/cache-dir-policy.js +1 -1
- package/dist/src/browser/cdp-local-launcher.js +2 -2
- package/dist/src/browser/providers/browser-ext-install.js +4 -4
- package/dist/src/browser/providers/cloakbrowser.js +4 -4
- package/dist/src/browser/providers/playwright-doctor.js +1 -1
- package/dist/src/browser/stealth.js +1 -1
- package/dist/src/channels/attachments/inbound-persist.js +1 -1
- package/dist/src/channels/attachments/outbound-tts-persist.js +1 -1
- package/dist/src/channels/outbound/persist-store.js +1 -1
- package/dist/src/channels/pairing/allow-from-file.js +1 -1
- package/dist/src/channels/pairing/pairing-store.js +2 -2
- package/dist/src/chat-commands/builtins/config.js +2 -2
- package/dist/src/chat-commands/builtins/model.js +40 -23
- package/dist/src/chat-commands/builtins/model.js.map +1 -1
- package/dist/src/chat-commands/builtins/system.js +30 -15
- package/dist/src/chat-commands/builtins/system.js.map +1 -1
- package/dist/src/chat-commands/builtins/workflow.d.ts +18 -0
- package/dist/src/chat-commands/builtins/workflow.js +167 -0
- package/dist/src/chat-commands/builtins/workflow.js.map +1 -0
- package/dist/src/chat-commands/context.js +1 -1
- package/dist/src/chat-commands/format-output.d.ts +28 -0
- package/dist/src/chat-commands/format-output.js +45 -0
- package/dist/src/chat-commands/format-output.js.map +1 -0
- package/dist/src/chat-commands/index.d.ts +1 -0
- package/dist/src/chat-commands/index.js +3 -1
- package/dist/src/chat-commands/index.js.map +1 -1
- package/dist/src/cli/command-catalog.js +110 -8
- package/dist/src/cli/command-catalog.js.map +1 -1
- package/dist/src/cli/command-loaders.js +2 -0
- package/dist/src/cli/command-loaders.js.map +1 -1
- package/dist/src/cli/command-manifest.js +9 -1
- package/dist/src/cli/command-manifest.js.map +1 -1
- package/dist/src/cli/commands/config.js +71 -20
- package/dist/src/cli/commands/config.js.map +1 -1
- package/dist/src/cli/commands/cron-cli.d.ts +2 -0
- package/dist/src/cli/commands/cron-cli.js +15 -0
- package/dist/src/cli/commands/cron-cli.js.map +1 -0
- package/dist/src/cli/commands/cron.d.ts +4 -1
- package/dist/src/cli/commands/cron.js +76 -41
- package/dist/src/cli/commands/cron.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/channel-config.js +1 -1
- package/dist/src/cli/commands/doctor/checks/channel-config.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/config-health.js +2 -2
- package/dist/src/cli/commands/doctor/checks/config-health.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/cron-health.js +1 -1
- package/dist/src/cli/commands/doctor/checks/cron-health.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/gateway-health.js +2 -2
- package/dist/src/cli/commands/doctor/checks/gateway-health.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/gateway-service.js +2 -2
- package/dist/src/cli/commands/doctor/checks/gateway-service.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
- package/dist/src/cli/commands/doctor/checks/session-integrity.js +1 -1
- package/dist/src/cli/commands/doctor/checks/state-integrity.js +2 -2
- package/dist/src/cli/commands/doctor/checks/state-integrity.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/workspace-status.js +4 -4
- package/dist/src/cli/commands/doctor/checks/workspace-status.js.map +1 -1
- package/dist/src/cli/commands/extension-dev.js +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +1 -1
- package/dist/src/cli/commands/extension-pack.js +1 -1
- package/dist/src/cli/commands/gateway/index.d.ts +1 -1
- package/dist/src/cli/commands/gateway/index.js +2 -2
- package/dist/src/cli/commands/gateway/lifecycle.js +10 -4
- package/dist/src/cli/commands/gateway/lifecycle.js.map +1 -1
- package/dist/src/cli/commands/gateway/service.d.ts +4 -0
- package/dist/src/cli/commands/gateway/service.js +17 -2
- package/dist/src/cli/commands/gateway/service.js.map +1 -1
- package/dist/src/cli/commands/gateway/shared.js +1 -1
- package/dist/src/cli/commands/gateway/subcommands.js +1 -4
- package/dist/src/cli/commands/gateway/subcommands.js.map +1 -1
- package/dist/src/cli/commands/image.js +1 -1
- package/dist/src/cli/commands/init.js +31 -4
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/models.d.ts +4 -1
- package/dist/src/cli/commands/models.js +86 -74
- package/dist/src/cli/commands/models.js.map +1 -1
- package/dist/src/cli/commands/onboard.js +4 -2
- package/dist/src/cli/commands/onboard.js.map +1 -1
- package/dist/src/cli/commands/profile.d.ts +3 -5
- package/dist/src/cli/commands/profile.js +31 -31
- package/dist/src/cli/commands/profile.js.map +1 -1
- package/dist/src/cli/commands/setup.js +6 -1
- package/dist/src/cli/commands/setup.js.map +1 -1
- package/dist/src/cli/commands/tunnel.js +2 -2
- package/dist/src/cli/gateway-run-argv.js +15 -5
- package/dist/src/cli/gateway-run-argv.js.map +1 -1
- package/dist/src/cli/utils/gateway-client.js +1 -1
- package/dist/src/cli/utils/init-workspace-core.js +2 -2
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/gateway-bind.js +1 -1
- package/dist/src/config/index.js +5 -5
- package/dist/src/config/loader.js +2 -2
- package/dist/src/config/models-json.js +2 -2
- package/dist/src/config/paths-state.js +1 -1
- package/dist/src/config/profile.js +2 -2
- package/dist/src/config/public-url.d.ts +28 -0
- package/dist/src/config/public-url.js +103 -0
- package/dist/src/config/public-url.js.map +1 -0
- package/dist/src/config/schema.d.ts +82 -0
- package/dist/src/config/schema.js +130 -1
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/config/workspace-path.js +1 -1
- package/dist/src/cron/executor.js +2 -2
- package/dist/src/cron/persistence.js +1 -1
- package/dist/src/cron/run-log-store.js +1 -1
- package/dist/src/daemon/constants.js +1 -1
- package/dist/src/daemon/install-plan.js +3 -3
- package/dist/src/daemon/install-plan.js.map +1 -1
- package/dist/src/daemon/launchd.js +2 -2
- package/dist/src/daemon/schtasks.js +38 -1
- package/dist/src/daemon/schtasks.js.map +1 -1
- package/dist/src/daemon/systemd.js +2 -2
- package/dist/src/extensions/bundle-mcp.js +1 -1
- package/dist/src/extensions/discover-extensions.js +1 -1
- package/dist/src/extensions/health.js +1 -1
- package/dist/src/extensions/loader.js +1 -1
- package/dist/src/extensions/lockfile.js +2 -2
- package/dist/src/gateway/agents-admin.js +2 -2
- package/dist/src/gateway/file-path-classifier.js +2 -2
- package/dist/src/gateway/heartbeat/service.js +1 -1
- package/dist/src/gateway/hono/app.js +33 -2
- package/dist/src/gateway/hono/app.js.map +1 -1
- package/dist/src/gateway/hono/lib/config-payload.js +1 -1
- package/dist/src/gateway/hono/lib/extension-store.js +2 -2
- package/dist/src/gateway/hono/lib/static-ui.js +2 -2
- package/dist/src/gateway/hono/oauth.js +1 -1
- package/dist/src/gateway/hono/routes/agents.js +1 -1
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
- package/dist/src/gateway/hono/routes/dreaming.js +1 -1
- package/dist/src/gateway/hono/routes/host-fs.js +2 -2
- package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
- package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
- package/dist/src/gateway/hono/routes/models.js +1 -1
- package/dist/src/gateway/hono/routes/shares.js +631 -34
- package/dist/src/gateway/hono/routes/shares.js.map +1 -1
- package/dist/src/gateway/hono/routes/site-shares.d.ts +3 -0
- package/dist/src/gateway/hono/routes/site-shares.js +228 -0
- package/dist/src/gateway/hono/routes/site-shares.js.map +1 -0
- package/dist/src/gateway/hono/routes/tunnel.js +97 -8
- package/dist/src/gateway/hono/routes/tunnel.js.map +1 -1
- package/dist/src/gateway/hono/routes/workspace.js +5 -5
- package/dist/src/gateway/hono/sse.js +2 -2
- package/dist/src/gateway/host.d.ts +3 -1
- package/dist/src/gateway/host.js +3 -1
- package/dist/src/gateway/host.js.map +1 -1
- package/dist/src/gateway/lock.js +3 -3
- package/dist/src/gateway/ports.d.ts +6 -0
- package/dist/src/gateway/ports.js +38 -2
- package/dist/src/gateway/ports.js.map +1 -1
- package/dist/src/gateway/public-url.d.ts +8 -0
- package/dist/src/gateway/public-url.js +10 -0
- package/dist/src/gateway/public-url.js.map +1 -0
- package/dist/src/gateway/security/origin-check.d.ts +9 -1
- package/dist/src/gateway/security/origin-check.js +4 -0
- package/dist/src/gateway/security/origin-check.js.map +1 -1
- package/dist/src/gateway/server.js +15 -0
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/service/agent-runner.js +2 -2
- package/dist/src/gateway/service/marketplace-service.js +2 -2
- package/dist/src/gateway/service/run-gateway-agent.js +2 -2
- package/dist/src/gateway/service.js +3 -2
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/workspace-fs-file-list.js +1 -1
- package/dist/src/heartbeat/index.js +1 -1
- package/dist/src/i18n/goals-bundle.js +1 -1
- package/dist/src/i18n/index.d.ts +1 -0
- package/dist/src/i18n/index.js +2 -1
- package/dist/src/i18n/locales/share-tool.en.js +15 -0
- package/dist/src/i18n/locales/share-tool.en.js.map +1 -0
- package/dist/src/i18n/locales/share-tool.zh.js +15 -0
- package/dist/src/i18n/locales/share-tool.zh.js.map +1 -0
- package/dist/src/i18n/share-tool-bundle.d.ts +20 -0
- package/dist/src/i18n/share-tool-bundle.js +56 -0
- package/dist/src/i18n/share-tool-bundle.js.map +1 -0
- package/dist/src/infra/gateway-processes.js +1 -0
- package/dist/src/infra/gateway-processes.js.map +1 -1
- package/dist/src/infra/restart.js +2 -2
- package/dist/src/infra/update-check.js +1 -1
- package/dist/src/infra/update-lock.js +3 -3
- package/dist/src/infra/update-runner.js +1 -1
- package/dist/src/infra/update-startup.js +2 -2
- package/dist/src/infra/write-file-atomic.js +2 -2
- package/dist/src/providers/auth-runtime/auth-profile-store.js +1 -1
- package/dist/src/providers/index.js +2 -2
- package/dist/src/providers/model-registry.js +1 -1
- package/dist/src/session/config-store.js +2 -2
- package/dist/src/session/parity/jsonl-transcript-io.js +2 -2
- package/dist/src/session/parity/sessions-json-file.js +1 -1
- package/dist/src/session/parity/transcript-file-lock.js +2 -2
- package/dist/src/session/parity/transcript-paths.js +1 -1
- package/dist/src/session/search-index-cache.js +1 -1
- package/dist/src/session/search-index.js +1 -1
- package/dist/src/session/session-title.js +3 -2
- package/dist/src/session/session-title.js.map +1 -1
- package/dist/src/session/store.js +5 -5
- package/dist/src/share/share-auto.d.ts +74 -0
- package/dist/src/share/share-auto.js +247 -0
- package/dist/src/share/share-auto.js.map +1 -0
- package/dist/src/share/share-config.js +63 -4
- package/dist/src/share/share-config.js.map +1 -1
- package/dist/src/share/share-landing.d.ts +28 -2
- package/dist/src/share/share-landing.js +155 -34
- package/dist/src/share/share-landing.js.map +1 -1
- package/dist/src/share/share-store.d.ts +48 -4
- package/dist/src/share/share-store.js +322 -51
- package/dist/src/share/share-store.js.map +1 -1
- package/dist/src/share/share-thumbnail.d.ts +35 -0
- package/dist/src/share/share-thumbnail.js +277 -0
- package/dist/src/share/share-thumbnail.js.map +1 -0
- package/dist/src/share/share-types.d.ts +68 -10
- package/dist/src/share/share-types.js +18 -1
- package/dist/src/share/share-types.js.map +1 -1
- package/dist/src/share/share-url.js +1 -1
- package/dist/src/share/share-zip.d.ts +35 -0
- package/dist/src/share/share-zip.js +303 -0
- package/dist/src/share/share-zip.js.map +1 -0
- package/dist/src/share/site-proxy.d.ts +35 -0
- package/dist/src/share/site-proxy.js +234 -0
- package/dist/src/share/site-proxy.js.map +1 -0
- package/dist/src/share/site-share-config.d.ts +11 -0
- package/dist/src/share/site-share-config.js +103 -0
- package/dist/src/share/site-share-config.js.map +1 -0
- package/dist/src/share/site-share-router.d.ts +23 -0
- package/dist/src/share/site-share-router.js +147 -0
- package/dist/src/share/site-share-router.js.map +1 -0
- package/dist/src/share/site-share-store.d.ts +53 -0
- package/dist/src/share/site-share-store.js +400 -0
- package/dist/src/share/site-share-store.js.map +1 -0
- package/dist/src/share/site-share-types.d.ts +103 -0
- package/dist/src/share/site-share-types.js +41 -0
- package/dist/src/share/site-share-types.js.map +1 -0
- package/dist/src/share/site-static-serve.d.ts +10 -0
- package/dist/src/share/site-static-serve.js +145 -0
- package/dist/src/share/site-static-serve.js.map +1 -0
- package/dist/src/tui/clipboard-image.js +3 -3
- package/dist/src/tui/theme-manager.js +1 -1
- package/dist/src/tui/tui-commands.js +18 -0
- package/dist/src/tui/tui-commands.js.map +1 -1
- package/dist/src/tui/tui-keybindings-file.js +1 -1
- package/dist/src/tui/tui-scoped-models.js +2 -2
- package/dist/src/tui/tui-settings.js +1 -1
- package/dist/src/tui/tui-workflow-slash.d.ts +32 -0
- package/dist/src/tui/tui-workflow-slash.js +63 -0
- package/dist/src/tui/tui-workflow-slash.js.map +1 -0
- package/dist/src/tui/tui.js +2 -2
- package/dist/src/tunnel/enable-lan-pairing.js +1 -1
- package/dist/src/tunnel/frpc-binary.js +3 -3
- package/dist/src/tunnel/frpc-config.js +1 -1
- package/dist/src/tunnel/frpc-extract.js +1 -1
- package/dist/src/tunnel/index.js +2 -2
- package/dist/src/tunnel/pair-context.d.ts +7 -1
- package/dist/src/tunnel/pair-context.js +25 -9
- package/dist/src/tunnel/pair-context.js.map +1 -1
- package/dist/src/tunnel/pair-url.d.ts +14 -1
- package/dist/src/tunnel/pair-url.js +14 -1
- package/dist/src/tunnel/pair-url.js.map +1 -1
- package/dist/src/tunnel/tunnel-service.js +2 -2
- package/dist/src/tunnel/tunnel-state.js +1 -1
- package/dist/src/utils/logger/audit.js +1 -1
- package/dist/src/utils/logger/log-store.js +1 -1
- package/dist/src/utils/logger/rotation.js +1 -1
- package/dist/src/voice/tts/audio.js +1 -1
- package/dist/src/voice/tts/providers/edge-speech.js +2 -2
- package/package.json +3 -2
- package/dist/gateway/static/root/assets/agents-CrpYTHJS.js +0 -222
- package/dist/gateway/static/root/assets/apps-page-1mcKh5Rh.js +0 -1
- package/dist/gateway/static/root/assets/button-KafIU8dx.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-zd6QNKPx.js +0 -1
- package/dist/gateway/static/root/assets/channels-status-swr-uRAuhiUo.js +0 -8
- package/dist/gateway/static/root/assets/cron-api-O2Q_ruV6.js +0 -1
- package/dist/gateway/static/root/assets/cron-page-By09AQD-.js +0 -1
- package/dist/gateway/static/root/assets/dist-C57OMHW8.js +0 -48
- package/dist/gateway/static/root/assets/extension-page-C-Ed5ZmP.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-raLux7E7.js +0 -1
- package/dist/gateway/static/root/assets/fetch-2iRFmd3n.js +0 -3
- package/dist/gateway/static/root/assets/heartbeat-config-api-BVl5VHvL.js +0 -1
- package/dist/gateway/static/root/assets/index-BuFldCsB.css +0 -1
- package/dist/gateway/static/root/assets/index-Y-iqo-gL.js +0 -4693
- package/dist/gateway/static/root/assets/logs-page-BdH2n7ZW.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-Vpchzdp-.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-section-Kk1yAGBl.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-KBm0u6Dz.js +0 -3
- package/dist/gateway/static/root/assets/skills-page-BjeXXaOn.js +0 -2
- package/dist/gateway/static/root/assets/theme-store-D01dJt95.js +0 -1
- package/dist/gateway/static/root/assets/utils-DpTxN4AF.js +0 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-CwO8Cf01.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,o as a,t as o}from"./url-BwNL6Rgk.js";import{a as s,i as c}from"./vendor-swr-BIWyz7Rc.js";import{a as l,i as u,n as d,o as f,r as p,s as m}from"./dist-BTWC-BTN.js";import{a as h,n as g,t as _}from"./fetch-B2MYHbWg.js";import{Bn as v,Bt as y,Cn as b,Dn as x,En as S,Hi as C,Ji as w,Jr as T,Mr as E,N as D,Ti as O,Tn as k,Vr as A,da as j,ii as M,ir as N,kr as P,nr as F,oa as I,pr as ee,s as L,ta as R,tr as z,wn as B}from"./index-D4vM3-P7.js";var V=e(t(),1),H=n();function U(e){return e===`builtin`||e===`user`?e:`marketplace`}async function W(e){try{let t=await e.json();if(typeof t.error==`string`)return t.error;if(t.error&&typeof t.error==`object`&&typeof t.error.message==`string`)return t.error.message;if(typeof t.message==`string`)return t.message}catch{}return e.statusText||`HTTP ${e.status}`}async function te(e){let t=await _(o(`/api/marketplace/packages/${encodeURIComponent(e.trim())}`),{cache:`no-store`});if(!t.ok)throw Error(await W(t));let n=await t.json();if(!n.ok||!n.payload?.id)throw Error(n.error??`Invalid response`);return n.payload}async function G(e){let t=await _(o(`/api/marketplace/install`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(await W(t));let n=await t.json();if(!n.ok||!n.payload?.extensionId)throw Error(n.error??`Invalid response`);return n.payload}async function K(e){let t=await _(o(`/api/extensions/bundled/activation`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({extensionId:e.extensionId.trim(),enabled:e.enabled})});if(!t.ok)throw Error(await W(t));let n=await t.json();if(!n.ok||!n.payload)throw Error(n.error?.message??`Invalid response`);return n.payload}async function q(e){let t=await _(o(`/api/marketplace/uninstall`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({extensionId:e})});if(!t.ok)throw Error(await W(t));let n=await t.json();if(!n.ok||!n.payload)throw Error(n.error??`Invalid response`);return n.payload}var J=r();function Y(e,t){let n=e.find(e=>e.id===t);return n?n.source===`bundled`?`bundled`:`user`:`absent`}var X={q:``,debounced:``,detailPkg:null,rowBusy:null,actionError:null,restartHint:null};function ne({className:e}){let t=a(i(e=>e.language)).appsPage,n=h(e=>!!e.token),r=S(),{mutate:l}=s(),[u,d]=(0,V.useReducer)(L,X),{q:f,debounced:p,detailPkg:m,rowBusy:_,actionError:v,restartHint:y}=u,b=n?`marketplace-${p}`:null;(0,V.useEffect)(()=>{let e=window.setTimeout(()=>d({type:`patch`,patch:{debounced:f.trim()}}),300);return()=>window.clearTimeout(e)},[f]);let{data:x,isLoading:w,error:O}=c(b,async()=>g(p.length>0?o(`/api/marketplace?q=${encodeURIComponent(p)}`):o(`/api/marketplace`)),{revalidateOnFocus:!1}),k=(0,V.useCallback)(()=>{l(`gateway-extensions-list`),D()},[l]),A=(0,V.useCallback)(async(e,n)=>{d({type:`patch`,patch:{actionError:null,restartHint:null,rowBusy:e}});try{let r=await G({name:e,overwrite:n});k(),r.requiresGatewayRestart&&d({type:`patch`,patch:{restartHint:t.marketplaceRestartHint}})}catch(e){throw d({type:`patch`,patch:{actionError:e instanceof Error?e.message:t.marketplaceInstallFailed}}),e}finally{d({type:`patch`,patch:{rowBusy:null}})}},[t.marketplaceInstallFailed,t.marketplaceRestartHint,k]),j=(0,V.useCallback)(async e=>{d({type:`patch`,patch:{actionError:null,restartHint:null,rowBusy:e}});try{let n=await q(e);k(),n.requiresGatewayRestart&&d({type:`patch`,patch:{restartHint:t.marketplaceRestartHint}})}catch(e){throw d({type:`patch`,patch:{actionError:e instanceof Error?e.message:t.marketplaceUninstallFailed}}),e}finally{d({type:`patch`,patch:{rowBusy:null}})}},[t.marketplaceRestartHint,t.marketplaceUninstallFailed,k]),N=x?.extensions??[];return(0,J.jsxs)(`div`,{className:F(`flex flex-col gap-4`,e),children:[(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(E,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-muted`,strokeWidth:1.75,"aria-hidden":!0}),(0,J.jsx)(`input`,{type:`search`,value:f,onChange:e=>d({type:`patch`,patch:{q:e.target.value}}),placeholder:t.marketplaceSearchPlaceholder,className:`ui-input h-10 w-full rounded-lg border border-edge bg-surface-base pl-9 pr-3 text-sm text-fg placeholder:text-fg-muted`})]}),O?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:O instanceof Error?O.message:t.marketplaceLoadFailed}):null,v?(0,J.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:v}):null,y?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:y}):null,w&&!x?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:`…`}):(0,J.jsx)(`ul`,{className:`flex flex-col gap-3`,children:N.length===0?(0,J.jsx)(`li`,{className:`text-sm text-fg-muted`,children:t.marketplaceEmpty}):N.map(e=>{let n=Y(r,e.id),i=_===e.id;return(0,J.jsx)(`li`,{className:`list-none`,children:(0,J.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-label":`${e.name}, ${t.marketplaceDetailTitle}`,onClick:()=>d({type:`patch`,patch:{detailPkg:e.id}}),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),d({type:`patch`,patch:{detailPkg:e.id}}))},className:F(`flex w-full cursor-pointer flex-wrap items-start gap-3 rounded-xl border border-edge bg-surface-base p-4 text-left shadow-surface`,`transition-[transform,background-color,border-color,box-shadow] duration-150 ease-out`,`hover:border-edge-subtle hover:bg-surface-hover/40`,`active:scale-[0.992] active:bg-surface-hover/55`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,`dark:hover:bg-surface-hover/25 dark:active:bg-surface-hover/35`),children:[(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(`h3`,{className:`font-semibold text-fg`,children:e.name}),e.verified?(0,J.jsx)(C,{className:`size-4 shrink-0 text-emerald-600 dark:text-emerald-400`,strokeWidth:1.75,"aria-label":`Verified`}):null,e.version?(0,J.jsx)(`span`,{className:`text-xs text-fg-muted`,children:e.version}):null]}),e.description?(0,J.jsx)(`p`,{className:`mt-1 line-clamp-2 text-sm text-fg-muted`,children:e.description}):null,(0,J.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:(e.categories??[]).map(e=>(0,J.jsx)(`span`,{className:`rounded-md border border-edge bg-surface-panel px-2 py-0.5 text-[11px] text-fg-muted`,children:e},e))}),(0,J.jsxs)(`p`,{className:`mt-2 flex items-center gap-1.5 text-xs text-fg-muted`,children:[(0,J.jsx)(T,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),(0,J.jsx)(`code`,{className:`rounded bg-surface-panel px-1 py-0.5`,children:e.npmPackage})]})]}),(0,J.jsx)(`div`,{role:`group`,className:`flex shrink-0 flex-col items-end gap-2 sm:min-w-[9rem]`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:n===`bundled`?(0,J.jsx)(`span`,{className:`rounded-md bg-surface-hover px-2 py-1 text-[11px] font-medium text-fg-muted`,children:t.marketplaceBuiltin}):n===`user`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`text-[11px] font-medium text-fg-muted`,children:t.marketplaceInstalled}),(0,J.jsxs)(`button`,{type:`button`,disabled:i,onClick:()=>{window.confirm(t.marketplaceUninstallConfirm)&&j(e.id).catch(()=>{})},className:F(`inline-flex items-center justify-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-xs font-medium text-fg`,`transition-colors active:scale-[0.98] active:bg-surface-hover/80`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,`disabled:pointer-events-none disabled:opacity-50`),children:[i?(0,J.jsx)(M,{className:`size-3.5 animate-spin`,"aria-hidden":!0}):(0,J.jsx)(ee,{className:`size-3.5`,strokeWidth:2,"aria-hidden":!0}),t.marketplaceUninstall]})]}):(0,J.jsxs)(`button`,{type:`button`,disabled:i,onClick:()=>{A(e.id,!1).catch(()=>{})},className:F(`inline-flex w-full items-center justify-center rounded-lg bg-accent px-3 py-2 text-xs font-medium text-white`,`shadow-surface transition-[transform,background-color] active:scale-[0.98]`,`hover:bg-accent-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base`,`disabled:pointer-events-none disabled:opacity-50`),children:[i?(0,J.jsx)(M,{className:`size-3.5 animate-spin`,"aria-hidden":!0}):null,t.marketplaceInstall]})})]})},e.id)})}),m?(0,J.jsx)(re,{packageName:m,copy:t,extensions:r,onClose:()=>d({type:`patch`,patch:{detailPkg:null}}),onInstall:A,onUninstall:j}):null]})}function re(e){let t=(0,H.c)(61),{packageName:n,copy:r,extensions:i,onClose:a,onInstall:o,onUninstall:s}=e,[p,g]=(0,V.useState)(!1),_=h(se)?`ext-mp-detail-${n}`:null,v;t[0]===n?v=t[1]:(v=async()=>te(n),t[0]=n,t[1]=v);let b;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(b={revalidateOnFocus:!1},t[2]=b):b=t[2];let{data:x,error:S,isLoading:C}=c(_,v,b),w;t[3]!==i||t[4]!==n?(w=Y(i,n),t[3]=i,t[4]=n,t[5]=w):w=t[5];let T=w,E=T===`user`,D;t[6]!==r.marketplaceNoReadme||t[7]!==x?(D=x?.readme?.trim()||(x?.description?.trim()?`### ${x.name}\n\n${x.description}`:`*${r.marketplaceNoReadme}*`),t[6]=r.marketplaceNoReadme,t[7]=x,t[8]=D):D=t[8];let O=D,k;t[9]===a?k=t[10]:(k=e=>!e&&a(),t[9]=a,t[10]=k);let A;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,J.jsx)(u,{className:`xopc-dialog-overlay fixed inset-0 z-[130] bg-scrim`}),t[11]=A):A=t[11];let j;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,J.jsx)(R,{className:`size-5`}),t[12]=j):j=t[12];let P;t[13]!==r.detailBack||t[14]!==a?(P=(0,J.jsx)(`button`,{type:`button`,onClick:a,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":r.detailBack,children:j}),t[13]=r.detailBack,t[14]=a,t[15]=P):P=t[15];let L;t[16]===r.marketplaceDetailTitle?L=t[17]:(L=(0,J.jsx)(m,{className:`min-w-0 flex-1 truncate text-center text-sm font-semibold text-fg`,children:r.marketplaceDetailTitle}),t[16]=r.marketplaceDetailTitle,t[17]=L);let z;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,J.jsx)(N,{className:`size-5`}),t[18]=z):z=t[18];let B;t[19]!==r.detailClose||t[20]!==a?(B=(0,J.jsx)(`button`,{type:`button`,onClick:a,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":r.detailClose,children:z}),t[19]=r.detailClose,t[20]=a,t[21]=B):B=t[21];let U;t[22]!==B||t[23]!==P||t[24]!==L?(U=(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[P,L,B]}),t[22]=B,t[23]=P,t[24]=L,t[25]=U):U=t[25];let W;t[26]!==r.marketplaceAuthor||t[27]!==r.marketplaceDetailLoadFailed||t[28]!==r.marketplaceDetailReadmeHeading||t[29]!==r.marketplaceDownloads||t[30]!==r.marketplaceVersion||t[31]!==x||t[32]!==S||t[33]!==C||t[34]!==O?(W=C&&!x?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:`…`}):S?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:r.marketplaceDetailLoadFailed}):x?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`h3`,{className:`text-lg font-semibold text-fg`,children:x.name}),(0,J.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:(0,J.jsx)(`code`,{className:`rounded bg-surface-panel px-1 py-0.5`,children:x.id})}),(0,J.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs text-fg-muted sm:grid-cols-2`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceAuthor}),(0,J.jsx)(`dd`,{children:x.author.username})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceVersion}),(0,J.jsx)(`dd`,{children:x.latestVersion.version})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceDownloads}),(0,J.jsx)(`dd`,{children:x.downloads})]})]}),x.readme?.trim()?(0,J.jsx)(`h4`,{className:`mb-2 mt-6 text-sm font-semibold text-fg`,children:r.marketplaceDetailReadmeHeading}):null,(0,J.jsx)(`div`,{className:`markdown-content min-w-0 break-words text-sm`,children:(0,J.jsx)(y,{content:O})})]}):null,t[26]=r.marketplaceAuthor,t[27]=r.marketplaceDetailLoadFailed,t[28]=r.marketplaceDetailReadmeHeading,t[29]=r.marketplaceDownloads,t[30]=r.marketplaceVersion,t[31]=x,t[32]=S,t[33]=C,t[34]=O,t[35]=W):W=t[35];let G;t[36]===W?G=t[37]:(G=(0,J.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:W}),t[36]=W,t[37]=G);let K;t[38]!==p||t[39]!==r.marketplaceBuiltinGoBuiltin||t[40]!==r.marketplaceBuiltinManageHint||t[41]!==r.marketplaceInstall||t[42]!==r.marketplaceReinstall||t[43]!==r.marketplaceReinstallConfirm||t[44]!==r.marketplaceUninstall||t[45]!==r.marketplaceUninstallConfirm||t[46]!==x||t[47]!==T||t[48]!==a||t[49]!==o||t[50]!==s||t[51]!==n||t[52]!==E?(K=x?(0,J.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-2 border-t border-edge-subtle px-5 py-4`,children:T===`bundled`?(0,J.jsxs)(`div`,{className:`flex w-full flex-col items-stretch gap-2`,children:[(0,J.jsx)(`p`,{className:`text-sm leading-relaxed text-fg-muted`,children:r.marketplaceBuiltinManageHint}),(0,J.jsx)(I,{to:`/apps?tab=builtin`,onClick:a,className:`inline-flex w-fit items-center justify-center rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:r.marketplaceBuiltinGoBuiltin})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`button`,{type:`button`,disabled:p,onClick:()=>{E&&!window.confirm(r.marketplaceReinstallConfirm)||(g(!0),o(n,E).catch(ae).finally(()=>g(!1)))},className:F(`inline-flex items-center justify-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium`,`bg-accent text-white shadow-surface hover:bg-accent-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,`disabled:pointer-events-none disabled:opacity-50`),children:[p?(0,J.jsx)(M,{className:`size-4 animate-spin`,"aria-hidden":!0}):null,E?r.marketplaceReinstall:r.marketplaceInstall]}),E?(0,J.jsxs)(`button`,{type:`button`,disabled:p,onClick:()=>{window.confirm(r.marketplaceUninstallConfirm)&&(g(!0),s(n).then(()=>a()).catch(ie).finally(()=>g(!1)))},className:F(`inline-flex items-center justify-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,`disabled:pointer-events-none disabled:opacity-50`),children:[(0,J.jsx)(ee,{className:`size-4 shrink-0`,"aria-hidden":!0}),r.marketplaceUninstall]}):null]})}):null,t[38]=p,t[39]=r.marketplaceBuiltinGoBuiltin,t[40]=r.marketplaceBuiltinManageHint,t[41]=r.marketplaceInstall,t[42]=r.marketplaceReinstall,t[43]=r.marketplaceReinstallConfirm,t[44]=r.marketplaceUninstall,t[45]=r.marketplaceUninstallConfirm,t[46]=x,t[47]=T,t[48]=a,t[49]=o,t[50]=s,t[51]=n,t[52]=E,t[53]=K):K=t[53];let q;t[54]!==U||t[55]!==G||t[56]!==K?(q=(0,J.jsxs)(l,{children:[A,(0,J.jsxs)(d,{className:`fixed left-1/2 top-1/2 z-[131] flex max-h-[min(90vh,44rem)] w-[min(42rem,calc(100vw-1.5rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-elevated`,onOpenAutoFocus:oe,children:[U,G,K]})]}),t[54]=U,t[55]=G,t[56]=K,t[57]=q):q=t[57];let X;return t[58]!==q||t[59]!==k?(X=(0,J.jsx)(f,{defaultOpen:!0,onOpenChange:k,children:q}),t[58]=q,t[59]=k,t[60]=X):X=t[60],X}function ie(){}function ae(){}function oe(e){return e.preventDefault()}function se(e){return!!e.token}function ce(){let e=i(e=>e.language),t=a(e),n=v(e=>e.setPageHeader),r=v(e=>e.clearPageHeader),o=S(),s=x(),[c,l]=j(),u=U(c.get(`tab`)),d=c.get(`q`)??``,[f,p]=(0,V.useState)(u),[m,h]=(0,V.useState)(d),[g,_]=(0,V.useState)(null),y=c.toString(),b=(0,V.useRef)(y);if(b.current!==y){b.current=y;let e=U(c.get(`tab`)),t=c.get(`q`)??``;p(t=>t===e?t:e),h(e=>e===t?e:t)}(0,V.useEffect)(()=>{l(e=>{let t=new URLSearchParams(e),n=m.trim();return n?t.set(`q`,n):t.delete(`q`),f===`marketplace`?t.delete(`tab`):t.set(`tab`,f),t.toString()===e.toString()?e:t},{replace:!0})},[f,m,l]);let C=(0,V.useMemo)(()=>o.filter(e=>e.source===`bundled`),[o]),w=(0,V.useMemo)(()=>o.filter(e=>e.source!==`bundled`),[o]),T=f===`builtin`?C:w,D=(0,V.useMemo)(()=>{let t=m.trim().toLowerCase(),n=T;return t&&(n=n.filter(e=>(e.name??``).toLowerCase().includes(t)||e.id.toLowerCase().includes(t)||(e.description??``).toLowerCase().includes(t))),n.toSorted((t,n)=>t.hasUi===n.hasUi?(t.name||t.id).localeCompare(n.name||n.id,e):t.hasUi?-1:1)},[T,m,e]);if((0,V.useEffect)(()=>{_(e=>{if(!e)return e;let t=o.find(t=>t.id===e.id);return t?Z(e)===Z(t)&&e.active===t.active?e:t:null})},[o]),(0,V.useLayoutEffect)(()=>(n({startExtra:null,main:(0,J.jsx)(`div`,{className:`w-full min-w-0 px-3 sm:px-5 xl:px-6`,children:(0,J.jsx)(`h1`,{className:`min-w-0 truncate text-base font-semibold tracking-tight text-fg`,children:t.appsPage.title})}),end:null}),()=>r()),[r,t.appsPage.title,n]),s&&f!==`marketplace`)return(0,J.jsx)(pe,{});let O=f!==`marketplace`&&T.length>0;return(0,J.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:[(0,J.jsxs)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-8`,children:[(0,J.jsxs)(`header`,{className:`mb-6`,children:[(0,J.jsx)(`h1`,{className:`text-xl font-semibold text-fg`,children:t.appsPage.title}),(0,J.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:t.appsPage.subtitle})]}),(0,J.jsxs)(`div`,{className:`mb-5 flex flex-col gap-3 border-b border-edge-subtle pb-3 sm:flex-row sm:items-center sm:justify-between dark:border-edge-subtle`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-x-1 gap-y-1`,role:`tablist`,"aria-label":t.appsPage.appsNavAria,children:[(0,J.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":f===`marketplace`,className:F(`relative max-w-full rounded-md px-3 py-2 text-left text-sm font-medium transition-colors sm:text-center`,f===`marketplace`?`text-fg`:`text-fg-muted hover:text-fg`,f===`marketplace`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`),onClick:()=>p(`marketplace`),children:t.appsPage.tabMarketplace}),(0,J.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":f===`builtin`,className:F(`relative rounded-md px-3 py-2 text-sm font-medium transition-colors`,f===`builtin`?`text-fg`:`text-fg-muted hover:text-fg`,f===`builtin`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`),onClick:()=>p(`builtin`),children:[t.appsPage.tabBuiltin,(0,J.jsxs)(`span`,{className:`ml-1 tabular-nums text-fg-muted`,children:[`(`,C.length,`)`]})]}),(0,J.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":f===`user`,className:F(`relative rounded-md px-3 py-2 text-sm font-medium transition-colors`,f===`user`?`text-fg`:`text-fg-muted hover:text-fg`,f===`user`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`),onClick:()=>p(`user`),children:[t.appsPage.tabUser,(0,J.jsxs)(`span`,{className:`ml-1 tabular-nums text-fg-muted`,children:[`(`,w.length,`)`]})]})]}),O?(0,J.jsxs)(`div`,{className:`relative w-full min-w-0 sm:max-w-xs`,children:[(0,J.jsx)(E,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-muted`,"aria-hidden":!0}),(0,J.jsx)(`input`,{type:`search`,value:m,onChange:e=>h(e.target.value),placeholder:t.appsPage.searchPlaceholder,className:`w-full rounded-lg border border-edge bg-surface-base py-2 pl-9 pr-3 text-sm text-fg placeholder:text-fg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,autoComplete:`off`})]}):null]}),f===`marketplace`?(0,J.jsx)(ne,{}):f===`builtin`&&C.length===0?(0,J.jsx)(he,{message:t.appsPage.emptyBuiltin}):f===`user`&&w.length===0?(0,J.jsx)(he,{message:t.appsPage.emptyUser}):D.length===0?(0,J.jsx)(`p`,{className:`rounded-xl border border-dashed border-edge-subtle bg-surface-hover/30 px-4 py-8 text-center text-sm text-fg-muted dark:bg-surface-hover/15`,children:t.appsPage.noSearchResults}):(0,J.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:D.map(e=>(0,J.jsx)(de,{extension:e,copy:t.appsPage,showSourceBadge:f===`user`,onOpen:()=>_(e)},e.id))})]}),g?(0,J.jsx)(fe,{extension:g,copy:t.appsPage,onClose:()=>_(null)},g.id):null]})}function Z(e){return e.activationEligible??e.active}function Q(e,t){return e.source===`bundled`?t.providerBundled:e.source===`global`?t.providerGlobal:e.source===`workspace`?t.providerWorkspace:t.providerOther}function le(e,t){return e.source===`global`?t.badgeSourceGlobal:e.source===`workspace`?t.badgeSourceWorkspace:t.badgeSourceOther}function ue(e,t){let n=Z(e);return n&&e.active?t.runStateLive:n&&!e.active?t.runStatePendingOn:!n&&e.active?t.runStatePendingOff:t.runStateOff}function de(e){let t=(0,H.c)(45),{extension:n,copy:r,showSourceBadge:i,onOpen:a}=e,o;t[0]===n?o=t[1]:(o=Z(n),t[0]=n,t[1]=o);let s=o,c=n.hasUi?r.cardTooltipHasUi:r.cardTooltipNoUi,l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=F(`group flex w-full flex-col rounded-xl border border-edge bg-surface-base p-4 text-left shadow-sm transition-colors`,`hover:border-edge-subtle hover:bg-surface-hover/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,`dark:hover:bg-surface-hover/25`),t[2]=l):l=t[2];let u=n.name||n.id,d;t[3]===u?d=t[4]:(d=u.charAt(0).toUpperCase(),t[3]=u,t[4]=d);let f;t[5]===d?f=t[6]:(f=(0,J.jsx)(`div`,{className:`flex size-12 shrink-0 items-center justify-center rounded-xl bg-accent-soft text-base font-semibold text-accent-fg`,"aria-hidden":!0,children:d}),t[5]=d,t[6]=f);let p;t[7]===n.name?p=t[8]:(p=(0,J.jsx)(`h2`,{className:`truncate text-sm font-semibold text-fg`,children:n.name}),t[7]=n.name,t[8]=p);let m;t[9]===n.version?m=t[10]:(m=n.version?(0,J.jsxs)(`span`,{className:`text-[11px] text-fg-muted`,children:[`v`,n.version]}):null,t[9]=n.version,t[10]=m);let h;t[11]!==p||t[12]!==m?(h=(0,J.jsxs)(`div`,{className:`min-w-0`,children:[p,m]}),t[11]=p,t[12]=m,t[13]=h):h=t[13];let g;t[14]!==r.statusEnabled||t[15]!==s?(g=s?(0,J.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded-full bg-surface-hover px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:[(0,J.jsx)(w,{className:`size-3`,strokeWidth:2.5,"aria-hidden":!0}),r.statusEnabled]}):(0,J.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center rounded-full border-2 border-accent text-accent`,"aria-hidden":!0,children:(0,J.jsx)(A,{className:`size-4`,strokeWidth:2.5})}),t[14]=r.statusEnabled,t[15]=s,t[16]=g):g=t[16];let _;t[17]!==h||t[18]!==g?(_=(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[h,g]}),t[17]=h,t[18]=g,t[19]=_):_=t[19];let v;t[20]!==r.cardNoDescription||t[21]!==n.description?(v=n.description?.trim()||r.cardNoDescription,t[20]=r.cardNoDescription,t[21]=n.description,t[22]=v):v=t[22];let y;t[23]===v?y=t[24]:(y=(0,J.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-relaxed text-fg-muted`,children:v}),t[23]=v,t[24]=y);let b=n.hasUi?r.badgeKindUi:r.badgeKindBackend,x;t[25]!==b||t[26]!==c?(x=(0,J.jsx)(`span`,{title:c,className:`rounded-md bg-surface-hover px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-fg-muted`,children:b}),t[25]=b,t[26]=c,t[27]=x):x=t[27];let S;t[28]!==r||t[29]!==n||t[30]!==i?(S=n.source===`bundled`?(0,J.jsx)(`span`,{className:`rounded-md bg-surface-hover px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-fg-muted`,children:r.badgeBundled}):i?(0,J.jsx)(`span`,{title:Q(n,r),className:`rounded-md bg-surface-hover px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-fg-muted`,children:le(n,r)}):null,t[28]=r,t[29]=n,t[30]=i,t[31]=S):S=t[31];let C;t[32]!==x||t[33]!==S?(C=(0,J.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:[x,S]}),t[32]=x,t[33]=S,t[34]=C):C=t[34];let T;t[35]!==_||t[36]!==y||t[37]!==C?(T=(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[_,y,C]}),t[35]=_,t[36]=y,t[37]=C,t[38]=T):T=t[38];let E;t[39]!==T||t[40]!==f?(E=(0,J.jsxs)(`div`,{className:`flex gap-3`,children:[f,T]}),t[39]=T,t[40]=f,t[41]=E):E=t[41];let D;return t[42]!==a||t[43]!==E?(D=(0,J.jsx)(`button`,{type:`button`,onClick:a,className:l,children:E}),t[42]=a,t[43]=E,t[44]=D):D=t[44],D}function fe({extension:e,copy:t,onClose:n}){let{mutate:r}=s(),[i,a]=(0,V.useState)(!1),[o,c]=(0,V.useState)(null),[h,g]=(0,V.useState)(!1),_=e.activationEligible===!0,v=(0,V.useCallback)(async()=>{if(e.source===`bundled`){c(null),g(!1),a(!0);try{let{requiresGatewayRestart:t}=await K({extensionId:e.id,enabled:!_});await r(`gateway-extensions-list`),D(),g(t)}catch(e){c(e instanceof Error?e.message:t.builtinToggleFailed)}finally{a(!1)}}},[_,t.builtinToggleFailed,e.id,e.source,r]),y=e.ui?.contributions?.pages??[],x=e.ui?.contributions?.settingsPanels??[],S=e.ui?.contributions?.chatWidgets??[],C=e.ui?.contributions?.sidebarPanels??[],w=y.find(e=>e.showInNav)??y[0],T=x[0],E=w?b(e.id,w):null,A=T?`/settings/ext/${e.id}/${T.id}`:e.hasConfigSchema||B(e)?`/settings/ext/${e.id}`:null;return(0,J.jsx)(f,{defaultOpen:!0,onOpenChange:e=>!e&&n(),children:(0,J.jsxs)(l,{children:[(0,J.jsx)(u,{className:`xopc-dialog-overlay fixed inset-0 z-[130] bg-scrim`}),(0,J.jsxs)(d,{className:`fixed left-1/2 top-1/2 z-[131] flex max-h-[min(90vh,44rem)] w-[min(42rem,calc(100vw-1.5rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-elevated`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[(0,J.jsx)(`button`,{type:`button`,onClick:n,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":t.detailBack,children:(0,J.jsx)(R,{className:`size-5`})}),(0,J.jsx)(m,{className:`min-w-0 flex-1 truncate text-center text-sm font-semibold text-fg`,children:t.detailTitle}),(0,J.jsxs)(p,{className:`sr-only`,children:[e.name,` (`,e.id,`)`]}),(0,J.jsx)(`button`,{type:`button`,onClick:n,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":t.detailClose,children:(0,J.jsx)(N,{className:`size-5`})})]}),(0,J.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-start gap-4`,children:[(0,J.jsx)(`div`,{className:`flex size-16 shrink-0 items-center justify-center rounded-2xl bg-accent-soft text-xl font-semibold text-accent-fg`,"aria-hidden":!0,children:(e.name||e.id).charAt(0).toUpperCase()}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`h3`,{className:`text-lg font-semibold text-fg`,children:e.name}),(0,J.jsxs)(`p`,{className:`mt-0.5 text-sm text-fg-muted`,children:[t.detailProviderPrefix,` `,Q(e,t)]}),e.version?(0,J.jsxs)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:[`v`,e.version]}):null]})]}),(0,J.jsx)(`p`,{className:`mt-5 text-sm leading-relaxed text-fg`,children:e.description?.trim()||t.detailNoDescription}),e.hasUi?null:(0,J.jsx)(`p`,{className:`mt-3 text-xs text-fg-muted`,children:t.backendOnlyHint}),(0,J.jsx)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:ue(e,t)}),e.source===`bundled`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`p`,{className:`mt-4 rounded-lg border border-edge-subtle bg-surface-hover/40 px-3 py-2 text-xs text-fg-muted dark:bg-surface-hover/20`,children:t.builtinConfigHint}),(0,J.jsxs)(`div`,{className:`mt-3 rounded-lg border border-edge-subtle bg-surface-hover/40 p-3 dark:bg-surface-hover/20`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,J.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:t.builtinRuntimeToggle}),(0,J.jsx)(z,{type:`button`,variant:`secondary`,disabled:i,onClick:()=>void v(),className:`shrink-0 py-1.5 text-xs`,children:i?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(M,{className:`mr-1.5 size-3.5 shrink-0 animate-spin`,"aria-hidden":!0}),t.builtinToggleBusy]}):_?t.builtinToggleDisable:t.builtinToggleEnable})]}),o?(0,J.jsx)(`p`,{className:`mt-2 text-xs text-rose-600 dark:text-rose-400`,children:o}):null,h?(0,J.jsx)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:t.builtinToggleRestartHint}):null]})]}):(0,J.jsx)(`p`,{className:`mt-4 rounded-lg border border-edge-subtle bg-surface-hover/40 px-3 py-2 text-xs text-fg-muted dark:bg-surface-hover/20`,children:t.cliManageHint}),e.hasUi&&(y.length>0||x.length>0||S.length>0)?(0,J.jsxs)(`section`,{className:`mt-8`,children:[(0,J.jsx)(`h4`,{className:`mb-3 text-sm font-semibold text-fg`,children:t.detailSectionFeatures}),(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,J.jsx)($,{template:t.badgePages,count:y.length,hidden:y.length===0}),(0,J.jsx)($,{template:t.badgeSettings,count:x.length,hidden:x.length===0}),(0,J.jsx)($,{template:t.badgeWidgets,count:S.length,hidden:S.length===0}),(0,J.jsx)($,{template:t.badgeSidebar,count:C.length,hidden:C.length===0})]})]}):null,k(e)&&(E||A)?(0,J.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-2 border-t border-edge-subtle pt-4`,children:[E?(0,J.jsxs)(I,{to:E,onClick:n,className:F(`inline-flex items-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),children:[(0,J.jsx)(O,{className:`size-4 shrink-0 opacity-80`,"aria-hidden":!0}),t.open]}):null,A?(0,J.jsxs)(I,{to:A,onClick:n,className:F(`inline-flex items-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),children:[(0,J.jsx)(P,{className:`size-4 shrink-0 opacity-80`,"aria-hidden":!0}),t.openSettings]}):null]}):null,(0,J.jsx)(`p`,{className:`mt-6 text-[11px] leading-relaxed text-fg-muted`,children:t.restartNote})]})]})]})})}function $(e){let t=(0,H.c)(6),{template:n,count:r,hidden:i}=e;if(i||r===0)return null;let a;if(t[0]!==r||t[1]!==n){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=/\{\{count\}\}/g,t[3]=e):e=t[3],a=n.replace(e,String(r)),t[0]=r,t[1]=n,t[2]=a}else a=t[2];let o;return t[4]===a?o=t[5]:(o=(0,J.jsx)(`span`,{className:`inline-flex items-center rounded-md bg-surface-hover px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:a}),t[4]=a,t[5]=o),o}function pe(){let e=(0,H.c)(5),t,n,r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,J.jsx)(`div`,{className:`mb-6 h-8 w-40 max-w-full animate-pulse rounded-md bg-surface-hover`}),n=(0,J.jsx)(`div`,{className:`mb-2 h-4 w-full max-w-md animate-pulse rounded bg-surface-hover`}),r=(0,J.jsx)(`div`,{className:`mb-5 h-9 w-full max-w-lg animate-pulse rounded-full bg-surface-hover`}),e[0]=t,e[1]=n,e[2]=r):(t=e[0],n=e[1],r=e[2]);let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=[`ap0`,`ap1`,`ap2`,`ap3`,`ap4`,`ap5`],e[3]=i):i=e[3];let a;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,J.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:(0,J.jsxs)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-8`,children:[t,n,r,(0,J.jsx)(`div`,{className:`mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:i.map(me)})]})}),e[4]=a):a=e[4],a}function me(e){return(0,J.jsx)(`div`,{className:`h-36 animate-pulse rounded-xl border border-edge bg-surface-base`},e)}function he(e){let t=(0,H.c)(2),{message:n}=e,r;return t[0]===n?r=t[1]:(r=(0,J.jsx)(`div`,{className:`flex min-h-[min(40vh,16rem)] flex-col items-center justify-center rounded-xl border border-dashed border-edge-subtle bg-surface-hover/40 px-4 py-12 text-center dark:bg-surface-hover/20`,children:(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n})}),t[0]=n,t[1]=r),r}export{ce as AppsPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,o as a,t as o}from"./url-BwNL6Rgk.js";import{i as s}from"./vendor-swr-BIWyz7Rc.js";import{a as c,i as l,n as u,o as d,r as f,s as p,t as m}from"./dist-BTWC-BTN.js";import{a as h,n as g}from"./fetch-B2MYHbWg.js";import{Ai as _,Bn as v,Ci as y,F as b,Gt as x,Ji as S,On as C,Rr as w,Rt as T,Sn as E,Ti as D,Wn as O,Zn as k,_n as A,ct as j,da as M,g as N,h as P,ir as F,la as I,lt as L,mn as R,nr as z,qi as ee,st as B,tr as V,ua as H,ut as U,wi as te,zt as W}from"./index-D4vM3-P7.js";import{a as G,c as ne,i as K,o as re,r as q,s as ie,t as J}from"./utils-CYO9eTCM.js";import{n as Y,r as ae,t as oe}from"./field-primitives-Zzl22MvN.js";import{_ as se,a as ce,c as le,d as ue,f as de,g as fe,h as pe,i as me,l as he,m as ge,n as _e,o as ve,p as ye,r as be,s as xe,t as X,u as Se,v as Ce,y as we}from"./channels-status-swr-C1gZBcJV.js";var Z=e(t(),1),Q=n(),$=r();function Te(e){switch(e){case`running`:return`bg-success-soft text-success`;case`offline`:return`bg-amber-100 text-amber-900 dark:bg-amber-950/60 dark:text-amber-200`;case`disabled`:return`bg-surface-hover text-fg-muted`;default:return`bg-surface-hover text-fg-muted`}}function Ee(e,t){switch(t){case`running`:return e.hubStatusRunning;case`offline`:return e.hubStatusOffline;case`disabled`:return e.hubStatusDisabled;default:return e.hubStatusNotConfigured}}function De(e,t){switch(t){case`setup`:return e.hubSetupButton;case`fix`:return e.hubFixButton;case`pairing`:return e.hubPairingButton;default:return e.hubManageButton}}function Oe(e){let t=(0,Q.c)(62),{channelId:n,title:r,subtitle:i,vm:a,toggleDisabled:o,onOpen:s,onReviewPairing:c,onToggle:l,ch:u}=e,d=a.configured&&a.manageable,f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=z(`flex h-full min-h-0 flex-col gap-3 rounded-xl border border-edge-subtle bg-surface-panel p-4 shadow-sm transition-colors`,`hover:border-edge`),t[0]=f):f=t[0];let p=a.status===`running`?`bg-accent-soft`:`bg-surface-base`,m;t[1]===p?m=t[2]:(m=z(`flex size-11 shrink-0 items-center justify-center rounded-xl ring-1 ring-edge-subtle/40`,p),t[1]=p,t[2]=m);let h;t[3]===n?h=t[4]:(h=(0,$.jsx)(E,{sourceChannel:n,className:`size-5`}),t[3]=n,t[4]=h);let g;t[5]!==m||t[6]!==h?(g=(0,$.jsx)(`div`,{className:m,"aria-hidden":!0,children:h}),t[5]=m,t[6]=h,t[7]=g):g=t[7];let _;t[8]===r?_=t[9]:(_=(0,$.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:r}),t[8]=r,t[9]=_);let v;t[10]===a.status?v=t[11]:(v=z(`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium`,Te(a.status)),t[10]=a.status,t[11]=v);let y;t[12]!==u||t[13]!==a.status?(y=Ee(u,a.status),t[12]=u,t[13]=a.status,t[14]=y):y=t[14];let b;t[15]!==v||t[16]!==y?(b=(0,$.jsx)(`span`,{className:v,children:y}),t[15]=v,t[16]=y,t[17]=b):b=t[17];let x;t[18]!==u||t[19]!==c||t[20]!==a.pendingPairing?(x=a.pendingPairing>0?(0,$.jsx)(`button`,{type:`button`,className:z(`inline-flex items-center rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-900 dark:bg-amber-950/60 dark:text-amber-200`,W.press),onClick:e=>{e.stopPropagation(),c()},children:u.hubPairingPendingBadge.replace(`{{count}}`,String(a.pendingPairing))}):null,t[18]=u,t[19]=c,t[20]=a.pendingPairing,t[21]=x):x=t[21];let S;t[22]!==x||t[23]!==b?(S=(0,$.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-1.5`,children:[b,x]}),t[22]=x,t[23]=b,t[24]=S):S=t[24];let C;t[25]!==S||t[26]!==_?(C=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[_,S]}),t[25]=S,t[26]=_,t[27]=C):C=t[27];let w;t[28]!==u||t[29]!==l||t[30]!==d||t[31]!==r||t[32]!==o||t[33]!==a.enabled?(w=d?(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":a.enabled,"aria-label":`${r} — ${u.enableChannelAria}`,disabled:o,className:z(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,W.press,a.enabled?`justify-end bg-accent`:`justify-start bg-surface-hover`,o&&`cursor-not-allowed opacity-50`),onClick:e=>{e.stopPropagation(),l(!a.enabled)},children:(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`})}):null,t[28]=u,t[29]=l,t[30]=d,t[31]=r,t[32]=o,t[33]=a.enabled,t[34]=w):w=t[34];let T;t[35]!==C||t[36]!==w||t[37]!==g?(T=(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[g,C,w]}),t[35]=C,t[36]=w,t[37]=g,t[38]=T):T=t[38];let D;t[39]===i?D=t[40]:(D=(0,$.jsx)(`p`,{className:`line-clamp-2 text-xs leading-relaxed text-fg-muted`,children:i}),t[39]=i,t[40]=D);let O;t[41]===a.summaryLines?O=t[42]:(O=a.summaryLines.length>0?(0,$.jsx)(`ul`,{className:`mt-1.5 space-y-0.5`,children:a.summaryLines.map(ke)}):null,t[41]=a.summaryLines,t[42]=O);let k;t[43]!==D||t[44]!==O?(k=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[D,O]}),t[43]=D,t[44]=O,t[45]=k):k=t[45];let A;t[46]!==s||t[47]!==c||t[48]!==a.manageable||t[49]!==a.pendingPairing||t[50]!==a.primaryAction?(A=()=>{if(a.manageable&&(a.primaryAction===`pairing`||a.pendingPairing>0)){c();return}s()},t[46]=s,t[47]=c,t[48]=a.manageable,t[49]=a.pendingPairing,t[50]=a.primaryAction,t[51]=A):A=t[51];let j;t[52]!==u||t[53]!==a.primaryAction?(j=De(u,a.primaryAction),t[52]=u,t[53]=a.primaryAction,t[54]=j):j=t[54];let M;t[55]!==A||t[56]!==j?(M=(0,$.jsx)(`div`,{className:`mt-auto`,children:(0,$.jsx)(V,{type:`button`,variant:`primary`,className:`w-full`,onClick:A,children:j})}),t[55]=A,t[56]=j,t[57]=M):M=t[57];let N;return t[58]!==T||t[59]!==k||t[60]!==M?(N=(0,$.jsxs)(`article`,{className:f,children:[T,k,M]}),t[58]=T,t[59]=k,t[60]=M,t[61]=N):N=t[61],N}function ke(e){return(0,$.jsx)(`li`,{className:`text-xs text-fg-muted`,children:e},e)}function Ae(e){let t=(0,Q.c)(17),{catalog:n,cards:r,ch:i,saving:a,onOpenChannel:o,onToggleChannel:s}=e,c;t[0]===r?c=t[1]:(c=new Map(r.map(je)),t[0]=r,t[1]=c);let l=c,u;if(t[2]!==l||t[3]!==n||t[4]!==i||t[5]!==o||t[6]!==s||t[7]!==a){let e;t[9]!==l||t[10]!==i||t[11]!==o||t[12]!==s||t[13]!==a?(e=e=>{let t=l.get(e.id);return t?(0,$.jsx)(`li`,{className:`h-full min-h-0`,children:(0,$.jsx)(Oe,{channelId:e.id,title:e.title,subtitle:e.subtitle,vm:t,toggleDisabled:a||!t.manageable,onOpen:()=>o(e.id),onReviewPairing:()=>o(e.id,{scrollToPairing:!0}),onToggle:t=>s(e.id,t),ch:i})},e.id):null},t[9]=l,t[10]=i,t[11]=o,t[12]=s,t[13]=a,t[14]=e):e=t[14],u=n.map(e),t[2]=l,t[3]=n,t[4]=i,t[5]=o,t[6]=s,t[7]=a,t[8]=u}else u=t[8];let d;return t[15]===u?d=t[16]:(d=(0,$.jsx)(`ul`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-[repeat(auto-fill,minmax(280px,1fr))]`,role:`list`,children:u}),t[15]=u,t[16]=d),d}function je(e){return[e.id,e]}var Me=`animate-pulse motion-reduce:animate-none rounded-md bg-surface-hover dark:bg-surface-active/50`;function Ne(){let e=(0,Q.c)(4),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{className:z(`size-11 shrink-0 rounded-xl`,Me)}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[t,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,$.jsx)(`div`,{className:z(`h-4 w-2/5`,Me)}),(0,$.jsx)(`div`,{className:z(`h-5 w-16 rounded-full`,Me)})]}),(0,$.jsx)(`div`,{className:z(`h-6 w-10 shrink-0 rounded-full`,Me)})]}),e[1]=n):n=e[1];let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`div`,{className:z(`h-3 w-full`,Me)}),(0,$.jsx)(`div`,{className:z(`h-3 w-[88%]`,Me)})]}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsxs)(`div`,{className:`flex h-full min-h-[13.5rem] flex-col gap-3 rounded-xl border border-edge-subtle bg-surface-panel p-4 shadow-sm dark:border-edge-subtle`,"aria-hidden":!0,children:[n,r,(0,$.jsx)(`div`,{className:`mt-auto`,children:(0,$.jsx)(`div`,{className:z(`h-10 w-full rounded-lg`,Me)})})]}),e[3]=i):i=e[3],i}function Pe(e){let t=(0,Q.c)(2),{count:n}=e,r=n===void 0?3:n,i;return t[0]===r?i=t[1]:(i=(0,$.jsx)(`ul`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,role:`list`,"aria-busy":!0,children:Array.from({length:r},Fe)}),t[0]=r,t[1]=i),i}function Fe(e,t){return(0,$.jsx)(`li`,{className:`h-full min-h-0`,children:(0,$.jsx)(Ne,{})},t)}function Ie(e,t=!1){return e===`drawer`?z(`xopc-drawer-right fixed right-0 top-0 flex size-full flex-col overflow-hidden border-l border-edge bg-surface-panel shadow-popover outline-none dark:border-edge`,t?`max-w-[36rem]`:`max-w-xl`,P):z(`fixed left-1/2 top-1/2 flex max-h-[min(90vh,52rem)] w-[min(calc(100%-2rem),32rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden`,t&&`max-h-[min(90vh,48rem)] w-[min(calc(100%-2rem),36rem)]`,P,`rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none dark:border-edge`)}function Le(e){let t=(0,Q.c)(30),{presentation:n,open:r,onOpenChange:i,title:a,description:o,srTitle:s,srDescription:h,closeAriaLabel:g,children:_,footer:v,wide:y,headerExtra:b}=e,x=y===void 0?!1:y,S=n===`drawer`,C;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(l,{className:z(`xopc-dialog-overlay fixed inset-0 bg-scrim backdrop-blur-[1px]`,N)}),t[0]=C):C=t[0];let w;t[1]!==n||t[2]!==x?(w=Ie(n,x),t[1]=n,t[2]=x,t[3]=w):w=t[3];let E;t[4]===s?E=t[5]:(E=s?(0,$.jsx)(p,{className:`sr-only`,children:s}):null,t[4]=s,t[5]=E);let D;t[6]===h?D=t[7]:(D=h?(0,$.jsx)(f,{className:`sr-only`,children:h}):null,t[6]=h,t[7]=D);let O;t[8]!==g||t[9]!==o||t[10]!==b||t[11]!==S||t[12]!==a?(O=S?(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[a?(0,$.jsx)(`div`,{className:`text-base font-semibold text-fg`,children:a}):null,o?(0,$.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:o}):null]}),(0,$.jsx)(m,{asChild:!0,children:(0,$.jsx)(V,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":g,children:(0,$.jsx)(F,{className:`size-5`,strokeWidth:1.75})})})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(m,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:z(T,`absolute right-3 top-3 z-20 p-1.5 hover:bg-surface-hover`),"aria-label":g,children:(0,$.jsx)(F,{className:`size-4`})})}),b]}),t[8]=g,t[9]=o,t[10]=b,t[11]=S,t[12]=a,t[13]=O):O=t[13];let k=S?`px-4 py-4`:`p-6`,A;t[14]===k?A=t[15]:(A=z(`min-h-0 flex-1 overflow-y-auto`,k),t[14]=k,t[15]=A);let j;t[16]!==_||t[17]!==A?(j=(0,$.jsx)(`div`,{className:A,children:_}),t[16]=_,t[17]=A,t[18]=j):j=t[18];let M;t[19]!==v||t[20]!==w||t[21]!==E||t[22]!==D||t[23]!==O||t[24]!==j?(M=(0,$.jsxs)(c,{children:[C,(0,$.jsxs)(u,{className:w,onOpenAutoFocus:Re,children:[E,D,O,j,v]})]}),t[19]=v,t[20]=w,t[21]=E,t[22]=D,t[23]=O,t[24]=j,t[25]=M):M=t[25];let P;return t[26]!==i||t[27]!==r||t[28]!==M?(P=(0,$.jsx)(d,{open:r,onOpenChange:i,children:M}),t[26]=i,t[27]=r,t[28]=M,t[29]=P):P=t[29],P}function Re(e){return e.preventDefault()}function ze(e){let t=(0,Q.c)(52),{open:n,onOpenChange:r,entry:i,vm:a,ch:o,language:s}=e,c=a.status===`running`?o.hubStatusRunning:a.status===`offline`?o.hubStatusOffline:a.status===`disabled`?o.hubStatusDisabled:o.hubStatusNotConfigured,l=i.title,u=i.subtitle,d=o.modalCancel,f;t[0]===i.title?f=t[1]:(f=(0,$.jsx)(`h2`,{className:`text-lg font-semibold tracking-tight text-fg`,children:i.title}),t[0]=i.title,t[1]=f);let p;t[2]===i.subtitle?p=t[3]:(p=(0,$.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:i.subtitle}),t[2]=i.subtitle,t[3]=p);let m;t[4]!==f||t[5]!==p?(m=(0,$.jsxs)(`div`,{className:`border-b border-edge-subtle px-6 pb-4 pt-6 dark:border-edge-subtle`,children:[f,p]}),t[4]=f,t[5]=p,t[6]=m):m=t[6];let h;t[7]===o.hubExtensionManageHint?h=t[8]:(h=(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:o.hubExtensionManageHint}),t[7]=o.hubExtensionManageHint,t[8]=h);let g;t[9]===o.hubExtensionStatusLabel?g=t[10]:(g=(0,$.jsx)(`dt`,{className:`text-xs font-medium uppercase tracking-wide text-fg-subtle`,children:o.hubExtensionStatusLabel}),t[9]=o.hubExtensionStatusLabel,t[10]=g);let _;t[11]===c?_=t[12]:(_=(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:c}),t[11]=c,t[12]=_);let v;t[13]!==g||t[14]!==_?(v=(0,$.jsxs)(`div`,{children:[g,_]}),t[13]=g,t[14]=_,t[15]=v):v=t[15];let y;t[16]===o.hubExtensionEnabledLabel?y=t[17]:(y=(0,$.jsx)(`dt`,{className:`text-xs font-medium uppercase tracking-wide text-fg-subtle`,children:o.hubExtensionEnabledLabel}),t[16]=o.hubExtensionEnabledLabel,t[17]=y);let b=a.enabled?o.hubExtensionYes:o.hubExtensionNo,x;t[18]===b?x=t[19]:(x=(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:b}),t[18]=b,t[19]=x);let S;t[20]!==y||t[21]!==x?(S=(0,$.jsxs)(`div`,{children:[y,x]}),t[20]=y,t[21]=x,t[22]=S):S=t[22];let C;t[23]===o.hubExtensionConnectedLabel?C=t[24]:(C=(0,$.jsx)(`dt`,{className:`text-xs font-medium uppercase tracking-wide text-fg-subtle`,children:o.hubExtensionConnectedLabel}),t[23]=o.hubExtensionConnectedLabel,t[24]=C);let w=a.connected?o.hubExtensionYes:o.hubExtensionNo,T;t[25]===w?T=t[26]:(T=(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:w}),t[25]=w,t[26]=T);let E;t[27]!==C||t[28]!==T?(E=(0,$.jsxs)(`div`,{children:[C,T]}),t[27]=C,t[28]=T,t[29]=E):E=t[29];let k;t[30]!==v||t[31]!==S||t[32]!==E?(k=(0,$.jsxs)(`dl`,{className:`grid gap-3 text-sm`,children:[v,S,E]}),t[30]=v,t[31]=S,t[32]=E,t[33]=k):k=t[33];let A;t[34]===s?A=t[35]:(A=O(s,`channels`),t[34]=s,t[35]=A);let j;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(D,{className:`ml-2 size-3.5`}),t[36]=j):j=t[36];let M;t[37]!==o.hubViewDocs||t[38]!==A?(M=(0,$.jsx)(V,{type:`button`,variant:`secondary`,asChild:!0,children:(0,$.jsxs)(`a`,{href:A,target:`_blank`,rel:`noreferrer`,children:[o.hubViewDocs,j]})}),t[37]=o.hubViewDocs,t[38]=A,t[39]=M):M=t[39];let N;t[40]!==k||t[41]!==M||t[42]!==h?(N=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[h,k,M]}),t[40]=k,t[41]=M,t[42]=h,t[43]=N):N=t[43];let P;return t[44]!==o.modalCancel||t[45]!==i.subtitle||t[46]!==i.title||t[47]!==r||t[48]!==n||t[49]!==N||t[50]!==m?(P=(0,$.jsx)(Le,{presentation:`modal`,open:n,onOpenChange:r,srTitle:l,srDescription:u,closeAriaLabel:d,headerExtra:m,children:N}),t[44]=o.modalCancel,t[45]=i.subtitle,t[46]=i.title,t[47]=r,t[48]=n,t[49]=N,t[50]=m,t[51]=P):P=t[51],P}var Be=(0,Z.memo)(function(e){let t=(0,Q.c)(15),{ch:n,refreshing:r,saveOk:i,onRefresh:a}=e,o;t[0]!==n.saved||t[1]!==i?(o=i?(0,$.jsx)(`span`,{className:`text-sm text-fg-muted`,children:n.saved}):null,t[0]=n.saved,t[1]=i,t[2]=o):o=t[2];let s=n.refresh,c=n.refresh,l=r&&`animate-spin`,u;t[3]===l?u=t[4]:(u=z(`size-4`,l),t[3]=l,t[4]=u);let d;t[5]===u?d=t[6]:(d=(0,$.jsx)(w,{className:u,"aria-hidden":!0}),t[5]=u,t[6]=d);let f;t[7]!==n.refresh||t[8]!==a||t[9]!==r||t[10]!==d?(f=(0,$.jsx)(V,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,disabled:r,title:s,"aria-label":c,onClick:a,children:d}),t[7]=n.refresh,t[8]=a,t[9]=r,t[10]=d,t[11]=f):f=t[11];let p;return t[12]!==o||t[13]!==f?(p=(0,$.jsxs)(`div`,{className:`flex min-w-0 shrink-0 items-center justify-end gap-2`,children:[o,f]}),t[12]=o,t[13]=f,t[14]=p):p=t[14],p});function Ve(e){let t=(0,Q.c)(27),{accountIds:n,routes:r,defaultAgentId:o,agentItems:s,disabled:c,onChange:l,ch:u}=e,d=i(He),f,p,m,h,g;if(t[0]!==n||t[1]!==s||t[2]!==u||t[3]!==o||t[4]!==c||t[5]!==d||t[6]!==l||t[7]!==r){g=Symbol.for(`react.early_return_sentinel`);bb0:{let e=a(d).agentsSettings;if(n.length===0){g=null;break bb0}let i=s.length>0?s:[{id:o}];m=`space-y-3 border-t border-edge-subtle pt-4 dark:border-edge`;let _;t[13]===u.agentRoutingTitle?_=t[14]:(_=(0,$.jsx)(Y,{children:u.agentRoutingTitle}),t[13]=u.agentRoutingTitle,t[14]=_);let v;t[15]===u.agentRoutingHint?v=t[16]:(v=(0,$.jsx)(oe,{children:u.agentRoutingHint}),t[15]=u.agentRoutingHint,t[16]=v),t[17]!==_||t[18]!==v?(h=(0,$.jsxs)(`div`,{children:[_,v]}),t[17]=_,t[18]=v,t[19]=h):h=t[19],f=`space-y-2`,p=n.map(t=>(0,$.jsxs)(`div`,{className:`grid grid-cols-1 items-start gap-2 rounded-lg border border-edge-subtle bg-surface-base px-3 py-2.5 sm:grid-cols-2 sm:items-center dark:border-edge`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`p`,{className:`text-xs font-medium text-fg-muted`,children:u.agentRoutingAccountLabel}),(0,$.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-sm text-fg`,title:t,children:t})]}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`label`,{className:`sr-only`,htmlFor:`agent-route-${t}`,children:u.agentRoutingAgentLabel}),(0,$.jsx)(`select`,{id:`agent-route-${t}`,className:z(J(),k),disabled:c,value:(r[t]??o).toLowerCase(),onChange:e=>l(t,e.target.value),children:i.map(t=>(0,$.jsx)(`option`,{value:t.id,children:`${b(t,e)} (${t.id})`},t.id))})]})]},t))}t[0]=n,t[1]=s,t[2]=u,t[3]=o,t[4]=c,t[5]=d,t[6]=l,t[7]=r,t[8]=f,t[9]=p,t[10]=m,t[11]=h,t[12]=g}else f=t[8],p=t[9],m=t[10],h=t[11],g=t[12];if(g!==Symbol.for(`react.early_return_sentinel`))return g;let _;t[20]!==f||t[21]!==p?(_=(0,$.jsx)(`div`,{className:f,children:p}),t[20]=f,t[21]=p,t[22]=_):_=t[22];let v;return t[23]!==m||t[24]!==h||t[25]!==_?(v=(0,$.jsxs)(`div`,{className:m,children:[h,_]}),t[23]=m,t[24]=h,t[25]=_,t[26]=v):v=t[26],v}function He(e){return e.language}function Ue(e){return e===`telegram`?`pairing`:`open`}function We(e,t,n){return n?.dmPolicy?n.dmPolicy:t??Ue(e)}function Ge(e,t){if(e===`telegram`){let e=Ce(t);return e.length>0?e:[`default`]}if(e===`weixin`){let e=we(t);return e.length>0?e:[`default`]}let n=se(t);return n.length>0?n:[`default`]}function Ke(e){return e?.enabled!==!1}function qe(e,t,n){let r=t.accounts?.[n];return We(e,t.dmPolicy,r)}function Je(e,t){return Ge(e,t).some(n=>{let r=t.accounts?.[n];return Ke(r)?qe(e,t,n)===`pairing`:!1})}function Ye(e){return!e.configured||!e.channelEnabled||!e.usesPairing?0:e.summaryPending}function Xe(e){let{channel:t,accountId:n,messages:r,mutate:i,setCodeBySender:a,setBusySender:o,setFeedback:s}=e,c=(0,Z.useCallback)(async(e,t)=>{o(e),s(null);try{let n=await t();a(t=>{let n={...t};return delete n[e],n}),s({kind:`ok`,text:r.pairingApproved.replace(`{{id}}`,n.senderId)}),await i()}catch(e){let t=e instanceof Error?e.message:r.pairingInvalid;s({kind:`err`,text:t.includes(`PAIRING`)?r.pairingInvalid:t})}finally{o(null)}},[r.pairingApproved,r.pairingInvalid,i,o,a,s]);return{approveByCode:(0,Z.useCallback)((e,r)=>{let i=r.trim().toUpperCase();i&&c(e,()=>ce({channel:t,accountId:n,code:i}))},[n,t,c]),quickApprove:(0,Z.useCallback)(e=>{c(e,()=>me({channel:t,accountId:n,senderId:e}))},[n,t,c])}}var Ze=[`channels-pairing-requested`,`channels-pairing-refreshed`,`channels-pairing-approved`,`channels-pairing-revoked`,`channels-pairing-dismissed`],Qe=`channel-pairing-summary`;function $e(e){let t=()=>e();for(let e of Ze)window.addEventListener(e,t);return()=>{for(let e of Ze)window.removeEventListener(e,t)}}function et(e,t){let n=(0,Q.c)(4),r=t===void 0?!0:t,i,a;n[0]!==r||n[1]!==e?(i=()=>{if(r)return $e(e)},a=[r,e],n[0]=r,n[1]=e,n[2]=i,n[3]=a):(i=n[2],a=n[3]),(0,Z.useEffect)(i,a)}function tt(e){return`channel-pairing-${e}`}function nt(e){requestAnimationFrame(()=>{document.getElementById(tt(e))?.scrollIntoView({behavior:`smooth`,block:`start`})})}function rt(e,t){let n=Date.parse(e)-Date.now();if(!Number.isFinite(n))return e;let r=Math.max(1,Math.round(Math.abs(n)/6e4));if(n<=0)return t.startsWith(`zh`)?`已过期`:`expired`;if(r<60)return t.startsWith(`zh`)?`${r} 分钟后`:`in ${r} min`;let i=Math.round(r/60);return t.startsWith(`zh`)?`${i} 小时后`:`in ${i} h`}function it(e,t){return`channel-pairing-${e}-${t}`}var at={codeBySender:{},busySender:null,dismissingId:null,revokingId:null,feedback:null};function ot(e,t){switch(t.type){case`setCodeBySender`:return{...e,codeBySender:t.updater(e.codeBySender)};case`setBusySender`:return{...e,busySender:t.value};case`setDismissingId`:return{...e,dismissingId:t.value};case`setRevokingId`:return{...e,revokingId:t.value};case`setFeedback`:return{...e,feedback:t.value};case`clearSenderCode`:{let n={...e.codeBySender};return delete n[t.senderId],{...e,codeBySender:n}}}}function st({channel:e,accountIds:t,channelConfig:n,active:r,ch:i,language:a,onPairedChange:o}){let c=J,l=(0,Z.useMemo)(()=>{let e=(t??[`default`]).filter(Boolean);return e.length>0?e:[`default`]},[t]),u=(0,Z.useMemo)(()=>Je(e,n),[e,n]),d=(0,Z.useCallback)(t=>qe(e,n,t),[e,n]),[f,p]=(0,Z.useState)(l[0]??`default`),[m,h]=(0,Z.useState)(l);l!==m&&(h(l),l.includes(f)||p(l[0]??`default`));let[g,_]=(0,Z.useReducer)(ot,at),{codeBySender:v,busySender:y,dismissingId:b,revokingId:x,feedback:S}=g,C=d(f)===`pairing`,T=(0,Z.useRef)(o);T.current=o;let{data:E,error:D,isLoading:O,mutate:k}=s(r&&u&&C?it(e,f):null,()=>le(e,f),{revalidateOnFocus:!0,onSuccess:e=>{T.current?.(e.paired.fromCredentials.length)}});et((0,Z.useCallback)(()=>{k()},[k]),r&&u&&C);let A=E?.paired.fromCredentials??[],j=(0,Z.useCallback)(e=>{_({type:`setCodeBySender`,updater:typeof e==`function`?e:()=>e})},[]),M=(0,Z.useCallback)(e=>{_({type:`setBusySender`,value:typeof e==`function`?e(g.busySender):e})},[g.busySender]),N=(0,Z.useCallback)(e=>{_({type:`setFeedback`,value:typeof e==`function`?e(g.feedback):e})},[g.feedback]),{approveByCode:P,quickApprove:I}=Xe({channel:e,accountId:f,messages:{pairingApproved:i.pairingApproved,pairingInvalid:i.pairingInvalid},mutate:k,setCodeBySender:j,setBusySender:M,setFeedback:N}),L=(0,Z.useCallback)(async t=>{_({type:`setDismissingId`,value:t}),_({type:`setFeedback`,value:null});try{await ve({channel:e,accountId:f,senderId:t}),_({type:`clearSenderCode`,senderId:t}),_({type:`setFeedback`,value:{kind:`ok`,text:i.pairingDismissed.replace(`{{id}}`,t)}}),await k()}catch(e){_({type:`setFeedback`,value:{kind:`err`,text:e instanceof Error?e.message:i.pairingDismissError}})}finally{_({type:`setDismissingId`,value:null})}},[f,e,i.pairingDismissed,i.pairingDismissError,k]),R=(0,Z.useCallback)(async t=>{_({type:`setRevokingId`,value:t}),_({type:`setFeedback`,value:null});try{await fe({channel:e,accountId:f,senderId:t}),_({type:`setFeedback`,value:{kind:`ok`,text:i.pairingRevoked.replace(`{{id}}`,t)}}),await k()}catch(e){_({type:`setFeedback`,value:{kind:`err`,text:e instanceof Error?e.message:i.pairingRevokeError}})}finally{_({type:`setRevokingId`,value:null})}},[f,e,i.pairingRevoked,i.pairingRevokeError,k]);if(!u)return null;if(!C)return(0,$.jsxs)(`div`,{id:tt(e),className:`space-y-2 rounded-xl border border-edge-subtle bg-surface-base/50 p-4 dark:border-edge`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:i.pairingTitle}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.pairingAccountNotPairing.replace(`{{account}}`,f)}),l.length>1?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(Y,{children:i.pairingAccountLabel}),(0,$.jsx)(`select`,{className:c(),value:f,onChange:e=>p(e.target.value),children:l.map(e=>(0,$.jsx)(`option`,{value:e,children:e},e))})]}):null]});let ee=E?.pending??[],B=E?.paired.fromConfig??[];return(0,$.jsxs)(`div`,{id:tt(e),className:`space-y-3 rounded-xl border border-edge-subtle bg-surface-base/50 p-4 dark:border-edge`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:i.pairingTitle}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:i.pairingSubtitle})]}),(0,$.jsx)(V,{type:`button`,variant:`ghost`,className:`size-8 shrink-0 p-0`,"aria-label":i.pairingRefresh,disabled:O,onClick:()=>void k(),children:(0,$.jsx)(w,{className:z(`size-4 text-fg-muted`,O&&`animate-spin`)})})]}),l.length>1?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(Y,{children:i.pairingAccountLabel}),(0,$.jsx)(`select`,{className:c(),value:f,onChange:e=>p(e.target.value),children:l.map(e=>(0,$.jsx)(`option`,{value:e,children:e},e))})]}):null,(0,$.jsx)(oe,{children:i.pairingSetupHint}),D?(0,$.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:i.pairingLoadError}):null,S?(0,$.jsx)(`p`,{className:z(`text-xs`,S.kind===`ok`?`text-success`:`text-red-600 dark:text-red-400`),children:S.text}):null,(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(Y,{children:i.pairingPendingTitle}),ee.length>0?(0,$.jsx)(oe,{children:i.pairingQuickApproveHint}):null,ee.length===0?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.pairingPendingEmpty}):(0,$.jsx)(`ul`,{className:`space-y-2`,children:ee.map(e=>{let t=v[e.senderId]??``,n=y===e.senderId,r=b===e.senderId;return(0,$.jsxs)(`li`,{className:z(`rounded-lg border bg-surface-panel p-3 dark:border-edge`,e.isStale?`border-amber-300/50 dark:border-amber-800/50`:`border-edge`),children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`font-mono text-xs text-fg`,children:e.senderId}),(0,$.jsxs)(`span`,{className:`text-[11px] text-fg-muted`,children:[e.isStale?(0,$.jsx)(`span`,{className:`text-amber-800 dark:text-amber-200`,children:i.pairingStaleItem}):null,e.isStale?` · `:null,i.pairingExpiresHint.replace(`{{time}}`,rt(e.expiresAt,a))]})]}),e.codeLast4?(0,$.jsx)(`p`,{className:`mt-1 text-[11px] text-fg-muted`,children:i.pairingCodeHint.replace(`{{suffix}}`,e.codeLast4)}):null,(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[(0,$.jsx)(V,{type:`button`,variant:`secondary`,className:`shrink-0 text-xs`,disabled:n||r,onClick:()=>void I(e.senderId),children:n?i.pairingApproving:i.pairingQuickApprove}),(0,$.jsx)(`input`,{className:z(c(),`min-w-0 flex-1 font-mono text-xs uppercase`),value:t,autoComplete:`off`,spellCheck:!1,maxLength:8,placeholder:i.pairingCodePlaceholder,onChange:t=>j(n=>({...n,[e.senderId]:t.target.value.toUpperCase()})),onKeyDown:n=>{n.key===`Enter`&&P(e.senderId,t)}}),(0,$.jsx)(V,{type:`button`,variant:`primary`,className:`shrink-0 text-xs`,disabled:n||r||!t.trim(),onClick:()=>P(e.senderId,t),children:n?i.pairingApproving:i.pairingApprove}),(0,$.jsx)(V,{type:`button`,variant:`ghost`,className:`shrink-0 text-xs text-fg-muted hover:text-danger`,disabled:n||r,onClick:()=>void L(e.senderId),children:r?i.pairingDismissing:i.pairingDismiss})]})]},e.senderId)})})]}),(0,$.jsxs)(`div`,{className:`space-y-2 border-t border-edge-subtle pt-3 dark:border-edge-subtle`,children:[(0,$.jsx)(Y,{children:i.pairedTitle}),(0,$.jsxs)(`div`,{className:`grid gap-3 text-xs sm:grid-cols-2`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-fg-muted`,children:i.pairedFromConfig}),(0,$.jsx)(`p`,{className:`mt-0.5 font-mono text-fg`,children:B.length?B.join(`, `):i.pairedEmpty})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-fg-muted`,children:i.pairedFromCredentials}),A.length===0?(0,$.jsx)(`p`,{className:`mt-0.5 font-mono text-fg`,children:i.pairedEmpty}):(0,$.jsx)(`ul`,{className:`mt-1 space-y-1`,children:A.map(e=>(0,$.jsxs)(`li`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`font-mono text-fg`,children:e}),(0,$.jsx)(V,{type:`button`,variant:`ghost`,className:`size-7 shrink-0 p-0 text-fg-muted hover:text-danger`,"aria-label":i.pairingRevokeAria.replace(`{{id}}`,e),disabled:x===e,onClick:()=>void R(e),children:(0,$.jsx)(F,{className:`size-3.5`})})]},e))})]})]})]})]})}function ct(e){let t=(0,Q.c)(368),{ch:n,form:r,baseline:i,showFeishuSecret:a,setShowFeishuSecret:o,showFeishuWebhookSecrets:s,setShowFeishuWebhookSecrets:c,feishuCopied:l,feishuWebhookCopied:u,copyFeishuSecret:d,copyFeishuWebhookConfig:f,updateFeishu:p,updateChannelAgentRoute:m,feishuAccountsDraft:h,setFeishuAccountsDraft:g,feishuAccountsError:v,onFeishuAccountsBlur:b,dmOpts:x,groupOpts:C,chatAgents:w,saving:T,language:E,dialogOpen:D,pairingFocus:O}=e,k=O===void 0?!1:O,A=r.feishu,j;t[0]===A?j=t[1]:(j=se(A),t[0]=A,t[1]=j);let M=j,N;t[2]===M?N=t[3]:(N=M.length>0?M:[`default`],t[2]=M,t[3]=N);let P=N,F=i?.feishu?.appSecret??``,I;t[4]!==F||t[5]!==A.appSecret||t[6]!==a?(I=!a&&!!String(F).trim()&&A.appSecret===F,t[4]=F,t[5]=A.appSecret,t[6]=a,t[7]=I):I=t[7];let L=I,R=(0,Z.useRef)(null),B,H;t[8]===k?(B=t[9],H=t[10]):(B=()=>{if(!k)return;let e=R.current;e&&(e.open=!0);let t=window.setTimeout(ft,80);return()=>window.clearTimeout(t)},H=[k],t[8]=k,t[9]=B,t[10]=H),(0,Z.useEffect)(B,H);let U;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(ee,{className:`size-4 shrink-0 text-fg-muted transition-transform group-open:rotate-180`}),t[11]=U):U=t[11];let W;t[12]===n.advancedShow?W=t[13]:(W=(0,$.jsx)(`summary`,{className:`cursor-pointer list-none rounded-xl px-3 py-2.5 text-sm font-medium text-fg transition-colors hover:bg-surface-hover group-open:rounded-b-none [&::-webkit-details-marker]:hidden`,children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[U,n.advancedShow]})}),t[12]=n.advancedShow,t[13]=W);let G;t[14]===n.feishuAdvancedHint?G=t[15]:(G=(0,$.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:n.feishuAdvancedHint}),t[14]=n.feishuAdvancedHint,t[15]=G);let ne;t[16]===p?ne=t[17]:(ne=e=>p({enabled:e.target.checked}),t[16]=p,t[17]=ne);let K;t[18]!==A.enabled||t[19]!==ne?(K=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:A.enabled,onChange:ne}),t[18]=A.enabled,t[19]=ne,t[20]=K):K=t[20];let q;t[21]===n.enableFeishuAria?q=t[22]:(q=(0,$.jsx)(`span`,{children:n.enableFeishuAria}),t[21]=n.enableFeishuAria,t[22]=q);let ce;t[23]!==K||t[24]!==q?(ce=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[K,q]}),t[23]=K,t[24]=q,t[25]=ce):ce=t[25];let le;t[26]===p?le=t[27]:(le=e=>p({dmPolicy:e}),t[26]=p,t[27]=le);let ue;t[28]!==n.dmPolicy||t[29]!==x||t[30]!==A.dmPolicy||t[31]!==le?(ue=(0,$.jsx)(ae,{label:n.dmPolicy,value:A.dmPolicy,onChange:le,options:x}),t[28]=n.dmPolicy,t[29]=x,t[30]=A.dmPolicy,t[31]=le,t[32]=ue):ue=t[32];let de;t[33]!==n||t[34]!==D||t[35]!==A||t[36]!==E||t[37]!==P?(de=(0,$.jsx)(st,{channel:`feishu`,accountIds:P,channelConfig:A,active:D,ch:n,language:E}),t[33]=n,t[34]=D,t[35]=A,t[36]=E,t[37]=P,t[38]=de):de=t[38];let fe;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,$.jsx)(`span`,{className:`text-red-600 dark:text-red-400`,children:` *`}),t[39]=fe):fe=t[39];let pe;t[40]===n.feishuAppId?pe=t[41]:(pe=(0,$.jsxs)(Y,{children:[n.feishuAppId,fe]}),t[40]=n.feishuAppId,t[41]=pe);let me;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(me=z(J(),`min-w-0 flex-1 font-mono text-xs`),t[42]=me):me=t[42];let he;t[43]===p?he=t[44]:(he=e=>p({appId:e.target.value}),t[43]=p,t[44]=he);let ge;t[45]!==A.appId||t[46]!==he?(ge=(0,$.jsx)(`input`,{className:me,value:A.appId,onChange:he,placeholder:`cli_xxx`}),t[45]=A.appId,t[46]=he,t[47]=ge):ge=t[47];let _e;t[48]===n.feishuAppIdDesc?_e=t[49]:(_e=(0,$.jsx)(oe,{children:n.feishuAppIdDesc}),t[48]=n.feishuAppIdDesc,t[49]=_e);let ve;t[50]!==pe||t[51]!==ge||t[52]!==_e?(ve=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[pe,ge,_e]}),t[50]=pe,t[51]=ge,t[52]=_e,t[53]=ve):ve=t[53];let ye;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(`span`,{className:`text-red-600 dark:text-red-400`,children:` *`}),t[54]=ye):ye=t[54];let be;t[55]===n.feishuAppSecret?be=t[56]:(be=(0,$.jsxs)(Y,{children:[n.feishuAppSecret,ye]}),t[55]=n.feishuAppSecret,t[56]=be);let xe;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(xe=z(J(),`min-w-0 flex-1 font-mono text-xs`),t[57]=xe):xe=t[57];let X=a?`text`:`password`,Se;t[58]!==L||t[59]!==A.appSecret?(Se=L?`*`.repeat(Math.max(1,A.appSecret.length)):A.appSecret,t[58]=L,t[59]=A.appSecret,t[60]=Se):Se=t[60];let Ce;t[61]!==L||t[62]!==p?(Ce=e=>{L||p({appSecret:e.target.value})},t[61]=L,t[62]=p,t[63]=Ce):Ce=t[63];let we;t[64]!==L||t[65]!==X||t[66]!==Se||t[67]!==Ce?(we=(0,$.jsx)(`input`,{className:xe,type:X,autoComplete:`off`,readOnly:L,value:Se,onChange:Ce,placeholder:`••••••••`}),t[64]=L,t[65]=X,t[66]=Se,t[67]=Ce,t[68]=we):we=t[68];let Te;t[69]!==n.copied||t[70]!==n.copy||t[71]!==d||t[72]!==l||t[73]!==A.appSecret?(Te=A.appSecret?(0,$.jsxs)(V,{type:`button`,variant:`secondary`,className:`px-2 py-1 text-xs`,onClick:()=>void d(),children:[l?(0,$.jsx)(S,{className:`size-3.5`}):(0,$.jsx)(_,{className:`size-3.5`}),l?n.copied:n.copy]}):null,t[69]=n.copied,t[70]=n.copy,t[71]=d,t[72]=l,t[73]=A.appSecret,t[74]=Te):Te=t[74];let Ee;t[75]===o?Ee=t[76]:(Ee=()=>o(dt),t[75]=o,t[76]=Ee);let De;t[77]===a?De=t[78]:(De=a?(0,$.jsx)(te,{className:`size-3.5`}):(0,$.jsx)(y,{className:`size-3.5`}),t[77]=a,t[78]=De);let Oe=a?n.hide:n.show,ke;t[79]!==Ee||t[80]!==De||t[81]!==Oe?(ke=(0,$.jsxs)(V,{type:`button`,variant:`secondary`,className:`px-2 py-1 text-xs`,onClick:Ee,children:[De,Oe]}),t[79]=Ee,t[80]=De,t[81]=Oe,t[82]=ke):ke=t[82];let Ae;t[83]!==we||t[84]!==Te||t[85]!==ke?(Ae=(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[we,Te,ke]}),t[83]=we,t[84]=Te,t[85]=ke,t[86]=Ae):Ae=t[86];let je;t[87]===n.feishuAppSecretDesc?je=t[88]:(je=(0,$.jsx)(oe,{children:n.feishuAppSecretDesc}),t[87]=n.feishuAppSecretDesc,t[88]=je);let Me;t[89]!==be||t[90]!==Ae||t[91]!==je?(Me=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[be,Ae,je]}),t[89]=be,t[90]=Ae,t[91]=je,t[92]=Me):Me=t[92];let Ne;t[93]===n.feishuDomain?Ne=t[94]:(Ne=(0,$.jsx)(Y,{children:n.feishuDomain}),t[93]=n.feishuDomain,t[94]=Ne);let Pe;t[95]===Symbol.for(`react.memo_cache_sentinel`)?(Pe=J(),t[95]=Pe):Pe=t[95];let Fe=String(A.domain||`feishu`),Ie;t[96]===p?Ie=t[97]:(Ie=e=>p({domain:e.target.value}),t[96]=p,t[97]=Ie);let Le,Re;t[98]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,$.jsx)(`option`,{value:`feishu`,children:`feishu`}),Re=(0,$.jsx)(`option`,{value:`lark`,children:`lark`}),t[98]=Le,t[99]=Re):(Le=t[98],Re=t[99]);let ze;t[100]!==Fe||t[101]!==Ie?(ze=(0,$.jsxs)(`select`,{className:Pe,value:Fe,onChange:Ie,children:[Le,Re]}),t[100]=Fe,t[101]=Ie,t[102]=ze):ze=t[102];let Be;t[103]!==Ne||t[104]!==ze?(Be=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Ne,ze]}),t[103]=Ne,t[104]=ze,t[105]=Be):Be=t[105];let He;t[106]===n.connectionMode?He=t[107]:(He=(0,$.jsx)(Y,{children:n.connectionMode}),t[106]=n.connectionMode,t[107]=He);let Ue;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=J(),t[108]=Ue):Ue=t[108];let We;t[109]===p?We=t[110]:(We=e=>p({connectionMode:e.target.value}),t[109]=p,t[110]=We);let Ge,Ke;t[111]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,$.jsx)(`option`,{value:`websocket`,children:`websocket`}),Ke=(0,$.jsx)(`option`,{value:`webhook`,children:`webhook`}),t[111]=Ge,t[112]=Ke):(Ge=t[111],Ke=t[112]);let qe;t[113]!==A.connectionMode||t[114]!==We?(qe=(0,$.jsxs)(`select`,{className:Ue,value:A.connectionMode,onChange:We,children:[Ge,Ke]}),t[113]=A.connectionMode,t[114]=We,t[115]=qe):qe=t[115];let Je;t[116]===n.connectionModeDesc?Je=t[117]:(Je=(0,$.jsx)(oe,{children:n.connectionModeDesc}),t[116]=n.connectionModeDesc,t[117]=Je);let Ye;t[118]!==He||t[119]!==qe||t[120]!==Je?(Ye=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[He,qe,Je]}),t[118]=He,t[119]=qe,t[120]=Je,t[121]=Ye):Ye=t[121];let Xe;t[122]!==Be||t[123]!==Ye?(Xe=(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Be,Ye]}),t[122]=Be,t[123]=Ye,t[124]=Xe):Xe=t[124];let Ze;t[125]!==n.copied||t[126]!==n.copy||t[127]!==n.encryptKey||t[128]!==n.encryptKeyDesc||t[129]!==n.hide||t[130]!==n.show||t[131]!==n.verificationToken||t[132]!==n.verificationTokenDesc||t[133]!==n.webhookHost||t[134]!==n.webhookPath||t[135]!==n.webhookPathDesc||t[136]!==n.webhookPort||t[137]!==n.webhookTitle||t[138]!==f||t[139]!==u||t[140]!==A.connectionMode||t[141]!==A.encryptKey||t[142]!==A.verificationToken||t[143]!==A.webhookHost||t[144]!==A.webhookPath||t[145]!==A.webhookPort||t[146]!==c||t[147]!==s||t[148]!==p?(Ze=A.connectionMode===`webhook`?(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge-subtle bg-surface px-4 py-3 dark:border-edge-subtle`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n.webhookTitle}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsxs)(V,{type:`button`,variant:`secondary`,className:`px-2 py-1 text-xs`,onClick:()=>c(ut),children:[s?(0,$.jsx)(te,{className:`size-3.5`}):(0,$.jsx)(y,{className:`size-3.5`}),s?n.hide:n.show]}),(0,$.jsxs)(V,{type:`button`,variant:`secondary`,className:`px-2 py-1 text-xs`,onClick:()=>void f(),children:[u?(0,$.jsx)(S,{className:`size-3.5`}):(0,$.jsx)(_,{className:`size-3.5`}),u?n.copied:n.copy]})]})]}),(0,$.jsxs)(`div`,{className:`mt-3 grid gap-3 sm:grid-cols-2`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(Y,{children:n.verificationToken}),(0,$.jsx)(`input`,{className:z(J(),`min-w-0 flex-1 font-mono text-xs`),type:s?`text`:`password`,autoComplete:`off`,value:A.verificationToken??``,onChange:e=>p({verificationToken:e.target.value})}),(0,$.jsx)(oe,{children:n.verificationTokenDesc})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(Y,{children:n.encryptKey}),(0,$.jsx)(`input`,{className:z(J(),`min-w-0 flex-1 font-mono text-xs`),type:s?`text`:`password`,autoComplete:`off`,value:A.encryptKey??``,onChange:e=>p({encryptKey:e.target.value})}),(0,$.jsx)(oe,{children:n.encryptKeyDesc})]})]}),(0,$.jsxs)(`div`,{className:`mt-3 grid gap-3 sm:grid-cols-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 sm:col-span-2`,children:[(0,$.jsx)(Y,{children:n.webhookHost}),(0,$.jsx)(`input`,{className:z(J(),`min-w-0 flex-1 font-mono text-xs`),value:A.webhookHost??``,onChange:e=>p({webhookHost:e.target.value}),placeholder:`127.0.0.1`})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(Y,{children:n.webhookPort}),(0,$.jsx)(`input`,{className:z(J(),`min-w-0 flex-1 font-mono text-xs`),type:`number`,inputMode:`numeric`,value:String(A.webhookPort??``),onChange:e=>p({webhookPort:Number(e.target.value||`0`)||0}),placeholder:`3000`})]})]}),(0,$.jsxs)(`div`,{className:`mt-3 flex flex-col gap-1.5`,children:[(0,$.jsx)(Y,{children:n.webhookPath}),(0,$.jsx)(`input`,{className:z(J(),`min-w-0 flex-1 font-mono text-xs`),value:A.webhookPath??``,onChange:e=>p({webhookPath:e.target.value}),placeholder:`/feishu/events`}),(0,$.jsx)(oe,{children:n.webhookPathDesc})]})]}):null,t[125]=n.copied,t[126]=n.copy,t[127]=n.encryptKey,t[128]=n.encryptKeyDesc,t[129]=n.hide,t[130]=n.show,t[131]=n.verificationToken,t[132]=n.verificationTokenDesc,t[133]=n.webhookHost,t[134]=n.webhookPath,t[135]=n.webhookPathDesc,t[136]=n.webhookPort,t[137]=n.webhookTitle,t[138]=f,t[139]=u,t[140]=A.connectionMode,t[141]=A.encryptKey,t[142]=A.verificationToken,t[143]=A.webhookHost,t[144]=A.webhookPath,t[145]=A.webhookPort,t[146]=c,t[147]=s,t[148]=p,t[149]=Ze):Ze=t[149];let Qe;t[150]===n.renderMode?Qe=t[151]:(Qe=(0,$.jsx)(Y,{children:n.renderMode}),t[150]=n.renderMode,t[151]=Qe);let $e;t[152]===Symbol.for(`react.memo_cache_sentinel`)?($e=J(),t[152]=$e):$e=t[152];let et;t[153]===p?et=t[154]:(et=e=>p({renderMode:e.target.value}),t[153]=p,t[154]=et);let tt,nt,rt;t[155]===Symbol.for(`react.memo_cache_sentinel`)?(tt=(0,$.jsx)(`option`,{value:`auto`,children:`auto`}),nt=(0,$.jsx)(`option`,{value:`raw`,children:`raw`}),rt=(0,$.jsx)(`option`,{value:`card`,children:`card`}),t[155]=tt,t[156]=nt,t[157]=rt):(tt=t[155],nt=t[156],rt=t[157]);let it;t[158]!==A.renderMode||t[159]!==et?(it=(0,$.jsxs)(`select`,{className:$e,value:A.renderMode,onChange:et,children:[tt,nt,rt]}),t[158]=A.renderMode,t[159]=et,t[160]=it):it=t[160];let at;t[161]!==Qe||t[162]!==it?(at=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Qe,it]}),t[161]=Qe,t[162]=it,t[163]=at):at=t[163];let ot;t[164]===n.reactionNotifications?ot=t[165]:(ot=(0,$.jsx)(Y,{children:n.reactionNotifications}),t[164]=n.reactionNotifications,t[165]=ot);let ct;t[166]===Symbol.for(`react.memo_cache_sentinel`)?(ct=J(),t[166]=ct):ct=t[166];let pt;t[167]===p?pt=t[168]:(pt=e=>p({reactionNotifications:e.target.value}),t[167]=p,t[168]=pt);let mt,ht,gt;t[169]===Symbol.for(`react.memo_cache_sentinel`)?(mt=(0,$.jsx)(`option`,{value:`off`,children:`off`}),ht=(0,$.jsx)(`option`,{value:`own`,children:`own`}),gt=(0,$.jsx)(`option`,{value:`all`,children:`all`}),t[169]=mt,t[170]=ht,t[171]=gt):(mt=t[169],ht=t[170],gt=t[171]);let _t;t[172]!==A.reactionNotifications||t[173]!==pt?(_t=(0,$.jsxs)(`select`,{className:ct,value:A.reactionNotifications,onChange:pt,children:[mt,ht,gt]}),t[172]=A.reactionNotifications,t[173]=pt,t[174]=_t):_t=t[174];let vt;t[175]!==ot||t[176]!==_t?(vt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[ot,_t]}),t[175]=ot,t[176]=_t,t[177]=vt):vt=t[177];let yt;t[178]!==at||t[179]!==vt?(yt=(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[at,vt]}),t[178]=at,t[179]=vt,t[180]=yt):yt=t[180];let bt;t[181]===p?bt=t[182]:(bt=e=>p({streaming:e.target.checked}),t[181]=p,t[182]=bt);let xt;t[183]!==A.streaming||t[184]!==bt?(xt=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:A.streaming,onChange:bt}),t[183]=A.streaming,t[184]=bt,t[185]=xt):xt=t[185];let St;t[186]!==n.enableStreaming||t[187]!==xt?(St=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[xt,n.enableStreaming]}),t[186]=n.enableStreaming,t[187]=xt,t[188]=St):St=t[188];let Ct;t[189]===n.groupPolicy?Ct=t[190]:(Ct=(0,$.jsx)(Y,{children:n.groupPolicy}),t[189]=n.groupPolicy,t[190]=Ct);let wt;t[191]===Symbol.for(`react.memo_cache_sentinel`)?(wt=J(),t[191]=wt):wt=t[191];let Tt=A.groupPolicy,Et;t[192]===p?Et=t[193]:(Et=e=>p({groupPolicy:e.target.value}),t[192]=p,t[193]=Et);let Dt;t[194]===C?Dt=t[195]:(Dt=C.map(lt),t[194]=C,t[195]=Dt);let Ot;t[196]!==A.groupPolicy||t[197]!==Et||t[198]!==Dt?(Ot=(0,$.jsx)(`select`,{className:wt,value:Tt,onChange:Et,children:Dt}),t[196]=A.groupPolicy,t[197]=Et,t[198]=Dt,t[199]=Ot):Ot=t[199];let kt;t[200]!==Ct||t[201]!==Ot?(kt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Ct,Ot]}),t[200]=Ct,t[201]=Ot,t[202]=kt):kt=t[202];let At;t[203]===p?At=t[204]:(At=e=>p({requireMention:e.target.checked}),t[203]=p,t[204]=At);let jt;t[205]!==A.requireMention||t[206]!==At?(jt=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:A.requireMention,onChange:At}),t[205]=A.requireMention,t[206]=At,t[207]=jt):jt=t[207];let Mt;t[208]!==n.requireMention||t[209]!==jt?(Mt=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[jt,n.requireMention]}),t[208]=n.requireMention,t[209]=jt,t[210]=Mt):Mt=t[210];let Nt;t[211]===n.allowFromDm?Nt=t[212]:(Nt=(0,$.jsx)(Y,{children:n.allowFromDm}),t[211]=n.allowFromDm,t[212]=Nt);let Pt;t[213]===Symbol.for(`react.memo_cache_sentinel`)?(Pt=z(J(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[213]=Pt):Pt=t[213];let Ft;t[214]===A.allowFrom?Ft=t[215]:(Ft=re(A.allowFrom),t[214]=A.allowFrom,t[215]=Ft);let It;t[216]===p?It=t[217]:(It=e=>p({allowFrom:ie(e.target.value)}),t[216]=p,t[217]=It);let Lt;t[218]!==Ft||t[219]!==It?(Lt=(0,$.jsx)(`textarea`,{className:Pt,rows:2,placeholder:`ou_xxx, on_xxx`,value:Ft,onChange:It}),t[218]=Ft,t[219]=It,t[220]=Lt):Lt=t[220];let Rt;t[221]===n.allowFromDmDesc?Rt=t[222]:(Rt=(0,$.jsx)(oe,{children:n.allowFromDmDesc}),t[221]=n.allowFromDmDesc,t[222]=Rt);let zt;t[223]!==Nt||t[224]!==Lt||t[225]!==Rt?(zt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Nt,Lt,Rt]}),t[223]=Nt,t[224]=Lt,t[225]=Rt,t[226]=zt):zt=t[226];let Bt;t[227]===n.allowFromGroups?Bt=t[228]:(Bt=(0,$.jsx)(Y,{children:n.allowFromGroups}),t[227]=n.allowFromGroups,t[228]=Bt);let Vt;t[229]===Symbol.for(`react.memo_cache_sentinel`)?(Vt=z(J(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[229]=Vt):Vt=t[229];let Ht;t[230]===A.groupAllowFrom?Ht=t[231]:(Ht=re(A.groupAllowFrom),t[230]=A.groupAllowFrom,t[231]=Ht);let Ut;t[232]===p?Ut=t[233]:(Ut=e=>p({groupAllowFrom:ie(e.target.value)}),t[232]=p,t[233]=Ut);let Wt;t[234]!==Ht||t[235]!==Ut?(Wt=(0,$.jsx)(`textarea`,{className:Vt,rows:2,placeholder:`oc_xxx, oc_yyy`,value:Ht,onChange:Ut}),t[234]=Ht,t[235]=Ut,t[236]=Wt):Wt=t[236];let Gt;t[237]===n.allowFromGroupsDesc?Gt=t[238]:(Gt=(0,$.jsx)(oe,{children:n.allowFromGroupsDesc}),t[237]=n.allowFromGroupsDesc,t[238]=Gt);let Kt;t[239]!==Bt||t[240]!==Wt||t[241]!==Gt?(Kt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Bt,Wt,Gt]}),t[239]=Bt,t[240]=Wt,t[241]=Gt,t[242]=Kt):Kt=t[242];let qt;t[243]===n.historyLimit?qt=t[244]:(qt=(0,$.jsx)(Y,{children:n.historyLimit}),t[243]=n.historyLimit,t[244]=qt);let Jt;t[245]===Symbol.for(`react.memo_cache_sentinel`)?(Jt=z(J(),`min-w-0 flex-1 font-mono text-xs`),t[245]=Jt):Jt=t[245];let Yt=String(A.historyLimit),Xt;t[246]===p?Xt=t[247]:(Xt=e=>p({historyLimit:Number(e.target.value||`0`)||0}),t[246]=p,t[247]=Xt);let Zt;t[248]!==Yt||t[249]!==Xt?(Zt=(0,$.jsx)(`input`,{className:Jt,type:`number`,inputMode:`numeric`,value:Yt,onChange:Xt}),t[248]=Yt,t[249]=Xt,t[250]=Zt):Zt=t[250];let Qt;t[251]!==qt||t[252]!==Zt?(Qt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[qt,Zt]}),t[251]=qt,t[252]=Zt,t[253]=Qt):Qt=t[253];let $t;t[254]===n.textChunkLimit?$t=t[255]:($t=(0,$.jsx)(Y,{children:n.textChunkLimit}),t[254]=n.textChunkLimit,t[255]=$t);let en;t[256]===Symbol.for(`react.memo_cache_sentinel`)?(en=z(J(),`min-w-0 flex-1 font-mono text-xs`),t[256]=en):en=t[256];let tn=String(A.textChunkLimit),nn;t[257]===p?nn=t[258]:(nn=e=>p({textChunkLimit:Number(e.target.value||`0`)||0}),t[257]=p,t[258]=nn);let rn;t[259]!==tn||t[260]!==nn?(rn=(0,$.jsx)(`input`,{className:en,type:`number`,inputMode:`numeric`,value:tn,onChange:nn}),t[259]=tn,t[260]=nn,t[261]=rn):rn=t[261];let an;t[262]!==$t||t[263]!==rn?(an=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[$t,rn]}),t[262]=$t,t[263]=rn,t[264]=an):an=t[264];let on;t[265]!==Qt||t[266]!==an?(on=(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Qt,an]}),t[265]=Qt,t[266]=an,t[267]=on):on=t[267];let sn;t[268]===n.feishuToolsTitle?sn=t[269]:(sn=(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n.feishuToolsTitle}),t[268]=n.feishuToolsTitle,t[269]=sn);let cn;t[270]===n.feishuToolDoc?cn=t[271]:(cn=[`doc`,n.feishuToolDoc],t[270]=n.feishuToolDoc,t[271]=cn);let ln;t[272]===n.feishuToolWiki?ln=t[273]:(ln=[`wiki`,n.feishuToolWiki],t[272]=n.feishuToolWiki,t[273]=ln);let un;t[274]===n.feishuToolDrive?un=t[275]:(un=[`drive`,n.feishuToolDrive],t[274]=n.feishuToolDrive,t[275]=un);let dn;t[276]===n.feishuToolPerm?dn=t[277]:(dn=[`perm`,n.feishuToolPerm],t[276]=n.feishuToolPerm,t[277]=dn);let fn;t[278]===n.feishuToolBitable?fn=t[279]:(fn=[`bitable`,n.feishuToolBitable],t[278]=n.feishuToolBitable,t[279]=fn);let pn;t[280]===n.feishuToolScopes?pn=t[281]:(pn=[`scopes`,n.feishuToolScopes],t[280]=n.feishuToolScopes,t[281]=pn);let mn;t[282]!==cn||t[283]!==ln||t[284]!==un||t[285]!==dn||t[286]!==fn||t[287]!==pn?(mn=[cn,ln,un,dn,fn,pn],t[282]=cn,t[283]=ln,t[284]=un,t[285]=dn,t[286]=fn,t[287]=pn,t[288]=mn):mn=t[288];let hn=mn,gn;t[289]!==A.tools||t[290]!==hn||t[291]!==p?(gn=(0,$.jsx)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-2`,children:hn.map(e=>{let[t,n]=e;return(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:!!A.tools?.[t],onChange:e=>p({tools:{...A.tools,[t]:e.target.checked}})}),n]},t)})}),t[289]=A.tools,t[290]=hn,t[291]=p,t[292]=gn):gn=t[292];let _n;t[293]===n.feishuToolsDesc?_n=t[294]:(_n=(0,$.jsx)(`div`,{className:`mt-2`,children:(0,$.jsx)(oe,{children:n.feishuToolsDesc})}),t[293]=n.feishuToolsDesc,t[294]=_n);let vn;t[295]!==sn||t[296]!==gn||t[297]!==_n?(vn=(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge-subtle bg-surface px-4 py-3 dark:border-edge-subtle`,children:[sn,gn,_n]}),t[295]=sn,t[296]=gn,t[297]=_n,t[298]=vn):vn=t[298];let yn;t[299]===n.feishuActionsTitle?yn=t[300]:(yn=(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n.feishuActionsTitle}),t[299]=n.feishuActionsTitle,t[300]=yn);let bn=!!A.actions?.reactions,xn;t[301]!==A.actions||t[302]!==p?(xn=e=>p({actions:{...A.actions,reactions:e.target.checked}}),t[301]=A.actions,t[302]=p,t[303]=xn):xn=t[303];let Sn;t[304]!==bn||t[305]!==xn?(Sn=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:bn,onChange:xn}),t[304]=bn,t[305]=xn,t[306]=Sn):Sn=t[306];let Cn;t[307]!==n.feishuActionReactions||t[308]!==Sn?(Cn=(0,$.jsxs)(`label`,{className:`mt-2 flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[Sn,n.feishuActionReactions]}),t[307]=n.feishuActionReactions,t[308]=Sn,t[309]=Cn):Cn=t[309];let wn;t[310]!==yn||t[311]!==Cn?(wn=(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge-subtle bg-surface px-4 py-3 dark:border-edge-subtle`,children:[yn,Cn]}),t[310]=yn,t[311]=Cn,t[312]=wn):wn=t[312];let Tn;t[313]===A?Tn=t[314]:(Tn=se(A),t[313]=A,t[314]=Tn);let En;t[315]===w?.items?En=t[316]:(En=w?.items??[],t[315]=w?.items,t[316]=En);let Dn;t[317]===m?Dn=t[318]:(Dn=(e,t)=>m(`feishu`,e,t),t[317]=m,t[318]=Dn);let On;t[319]!==n||t[320]!==r.channelAgentRoutes.feishu||t[321]!==r.defaultAgentId||t[322]!==T||t[323]!==Tn||t[324]!==En||t[325]!==Dn?(On=(0,$.jsx)(Ve,{accountIds:Tn,routes:r.channelAgentRoutes.feishu,defaultAgentId:r.defaultAgentId,agentItems:En,disabled:T,onChange:Dn,ch:n}),t[319]=n,t[320]=r.channelAgentRoutes.feishu,t[321]=r.defaultAgentId,t[322]=T,t[323]=Tn,t[324]=En,t[325]=Dn,t[326]=On):On=t[326];let kn;t[327]===n.multiAccountJson?kn=t[328]:(kn=(0,$.jsx)(Y,{children:n.multiAccountJson}),t[327]=n.multiAccountJson,t[328]=kn);let An;t[329]===Symbol.for(`react.memo_cache_sentinel`)?(An=z(J(),`min-h-[140px] resize-y font-mono text-xs`),t[329]=An):An=t[329];let jn;t[330]===g?jn=t[331]:(jn=e=>g(e.target.value),t[330]=g,t[331]=jn);let Mn;t[332]!==h||t[333]!==b||t[334]!==jn?(Mn=(0,$.jsx)(`textarea`,{className:An,spellCheck:!1,value:h,onChange:jn,onBlur:b,placeholder:`{ "default": { "appId": "...", "appSecret": "...", "enabled": true } }`}),t[332]=h,t[333]=b,t[334]=jn,t[335]=Mn):Mn=t[335];let Nn;t[336]!==n.multiAccountJsonDesc||t[337]!==v?(Nn=v?(0,$.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:v}):(0,$.jsx)(oe,{children:n.multiAccountJsonDesc}),t[336]=n.multiAccountJsonDesc,t[337]=v,t[338]=Nn):Nn=t[338];let Pn;t[339]!==kn||t[340]!==Mn||t[341]!==Nn?(Pn=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[kn,Mn,Nn]}),t[339]=kn,t[340]=Mn,t[341]=Nn,t[342]=Pn):Pn=t[342];let Fn;t[343]!==Kt||t[344]!==on||t[345]!==vn||t[346]!==wn||t[347]!==On||t[348]!==Pn||t[349]!==ve||t[350]!==Me||t[351]!==Xe||t[352]!==Ze||t[353]!==yt||t[354]!==St||t[355]!==kt||t[356]!==Mt||t[357]!==zt?(Fn=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[ve,Me,Xe,Ze,yt,St,kt,Mt,zt,Kt,on,vn,wn,On,Pn]}),t[343]=Kt,t[344]=on,t[345]=vn,t[346]=wn,t[347]=On,t[348]=Pn,t[349]=ve,t[350]=Me,t[351]=Xe,t[352]=Ze,t[353]=yt,t[354]=St,t[355]=kt,t[356]=Mt,t[357]=zt,t[358]=Fn):Fn=t[358];let In;t[359]!==ce||t[360]!==Fn||t[361]!==ue||t[362]!==de||t[363]!==G?(In=(0,$.jsxs)(`div`,{className:`space-y-4 border-t border-edge-subtle px-3 pb-3 pt-3 dark:border-edge-subtle`,children:[G,ce,ue,de,Fn]}),t[359]=ce,t[360]=Fn,t[361]=ue,t[362]=de,t[363]=G,t[364]=In):In=t[364];let Ln;return t[365]!==In||t[366]!==W?(Ln=(0,$.jsxs)(`details`,{ref:R,className:`group rounded-xl border border-edge-subtle bg-surface-base open:pb-3 dark:border-edge`,children:[W,In]}),t[365]=In,t[366]=W,t[367]=Ln):Ln=t[367],Ln}function lt(e){return(0,$.jsx)(`option`,{value:e.value,children:e.label},e.value)}function ut(e){return!e}function dt(e){return!e}function ft(){return nt(`feishu`)}var pt=e(be(),1);function mt(e){let t=(0,Q.c)(24),{ch:n,dirty:r,saving:i,onCancel:a,onDiscard:o,onSave:s,showCancel:c}=e,l=c===void 0?!0:c,u;t[0]!==n.unsavedHint||t[1]!==r?(u=r?(0,$.jsx)(`p`,{className:`mb-3 text-xs text-amber-800 dark:text-amber-200`,children:n.unsavedHint}):null,t[0]=n.unsavedHint,t[1]=r,t[2]=u):u=t[2];let d;t[3]!==n.modalCancel||t[4]!==a||t[5]!==l?(d=l?(0,$.jsx)(V,{type:`button`,variant:`secondary`,onClick:a,children:n.modalCancel}):null,t[3]=n.modalCancel,t[4]=a,t[5]=l,t[6]=d):d=t[6];let f=!r||i,p;t[7]!==n.discard||t[8]!==o||t[9]!==f?(p=(0,$.jsx)(V,{type:`button`,variant:`secondary`,disabled:f,onClick:o,children:n.discard}),t[7]=n.discard,t[8]=o,t[9]=f,t[10]=p):p=t[10];let m=!r||i,h;t[11]===s?h=t[12]:(h=()=>void s(),t[11]=s,t[12]=h);let g=i?n.saving:n.save,_;t[13]!==m||t[14]!==h||t[15]!==g?(_=(0,$.jsx)(V,{type:`button`,variant:`primary`,disabled:m,onClick:h,children:g}),t[13]=m,t[14]=h,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==d||t[18]!==p||t[19]!==_?(v=(0,$.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[d,p,_]}),t[17]=d,t[18]=p,t[19]=_,t[20]=v):v=t[20];let y;return t[21]!==v||t[22]!==u?(y=(0,$.jsxs)(`div`,{className:`sticky bottom-0 shrink-0 border-t border-edge-subtle bg-surface-panel px-6 py-4 dark:border-edge-subtle`,children:[u,v]}),t[21]=v,t[22]=u,t[23]=y):y=t[23],y}var ht={width:208,margin:2,errorCorrectionLevel:`M`,color:{dark:`#000000ff`,light:`#ffffffff`}},gt={sessionKey:null,qrUrl:null};function _t({ch:e,onSetupSuccess:t,onOpenChange:n,closeOnSetupSuccess:r,moreSettings:i}){let[a,o]=(0,Z.useState)(`feishu`),[s,c]=(0,Z.useState)(0),[l,u]=(0,Z.useState)(null),d=(0,Z.useRef)(t),f=(0,Z.useRef)(n);d.current=t,f.current=n;let p=C(()=>Se({domain:a}).then(e=>({sessionKey:e.sessionKey,qrUrl:e.qrUrl})),[s,a],{initial:gt,errorData:gt}),m=p.data.sessionKey,h=p.data.qrUrl,g=p.loading,_=p.error instanceof Error?p.error.message:p.error?String(p.error):null,v=l??_,y=(0,Z.useCallback)(e=>{u(null),o(e),c(e=>e+1)},[]);(0,Z.useEffect)(()=>{if(!m)return;let e=!1,t,n=async()=>{try{let n=await ue(m);if(e||n.phase===`polling`)return;if(n.phase===`done`){t!==void 0&&(window.clearInterval(t),t=void 0),p.setData(gt),n.ok?(r&&f.current(!1),d.current({appId:n.appId,domain:n.domain,openId:n.openId})):u(n.message);return}n.phase===`unknown`&&(t!==void 0&&window.clearInterval(t),u(n.message),p.setData(gt))}catch(n){e||(t!==void 0&&window.clearInterval(t),u(n instanceof Error?n.message:`Request failed`),p.setData(gt))}};return t=window.setInterval(()=>void n(),3e3),n(),()=>{e=!0,t!==void 0&&window.clearInterval(t)}},[m,r,p.setData]);let b=C(()=>pt.toDataURL(h,ht),[h],{enabled:!!h,initial:null,errorData:null}),x=b.data,S=b.error!==null&&!b.loading,w=!!(h&&m),T=!v&&!w;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`text-center`,children:[(0,$.jsx)(`p`,{className:`text-base font-semibold tracking-tight text-fg`,children:e.feishuQrModalTitle}),(0,$.jsx)(`p`,{className:`mt-1.5 text-sm text-fg-muted`,children:e.feishuQrModalSubtitle})]}),(0,$.jsxs)(`div`,{className:`mt-6 flex min-h-[17.5rem] flex-col items-center justify-center gap-3`,children:[v?(0,$.jsx)(`p`,{className:`text-center text-sm text-red-600 dark:text-red-400`,children:v}):null,!v&&(w||T)?(0,$.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-3`,children:[(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:T?e.feishuQrStarting:e.feishuQrScanHint}),(0,$.jsxs)(`div`,{className:z(`relative flex size-52 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-edge-subtle bg-white p-3 dark:border-edge`,T&&`bg-surface-muted/40 dark:bg-surface-base`),children:[T?(0,$.jsx)(`div`,{className:`absolute inset-3 animate-pulse rounded-md bg-surface-muted dark:bg-surface-hover`,"aria-hidden":!0}):null,w&&h&&!v&&x&&!S?(0,$.jsx)(`img`,{src:x,alt:``,className:`relative z-[1] size-full object-contain`}):null,w&&h&&!v&&!x&&!S&&!T?(0,$.jsx)(`p`,{className:`relative z-[1] px-2 text-center text-sm text-fg-muted`,children:e.feishuQrEncoding}):null,w&&h&&!v&&S?(0,$.jsxs)(`div`,{className:`relative z-[1] flex size-full flex-col items-center justify-center gap-2 px-1`,children:[(0,$.jsx)(`p`,{className:`text-center text-xs text-fg-muted`,children:e.feishuQrImageError}),(0,$.jsxs)(`a`,{href:h,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 text-xs text-accent underline-offset-2 hover:underline`,children:[(0,$.jsx)(D,{className:`size-3 shrink-0`}),e.feishuQrOpenLink]})]}):null]})]}):null]}),(0,$.jsx)(`div`,{className:`mx-auto mt-4 flex w-full max-w-[20rem] justify-center px-1`,role:`group`,"aria-label":e.feishuRegionSwitchAria,children:(0,$.jsxs)(`div`,{className:`inline-flex w-full rounded-full border border-edge bg-surface-muted/60 p-1 dark:border-edge dark:bg-surface-base`,children:[(0,$.jsx)(`button`,{type:`button`,disabled:g,className:z(`min-w-0 flex-1 rounded-full px-3 py-2 text-center text-sm font-medium transition-colors`,W.press,a===`feishu`?`bg-surface-panel text-fg shadow-sm dark:bg-surface-panel`:`text-fg-muted hover:text-fg`),onClick:()=>y(`feishu`),children:e.feishuRegionChina}),(0,$.jsx)(`button`,{type:`button`,disabled:g,className:z(`min-w-0 flex-1 rounded-full px-3 py-2 text-center text-sm font-medium transition-colors`,W.press,a===`lark`?`bg-surface-panel text-fg shadow-sm dark:bg-surface-panel`:`text-fg-muted hover:text-fg`),onClick:()=>y(`lark`),children:e.feishuRegionInternational})]})}),(0,$.jsx)(`div`,{className:`mt-6`,children:(0,$.jsx)(V,{type:`button`,variant:`secondary`,className:`h-11 w-full rounded-full border-0 bg-fg text-surface-panel hover:opacity-90 dark:bg-fg dark:text-surface-panel`,disabled:g,onClick:()=>y(a),children:g?e.feishuQrStarting:e.feishuQrRegenerate})}),i?(0,$.jsx)(`div`,{className:`mt-6 border-t border-edge-subtle pt-4 dark:border-edge-subtle`,children:i}):null]})}function vt(e){let t=(0,Q.c)(26),{open:n,onOpenChange:r,ch:i,onSetupSuccess:a,moreSettings:o,settingsDirty:s,settingsSaving:c,onSettingsDiscard:l,onSettingsSave:u,presentation:d,closeOnSetupSuccess:f}=e,p=s===void 0?!1:s,m=c===void 0?!1:c,h=d===void 0?`modal`:d,g=f===void 0?!0:f,_;t[0]!==i||t[1]!==o||t[2]!==r||t[3]!==l||t[4]!==u||t[5]!==p||t[6]!==m?(_=o&&l&&u?(0,$.jsx)(mt,{ch:i,dirty:p,saving:m,showCancel:!1,onCancel:()=>r(!1),onDiscard:l,onSave:u}):void 0,t[0]=i,t[1]=o,t[2]=r,t[3]=l,t[4]=u,t[5]=p,t[6]=m,t[7]=_):_=t[7];let v;t[8]!==i||t[9]!==g||t[10]!==o||t[11]!==r||t[12]!==a||t[13]!==n?(v=n?(0,$.jsx)(_t,{ch:i,onSetupSuccess:a,onOpenChange:r,closeOnSetupSuccess:g,moreSettings:o},`active`):null,t[8]=i,t[9]=g,t[10]=o,t[11]=r,t[12]=a,t[13]=n,t[14]=v):v=t[14];let y;return t[15]!==i.feishuQrCloseAria||t[16]!==i.feishuQrModalSubtitle||t[17]!==i.feishuQrModalTitle||t[18]!==i.feishuSubtitle||t[19]!==i.feishuTitle||t[20]!==r||t[21]!==n||t[22]!==h||t[23]!==_||t[24]!==v?(y=(0,$.jsx)(Le,{presentation:h,open:n,onOpenChange:r,title:i.feishuTitle,description:i.feishuSubtitle,srTitle:i.feishuQrModalTitle,srDescription:i.feishuQrModalSubtitle,closeAriaLabel:i.feishuQrCloseAria,wide:!0,footer:_,children:v}),t[15]=i.feishuQrCloseAria,t[16]=i.feishuQrModalSubtitle,t[17]=i.feishuQrModalTitle,t[18]=i.feishuSubtitle,t[19]=i.feishuTitle,t[20]=r,t[21]=n,t[22]=h,t[23]=_,t[24]=v,t[25]=y):y=t[25],y}function yt(e){let t=(0,Q.c)(25),{ch:n,usesPairing:r,tokenReady:i,pairingComplete:a}=e;if(!r)return null;let o=i,s=a,c=!o,l=o&&!s,u;t[0]!==c||t[1]!==o?(u=(0,$.jsx)(bt,{done:o,current:c,index:1}),t[0]=c,t[1]=o,t[2]=u):u=t[2];let d=o&&`text-fg-muted`,f;t[3]===d?f=t[4]:(f=z(`text-fg`,d),t[3]=d,t[4]=f);let p;t[5]!==n.telegramSetupStepToken||t[6]!==f?(p=(0,$.jsx)(`span`,{className:f,children:n.telegramSetupStepToken}),t[5]=n.telegramSetupStepToken,t[6]=f,t[7]=p):p=t[7];let m;t[8]!==u||t[9]!==p?(m=(0,$.jsxs)(`li`,{className:`flex items-start gap-2`,children:[u,p]}),t[8]=u,t[9]=p,t[10]=m):m=t[10];let h;t[11]!==l||t[12]!==s?(h=(0,$.jsx)(bt,{done:s,current:l,index:2}),t[11]=l,t[12]=s,t[13]=h):h=t[13];let g=s&&`text-fg-muted`,_;t[14]===g?_=t[15]:(_=z(`text-fg`,g),t[14]=g,t[15]=_);let v;t[16]!==n.telegramSetupStepPairing||t[17]!==_?(v=(0,$.jsx)(`span`,{className:_,children:n.telegramSetupStepPairing}),t[16]=n.telegramSetupStepPairing,t[17]=_,t[18]=v):v=t[18];let y;t[19]!==h||t[20]!==v?(y=(0,$.jsxs)(`li`,{className:`flex items-start gap-2`,children:[h,v]}),t[19]=h,t[20]=v,t[21]=y):y=t[21];let b;return t[22]!==y||t[23]!==m?(b=(0,$.jsxs)(`ol`,{className:`space-y-2 rounded-xl border border-accent/25 bg-accent-soft/20 px-4 py-3 text-xs`,children:[m,y]}),t[22]=y,t[23]=m,t[24]=b):b=t[24],b}function bt(e){let t=(0,Q.c)(7),{done:n,current:r,index:i}=e,a=n&&`border-success bg-success text-white`,o=!n&&r&&`border-accent bg-accent text-white`,s=!n&&!r&&`border-edge text-fg-muted`,c;t[0]!==a||t[1]!==o||t[2]!==s?(c=z(`mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border text-[10px] font-semibold`,a,o,s),t[0]=a,t[1]=o,t[2]=s,t[3]=c):c=t[3];let l=n?`✓`:String(i),u;return t[4]!==c||t[5]!==l?(u=(0,$.jsx)(`span`,{className:c,"aria-hidden":!0,children:l}),t[4]=c,t[5]=l,t[6]=u):u=t[6],u}function xt(e){let t=(0,Q.c)(115),{tg:n,updateTelegram:r,ch:i,groupOpts:a,replyOpts:o,streamOpts:s,tgAccountsDraft:c,setTgAccountsDraft:l,tgAccountsError:u,onTgAccountsBlur:d}=e,f;t[0]===i.apiRoot?f=t[1]:(f=(0,$.jsx)(Y,{children:i.apiRoot}),t[0]=i.apiRoot,t[1]=f);let p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=J(),t[2]=p):p=t[2];let m;t[3]===r?m=t[4]:(m=e=>r({apiRoot:e.target.value}),t[3]=r,t[4]=m);let h;t[5]!==m||t[6]!==n.apiRoot?(h=(0,$.jsx)(`input`,{className:p,value:n.apiRoot,onChange:m,placeholder:`https://api.telegram.org`}),t[5]=m,t[6]=n.apiRoot,t[7]=h):h=t[7];let g;t[8]!==f||t[9]!==h?(g=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[f,h]}),t[8]=f,t[9]=h,t[10]=g):g=t[10];let _;t[11]===i.proxy?_=t[12]:(_=(0,$.jsx)(Y,{children:i.proxy}),t[11]=i.proxy,t[12]=_);let v;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(v=J(),t[13]=v):v=t[13];let y;t[14]===r?y=t[15]:(y=e=>r({proxy:e.target.value}),t[14]=r,t[15]=y);let b;t[16]!==y||t[17]!==n.proxy?(b=(0,$.jsx)(`input`,{className:v,value:n.proxy,onChange:y,placeholder:`http://proxy.example.com:8080`}),t[16]=y,t[17]=n.proxy,t[18]=b):b=t[18];let x;t[19]!==_||t[20]!==b?(x=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[_,b]}),t[19]=_,t[20]=b,t[21]=x):x=t[21];let S;t[22]===r?S=t[23]:(S=e=>r({groupPolicy:e}),t[22]=r,t[23]=S);let C;t[24]!==i.groupPolicy||t[25]!==a||t[26]!==S||t[27]!==n.groupPolicy?(C=(0,$.jsx)(ae,{label:i.groupPolicy,value:n.groupPolicy,onChange:S,options:a}),t[24]=i.groupPolicy,t[25]=a,t[26]=S,t[27]=n.groupPolicy,t[28]=C):C=t[28];let w;t[29]===r?w=t[30]:(w=e=>r({replyToMode:e}),t[29]=r,t[30]=w);let T;t[31]!==i.replyToMode||t[32]!==o||t[33]!==w||t[34]!==n.replyToMode?(T=(0,$.jsx)(ae,{label:i.replyToMode,value:n.replyToMode,onChange:w,options:o}),t[31]=i.replyToMode,t[32]=o,t[33]=w,t[34]=n.replyToMode,t[35]=T):T=t[35];let E;t[36]===r?E=t[37]:(E=e=>r({streamMode:e}),t[36]=r,t[37]=E);let D;t[38]!==i.streamMode||t[39]!==s||t[40]!==E||t[41]!==n.streamMode?(D=(0,$.jsx)(ae,{label:i.streamMode,value:n.streamMode,onChange:E,options:s}),t[38]=i.streamMode,t[39]=s,t[40]=E,t[41]=n.streamMode,t[42]=D):D=t[42];let O;t[43]===i.allowFromGroups?O=t[44]:(O=(0,$.jsx)(Y,{children:i.allowFromGroups}),t[43]=i.allowFromGroups,t[44]=O);let k;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(k=z(J(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[45]=k):k=t[45];let A;t[46]===n.groupAllowFrom?A=t[47]:(A=re(n.groupAllowFrom),t[46]=n.groupAllowFrom,t[47]=A);let j;t[48]===r?j=t[49]:(j=e=>r({groupAllowFrom:ie(e.target.value)}),t[48]=r,t[49]=j);let M;t[50]!==A||t[51]!==j?(M=(0,$.jsx)(`textarea`,{className:k,rows:2,placeholder:`-1001234567890`,value:A,onChange:j}),t[50]=A,t[51]=j,t[52]=M):M=t[52];let N;t[53]!==O||t[54]!==M?(N=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[O,M]}),t[53]=O,t[54]=M,t[55]=N):N=t[55];let P;t[56]===i.historyLimit?P=t[57]:(P=(0,$.jsx)(Y,{children:i.historyLimit}),t[56]=i.historyLimit,t[57]=P);let F;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(F=J(),t[58]=F):F=t[58];let I;t[59]===r?I=t[60]:(I=e=>r({historyLimit:parseInt(e.target.value,10)||50}),t[59]=r,t[60]=I);let L;t[61]!==I||t[62]!==n.historyLimit?(L=(0,$.jsx)(`input`,{type:`number`,min:10,max:200,className:F,value:n.historyLimit,onChange:I}),t[61]=I,t[62]=n.historyLimit,t[63]=L):L=t[63];let R;t[64]!==P||t[65]!==L?(R=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[P,L]}),t[64]=P,t[65]=L,t[66]=R):R=t[66];let ee;t[67]===i.textChunkLimit?ee=t[68]:(ee=(0,$.jsx)(Y,{children:i.textChunkLimit}),t[67]=i.textChunkLimit,t[68]=ee);let B;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(B=J(),t[69]=B):B=t[69];let V;t[70]===r?V=t[71]:(V=e=>r({textChunkLimit:parseInt(e.target.value,10)||4e3}),t[70]=r,t[71]=V);let H;t[72]!==V||t[73]!==n.textChunkLimit?(H=(0,$.jsx)(`input`,{type:`number`,min:1e3,max:1e4,step:100,className:B,value:n.textChunkLimit,onChange:V}),t[72]=V,t[73]=n.textChunkLimit,t[74]=H):H=t[74];let U;t[75]!==ee||t[76]!==H?(U=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[ee,H]}),t[75]=ee,t[76]=H,t[77]=U):U=t[77];let te;t[78]!==R||t[79]!==U?(te=(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[R,U]}),t[78]=R,t[79]=U,t[80]=te):te=t[80];let W;t[81]===r?W=t[82]:(W=e=>r({debug:e.target.checked}),t[81]=r,t[82]=W);let G;t[83]!==W||t[84]!==n.debug?(G=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:n.debug,onChange:W}),t[83]=W,t[84]=n.debug,t[85]=G):G=t[85];let ne;t[86]!==i.telegramDebug||t[87]!==G?(ne=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[G,i.telegramDebug]}),t[86]=i.telegramDebug,t[87]=G,t[88]=ne):ne=t[88];let K;t[89]===i.multiAccountJson?K=t[90]:(K=(0,$.jsx)(Y,{children:i.multiAccountJson}),t[89]=i.multiAccountJson,t[90]=K);let q;t[91]===Symbol.for(`react.memo_cache_sentinel`)?(q=z(J(),`min-h-[140px] resize-y font-mono text-xs`),t[91]=q):q=t[91];let se;t[92]===l?se=t[93]:(se=e=>l(e.target.value),t[92]=l,t[93]=se);let ce;t[94]!==d||t[95]!==se||t[96]!==c?(ce=(0,$.jsx)(`textarea`,{className:q,spellCheck:!1,value:c,onChange:se,onBlur:d,placeholder:`{ "personal": { "accountId": "personal", "botToken": "...", ... } }`}),t[94]=d,t[95]=se,t[96]=c,t[97]=ce):ce=t[97];let le;t[98]!==i.multiAccountJsonDesc||t[99]!==u?(le=u?(0,$.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:u}):(0,$.jsx)(oe,{children:i.multiAccountJsonDesc}),t[98]=i.multiAccountJsonDesc,t[99]=u,t[100]=le):le=t[100];let ue;t[101]!==K||t[102]!==ce||t[103]!==le?(ue=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[K,ce,le]}),t[101]=K,t[102]=ce,t[103]=le,t[104]=ue):ue=t[104];let de;return t[105]!==x||t[106]!==C||t[107]!==T||t[108]!==D||t[109]!==N||t[110]!==te||t[111]!==ne||t[112]!==ue||t[113]!==g?(de=(0,$.jsxs)(`div`,{className:`space-y-4 border-t border-edge-subtle pt-4 dark:border-edge`,children:[g,x,C,T,D,N,te,ne,ue]}),t[105]=x,t[106]=C,t[107]=T,t[108]=D,t[109]=N,t[110]=te,t[111]=ne,t[112]=ue,t[113]=g,t[114]=de):de=t[114],de}function St(e){let t=(0,Q.c)(169),{open:n,onOpenChange:r,presentation:i,ch:a,form:o,baseline:s,tgAdvanced:c,setTgAdvanced:l,showToken:u,setShowToken:d,copied:f,copyToken:p,updateTelegram:m,updateChannelAgentRoute:h,tgAccountsDraft:g,setTgAccountsDraft:v,tgAccountsError:b,onTgAccountsBlur:x,dmOpts:C,groupOpts:w,replyOpts:T,streamOpts:E,chatAgents:D,saving:O,dirty:k,save:A,discard:j,language:M,scrollToPairingOnOpen:N,closeOnSave:P}=e,F=i===void 0?`modal`:i,I=N===void 0?!1:N,L=P===void 0?!0:P,R=o.telegram,B;t[0]===s?B=t[1]:(B=s?ne(s.telegram):``,t[0]=s,t[1]=B);let H=B,U=ne(R),W=!u&&!!String(H).trim()&&U===H,[G,K]=(0,Z.useState)(0),q=!!U.trim()&&R.enabled,se;t[2]===R?se=t[3]:(se=Ce(R),t[2]=R,t[3]=se);let ce=se,le,ue;t[4]!==n||t[5]!==I?(le=()=>{if(!n||!I)return;let e=window.setTimeout(Tt,80);return()=>window.clearTimeout(e)},ue=[n,I],t[4]=n,t[5]=I,t[6]=le,t[7]=ue):(le=t[6],ue=t[7]),(0,Z.useEffect)(le,ue);let de=a.telegramTitle,fe=a.telegramSubtitle,pe=a.telegramTitle,me=a.telegramSubtitle,he=a.modalCancel,ge;t[8]!==a.telegramSubtitle||t[9]!==a.telegramTitle||t[10]!==F?(ge=F===`modal`?(0,$.jsxs)(`div`,{className:`border-b border-edge-subtle px-6 pb-4 pt-6 dark:border-edge-subtle`,children:[(0,$.jsx)(`h2`,{className:`text-lg font-semibold tracking-tight text-fg`,children:a.telegramTitle}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:a.telegramSubtitle})]}):void 0,t[8]=a.telegramSubtitle,t[9]=a.telegramTitle,t[10]=F,t[11]=ge):ge=t[11];let _e;t[12]===r?_e=t[13]:(_e=()=>r(!1),t[12]=r,t[13]=_e);let ve;t[14]!==L||t[15]!==r||t[16]!==A?(ve=async()=>{await A()&&L&&r(!1)},t[14]=L,t[15]=r,t[16]=A,t[17]=ve):ve=t[17];let ye;t[18]!==a||t[19]!==k||t[20]!==j||t[21]!==O||t[22]!==_e||t[23]!==ve?(ye=(0,$.jsx)(mt,{ch:a,dirty:k,saving:O,onCancel:_e,onDiscard:j,onSave:ve}),t[18]=a,t[19]=k,t[20]=j,t[21]=O,t[22]=_e,t[23]=ve,t[24]=ye):ye=t[24];let be;t[25]===m?be=t[26]:(be=e=>m({enabled:e.target.checked}),t[25]=m,t[26]=be);let X;t[27]!==be||t[28]!==R.enabled?(X=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:R.enabled,onChange:be}),t[27]=be,t[28]=R.enabled,t[29]=X):X=t[29];let Se;t[30]===a.enableTelegramAria?Se=t[31]:(Se=(0,$.jsx)(`span`,{children:a.enableTelegramAria}),t[30]=a.enableTelegramAria,t[31]=Se);let we;t[32]!==X||t[33]!==Se?(we=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[X,Se]}),t[32]=X,t[33]=Se,t[34]=we):we=t[34];let Te;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,$.jsx)(`span`,{className:`text-red-600 dark:text-red-400`,children:` *`}),t[35]=Te):Te=t[35];let Ee;t[36]===a.telegramToken?Ee=t[37]:(Ee=(0,$.jsxs)(Y,{children:[a.telegramToken,Te]}),t[36]=a.telegramToken,t[37]=Ee);let De;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(De=z(J(),`min-w-0 flex-1 font-mono text-xs`),t[38]=De):De=t[38];let Oe=u?`text`:`password`,ke;t[39]!==W||t[40]!==H||t[41]!==U?(ke=W?`*`.repeat(Math.max(1,H.length)):U,t[39]=W,t[40]=H,t[41]=U,t[42]=ke):ke=t[42];let Ae;t[43]!==W||t[44]!==R.accounts||t[45]!==m?(Ae=e=>{if(W)return;let t=R.accounts?.default??xe(`default`);m({accounts:{...R.accounts,default:{...t,accountId:`default`,botToken:e.target.value}}})},t[43]=W,t[44]=R.accounts,t[45]=m,t[46]=Ae):Ae=t[46];let je;t[47]!==Oe||t[48]!==ke||t[49]!==Ae||t[50]!==W?(je=(0,$.jsx)(`input`,{className:De,type:Oe,autoComplete:`off`,readOnly:W,value:ke,onChange:Ae,placeholder:`123456789:ABCdefGHIjklMNOpqrsTUVwxyz`}),t[47]=Oe,t[48]=ke,t[49]=Ae,t[50]=W,t[51]=je):je=t[51];let Me;t[52]!==a.copied||t[53]!==a.copy||t[54]!==f||t[55]!==p||t[56]!==U?(Me=U?(0,$.jsxs)(V,{type:`button`,variant:`secondary`,className:`px-2 py-1 text-xs`,onClick:()=>void p(),children:[f?(0,$.jsx)(S,{className:`size-3.5`}):(0,$.jsx)(_,{className:`size-3.5`}),f?a.copied:a.copy]}):null,t[52]=a.copied,t[53]=a.copy,t[54]=f,t[55]=p,t[56]=U,t[57]=Me):Me=t[57];let Ne;t[58]===d?Ne=t[59]:(Ne=()=>d(wt),t[58]=d,t[59]=Ne);let Pe;t[60]===u?Pe=t[61]:(Pe=u?(0,$.jsx)(te,{className:`size-3.5`}):(0,$.jsx)(y,{className:`size-3.5`}),t[60]=u,t[61]=Pe);let Fe=u?a.hide:a.show,Ie;t[62]!==Ne||t[63]!==Pe||t[64]!==Fe?(Ie=(0,$.jsxs)(V,{type:`button`,variant:`secondary`,className:`px-2 py-1 text-xs`,onClick:Ne,children:[Pe,Fe]}),t[62]=Ne,t[63]=Pe,t[64]=Fe,t[65]=Ie):Ie=t[65];let Re;t[66]!==je||t[67]!==Me||t[68]!==Ie?(Re=(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[je,Me,Ie]}),t[66]=je,t[67]=Me,t[68]=Ie,t[69]=Re):Re=t[69];let ze;t[70]===a.telegramTokenDesc?ze=t[71]:(ze=(0,$.jsx)(oe,{children:a.telegramTokenDesc}),t[70]=a.telegramTokenDesc,t[71]=ze);let Be;t[72]!==Ee||t[73]!==Re||t[74]!==ze?(Be=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Ee,Re,ze]}),t[72]=Ee,t[73]=Re,t[74]=ze,t[75]=Be):Be=t[75];let He;t[76]===R?He=t[77]:(He=Je(`telegram`,R),t[76]=R,t[77]=He);let Ue=G>0,We;t[78]!==a||t[79]!==He||t[80]!==Ue||t[81]!==q?(We=(0,$.jsx)(yt,{ch:a,usesPairing:He,tokenReady:q,pairingComplete:Ue}),t[78]=a,t[79]=He,t[80]=Ue,t[81]=q,t[82]=We):We=t[82];let Ge;t[83]===m?Ge=t[84]:(Ge=e=>m({dmPolicy:e}),t[83]=m,t[84]=Ge);let Ke;t[85]!==a.dmPolicy||t[86]!==C||t[87]!==Ge||t[88]!==R.dmPolicy?(Ke=(0,$.jsx)(ae,{label:a.dmPolicy,value:R.dmPolicy,onChange:Ge,options:C}),t[85]=a.dmPolicy,t[86]=C,t[87]=Ge,t[88]=R.dmPolicy,t[89]=Ke):Ke=t[89];let qe;t[90]!==a||t[91]!==M||t[92]!==n||t[93]!==K||t[94]!==R||t[95]!==ce?(qe=(0,$.jsx)(st,{channel:`telegram`,accountIds:ce,channelConfig:R,active:n,ch:a,language:M,onPairedChange:K}),t[90]=a,t[91]=M,t[92]=n,t[93]=K,t[94]=R,t[95]=ce,t[96]=qe):qe=t[96];let Ye;t[97]===a.allowFromDm?Ye=t[98]:(Ye=(0,$.jsx)(Y,{children:a.allowFromDm}),t[97]=a.allowFromDm,t[98]=Ye);let Xe;t[99]===Symbol.for(`react.memo_cache_sentinel`)?(Xe=z(J(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[99]=Xe):Xe=t[99];let Ze;t[100]===R.allowFrom?Ze=t[101]:(Ze=re(R.allowFrom),t[100]=R.allowFrom,t[101]=Ze);let Qe;t[102]===m?Qe=t[103]:(Qe=e=>m({allowFrom:ie(e.target.value)}),t[102]=m,t[103]=Qe);let $e;t[104]!==Ze||t[105]!==Qe?($e=(0,$.jsx)(`textarea`,{className:Xe,rows:2,placeholder:`123456789, 987654321`,value:Ze,onChange:Qe}),t[104]=Ze,t[105]=Qe,t[106]=$e):$e=t[106];let et;t[107]===a.allowFromDmDesc?et=t[108]:(et=(0,$.jsx)(oe,{children:a.allowFromDmDesc}),t[107]=a.allowFromDmDesc,t[108]=et);let tt;t[109]!==Ye||t[110]!==$e||t[111]!==et?(tt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Ye,$e,et]}),t[109]=Ye,t[110]=$e,t[111]=et,t[112]=tt):tt=t[112];let nt;t[113]===R?nt=t[114]:(nt=Ce(R),t[113]=R,t[114]=nt);let rt;t[115]===D?.items?rt=t[116]:(rt=D?.items??[],t[115]=D?.items,t[116]=rt);let it;t[117]===h?it=t[118]:(it=(e,t)=>h(`telegram`,e,t),t[117]=h,t[118]=it);let at;t[119]!==a||t[120]!==o.channelAgentRoutes.telegram||t[121]!==o.defaultAgentId||t[122]!==O||t[123]!==nt||t[124]!==rt||t[125]!==it?(at=(0,$.jsx)(Ve,{accountIds:nt,routes:o.channelAgentRoutes.telegram,defaultAgentId:o.defaultAgentId,agentItems:rt,disabled:O,onChange:it,ch:a}),t[119]=a,t[120]=o.channelAgentRoutes.telegram,t[121]=o.defaultAgentId,t[122]=O,t[123]=nt,t[124]=rt,t[125]=it,t[126]=at):at=t[126];let ot;t[127]===l?ot=t[128]:(ot=()=>l(Ct),t[127]=l,t[128]=ot);let ct=c&&`rotate-180`,lt;t[129]===ct?lt=t[130]:(lt=z(`mr-1 size-4 transition-transform`,ct),t[129]=ct,t[130]=lt);let ut;t[131]===lt?ut=t[132]:(ut=(0,$.jsx)(ee,{className:lt}),t[131]=lt,t[132]=ut);let dt=c?a.advancedHide:a.advancedShow,ft;t[133]!==ot||t[134]!==ut||t[135]!==dt?(ft=(0,$.jsxs)(V,{type:`button`,variant:`ghost`,className:`-ml-2 h-auto justify-start px-2 py-1 text-sm text-fg-muted hover:text-fg`,onClick:ot,children:[ut,dt]}),t[133]=ot,t[134]=ut,t[135]=dt,t[136]=ft):ft=t[136];let pt;t[137]!==a||t[138]!==w||t[139]!==x||t[140]!==T||t[141]!==v||t[142]!==E||t[143]!==R||t[144]!==g||t[145]!==b||t[146]!==c||t[147]!==m?(pt=c?(0,$.jsx)(xt,{tg:R,updateTelegram:m,ch:a,groupOpts:w,replyOpts:T,streamOpts:E,tgAccountsDraft:g,setTgAccountsDraft:v,tgAccountsError:b,onTgAccountsBlur:x}):null,t[137]=a,t[138]=w,t[139]=x,t[140]=T,t[141]=v,t[142]=E,t[143]=R,t[144]=g,t[145]=b,t[146]=c,t[147]=m,t[148]=pt):pt=t[148];let ht;t[149]!==Be||t[150]!==We||t[151]!==Ke||t[152]!==qe||t[153]!==tt||t[154]!==at||t[155]!==ft||t[156]!==pt?(ht=(0,$.jsxs)(`div`,{className:`mt-6 space-y-4`,children:[Be,We,Ke,qe,tt,at,ft,pt]}),t[149]=Be,t[150]=We,t[151]=Ke,t[152]=qe,t[153]=tt,t[154]=at,t[155]=ft,t[156]=pt,t[157]=ht):ht=t[157];let gt;return t[158]!==a.modalCancel||t[159]!==a.telegramSubtitle||t[160]!==a.telegramTitle||t[161]!==r||t[162]!==n||t[163]!==F||t[164]!==ge||t[165]!==ye||t[166]!==we||t[167]!==ht?(gt=(0,$.jsxs)(Le,{presentation:F,open:n,onOpenChange:r,title:de,description:fe,srTitle:pe,srDescription:me,closeAriaLabel:he,wide:!0,headerExtra:ge,footer:ye,children:[we,ht]}),t[158]=a.modalCancel,t[159]=a.telegramSubtitle,t[160]=a.telegramTitle,t[161]=r,t[162]=n,t[163]=F,t[164]=ge,t[165]=ye,t[166]=we,t[167]=ht,t[168]=gt):gt=t[168],gt}function Ct(e){return!e}function wt(e){return!e}function Tt(){return nt(`telegram`)}var Et=[{id:`telegram`,titleKey:`telegramTitle`,subtitleKey:`telegramSubtitle`},{id:`weixin`,titleKey:`weixinTitle`,subtitleKey:`weixinSubtitle`},{id:`feishu`,titleKey:`feishuTitle`,subtitleKey:`feishuSubtitle`}];function Dt(){return o(`/api/channels/meta`)}async function Ot(){return(await g(Dt())).payload?.channels??[]}var kt=new Map(Et.map(e=>[e.id,e])),At=new Map(Et.map((e,t)=>[e.id,t]));function jt(e,t){return{title:t[e.titleKey],subtitle:t[e.subtitleKey]}}function Mt(e,t){let n=new Map;for(let r of e??[]){let e=kt.get(r.id),i=e?jt(e,t):{title:r.label,subtitle:r.description||t.hubExtensionSubtitle};n.set(r.id,{id:r.id,title:i.title,subtitle:i.subtitle,manageable:r.manageable,order:r.order})}if(n.size===0)return Et.map((e,n)=>{let r=jt(e,t);return{id:e.id,title:r.title,subtitle:r.subtitle,manageable:!0,order:n}});for(let e of Et){if(n.has(e.id))continue;let r=jt(e,t);n.set(e.id,{id:e.id,title:r.title,subtitle:r.subtitle,manageable:!0,order:At.get(e.id)??0})}return Array.from(n.values()).sort((e,t)=>e.order===t.order?e.id.localeCompare(t.id):e.order-t.order)}function Nt(e,t){let n=(0,Q.c)(11),r;n[0]===e?r=n[1]:(r=e?Dt():null,n[0]=e,n[1]=r);let i;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(i={revalidateOnFocus:!1},n[2]=i):i=n[2];let{data:a,error:o,isLoading:c,mutate:l}=s(r,Ot,i),u;n[3]!==t||n[4]!==a?(u=Mt(a,t),n[3]=t,n[4]=a,n[5]=u):u=n[5];let d=u,f;return n[6]!==d||n[7]!==o||n[8]!==c||n[9]!==l?(f={entries:d,isLoading:c,error:o,mutate:l},n[6]=d,n[7]=o,n[8]=c,n[9]=l,n[10]=f):f=n[10],f}function Pt(e,t){return e.find(e=>e.name===t)?.connected??!1}function Ft(e,t){return e.find(e=>e.name===t)?.enabled??!1}function It(e,t){let n=e&&typeof e==`object`?e.channels:void 0,r=n&&typeof n==`object`&&!Array.isArray(n)?n[t]:void 0;return!r||typeof r!=`object`?!1:Object.keys(r).length>0}function Lt(e,t,n){return e?t?n?`running`:`offline`:`disabled`:`not_configured`}function Rt(e,t,n){return n?e===`not_configured`?`setup`:t>0?`pairing`:e===`offline`?`fix`:`manage`:`manage`}function zt(e,t){return e.policy.dm[t]}function Bt(e,t){return e.hubSummaryAccountCount.replace(`{{count}}`,String(t))}function Vt(e,t){let n=t.telegram,r=[e.hubSummaryDm.replace(`{{policy}}`,zt(e,n.dmPolicy))],i=Ce(n).length;return i>0&&r.push(Bt(e,i)),r}function Ht(e,t){let n=t.weixin,r=[e.hubSummaryDm.replace(`{{policy}}`,zt(e,n.dmPolicy))];r.push(e.hubSummaryStream.replace(`{{mode}}`,e.policy.stream[n.streamMode]));let i=we(n).length;return i>0&&r.push(Bt(e,i)),r}function Ut(e,t){let n=t.feishu,r=n.connectionMode===`webhook`?e.hubConnectionWebhook:e.hubConnectionWebsocket,i=[e.hubSummaryConnection.replace(`{{mode}}`,r)],a=se(n).length;return a>0&&i.push(Bt(e,a)),i}function Wt(e,t){return t[e]}function Gt(e){let{id:t,form:n,connected:r,pairingSummary:i,ch:a}=e,o=n.telegram,s=n.weixin,c=n.feishu,l=t===`telegram`?K(o):t===`weixin`?G(s):q(c),u=t===`telegram`?o.enabled:t===`weixin`?s.enabled:c.enabled,d=Ye({configured:l,channelEnabled:u,usesPairing:Je(t,t===`telegram`?o:t===`weixin`?s:c),summaryPending:Wt(t,i).pending}),f=Lt(l,u,r);return{id:t,manageable:!0,configured:l,enabled:u,connected:r,status:f,summaryLines:l?t===`telegram`?Vt(a,n):t===`weixin`?Ht(a,n):Ut(a,n):[],pendingPairing:d,primaryAction:Rt(f,d,!0)}}function Kt(e){let{id:t,config:n,statuses:r,ch:i}=e,a=It(n,t),o=Ft(r,t),s=Pt(r,t);return{id:t,manageable:!1,configured:a,enabled:o,connected:s,status:Lt(a,o,s),summaryLines:a?[i.hubExtensionConfiguredHint]:[],pendingPairing:0,primaryAction:`manage`}}function qt(e){return L(e.id)?Gt({id:e.id,form:e.form,connected:Pt(e.statuses,e.id),pairingSummary:e.pairingSummary,ch:e.ch}):Kt({id:e.id,config:e.config,statuses:e.statuses,ch:e.ch})}function Jt(e){return e.catalogIds.map(t=>qt({id:t,form:e.form,config:e.config,statuses:e.statuses,pairingSummary:e.pairingSummary,ch:e.ch}))}var Yt=`channels-status`;function Xt(e){if(!e||typeof e!=`object`)return null;let t=e.channels;return Array.isArray(t)?t:null}function Zt(e){let t=t=>e(t.detail);return window.addEventListener(Yt,t),()=>window.removeEventListener(Yt,t)}function Qt(e,t){let n=(0,Q.c)(4),r=t===void 0?!0:t,i,a;n[0]!==r||n[1]!==e?(i=()=>{if(r)return Zt(e)},a=[r,e],n[0]=r,n[1]=e,n[2]=i,n[3]=a):(i=n[2],a=n[3]),(0,Z.useEffect)(i,a)}var $t={telegram:{pending:0,stale:0,atCapacity:!1},feishu:{pending:0,stale:0,atCapacity:!1},weixin:{pending:0,stale:0,atCapacity:!1}};function en(e){let t=(0,Q.c)(8),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={revalidateOnFocus:!0},t[0]=n):n=t[0];let{data:r,mutate:i,isLoading:a,error:o}=s(e?Qe:null,he,n),c;t[1]===i?c=t[2]:(c=()=>{i()},t[1]=i,t[2]=c);let l=c;et(l,e);let u=r??$t,d;return t[3]!==o||t[4]!==a||t[5]!==l||t[6]!==u?(d={summary:u,isLoading:a,error:o,refresh:l},t[3]=o,t[4]=a,t[5]=l,t[6]=u,t[7]=d):d=t[7],d}var tn=3e4;function nn(e){let t=(0,Q.c)(25),{hasToken:n,form:r,ch:i}=e,{data:a,mutate:o}=A(n),{entries:c,mutate:l}=Nt(n,i),u;t[0]===n?u=t[1]:(u=n?X():null,t[0]=n,t[1]=u);let d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d={revalidateOnFocus:!0,refreshInterval:tn},t[2]=d):d=t[2];let{data:f,mutate:p}=s(u,_e,d),m;t[3]===f?m=t[4]:(m=f===void 0?[]:f,t[3]=f,t[4]=m);let h=m,g;t[5]===p?g=t[6]:(g=e=>{let t=Xt(e);if(t){p(t,{revalidate:!1});return}p()},t[5]=p,t[6]=g),Qt(g,n);let{summary:_,refresh:v}=en(n),y;t[7]===c?y=t[8]:(y=c.map(rn),t[7]=c,t[8]=y);let b=y,x=a?.payload?.config,S;bb0:{if(!r||b.length===0){let e;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[9]=e):e=t[9],S=e;break bb0}let e;t[10]!==b||t[11]!==i||t[12]!==x||t[13]!==r||t[14]!==_||t[15]!==h?(e=Jt({catalogIds:b,form:r,config:x,statuses:h,pairingSummary:_,ch:i}),t[10]=b,t[11]=i,t[12]=x,t[13]=r,t[14]=_,t[15]=h,t[16]=e):e=t[16],S=e}let C=S,w;t[17]!==l||t[18]!==o||t[19]!==p||t[20]!==v?(w=()=>{p(),l(),o(),v()},t[17]=l,t[18]=o,t[19]=p,t[20]=v,t[21]=w):w=t[21];let T=w,E;return t[22]!==C||t[23]!==T?(E={cards:C,refreshAll:T},t[22]=C,t[23]=T,t[24]=E):E=t[24],E}function rn(e){return e.id}var an={form:null,baseline:null,tgAccountsDraft:``,tgAccountsError:``,wxAccountsDraft:``,wxAccountsError:``,feishuAccountsDraft:``,feishuAccountsError:``};function on(e){return{tgAccountsDraft:JSON.stringify(e.telegram.accounts??{},null,2),tgAccountsError:``,wxAccountsDraft:JSON.stringify(e.weixin.accounts??{},null,2),wxAccountsError:``,feishuAccountsDraft:JSON.stringify(e.feishu?.accounts??{},null,2),feishuAccountsError:``}}function sn(e,t){switch(t.type){case`reset`:return an;case`load`:{let e=structuredClone(t.payload);return{form:e,baseline:structuredClone(e),...on(e)}}case`commitSaved`:{let e=structuredClone(t.payload);return{form:e,baseline:structuredClone(e),...on(e)}}case`discard`:{if(!e.baseline)return e;let t=structuredClone(e.baseline);return{form:t,baseline:e.baseline,...on(t)}}case`updateTelegram`:return e.form?{...e,form:{...e.form,telegram:{...e.form.telegram,...t.patch}}}:e;case`updateWeixin`:return e.form?{...e,form:{...e.form,weixin:{...e.form.weixin,...t.patch}}}:e;case`updateFeishu`:return e.form?{...e,form:{...e.form,feishu:{...e.form.feishu,...t.patch}}}:e;case`updateChannelAgentRoute`:{if(!e.form)return e;let n=t.channel===`telegram`?`telegram`:t.channel===`weixin`?`weixin`:`feishu`;return{...e,form:{...e.form,channelAgentRoutes:{...e.form.channelAgentRoutes,[n]:{...e.form.channelAgentRoutes[n],[t.accountId]:t.agentId.trim().toLowerCase()}}}}}case`setTgAccountsDraft`:return{...e,tgAccountsDraft:t.value};case`setWxAccountsDraft`:return{...e,wxAccountsDraft:t.value};case`setFeishuAccountsDraft`:return{...e,feishuAccountsDraft:t.value};case`setTgAccountsError`:return{...e,tgAccountsError:t.value};case`setWxAccountsError`:return{...e,wxAccountsError:t.value};case`setFeishuAccountsError`:return{...e,feishuAccountsError:t.value};case`applyTgAccounts`:return e.form?{...e,form:{...e.form,telegram:{...e.form.telegram,accounts:t.accounts}},tgAccountsError:``}:e;case`applyWxAccounts`:return e.form?{...e,form:{...e.form,weixin:{...e.form.weixin,accounts:t.accounts}},wxAccountsError:``}:e;case`applyFeishuAccounts`:return e.form?{...e,form:{...e.form,feishu:{...e.form.feishu,accounts:t.accounts}},feishuAccountsError:``}:e;case`restoreForm`:return{...e,form:structuredClone(t.payload)}}}function cn(){let e=i(e=>e.language),t=a(e),n=t.channelsSettings,r=!!h(e=>e.token),o=(0,Z.useRef)(!1),[c,l]=(0,Z.useReducer)(sn,an),[u,d]=(0,Z.useState)({hasToken:r,parsed:null}),[f,p]=(0,Z.useState)(!1),[m,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)(null),[S,C]=(0,Z.useState)(null),[w,T]=(0,Z.useState)(!1),[E,D]=(0,Z.useState)(!1),[O,k]=(0,Z.useState)(!1),[j,M]=(0,Z.useState)(!1),[N,P]=(0,Z.useState)(!1),[F,I]=(0,Z.useState)(!1),[L,z]=(0,Z.useState)(!1),{data:ee}=s(r?`gateway-chat-agents-ch`:null,R,{revalidateOnFocus:!1}),{data:B,error:V,isLoading:H,mutate:U}=A(r),te=(0,Z.useMemo)(()=>B?.payload?.config===void 0?null:ge(B.payload.config),[B]);(r!==u.hasToken||te!==u.parsed)&&(d({hasToken:r,parsed:te}),r?te!==null&&!o.current&&(l({type:`load`,payload:te}),v(!1)):(o.current=!1,l({type:`reset`}),v(!1)));let{form:W,baseline:G,tgAccountsDraft:K,tgAccountsError:re,wxAccountsDraft:q,wxAccountsError:ie,feishuAccountsDraft:J,feishuAccountsError:Y}=c,ae=(0,Z.useMemo)(()=>!W||!G?!1:JSON.stringify(W)!==JSON.stringify(G),[W,G]),oe=!!(r&&H&&B===void 0&&!V),se=V instanceof Error?V.message:V?String(V):null,ce=(0,Z.useCallback)((e,t,n)=>{o.current=!0,l({type:`updateChannelAgentRoute`,channel:e,accountId:t,agentId:n})},[]),le=(0,Z.useCallback)(e=>{o.current=!0,l({type:`updateTelegram`,patch:e})},[]),ue=(0,Z.useCallback)(e=>{o.current=!0,l({type:`updateWeixin`,patch:e})},[]),de=(0,Z.useCallback)(e=>{o.current=!0,l({type:`updateFeishu`,patch:e})},[]),fe=(0,Z.useCallback)(async()=>{if(!W||f)return!1;p(!0),g(null),v(!1);try{let e=await pe(W);return o.current=!1,l({type:`commitSaved`,payload:e}),v(!0),window.setTimeout(()=>v(!1),2500),!0}catch(e){return g(e instanceof Error?e.message:n.saveError),!1}finally{p(!1)}},[W,f,n.saveError]),me=(0,Z.useCallback)(()=>{G&&(o.current=!1,l({type:`discard`}),g(null),v(!1))},[G]),he=(0,Z.useCallback)(async(e,t)=>{if(!W||f)return;let r=W,i=e===`weixin`?{...W,weixin:{...W.weixin,enabled:t}}:e===`telegram`?{...W,telegram:{...W.telegram,enabled:t}}:{...W,feishu:{...W.feishu,enabled:t}};o.current=!0,l(e===`weixin`?{type:`updateWeixin`,patch:{enabled:t}}:e===`telegram`?{type:`updateTelegram`,patch:{enabled:t}}:{type:`updateFeishu`,patch:{enabled:t}}),p(!0),g(null);try{let e=await pe(i);o.current=!1,l({type:`commitSaved`,payload:e})}catch(e){g(e instanceof Error?e.message:n.saveError),o.current=!0,l({type:`restoreForm`,payload:r})}finally{p(!1)}},[W,f,n.saveError]),_e=(0,Z.useCallback)(async()=>{let e=W?ne(W.telegram):``;e&&await x(e)&&(P(!0),window.setTimeout(()=>P(!1),2e3))},[W]),ve=(0,Z.useCallback)(e=>{de({appId:e.appId,domain:e.domain,enabled:!0}),U(),C(n.feishuQrSetupSuccess),window.setTimeout(()=>C(null),4e3)},[de,U,n.feishuQrSetupSuccess]),ye=(0,Z.useCallback)(async()=>{let e=W?.feishu?.appSecret;e&&await x(e)&&(I(!0),window.setTimeout(()=>I(!1),2e3))},[W]),be=(0,Z.useCallback)(async()=>{let e=W?.feishu;if(!e)return;let t={connectionMode:e.connectionMode,verificationToken:e.verificationToken||``,encryptKey:e.encryptKey||``,webhookHost:e.webhookHost||``,webhookPort:e.webhookPort||0,webhookPath:e.webhookPath||``};await x(JSON.stringify(t,null,2))&&(z(!0),window.setTimeout(()=>z(!1),2e3))},[W]);return{language:e,m:t,ch:n,hasToken:r,loading:oe,fetchError:se,mutate:U,form:W,baseline:G,dirty:ae,saving:f,error:m,saveOk:_,weixinSuccessBanner:y,setWeixinSuccessBanner:b,feishuSetupSuccessBanner:S,tgAdvanced:w,setTgAdvanced:T,showToken:E,setShowToken:D,showFeishuSecret:O,setShowFeishuSecret:k,showFeishuWebhookSecrets:j,setShowFeishuWebhookSecrets:M,copied:N,feishuCopied:F,feishuWebhookCopied:L,tgAccountsDraft:K,setTgAccountsDraft:(0,Z.useCallback)(e=>{l({type:`setTgAccountsDraft`,value:e})},[]),tgAccountsError:re,wxAccountsDraft:q,setWxAccountsDraft:(0,Z.useCallback)(e=>{l({type:`setWxAccountsDraft`,value:e})},[]),wxAccountsError:ie,feishuAccountsDraft:J,setFeishuAccountsDraft:(0,Z.useCallback)(e=>{l({type:`setFeishuAccountsDraft`,value:e})},[]),feishuAccountsError:Y,chatAgents:ee,updateChannelAgentRoute:ce,updateTelegram:le,updateWeixin:ue,updateFeishu:de,save:fe,discard:me,toggleChannelEnabled:he,copyToken:_e,handleFeishuQrSetupSuccess:ve,copyFeishuSecret:ye,copyFeishuWebhookConfig:be,onTgAccountsBlur:(0,Z.useCallback)(()=>{if(!W)return;let e=K.trim();if(!e){o.current=!0,l({type:`applyTgAccounts`,accounts:{}});return}try{let t=JSON.parse(e);if(typeof t!=`object`||!t||Array.isArray(t))throw Error(n.jsonObjectAccounts);o.current=!0,l({type:`applyTgAccounts`,accounts:t})}catch(e){l({type:`setTgAccountsError`,value:e instanceof Error?e.message:n.jsonInvalid})}},[W,K,n.jsonObjectAccounts,n.jsonInvalid]),onWxAccountsBlur:(0,Z.useCallback)(()=>{if(!W)return;let e=q.trim();if(!e){o.current=!0,l({type:`applyWxAccounts`,accounts:{}});return}try{let t=JSON.parse(e);if(typeof t!=`object`||!t||Array.isArray(t))throw Error(n.jsonObjectAccounts);o.current=!0,l({type:`applyWxAccounts`,accounts:t})}catch(e){l({type:`setWxAccountsError`,value:e instanceof Error?e.message:n.jsonInvalid})}},[W,q,n.jsonObjectAccounts,n.jsonInvalid]),onFeishuAccountsBlur:(0,Z.useCallback)(()=>{if(!W)return;let e=J.trim();if(!e){o.current=!0,l({type:`applyFeishuAccounts`,accounts:{}});return}try{let t=JSON.parse(e);if(typeof t!=`object`||!t||Array.isArray(t))throw Error(n.jsonObjectAccounts);o.current=!0,l({type:`applyFeishuAccounts`,accounts:t})}catch(e){l({type:`setFeishuAccountsError`,value:e instanceof Error?e.message:n.jsonInvalid})}},[W,J,n.jsonObjectAccounts,n.jsonInvalid]),dmOpts:(0,Z.useMemo)(()=>[`pairing`,`allowlist`,`open`,`disabled`].map(e=>({value:e,label:n.policy.dm[e]})),[n.policy.dm]),groupOpts:(0,Z.useMemo)(()=>[`open`,`disabled`,`allowlist`].map(e=>({value:e,label:n.policy.group[e]})),[n.policy.group]),replyOpts:(0,Z.useMemo)(()=>[`off`,`first`,`all`].map(e=>({value:e,label:n.policy.reply[e]})),[n.policy.reply]),streamOpts:(0,Z.useMemo)(()=>[`off`,`partial`,`block`].map(e=>({value:e,label:n.policy.stream[e]})),[n.policy.stream])}}var ln={width:208,margin:2,errorCorrectionLevel:`M`,color:{dark:`#000000ff`,light:`#ffffffff`}},un={sessionKey:null,qrcodeUrl:null};function dn({ch:e,onLoginSuccess:t,onOpenChange:n,closeOnLoginSuccess:r,moreSettings:i}){let[a,o]=(0,Z.useState)(0),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),d=(0,Z.useRef)(t),f=(0,Z.useRef)(n);d.current=t,f.current=n;let p=C(()=>de().then(e=>({sessionKey:e.sessionKey,qrcodeUrl:e.qrcodeUrl})),[a],{initial:un,errorData:un}),m=p.data.sessionKey,h=p.data.qrcodeUrl,g=p.loading,_=p.error instanceof Error?p.error.message:p.error?String(p.error):null,v=l??_,y=(0,Z.useCallback)(()=>{u(null),c(null),o(e=>e+1)},[]);(0,Z.useEffect)(()=>{if(!m)return;let t=!1,n,i=async()=>{try{let i=await ye(m);if(t)return;if(i.phase===`polling`){p.setData(e=>({...e,qrcodeUrl:i.qrcodeUrl})),c(i.qrStatus===`scaned`?e.weixinQrLoginScanned:null);return}if(i.phase===`done`){n!==void 0&&(window.clearInterval(n),n=void 0),p.setData(un),i.ok?(r&&f.current(!1),await d.current()):u(i.message);return}i.phase===`unknown`&&c(null)}catch(e){t||(n!==void 0&&window.clearInterval(n),u(e instanceof Error?e.message:`Request failed`),p.setData(un))}};return n=window.setInterval(()=>void i(),2e3),i(),()=>{t=!0,n!==void 0&&window.clearInterval(n)}},[m,e.weixinQrLoginScanned,r,p.setData]);let b=C(()=>pt.toDataURL(h,ln),[h],{enabled:!!h,initial:null,errorData:null}),x=b.data,S=b.error!==null&&!b.loading,w=!!(h&&m),T=!v&&!w;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`text-center`,children:[(0,$.jsx)(`p`,{className:`text-base font-semibold tracking-tight text-fg`,children:e.weixinQrModalTitle}),(0,$.jsx)(`p`,{className:`mt-1.5 text-sm text-fg-muted`,children:e.weixinQrModalSubtitle})]}),(0,$.jsxs)(`div`,{className:`mt-6 flex min-h-[17.5rem] flex-col items-center justify-center gap-3`,children:[v?(0,$.jsx)(`p`,{className:`text-center text-sm text-red-600 dark:text-red-400`,children:v}):null,!v&&(w||T)?(0,$.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-3`,children:[(0,$.jsx)(`p`,{className:z(`min-h-[1.25rem] text-center text-sm`,s&&!T?`text-accent`:`text-fg-muted`),children:T?e.weixinQrLoginBusy:s??`\xA0`}),(0,$.jsxs)(`div`,{className:z(`relative flex size-52 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-edge-subtle bg-white p-3 dark:border-edge`,T&&`bg-surface-muted/40 dark:bg-surface-base`),children:[T?(0,$.jsx)(`div`,{className:`absolute inset-3 animate-pulse rounded-md bg-surface-muted dark:bg-surface-hover`,"aria-hidden":!0}):null,w&&h&&!v&&x&&!S?(0,$.jsx)(`img`,{src:x,alt:``,className:`relative z-[1] size-full object-contain`}):null,w&&h&&!v&&!x&&!S&&!T?(0,$.jsx)(`p`,{className:`relative z-[1] px-2 text-center text-sm text-fg-muted`,children:e.weixinQrEncoding}):null,w&&h&&!v&&S?(0,$.jsxs)(`div`,{className:`relative z-[1] flex size-full flex-col items-center justify-center gap-2 px-1`,children:[(0,$.jsx)(`p`,{className:`text-center text-xs text-fg-muted`,children:e.weixinQrImageError}),(0,$.jsxs)(`a`,{href:h,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 text-xs text-accent underline-offset-2 hover:underline`,children:[(0,$.jsx)(D,{className:`size-3 shrink-0`}),e.weixinQrOpenLink]})]}):null]})]}):null]}),(0,$.jsx)(`div`,{className:`mt-6`,children:(0,$.jsx)(V,{type:`button`,variant:`secondary`,className:`h-11 w-full rounded-full border-0 bg-fg text-surface-panel hover:opacity-90 dark:bg-fg dark:text-surface-panel`,disabled:g,onClick:y,children:g?e.weixinQrLoginBusy:e.weixinQrRegenerate})}),i?(0,$.jsx)(`div`,{className:`mt-6 border-t border-edge-subtle pt-4 dark:border-edge-subtle`,children:i}):null]})}function fn(e){let t=(0,Q.c)(26),{open:n,onOpenChange:r,ch:i,onLoginSuccess:a,moreSettings:o,settingsDirty:s,settingsSaving:c,onSettingsDiscard:l,onSettingsSave:u,presentation:d,closeOnLoginSuccess:f}=e,p=s===void 0?!1:s,m=c===void 0?!1:c,h=d===void 0?`modal`:d,g=f===void 0?!0:f,_;t[0]!==i||t[1]!==o||t[2]!==r||t[3]!==l||t[4]!==u||t[5]!==p||t[6]!==m?(_=o&&l&&u?(0,$.jsx)(mt,{ch:i,dirty:p,saving:m,showCancel:!1,onCancel:()=>r(!1),onDiscard:l,onSave:u}):void 0,t[0]=i,t[1]=o,t[2]=r,t[3]=l,t[4]=u,t[5]=p,t[6]=m,t[7]=_):_=t[7];let v;t[8]!==i||t[9]!==g||t[10]!==o||t[11]!==a||t[12]!==r||t[13]!==n?(v=n?(0,$.jsx)(dn,{ch:i,onLoginSuccess:a,onOpenChange:r,closeOnLoginSuccess:g,moreSettings:o},`active`):null,t[8]=i,t[9]=g,t[10]=o,t[11]=a,t[12]=r,t[13]=n,t[14]=v):v=t[14];let y;return t[15]!==i.weixinQrModalCloseAria||t[16]!==i.weixinQrModalSubtitle||t[17]!==i.weixinQrModalTitle||t[18]!==i.weixinSubtitle||t[19]!==i.weixinTitle||t[20]!==r||t[21]!==n||t[22]!==h||t[23]!==_||t[24]!==v?(y=(0,$.jsx)(Le,{presentation:h,open:n,onOpenChange:r,title:i.weixinTitle,description:i.weixinSubtitle,srTitle:i.weixinQrModalTitle,srDescription:i.weixinQrModalSubtitle,closeAriaLabel:i.weixinQrModalCloseAria,wide:!0,footer:_,children:v}),t[15]=i.weixinQrModalCloseAria,t[16]=i.weixinQrModalSubtitle,t[17]=i.weixinQrModalTitle,t[18]=i.weixinSubtitle,t[19]=i.weixinTitle,t[20]=r,t[21]=n,t[22]=h,t[23]=_,t[24]=v,t[25]=y):y=t[25],y}function pn(e){let t=(0,Q.c)(108),{wx:n,updateWeixin:r,ch:i,streamOpts:a,wxAccountsDraft:o,setWxAccountsDraft:s,wxAccountsError:c,onWxAccountsBlur:l,channelAgentRoutesWx:u,defaultAgentId:d,agentItems:f,onAgentRouteChange:p,routingDisabled:m}=e,h;t[0]===i.weixinAllowFrom?h=t[1]:(h=(0,$.jsx)(Y,{children:i.weixinAllowFrom}),t[0]=i.weixinAllowFrom,t[1]=h);let g;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g=z(J(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[2]=g):g=t[2];let _;t[3]===n.allowFrom?_=t[4]:(_=n.allowFrom.join(`, `),t[3]=n.allowFrom,t[4]=_);let v;t[5]===r?v=t[6]:(v=e=>r({allowFrom:e.target.value.split(/[,\n]/).flatMap(mn)}),t[5]=r,t[6]=v);let y;t[7]!==_||t[8]!==v?(y=(0,$.jsx)(`textarea`,{className:g,rows:2,placeholder:`wxid_..., openid_...`,value:_,onChange:v}),t[7]=_,t[8]=v,t[9]=y):y=t[9];let b;t[10]===i.weixinAllowFromDesc?b=t[11]:(b=(0,$.jsx)(oe,{children:i.weixinAllowFromDesc}),t[10]=i.weixinAllowFromDesc,t[11]=b);let x;t[12]!==h||t[13]!==y||t[14]!==b?(x=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[h,y,b]}),t[12]=h,t[13]=y,t[14]=b,t[15]=x):x=t[15];let S;t[16]===r?S=t[17]:(S=e=>r({streamMode:e}),t[16]=r,t[17]=S);let C;t[18]!==i.streamMode||t[19]!==a||t[20]!==S||t[21]!==n.streamMode?(C=(0,$.jsx)(ae,{label:i.streamMode,value:n.streamMode,onChange:S,options:a}),t[18]=i.streamMode,t[19]=a,t[20]=S,t[21]=n.streamMode,t[22]=C):C=t[22];let w;t[23]===i.historyLimit?w=t[24]:(w=(0,$.jsx)(Y,{children:i.historyLimit}),t[23]=i.historyLimit,t[24]=w);let T;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(T=J(),t[25]=T):T=t[25];let E;t[26]===r?E=t[27]:(E=e=>r({historyLimit:parseInt(e.target.value,10)||50}),t[26]=r,t[27]=E);let D;t[28]!==E||t[29]!==n.historyLimit?(D=(0,$.jsx)(`input`,{type:`number`,min:10,max:200,className:T,value:n.historyLimit,onChange:E}),t[28]=E,t[29]=n.historyLimit,t[30]=D):D=t[30];let O;t[31]!==w||t[32]!==D?(O=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[w,D]}),t[31]=w,t[32]=D,t[33]=O):O=t[33];let k;t[34]===i.textChunkLimit?k=t[35]:(k=(0,$.jsx)(Y,{children:i.textChunkLimit}),t[34]=i.textChunkLimit,t[35]=k);let A;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(A=J(),t[36]=A):A=t[36];let j;t[37]===r?j=t[38]:(j=e=>r({textChunkLimit:parseInt(e.target.value,10)||4e3}),t[37]=r,t[38]=j);let M;t[39]!==j||t[40]!==n.textChunkLimit?(M=(0,$.jsx)(`input`,{type:`number`,min:1e3,max:1e4,step:100,className:A,value:n.textChunkLimit,onChange:j}),t[39]=j,t[40]=n.textChunkLimit,t[41]=M):M=t[41];let N;t[42]!==k||t[43]!==M?(N=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[k,M]}),t[42]=k,t[43]=M,t[44]=N):N=t[44];let P;t[45]!==O||t[46]!==N?(P=(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[O,N]}),t[45]=O,t[46]=N,t[47]=P):P=t[47];let F;t[48]===i.weixinRouteTag?F=t[49]:(F=(0,$.jsx)(Y,{children:i.weixinRouteTag}),t[48]=i.weixinRouteTag,t[49]=F);let I;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(I=J(),t[50]=I):I=t[50];let L;t[51]===r?L=t[52]:(L=e=>r({routeTag:e.target.value}),t[51]=r,t[52]=L);let R;t[53]!==i.routeTagPlaceholder||t[54]!==L||t[55]!==n.routeTag?(R=(0,$.jsx)(`input`,{className:I,value:n.routeTag,onChange:L,placeholder:i.routeTagPlaceholder}),t[53]=i.routeTagPlaceholder,t[54]=L,t[55]=n.routeTag,t[56]=R):R=t[56];let ee;t[57]===i.weixinRouteTagDesc?ee=t[58]:(ee=(0,$.jsx)(oe,{children:i.weixinRouteTagDesc}),t[57]=i.weixinRouteTagDesc,t[58]=ee);let B;t[59]!==F||t[60]!==R||t[61]!==ee?(B=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[F,R,ee]}),t[59]=F,t[60]=R,t[61]=ee,t[62]=B):B=t[62];let V;t[63]===r?V=t[64]:(V=e=>r({debug:e.target.checked}),t[63]=r,t[64]=V);let H;t[65]!==V||t[66]!==n.debug?(H=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:n.debug,onChange:V}),t[65]=V,t[66]=n.debug,t[67]=H):H=t[67];let U;t[68]!==i.weixinDebug||t[69]!==H?(U=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[H,i.weixinDebug]}),t[68]=i.weixinDebug,t[69]=H,t[70]=U):U=t[70];let te;t[71]===i.weixinDebugDesc?te=t[72]:(te=(0,$.jsx)(oe,{children:i.weixinDebugDesc}),t[71]=i.weixinDebugDesc,t[72]=te);let W;t[73]===i.weixinAccountsJson?W=t[74]:(W=(0,$.jsx)(Y,{children:i.weixinAccountsJson}),t[73]=i.weixinAccountsJson,t[74]=W);let G;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(G=z(J(),`min-h-[140px] resize-y font-mono text-xs`),t[75]=G):G=t[75];let ne;t[76]===s?ne=t[77]:(ne=e=>s(e.target.value),t[76]=s,t[77]=ne);let K;t[78]!==l||t[79]!==ne||t[80]!==o?(K=(0,$.jsx)(`textarea`,{className:G,spellCheck:!1,value:o,onChange:ne,onBlur:l,placeholder:`{ "personal": { "name": "...", "cdnBaseUrl": "...", "enabled": true } }`}),t[78]=l,t[79]=ne,t[80]=o,t[81]=K):K=t[81];let re;t[82]!==i.weixinAccountsJsonDesc||t[83]!==c?(re=c?(0,$.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:c}):(0,$.jsx)(oe,{children:i.weixinAccountsJsonDesc}),t[82]=i.weixinAccountsJsonDesc,t[83]=c,t[84]=re):re=t[84];let q;t[85]!==W||t[86]!==K||t[87]!==re?(q=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[W,K,re]}),t[85]=W,t[86]=K,t[87]=re,t[88]=q):q=t[88];let ie;t[89]===n?ie=t[90]:(ie=we(n),t[89]=n,t[90]=ie);let se;t[91]!==f||t[92]!==i||t[93]!==u||t[94]!==d||t[95]!==p||t[96]!==m||t[97]!==ie?(se=(0,$.jsx)(Ve,{accountIds:ie,routes:u,defaultAgentId:d,agentItems:f,disabled:m,onChange:p,ch:i}),t[91]=f,t[92]=i,t[93]=u,t[94]=d,t[95]=p,t[96]=m,t[97]=ie,t[98]=se):se=t[98];let ce;return t[99]!==P||t[100]!==B||t[101]!==U||t[102]!==te||t[103]!==q||t[104]!==se||t[105]!==x||t[106]!==C?(ce=(0,$.jsxs)(`div`,{className:`space-y-4 border-t border-edge-subtle pt-4 dark:border-edge`,children:[x,C,P,B,U,te,q,se]}),t[99]=P,t[100]=B,t[101]=U,t[102]=te,t[103]=q,t[104]=se,t[105]=x,t[106]=C,t[107]=ce):ce=t[107],ce}function mn(e){let t=e.trim();return t?[t]:[]}function hn(e){let t=(0,Q.c)(60),{ch:n,wx:r,updateWeixin:i,dmOpts:a,streamOpts:o,wxAccountsDraft:s,setWxAccountsDraft:c,wxAccountsError:l,onWxAccountsBlur:u,form:d,chatAgents:f,onAgentRouteChange:p,saving:m,language:h,dialogOpen:g,pairingFocus:_}=e,v=_===void 0?!1:_,y;t[0]===r?y=t[1]:(y=we(r),t[0]=r,t[1]=y);let b=y,x;t[2]===b?x=t[3]:(x=b.length>0?b:[`default`],t[2]=b,t[3]=x);let S=x,C=(0,Z.useRef)(null),w,T;t[4]===v?(w=t[5],T=t[6]):(w=()=>{if(!v)return;let e=C.current;e&&(e.open=!0);let t=window.setTimeout(gn,80);return()=>window.clearTimeout(t)},T=[v],t[4]=v,t[5]=w,t[6]=T),(0,Z.useEffect)(w,T);let E;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(ee,{className:`size-4 shrink-0 text-fg-muted transition-transform group-open:rotate-180`}),t[7]=E):E=t[7];let D;t[8]===n.advancedShow?D=t[9]:(D=(0,$.jsx)(`summary`,{className:`cursor-pointer list-none rounded-xl px-3 py-2.5 text-sm font-medium text-fg transition-colors hover:bg-surface-hover group-open:rounded-b-none [&::-webkit-details-marker]:hidden`,children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[E,n.advancedShow]})}),t[8]=n.advancedShow,t[9]=D);let O;t[10]===n.weixinAdvancedHint?O=t[11]:(O=(0,$.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:n.weixinAdvancedHint}),t[10]=n.weixinAdvancedHint,t[11]=O);let k;t[12]===i?k=t[13]:(k=e=>i({enabled:e.target.checked}),t[12]=i,t[13]=k);let A;t[14]!==k||t[15]!==r.enabled?(A=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:r.enabled,onChange:k}),t[14]=k,t[15]=r.enabled,t[16]=A):A=t[16];let j;t[17]===n.enableWeixinAria?j=t[18]:(j=(0,$.jsx)(`span`,{children:n.enableWeixinAria}),t[17]=n.enableWeixinAria,t[18]=j);let M;t[19]!==A||t[20]!==j?(M=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[A,j]}),t[19]=A,t[20]=j,t[21]=M):M=t[21];let N;t[22]===i?N=t[23]:(N=e=>i({dmPolicy:e}),t[22]=i,t[23]=N);let P;t[24]!==n.dmPolicy||t[25]!==a||t[26]!==N||t[27]!==r.dmPolicy?(P=(0,$.jsx)(ae,{label:n.dmPolicy,value:r.dmPolicy,onChange:N,options:a}),t[24]=n.dmPolicy,t[25]=a,t[26]=N,t[27]=r.dmPolicy,t[28]=P):P=t[28];let F;t[29]!==n||t[30]!==g||t[31]!==h||t[32]!==S||t[33]!==r?(F=(0,$.jsx)(st,{channel:`weixin`,accountIds:S,channelConfig:r,active:g,ch:n,language:h}),t[29]=n,t[30]=g,t[31]=h,t[32]=S,t[33]=r,t[34]=F):F=t[34];let I;t[35]===f?.items?I=t[36]:(I=f?.items??[],t[35]=f?.items,t[36]=I);let L;t[37]!==n||t[38]!==d.channelAgentRoutes.weixin||t[39]!==d.defaultAgentId||t[40]!==p||t[41]!==u||t[42]!==m||t[43]!==c||t[44]!==o||t[45]!==I||t[46]!==i||t[47]!==r||t[48]!==s||t[49]!==l?(L=(0,$.jsx)(`div`,{className:`[&>div]:border-0 [&>div]:pt-0`,children:(0,$.jsx)(pn,{wx:r,updateWeixin:i,ch:n,streamOpts:o,wxAccountsDraft:s,setWxAccountsDraft:c,wxAccountsError:l,onWxAccountsBlur:u,channelAgentRoutesWx:d.channelAgentRoutes.weixin,defaultAgentId:d.defaultAgentId,agentItems:I,onAgentRouteChange:p,routingDisabled:m})}),t[37]=n,t[38]=d.channelAgentRoutes.weixin,t[39]=d.defaultAgentId,t[40]=p,t[41]=u,t[42]=m,t[43]=c,t[44]=o,t[45]=I,t[46]=i,t[47]=r,t[48]=s,t[49]=l,t[50]=L):L=t[50];let R;t[51]!==M||t[52]!==P||t[53]!==F||t[54]!==L||t[55]!==O?(R=(0,$.jsxs)(`div`,{className:`space-y-4 border-t border-edge-subtle px-3 pb-3 pt-3 dark:border-edge-subtle`,children:[O,M,P,F,L]}),t[51]=M,t[52]=P,t[53]=F,t[54]=L,t[55]=O,t[56]=R):R=t[56];let z;return t[57]!==R||t[58]!==D?(z=(0,$.jsxs)(`details`,{ref:C,className:`group rounded-xl border border-edge-subtle bg-surface-base open:pb-3 dark:border-edge`,children:[D,R]}),t[57]=R,t[58]=D,t[59]=z):z=t[59],z}function gn(){return nt(`weixin`)}function _n(){let e=I(),{channelId:t}=H(),[n]=M(),{language:r,m:i,ch:a,hasToken:o,loading:s,fetchError:c,mutate:l,form:u,baseline:d,dirty:f,saving:p,error:m,saveOk:h,weixinSuccessBanner:g,setWeixinSuccessBanner:_,feishuSetupSuccessBanner:v,tgAdvanced:y,setTgAdvanced:b,showToken:x,setShowToken:S,showFeishuSecret:C,setShowFeishuSecret:w,showFeishuWebhookSecrets:T,setShowFeishuWebhookSecrets:E,copied:k,feishuCopied:A,feishuWebhookCopied:N,tgAccountsDraft:P,setTgAccountsDraft:F,tgAccountsError:R,wxAccountsDraft:z,setWxAccountsDraft:ee,wxAccountsError:te,feishuAccountsDraft:W,setFeishuAccountsDraft:G,feishuAccountsError:ne,chatAgents:K,updateChannelAgentRoute:re,updateTelegram:q,updateWeixin:ie,updateFeishu:J,save:Y,discard:ae,toggleChannelEnabled:oe,copyToken:se,handleFeishuQrSetupSuccess:ce,copyFeishuSecret:le,copyFeishuWebhookConfig:ue,onTgAccountsBlur:de,onWxAccountsBlur:fe,onFeishuAccountsBlur:pe,dmOpts:me,groupOpts:he,replyOpts:ge,streamOpts:_e}=cn(),[ve,ye]=(0,Z.useState)(!1),{entries:be}=Nt(o,a),xe=(0,Z.useMemo)(()=>new Map(be.map(e=>[e.id,e])),[be]),X=U(t),Se=n.get(`pairing`)===`1`,Ce=!!(X&&xe.has(X)),{cards:we,refreshAll:Q}=nn({hasToken:o,form:u,ch:a}),Te=X?xe.get(X):void 0,Ee=X?we.find(e=>e.id===X):void 0;(0,Z.useEffect)(()=>{!X||be.length===0||xe.has(X)||e(B,{replace:!0})},[X,xe,be.length,e]);let De=(0,Z.useCallback)((t,n)=>{e(j(t,{pairing:n?.scrollToPairing}))},[e]),Oe=(0,Z.useCallback)(()=>{e(B)},[e]),ke=(0,Z.useCallback)(e=>{e||Oe()},[Oe]),je=(0,Z.useCallback)(async()=>{await l(),_(a.weixinQrLoginSuccess),window.setTimeout(()=>_(null),4e3)},[a.weixinQrLoginSuccess,l,_]),Me=(0,Z.useCallback)(async()=>{ye(!0);try{Q(),await l()}finally{ye(!1)}},[l,Q]);if(!o)return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vn,{hasToken:o,ch:a,refreshing:ve,saveOk:h,onRefresh:Me}),(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:[(0,$.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:i.settingsSections.channels}),(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:a.needToken})]})]});if(s)return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vn,{hasToken:o,ch:a,refreshing:ve,saveOk:h,onRefresh:Me}),(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-6 px-4 py-6`,children:[(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`div`,{className:`h-7 w-40 animate-pulse rounded-md bg-surface-hover motion-reduce:animate-none dark:bg-surface-active/50`}),(0,$.jsx)(`div`,{className:`h-4 w-full max-w-md animate-pulse rounded-md bg-surface-hover motion-reduce:animate-none dark:bg-surface-active/50`})]}),(0,$.jsx)(Pe,{}),(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:a.loading})]})]});if(!u)return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vn,{hasToken:o,ch:a,refreshing:ve,saveOk:h,onRefresh:Me}),(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:[(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:m??c??a.loadError}),(0,$.jsx)(V,{type:`button`,variant:`secondary`,onClick:()=>void l(),children:a.retry})]})]});let Ne=u.weixin,Fe=Se&&X===`weixin`,Ie=Se&&X===`feishu`,Le=(0,$.jsx)(hn,{ch:a,wx:Ne,updateWeixin:ie,dmOpts:me,streamOpts:_e,wxAccountsDraft:z,setWxAccountsDraft:ee,wxAccountsError:te,onWxAccountsBlur:fe,form:u,chatAgents:K,onAgentRouteChange:(e,t)=>re(`weixin`,e,t),saving:p,language:r,dialogOpen:Ce&&X===`weixin`,pairingFocus:Fe}),Re=(0,$.jsx)(ct,{ch:a,form:u,baseline:d,showFeishuSecret:C,setShowFeishuSecret:w,showFeishuWebhookSecrets:T,setShowFeishuWebhookSecrets:E,feishuCopied:A,feishuWebhookCopied:N,copyFeishuSecret:le,copyFeishuWebhookConfig:ue,updateFeishu:J,updateChannelAgentRoute:re,feishuAccountsDraft:W,setFeishuAccountsDraft:G,feishuAccountsError:ne,onFeishuAccountsBlur:pe,dmOpts:me,groupOpts:he,chatAgents:K,saving:p,language:r,dialogOpen:Ce&&X===`feishu`,pairingFocus:Ie});return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vn,{hasToken:o,ch:a,refreshing:ve,saveOk:h,onRefresh:Me}),(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-6 px-4 py-6`,children:[(0,$.jsxs)(`header`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`h1`,{className:`text-lg font-semibold tracking-tight text-fg`,children:i.settingsSections.channels}),(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:a.subtitle}),(0,$.jsxs)(`a`,{href:O(r,`channels`),target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 text-sm text-accent hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,children:[a.docsLink,(0,$.jsx)(D,{className:`size-3.5`})]})]}),m?(0,$.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:m}):null,g?(0,$.jsx)(`p`,{className:`text-xs text-accent`,children:g}):null,v?(0,$.jsx)(`div`,{className:`rounded-xl border border-success/30 bg-success-soft px-4 py-3 text-sm text-success`,children:v}):null,ve?(0,$.jsx)(Pe,{count:Math.max(be.length,3)}):(0,$.jsx)(Ae,{catalog:be,cards:we,ch:a,saving:p,onOpenChannel:De,onToggleChannel:(e,t)=>{L(e)&&oe(e,t)}}),X===`weixin`?(0,$.jsx)(fn,{open:Ce,onOpenChange:ke,ch:a,onLoginSuccess:je,moreSettings:Le,settingsDirty:f,settingsSaving:p,onSettingsDiscard:ae,onSettingsSave:Y}):null,X===`telegram`?(0,$.jsx)(St,{open:Ce,onOpenChange:e=>{e||Oe()},ch:a,form:u,baseline:d,tgAdvanced:y,setTgAdvanced:b,showToken:x,setShowToken:S,copied:k,copyToken:se,updateTelegram:q,updateChannelAgentRoute:re,tgAccountsDraft:P,setTgAccountsDraft:F,tgAccountsError:R,onTgAccountsBlur:de,dmOpts:me,groupOpts:he,replyOpts:ge,streamOpts:_e,chatAgents:K,saving:p,dirty:f,save:Y,discard:ae,language:r,scrollToPairingOnOpen:Se,closeOnSave:!1}):null,X===`feishu`?(0,$.jsx)(vt,{open:Ce,onOpenChange:e=>{e||Oe()},ch:a,onSetupSuccess:ce,moreSettings:Re,settingsDirty:f,settingsSaving:p,onSettingsDiscard:ae,onSettingsSave:Y}):null,Te&&Ee&&!Te.manageable?(0,$.jsx)(ze,{open:Ce,onOpenChange:e=>{e||Oe()},entry:Te,vm:Ee,ch:a,language:r}):null]})]})}function vn(e){let t=(0,Q.c)(11),{hasToken:n,ch:r,refreshing:i,saveOk:a,onRefresh:o}=e,s=v(bn),c=v(yn),l;t[0]!==r||t[1]!==o||t[2]!==i||t[3]!==a?(l=(0,$.jsx)(Be,{ch:r,refreshing:i,saveOk:a,onRefresh:o}),t[0]=r,t[1]=o,t[2]=i,t[3]=a,t[4]=l):l=t[4];let u=l,d,f;return t[5]!==u||t[6]!==c||t[7]!==n||t[8]!==s?(d=()=>n?(s({startExtra:null,main:null,end:u}),()=>c()):(c(),()=>c()),f=[u,c,n,s],t[5]=u,t[6]=c,t[7]=n,t[8]=s,t[9]=d,t[10]=f):(d=t[9],f=t[10]),(0,Z.useLayoutEffect)(d,f),null}function yn(e){return e.clearPageHeader}function bn(e){return e.setPageHeader}export{_n as ChannelsSettingsPanel};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./url-BwNL6Rgk.js";import{n}from"./fetch-B2MYHbWg.js";import{gn as r}from"./index-D4vM3-P7.js";import{i}from"./cron-api-CoYK0hlm.js";function a(e){return(e??``).trim().toLowerCase()}function o(e,t){return`${a(e)}\0${a(t)}`}function s(e){let t=new Map;for(let n of e){if(!c(n))continue;let e=a(n.match?.channel),r=a(n.match?.accountId);!e||!r||t.set(o(e,r),n)}return t}function c(e){let t=e.match;return!(!t?.channel||!t.accountId||t.peerId||t.peerKind||t.guildId||t.teamId||t.memberRoleIds&&t.memberRoleIds.length>0)}function l(e){return Object.keys(e.accounts??{}).sort()}function u(e){return Object.keys(e.accounts??{}).sort()}function d(e){let t=Object.keys(e.accounts??{});return t.length>0?t.toSorted():typeof e.appId==`string`&&e.appId.trim()&&typeof e.appSecret==`string`&&e.appSecret.trim()?[`default`]:[]}function f(e,t,n,r,i){let a={},c={},l={},u=s(e);for(let e of t)a[e]=(u.get(o(`telegram`,e))?.agentId??i).trim().toLowerCase();for(let e of n)c[e]=(u.get(o(`weixin`,e))?.agentId??i).trim().toLowerCase();for(let e of r)l[e]=(u.get(o(`feishu`,e))?.agentId??i).trim().toLowerCase();return{telegram:a,weixin:c,feishu:l}}function p(e,t,n,r,i,o){let s=new Set(n.map(a)),l=new Set(r.map(a)),u=new Set(i.map(a)),d=e.filter(e=>{if(e.id?.startsWith(`ui:route:account:`))return!1;if(!c(e))return!0;let t=a(e.match.channel),n=a(e.match.accountId);return!n||n===`*`?!0:!(t===`telegram`&&s.has(n)||t===`weixin`&&l.has(n)||t===`feishu`&&u.has(n))}),f=[];for(let e of n){let n=(t.telegram[e]??t.telegram[a(e)]??o).trim().toLowerCase();f.push({id:`ui:route:account:telegram:${e}`,agentId:n,priority:45,enabled:!0,match:{channel:`telegram`,accountId:e}})}for(let e of r){let n=(t.weixin[e]??t.weixin[a(e)]??o).trim().toLowerCase();f.push({id:`ui:route:account:weixin:${e}`,agentId:n,priority:45,enabled:!0,match:{channel:`weixin`,accountId:e}})}for(let e of i){let n=(t.feishu[e]??t.feishu[a(e)]??o).trim().toLowerCase();f.push({id:`ui:route:account:feishu:${e}`,agentId:n,priority:45,enabled:!0,match:{channel:`feishu`,accountId:e}})}return[...d,...f]}function m(e){return e.trim()||null}function h(e){return{accountId:e,name:``,enabled:!0,botToken:``,allowFrom:[],dmPolicy:`pairing`,groupPolicy:`open`,replyToMode:`off`,apiRoot:``,proxy:``,historyLimit:50,textChunkLimit:4e3,streamMode:`partial`}}function g(e){let t=e&&typeof e==`object`?e.channels:void 0,n=t&&typeof t==`object`?t:{},r=n.telegram,i=n.weixin,a=n.feishu,o=r?.accounts,s=o&&typeof o==`object`&&!Array.isArray(o)?{...o}:{},c=typeof r?.botToken==`string`?r.botToken.trim():``,p=s.default?.botToken?.trim()??``;c&&!p&&(s={...s,default:{...s.default??h(`default`),accountId:`default`,botToken:c}}),s.default||(s={...s,default:h(`default`)});let m=i?.accounts,g=m&&typeof m==`object`&&!Array.isArray(m)?m:{},_=(()=>{let t=(e&&typeof e==`object`?e:{}).bindings;return Array.isArray(t)?t:[]})(),v=(()=>{let t=(e&&typeof e==`object`?e:{}).agents;return t&&typeof t==`object`?t:{}})(),y=typeof v.defaultId==`string`&&v.defaultId.trim()?v.defaultId.trim().toLowerCase():`main`,b={telegram:{enabled:!!r?.enabled,apiRoot:typeof r?.apiRoot==`string`?r.apiRoot:``,debug:!!r?.debug,allowFrom:Array.isArray(r?.allowFrom)?[...r.allowFrom]:[],groupAllowFrom:Array.isArray(r?.groupAllowFrom)?[...r.groupAllowFrom]:[],dmPolicy:r?.dmPolicy||`pairing`,groupPolicy:r?.groupPolicy||`open`,replyToMode:r?.replyToMode||`off`,streamMode:r?.streamMode??`partial`,historyLimit:typeof r?.historyLimit==`number`?r.historyLimit:50,textChunkLimit:typeof r?.textChunkLimit==`number`?r.textChunkLimit:4e3,proxy:typeof r?.proxy==`string`?r.proxy:``,accounts:{...s}},weixin:{enabled:!!i?.enabled,dmPolicy:i?.dmPolicy||`open`,allowFrom:Array.isArray(i?.allowFrom)?[...i.allowFrom]:[],debug:!!i?.debug,streamMode:i?.streamMode??`partial`,historyLimit:typeof i?.historyLimit==`number`?i.historyLimit:50,textChunkLimit:typeof i?.textChunkLimit==`number`?i.textChunkLimit:4e3,routeTag:i?.routeTag==null?``:String(i.routeTag),accounts:{...g}},feishu:{enabled:!!a?.enabled,defaultAccount:typeof a?.defaultAccount==`string`?a.defaultAccount:``,appId:typeof a?.appId==`string`?a.appId:``,appSecret:typeof a?.appSecret==`string`?a.appSecret:``,domain:typeof a?.domain==`string`&&a.domain||`feishu`,connectionMode:a?.connectionMode||`websocket`,verificationToken:typeof a?.verificationToken==`string`?a.verificationToken:``,encryptKey:typeof a?.encryptKey==`string`?a.encryptKey:``,webhookHost:typeof a?.webhookHost==`string`?a.webhookHost:`127.0.0.1`,webhookPort:typeof a?.webhookPort==`number`?a.webhookPort:3e3,webhookPath:typeof a?.webhookPath==`string`?a.webhookPath:`/feishu/events`,dmPolicy:a?.dmPolicy||`open`,groupPolicy:a?.groupPolicy||`allowlist`,allowFrom:Array.isArray(a?.allowFrom)?[...a.allowFrom]:[],groupAllowFrom:Array.isArray(a?.groupAllowFrom)?[...a.groupAllowFrom]:[],requireMention:a?.requireMention===void 0?!0:!!a.requireMention,historyLimit:typeof a?.historyLimit==`number`?a.historyLimit:50,textChunkLimit:typeof a?.textChunkLimit==`number`?a.textChunkLimit:4e3,renderMode:a?.renderMode||`auto`,streaming:a?.streaming===void 0?!1:!!a.streaming,reactionNotifications:a?.reactionNotifications||`own`,tools:a?.tools&&typeof a.tools==`object`&&!Array.isArray(a.tools)?{...a.tools}:void 0,actions:a?.actions&&typeof a.actions==`object`&&!Array.isArray(a.actions)?{...a.actions}:void 0,accounts:a?.accounts&&typeof a.accounts==`object`&&!Array.isArray(a.accounts)?{...a.accounts}:{}}},x=f(_,l(b.telegram),u(b.weixin),d(b.feishu),y);return{...b,bindingsFull:_.map(e=>({...e})),channelAgentRoutes:x,defaultAgentId:y}}async function _(e){return(await n(t(`/api/channels/weixin/login/start`),{method:`POST`,body:JSON.stringify(e??{})})).payload}async function v(e){return(await n(t(`/api/channels/weixin/login/${encodeURIComponent(e)}`))).payload.status}async function y(e){let i=e.telegram,a=e.weixin,o=e.feishu,s=p(e.bindingsFull,e.channelAgentRoutes,l(i),u(a),d(o),e.defaultAgentId),c=(()=>{let e=a.routeTag.trim();return e?/^\d+$/.test(e)?Number(e):e:null})(),f={telegram:{enabled:i.enabled,apiRoot:i.apiRoot.trim()?i.apiRoot.trim():null,debug:i.debug,allowFrom:i.allowFrom,groupAllowFrom:i.groupAllowFrom.length?i.groupAllowFrom:null,dmPolicy:i.dmPolicy,groupPolicy:i.groupPolicy,replyToMode:i.replyToMode,streamMode:i.streamMode,historyLimit:i.historyLimit,textChunkLimit:i.textChunkLimit,proxy:i.proxy.trim()?i.proxy.trim():null,accounts:i.accounts},weixin:{enabled:a.enabled,dmPolicy:a.dmPolicy,allowFrom:a.allowFrom,debug:a.debug,streamMode:a.streamMode,historyLimit:a.historyLimit,textChunkLimit:a.textChunkLimit,routeTag:c,accounts:a.accounts},feishu:{enabled:o.enabled,defaultAccount:m(o.defaultAccount??``),appId:o.appId,appSecret:m(o.appSecret),domain:o.domain||void 0,connectionMode:o.connectionMode,verificationToken:m(o.verificationToken??``),encryptKey:m(o.encryptKey??``),webhookHost:m(o.webhookHost??``),webhookPort:typeof o.webhookPort==`number`?o.webhookPort:void 0,webhookPath:m(o.webhookPath??``),dmPolicy:o.dmPolicy,groupPolicy:o.groupPolicy,allowFrom:o.allowFrom,groupAllowFrom:o.groupAllowFrom.length?o.groupAllowFrom:null,requireMention:o.requireMention,historyLimit:o.historyLimit,textChunkLimit:o.textChunkLimit,renderMode:o.renderMode,streaming:o.streaming,reactionNotifications:o.reactionNotifications,tools:o.tools,actions:o.actions,accounts:o.accounts}},h=await n(t(`/api/config`),{method:`PATCH`,body:JSON.stringify({bindings:s,channels:f})});r();let _=h.payload?.config;return _?g(_):{...e,bindingsFull:s}}async function b(e){return(await n(t(`/api/channels/feishu/setup/start`),{method:`POST`,body:JSON.stringify(e??{})})).payload}async function x(e){return(await n(t(`/api/channels/feishu/setup/${encodeURIComponent(e)}`))).payload.status}async function S(e,r=`default`){return(await n(t(`/api/channels/pairing?${new URLSearchParams({channel:e,account:r}).toString()}`))).payload}async function C(e){return(await n(t(`/api/channels/pairing/approve`),{method:`POST`,body:JSON.stringify(e)})).payload}async function w(){return(await n(t(`/api/channels/pairing/summary`))).payload.summary}async function T(e){return(await n(t(`/api/channels/pairing/approve-sender`),{method:`POST`,body:JSON.stringify(e)})).payload}async function E(e){return(await n(t(`/api/channels/pairing/paired`),{method:`DELETE`,body:JSON.stringify(e)})).payload}async function D(e){return(await n(t(`/api/channels/pairing/pending`),{method:`DELETE`,body:JSON.stringify(e)})).payload}var O=e(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),k=e((e=>{var t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),A=e((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),j=e(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),M=e(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),N=e((e=>{var t=k().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e<n-1;e++)a[e]=a[e-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){let n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)e===0&&t===0||e===0&&t===i-1||e===i-1&&t===0||n.push([r[e],r[t]]);return n}})),P=e((e=>{var t=k().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),F=e((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c<n;c++){i=a=0,o=s=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===o?i++:(i>=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t<n-1;t++)for(let i=0;i<n-1;i++){let n=e.get(t,i)+e.get(t,i+1)+e.get(t+1,i)+e.get(t+1,i+1);(n===4||n===0)&&r++}return r*t.N2},e.getPenaltyN3=function(e){let n=e.size,r=0,i=0,a=0;for(let t=0;t<n;t++){i=a=0;for(let o=0;o<n;o++)i=i<<1&2047|e.get(t,o),o>=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t<r;t++)n+=e.data[t];return Math.abs(Math.ceil(n*100/r/5)-10)*t.N4};function n(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw Error(`bad maskPattern:`+t)}}e.applyMask=function(e,t){let r=t.size;for(let i=0;i<r;i++)for(let a=0;a<r;a++)t.isReserved(a,i)||t.xor(a,i,n(e,a,i))},e.getBestMask=function(t,n){let r=Object.keys(e.Patterns).length,i=0,a=1/0;for(let o=0;o<r;o++){n(o),e.applyMask(o,t);let r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(o,t),r<a&&(a=r,i=o)}return i}})),I=e((e=>{var t=A(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return r[(e-1)*4+0];case t.M:return r[(e-1)*4+1];case t.Q:return r[(e-1)*4+2];case t.H:return r[(e-1)*4+3];default:return}}})),L=e((e=>{var t=new Uint8Array(512),n=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),R=e((e=>{var t=L();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let a=0;a<n.length;a++)r[i+a]^=t.mul(e[i],n[a]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){let e=r[0];for(let i=0;i<n.length;i++)r[i]^=t.mul(n[i],e);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}})),z=e(((e,t)=>{var n=R();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),B=e((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),V=e((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r
|
|
2
|
+
]))+`;e.KANJI=new RegExp(r,`g`),e.BYTE_KANJI=RegExp(`[^A-Z0-9 $%*+\\-./:]+`,`g`),e.BYTE=new RegExp(i,`g`),e.NUMERIC=new RegExp(t,`g`),e.ALPHANUMERIC=new RegExp(n,`g`);var a=RegExp(`^`+r+`$`),o=RegExp(`^[0-9]+$`),s=RegExp(`^[A-Z0-9 $%*+\\-./:]+$`);e.testKanji=function(e){return a.test(e)},e.testNumeric=function(e){return o.test(e)},e.testAlphanumeric=function(e){return s.test(e)}})),H=e((e=>{var t=B(),n=V();e.NUMERIC={id:`Numeric`,bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:`Alphanumeric`,bit:2,ccBits:[9,11,13]},e.BYTE={id:`Byte`,bit:4,ccBits:[8,16,16]},e.KANJI={id:`Kanji`,bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,n){if(!e.ccBits)throw Error(`Invalid mode: `+e);if(!t.isValid(n))throw Error(`Invalid version: `+n);return n>=1&&n<10?e.ccBits[0]:n<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return n.testNumeric(t)?e.NUMERIC:n.testAlphanumeric(t)?e.ALPHANUMERIC:n.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw Error(`Invalid mode`)},e.isValid=function(e){return e&&e.bit&&e.ccBits};function r(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`numeric`:return e.NUMERIC;case`alphanumeric`:return e.ALPHANUMERIC;case`kanji`:return e.KANJI;case`byte`:return e.BYTE;default:throw Error(`Unknown mode: `+t)}}e.from=function(t,n){if(e.isValid(t))return t;try{return r(t)}catch{return n}}})),U=e((e=>{var t=k(),n=I(),r=A(),i=H(),a=B(),o=7973,s=t.getBCHDigit(o);function c(t,n,r){for(let i=1;i<=40;i++)if(n<=e.getCapacity(i,r,t))return i}function l(e,t){return i.getCharCountIndicator(e,t)+4}function u(e,t){let n=0;return e.forEach(function(e){let r=l(e.mode,t);n+=r+e.getBitsLength()}),n}function d(t,n){for(let r=1;r<=40;r++)if(u(t,r)<=e.getCapacity(r,n,i.MIXED))return r}e.from=function(e,t){return a.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,r,o){if(!a.isValid(e))throw Error(`Invalid QR Code version`);o===void 0&&(o=i.BYTE);let s=(t.getSymbolTotalCodewords(e)-n.getTotalCodewordsCount(e,r))*8;if(o===i.MIXED)return s;let c=s-l(o,e);switch(o){case i.NUMERIC:return Math.floor(c/10*3);case i.ALPHANUMERIC:return Math.floor(c/11*2);case i.KANJI:return Math.floor(c/13);case i.BYTE:default:return Math.floor(c/8)}},e.getBestVersionForData=function(e,t){let n,i=r.from(t,r.M);if(Array.isArray(e)){if(e.length>1)return d(e,i);if(e.length===0)return 1;n=e[0]}else n=e;return c(n.mode,n.getLength(),i)},e.getEncodedBits=function(e){if(!a.isValid(e)||e<7)throw Error(`Invalid QR Code version`);let n=e<<12;for(;t.getBCHDigit(n)-s>=0;)n^=o<<t.getBCHDigit(n)-s;return e<<12|n}})),W=e((e=>{var t=k(),n=1335,r=21522,i=t.getBCHDigit(n);e.getEncodedBits=function(e,a){let o=e.bit<<3|a,s=o<<10;for(;t.getBCHDigit(s)-i>=0;)s^=n<<t.getBCHDigit(s)-i;return(o<<10|s)^r}})),G=e(((e,t)=>{var n=H();function r(e){this.mode=n.NUMERIC,this.data=e.toString()}r.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){let t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);let i=this.data.length-t;i>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,i*3+1))},t.exports=r})),K=e(((e,t)=>{var n=H(),r=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`.split(``);function i(e){this.mode=n.ALPHANUMERIC,this.data=e}i.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t+2<=this.data.length;t+=2){let n=r.indexOf(this.data[t])*45;n+=r.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(r.indexOf(this.data[t]),6)},t.exports=i})),q=e(((e,t)=>{var n=H();function r(e){this.mode=n.BYTE,typeof e==`string`?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}r.getBitsLength=function(e){return e*8},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){for(let t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)},t.exports=r})),J=e(((e,t)=>{var n=H(),r=k();function i(e){this.mode=n.KANJI,this.data=e}i.getBitsLength=function(e){return e*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let n=r.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw Error(`Invalid SJIS character: `+this.data[t]+`
|
|
3
|
+
Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),Y=e(((e,t)=>{var n={single_source_shortest_paths:function(e,t,r){var i={},a={};a[t]=0;var o=n.PriorityQueue.make();o.push(t,0);for(var s,c,l,u,d,f,p,m,h;!o.empty();)for(l in s=o.pop(),c=s.value,u=s.cost,d=e[c]||{},d)d.hasOwnProperty(l)&&(f=d[l],p=u+f,m=a[l],h=a[l]===void 0,(h||m>p)&&(a[l]=p,o.push(l,p),i[l]=c));if(r!==void 0&&a[r]===void 0){var g=[`Could not find a path from `,t,` to `,r,`.`].join(``);throw Error(g)}return i},extract_shortest_path_from_predecessor_list:function(e,t){for(var n=[],r=t;r;)n.push(r),e[r],r=e[r];return n.reverse(),n},find_path:function(e,t,r){var i=n.single_source_shortest_paths(e,t,r);return n.extract_shortest_path_from_predecessor_list(i,r)},PriorityQueue:{make:function(e){var t=n.PriorityQueue,r={},i;for(i in e||={},t)t.hasOwnProperty(i)&&(r[i]=t[i]);return r.queue=[],r.sorter=e.sorter||t.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var n={value:e,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};t!==void 0&&(t.exports=n)})),X=e((e=>{var t=H(),n=G(),r=K(),i=q(),a=J(),o=V(),s=k(),c=Y();function l(e){return unescape(encodeURIComponent(e)).length}function u(e,t,n){let r=[],i;for(;(i=e.exec(n))!==null;)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function d(e){let n=u(o.NUMERIC,t.NUMERIC,e),r=u(o.ALPHANUMERIC,t.ALPHANUMERIC,e),i,a;return s.isKanjiModeEnabled()?(i=u(o.BYTE,t.BYTE,e),a=u(o.KANJI,t.KANJI,e)):(i=u(o.BYTE_KANJI,t.BYTE,e),a=[]),n.concat(r,i,a).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function f(e,o){switch(o){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return r.getBitsLength(e);case t.KANJI:return a.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function p(e){return e.reduce(function(e,t){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function m(e){let n=[];for(let r=0;r<e.length;r++){let i=e[r];switch(i.mode){case t.NUMERIC:n.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:n.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:n.push([i,{data:i.data,mode:t.BYTE,length:l(i.data)}]);break;case t.BYTE:n.push([{data:i.data,mode:t.BYTE,length:l(i.data)}])}}return n}function h(e,n){let r={},i={start:{}},a=[`start`];for(let o=0;o<e.length;o++){let s=e[o],c=[];for(let e=0;e<s.length;e++){let l=s[e],u=``+o+e;c.push(u),r[u]={node:l,lastCount:0},i[u]={};for(let e=0;e<a.length;e++){let o=a[e];r[o]&&r[o].node.mode===l.mode?(i[o][u]=f(r[o].lastCount+l.length,l.mode)-f(r[o].lastCount,l.mode),r[o].lastCount+=l.length):(r[o]&&(r[o].lastCount=l.length),i[o][u]=f(l.length,l.mode)+4+t.getCharCountIndicator(l.mode,n))}}a=c}for(let e=0;e<a.length;e++)i[a[e]].end=0;return{map:i,table:r}}function g(e,o){let c,l=t.getBestModeForData(e);if(c=t.from(o,l),c!==t.BYTE&&c.bit<l.bit)throw Error(`"`+e+`" cannot be encoded with mode `+t.toString(c)+`.
|
|
4
|
+
Suggested mode is: `+t.toString(l));switch(c===t.KANJI&&!s.isKanjiModeEnabled()&&(c=t.BYTE),c){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new r(e);case t.KANJI:return new a(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return typeof t==`string`?e.push(g(t,null)):t.data&&e.push(g(t.data,t.mode)),e},[])},e.fromString=function(t,n){let r=h(m(d(t,s.isKanjiModeEnabled())),n),i=c.find_path(r.map,`start`,`end`),a=[];for(let e=1;e<i.length-1;e++)a.push(r.table[i[e]].node);return e.fromArray(p(a))},e.rawSplit=function(t){return e.fromArray(d(t,s.isKanjiModeEnabled()))}})),Z=e((e=>{var t=k(),n=A(),r=j(),i=M(),a=N(),o=P(),s=F(),c=I(),l=z(),u=U(),d=W(),f=H(),p=X();function m(e,t){let n=e.size,r=o.getPositions(t);for(let t=0;t<r.length;t++){let i=r[t][0],a=r[t][1];for(let t=-1;t<=7;t++)if(!(i+t<=-1||n<=i+t))for(let r=-1;r<=7;r++)a+r<=-1||n<=a+r||(t>=0&&t<=6&&(r===0||r===6)||r>=0&&r<=6&&(t===0||t===6)||t>=2&&t<=4&&r>=2&&r<=4?e.set(i+t,a+r,!0,!0):e.set(i+t,a+r,!1,!0))}}function h(e){let t=e.size;for(let n=8;n<t-8;n++){let t=n%2==0;e.set(n,6,t,!0),e.set(6,n,t,!0)}}function g(e,t){let n=a.getPositions(t);for(let t=0;t<n.length;t++){let r=n[t][0],i=n[t][1];for(let t=-2;t<=2;t++)for(let n=-2;n<=2;n++)t===-2||t===2||n===-2||n===2||t===0&&n===0?e.set(r+t,i+n,!0,!0):e.set(r+t,i+n,!1,!0)}}function _(e,t){let n=e.size,r=u.getEncodedBits(t),i,a,o;for(let t=0;t<18;t++)i=Math.floor(t/3),a=t%3+n-8-3,o=(r>>t&1)==1,e.set(i,a,o,!0),e.set(a,i,o,!0)}function v(e,t,n){let r=e.size,i=d.getEncodedBits(t,n),a,o;for(a=0;a<15;a++)o=(i>>a&1)==1,a<6?e.set(a,8,o,!0):a<8?e.set(a+1,8,o,!0):e.set(r-15+a,8,o,!0),a<8?e.set(8,r-a-1,o,!0):a<9?e.set(8,15-a-1+1,o,!0):e.set(8,15-a-1,o,!0);e.set(r-8,8,1,!0)}function y(e,t){let n=e.size,r=-1,i=n-1,a=7,o=0;for(let s=n-1;s>0;s-=2)for(s===6&&s--;;){for(let n=0;n<2;n++)if(!e.isReserved(i,s-n)){let r=!1;o<t.length&&(r=(t[o]>>>a&1)==1),e.set(i,s-n,r),a--,a===-1&&(o++,a=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}function b(e,n,i){let a=new r;i.forEach(function(t){a.put(t.mode.bit,4),a.put(t.getLength(),f.getCharCountIndicator(t.mode,e)),t.write(a)});let o=(t.getSymbolTotalCodewords(e)-c.getTotalCodewordsCount(e,n))*8;for(a.getLengthInBits()+4<=o&&a.put(0,4);a.getLengthInBits()%8!=0;)a.putBit(0);let s=(o-a.getLengthInBits())/8;for(let e=0;e<s;e++)a.put(e%2?17:236,8);return x(a,e,n)}function x(e,n,r){let i=t.getSymbolTotalCodewords(n),a=i-c.getTotalCodewordsCount(n,r),o=c.getBlocksCount(n,r),s=o-i%o,u=Math.floor(i/o),d=Math.floor(a/o),f=d+1,p=u-d,m=new l(p),h=0,g=Array(o),_=Array(o),v=0,y=new Uint8Array(e.buffer);for(let e=0;e<o;e++){let t=e<s?d:f;g[e]=y.slice(h,h+t),_[e]=m.encode(g[e]),h+=t,v=Math.max(v,t)}let b=new Uint8Array(i),x=0,S,C;for(S=0;S<v;S++)for(C=0;C<o;C++)S<g[C].length&&(b[x++]=g[C][S]);for(S=0;S<p;S++)for(C=0;C<o;C++)b[x++]=_[C][S];return b}function S(e,n,r,a){let o;if(Array.isArray(e))o=p.fromArray(e);else if(typeof e==`string`){let t=n;if(!t){let n=p.rawSplit(e);t=u.getBestVersionForData(n,r)}o=p.fromString(e,t||40)}else throw Error(`Invalid data`);let c=u.getBestVersionForData(o,r);if(!c)throw Error(`The amount of data is too big to be stored in a QR Code`);if(!n)n=c;else if(n<c)throw Error(`
|
|
5
|
+
The chosen QR Code version cannot contain this amount of data.
|
|
6
|
+
Minimum version required to store current data is: `+c+`.
|
|
7
|
+
`);let l=b(n,r,o),d=new i(t.getSymbolSize(n));return m(d,n),h(d),g(d,n),v(d,r,0),n>=7&&_(d,n),y(d,l),isNaN(a)&&(a=s.getBestMask(d,v.bind(null,d,r))),s.applyMask(a,d),v(d,r,a),{modules:d,version:n,errorCorrectionLevel:r,maskPattern:a,segments:o}}e.create=function(e,r){if(e===void 0||e===``)throw Error(`No input text`);let i=n.M,a,o;return r!==void 0&&(i=n.from(r.errorCorrectionLevel,n.M),a=u.from(r.version),o=s.from(r.maskPattern),r.toSJISFunc&&t.setToSJISFunction(r.toSJISFunc)),S(e,a,i,o)}})),Q=e((e=>{function t(e){if(typeof e==`number`&&(e=e.toString()),typeof e!=`string`)throw Error(`Color should be defined as hex string`);let t=e.slice().replace(`#`,``).split(``);if(t.length<3||t.length===5||t.length>8)throw Error(`Invalid hex color: `+e);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),t.length===6&&t.push(`F`,`F`);let n=parseInt(t.join(``),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:n&255,hex:`#`+t.slice(0,6).join(``)}}e.getOptions=function(e){e||={},e.color||={};let n=e.margin===void 0||e.margin===null||e.margin<0?4:e.margin,r=e.width&&e.width>=21?e.width:void 0,i=e.scale||4;return{width:r,scale:r?4:i,margin:n,color:{dark:t(e.color.dark||`#000000ff`),light:t(e.color.light||`#ffffffff`)},type:e.type,rendererOpts:e.rendererOpts||{}}},e.getScale=function(e,t){return t.width&&t.width>=e+t.margin*2?t.width/(e+t.margin*2):t.scale},e.getImageWidth=function(t,n){let r=e.getScale(t,n);return Math.floor((t+n.margin*2)*r)},e.qrToImageData=function(t,n,r){let i=n.modules.size,a=n.modules.data,o=e.getScale(i,r),s=Math.floor((i+r.margin*2)*o),c=r.margin*o,l=[r.color.light,r.color.dark];for(let e=0;e<s;e++)for(let n=0;n<s;n++){let u=(e*s+n)*4,d=r.color.light;if(e>=c&&n>=c&&e<s-c&&n<s-c){let t=Math.floor((e-c)/o),r=Math.floor((n-c)/o);d=l[+!!a[t*i+r]]}t[u++]=d.r,t[u++]=d.g,t[u++]=d.b,t[u]=d.a}}})),$=e((e=>{var t=Q();function n(e,t,n){e.clearRect(0,0,t.width,t.height),t.style||={},t.height=n,t.width=n,t.style.height=n+`px`,t.style.width=n+`px`}function r(){try{return document.createElement(`canvas`)}catch{throw Error(`You need to specify a canvas element`)}}e.render=function(e,i,a){let o=a,s=i;o===void 0&&(!i||!i.getContext)&&(o=i,i=void 0),i||(s=r()),o=t.getOptions(o);let c=t.getImageWidth(e.modules.size,o),l=s.getContext(`2d`),u=l.createImageData(c,c);return t.qrToImageData(u.data,e,o),n(l,s,c),l.putImageData(u,0,0),s},e.renderToDataURL=function(t,n,r){let i=r;i===void 0&&(!n||!n.getContext)&&(i=n,n=void 0),i||={};let a=e.render(t,n,i),o=i.type||`image/png`,s=i.rendererOpts||{};return a.toDataURL(o,s.quality)}})),ee=e((e=>{var t=Q();function n(e,t){let n=e.a/255,r=t+`="`+e.hex+`"`;return n<1?r+` `+t+`-opacity="`+n.toFixed(2).slice(1)+`"`:r}function r(e,t,n){let r=e+t;return n!==void 0&&(r+=` `+n),r}function i(e,t,n){let i=``,a=0,o=!1,s=0;for(let c=0;c<e.length;c++){let l=Math.floor(c%t),u=Math.floor(c/t);!l&&!o&&(o=!0),e[c]?(s++,c>0&&l>0&&e[c-1]||(i+=o?r(`M`,l+n,.5+u+n):r(`m`,a,0),a=0,o=!1),l+1<t&&e[c+1]||(i+=r(`h`,s),s=0)):a++}return i}e.render=function(e,r,a){let o=t.getOptions(r),s=e.modules.size,c=e.modules.data,l=s+o.margin*2,u=o.color.light.a?`<path `+n(o.color.light,`fill`)+` d="M0 0h`+l+`v`+l+`H0z"/>`:``,d=`<path `+n(o.color.dark,`stroke`)+` d="`+i(c,s,o.margin)+`"/>`,f=`viewBox="0 0 `+l+` `+l+`"`,p=`<svg xmlns="http://www.w3.org/2000/svg" `+(o.width?`width="`+o.width+`" height="`+o.width+`" `:``)+f+` shape-rendering="crispEdges">`+u+d+`</svg>
|
|
8
|
+
`;return typeof a==`function`&&a(null,p),p}})),te=e((e=>{var t=O(),n=Z(),r=$(),i=ee();function a(e,r,i,a,o){let s=[].slice.call(arguments,1),c=s.length,l=typeof s[c-1]==`function`;if(!l&&!t())throw Error(`Callback required as last argument`);if(l){if(c<2)throw Error(`Too few arguments provided`);c===2?(o=i,i=r,r=a=void 0):c===3&&(r.getContext&&o===void 0?(o=a,a=void 0):(o=a,a=i,i=r,r=void 0))}else{if(c<1)throw Error(`Too few arguments provided`);return c===1?(i=r,r=a=void 0):c===2&&!r.getContext&&(a=i,i=r,r=void 0),new Promise(function(t,o){try{t(e(n.create(i,a),r,a))}catch(e){o(e)}})}try{let t=n.create(i,a);o(null,e(t,r,a))}catch(e){o(e)}}e.create=n.create,e.toCanvas=a.bind(null,r.render),e.toDataURL=a.bind(null,r.renderToDataURL),e.toString=a.bind(null,function(e,t,n){return i.render(e,n)})}));function ne(){return t(`/api/channels/status`)}var re=i;export{d as _,C as a,S as c,x as d,_ as f,E as g,y as h,T as i,w as l,g as m,re as n,D as o,v as p,te as r,h as s,ne as t,b as u,l as v,u as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t}from"./vendor-react-BOUWij0V.js";var n=e(t(),1),r=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),i=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),a=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),o=e=>{let t=a(e);return t.charAt(0).toUpperCase()+t.slice(1)},s={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},c=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},l=(0,n.createContext)({}),u=()=>(0,n.useContext)(l),d=(0,n.forwardRef)(({color:e,size:t,strokeWidth:i,absoluteStrokeWidth:a,className:o=``,children:l,iconNode:d,...f},p)=>{let{size:m=24,strokeWidth:h=2,absoluteStrokeWidth:g=!1,color:_=`currentColor`,className:v=``}=u()??{},y=a??g?Number(i??h)*24/Number(t??m):i??h;return(0,n.createElement)(`svg`,{ref:p,...s,width:t??m??s.width,height:t??m??s.height,stroke:e??_,strokeWidth:y,className:r(`lucide`,v,o),...!l&&!c(f)&&{"aria-hidden":`true`},...f},[...d.map(([e,t])=>(0,n.createElement)(e,t)),...Array.isArray(l)?l:[l]])}),f=(e,t)=>{let a=(0,n.forwardRef)(({className:a,...s},c)=>(0,n.createElement)(d,{ref:c,iconNode:t,className:r(`lucide-${i(o(e))}`,`lucide-${e}`,a),...s}));return a.displayName=o(e),a};export{f as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./url-BwNL6Rgk.js";import{t}from"./fetch-B2MYHbWg.js";import{j as n}from"./index-D4vM3-P7.js";function r(e){let t=e.payload;return t.kind===`systemEvent`?t.text??``:t.message??``}function i(e){if(!e||typeof e!=`object`)return``;let t=e.agents?.defaults?.model;if(t==null)return``;if(typeof t==`string`)return t.trim();if(typeof t==`object`&&t&&`primary`in t){let e=t.primary;return typeof e==`string`?e.trim():``}return``}async function a(e,n){let r=await t(e,n),i=await r.json().catch(()=>({}));if(!r.ok){let e=typeof i.error==`string`?i.error:`HTTP ${r.status}`;throw Error(e)}return i}async function o(){return(await a(e(`/api/cron`))).jobs||[]}async function s(n){let r=await t(e(`/api/cron/${encodeURIComponent(n)}`));if(r.status===404)return null;let i=await r.json().catch(()=>({}));if(!r.ok)throw Error(typeof i.error==`string`?i.error:`HTTP ${r.status}`);return i.job??null}async function c(t,n){return a(e(`/api/cron`),{method:`POST`,body:JSON.stringify({schedule:t,...n})})}async function l(t,n){return(await a(e(`/api/cron/${encodeURIComponent(t)}`),{method:`PATCH`,body:JSON.stringify(n)})).updated}async function u(t){return(await a(e(`/api/cron/${encodeURIComponent(t)}`),{method:`DELETE`})).removed}async function d(t,n){return(await a(e(`/api/cron/${encodeURIComponent(t)}/toggle`),{method:`POST`,body:JSON.stringify({enabled:n})})).toggled}async function f(t){await a(e(`/api/cron/${encodeURIComponent(t)}/run`),{method:`POST`})}async function p(t,n=10){return(await a(e(`/api/cron/${encodeURIComponent(t)}/history?limit=${n}`))).history||[]}async function m(t=40){return(await a(e(`/api/cron/runs/history?limit=${t}`))).runs||[]}async function h(){return(await a(e(`/api/channels/status`))).payload?.channels||[]}async function g(){return(await n()).map(e=>({id:e.id,name:e.name,provider:e.provider}))}async function _(){let t=(await a(e(`/api/config`))).payload?.config;return{model:i(t)}}async function v(t){return(await a(e(`/api/sessions/chat-ids${t?`?channel=${encodeURIComponent(t)}`:``}`))).payload?.chatIds||[]}export{_ as a,g as c,u as d,f,h as i,v as l,l as m,r as n,p as o,d as p,m as r,s,c as t,o as u};
|