@xopcai/xopc 0.0.87 → 0.0.88
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/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
- package/dist/extensions/feishu/src/workflow-progress.js +1 -1
- package/dist/extensions/telegram/src/plugin.js +1 -1
- package/dist/extensions/telegram/src/routing-integration.js +2 -2
- package/dist/extensions/telegram/src/workflow-progress.js +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- 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.js +1 -1
- package/dist/extensions/weixin/src/storage/sync-buf.js +1 -1
- package/dist/extensions/weixin/src/workflow-progress.js +1 -1
- package/dist/gateway/static/root/assets/agents-CRxETUZx.js +222 -0
- package/dist/gateway/static/root/assets/{apps-page-Dg8R-Szf.js → apps-page-wKWf3l57.js} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-DDbqVNkx.js +1 -0
- package/dist/gateway/static/root/assets/{channels-status-swr-BSHqqCF1.js → channels-status-swr-DIsl75Y3.js} +1 -1
- package/dist/gateway/static/root/assets/copy-SxMW6Xpc.js +1 -0
- package/dist/gateway/static/root/assets/{cron-api-0h_QT8U3.js → cron-api-N9hvuRrn.js} +1 -1
- package/dist/gateway/static/root/assets/{cron-page-BkfKFfFk.js → cron-page-tlNGNxhP.js} +1 -1
- package/dist/gateway/static/root/assets/{dist-Cmjp2APP.js → dist-CJwfHYvT.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-CFa9z_1N.js → extension-debug-page-BVJohZoZ.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-BI8eaTPq.js → extension-page-BT2tmElC.js} +1 -1
- package/dist/gateway/static/root/assets/extension-settings-page-BSS47c2j.js +1 -0
- package/dist/gateway/static/root/assets/{fetch-DRqwef_Q.js → fetch-BaFNUtkE.js} +1 -1
- package/dist/gateway/static/root/assets/{field-primitives-BiNHBo2Y.js → field-primitives-QwYEq6Hz.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-config-api-ZRb8qhuz.js → heartbeat-config-api-BVSidEDJ.js} +1 -1
- package/dist/gateway/static/root/assets/index-CqZzHNEg.css +1 -0
- package/dist/gateway/static/root/assets/{index-Cu7bKuUi.js → index-qNrVJp-y.js} +97 -97
- package/dist/gateway/static/root/assets/{logs-page-BFZ8GgCv.js → logs-page-DDonPVLn.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-DKt-Wmib.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-DiqqVs6m.js → settings-form-section-B8N3A3Zo.js} +1 -1
- package/dist/gateway/static/root/assets/settings-page-DcJjvvw4.js +3 -0
- package/dist/gateway/static/root/assets/{share-preview-page-n1Gprylk.js → share-preview-page-Q7KqkO-u.js} +1 -1
- package/dist/gateway/static/root/assets/skills-page-DuJ4BTO3.js +2 -0
- package/dist/gateway/static/root/assets/{theme-store-CZOh1nT3.js → theme-store-BbRc5ugR.js} +1 -1
- package/dist/gateway/static/root/assets/url-D6jvVYIA.js +7 -0
- package/dist/gateway/static/root/assets/{utils-CkWBfxs4.js → utils-CxDGduqK.js} +1 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-CTyHz7L_.js +1 -0
- package/dist/gateway/static/root/assets/workflows-page-GacJ41Fv.js +27 -0
- package/dist/gateway/static/root/index.html +6 -5
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.js +7 -7
- package/dist/src/agent/agent-scope.js +1 -1
- package/dist/src/agent/bootstrap/load-bootstrap-files.js +1 -1
- package/dist/src/agent/child-agent-factory.d.ts +15 -0
- package/dist/src/agent/child-agent-factory.js +35 -2
- package/dist/src/agent/child-agent-factory.js.map +1 -1
- package/dist/src/agent/client-error-format.d.ts +20 -0
- package/dist/src/agent/client-error-format.js +97 -0
- package/dist/src/agent/client-error-format.js.map +1 -0
- package/dist/src/agent/context/workspace-seed.js +2 -2
- package/dist/src/agent/embedded/run-turn.js +23 -4
- package/dist/src/agent/embedded/run-turn.js.map +1 -1
- package/dist/src/agent/goals/goal-locale.d.ts +1 -1
- 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/inbound/turn-dispatcher.js +1 -1
- package/dist/src/agent/inbound/turn-dispatcher.js.map +1 -1
- 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/mcp/bundle-mcp-materialize.js +1 -1
- package/dist/src/agent/mcp/bundle-mcp-runtime.js +1 -1
- package/dist/src/agent/mcp/mcp-transport-config.js +1 -1
- package/dist/src/agent/mcp/mcp-transport.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/orchestration/llm-turn-retry.d.ts +2 -0
- package/dist/src/agent/orchestration/llm-turn-retry.js +9 -1
- package/dist/src/agent/orchestration/llm-turn-retry.js.map +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/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/process-direct-streaming.js +19 -3
- package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
- package/dist/src/agent/service/webchat-tts.d.ts +1 -2
- package/dist/src/agent/service/webchat-tts.js +1 -1
- package/dist/src/agent/service/webchat-tts.js.map +1 -1
- package/dist/src/agent/service.js +4 -4
- 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 +2 -2
- 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/dreaming-tool.js +1 -1
- package/dist/src/agent/tools/factory.js +1 -1
- package/dist/src/agent/tools/image-generate-tool.js +1 -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.js +64 -16
- package/dist/src/agent/tools/workflow-tool.js.map +1 -1
- package/dist/src/agent/tools/write.js +1 -1
- package/dist/src/agent/workflow/agent-progress.d.ts +5 -0
- package/dist/src/agent/workflow/agent-progress.js +65 -0
- package/dist/src/agent/workflow/agent-progress.js.map +1 -0
- package/dist/src/agent/workflow/builtins/audit-repo.d.ts +1 -1
- package/dist/src/agent/workflow/builtins/audit-repo.js +14 -0
- package/dist/src/agent/workflow/builtins/audit-repo.js.map +1 -1
- package/dist/src/agent/workflow/builtins/debug-incident.d.ts +1 -1
- package/dist/src/agent/workflow/builtins/debug-incident.js +14 -0
- package/dist/src/agent/workflow/builtins/debug-incident.js.map +1 -1
- package/dist/src/agent/workflow/builtins/implementation-plan.d.ts +12 -0
- package/dist/src/agent/workflow/builtins/implementation-plan.js +175 -0
- package/dist/src/agent/workflow/builtins/implementation-plan.js.map +1 -0
- package/dist/src/agent/workflow/builtins/index.d.ts +3 -1
- package/dist/src/agent/workflow/builtins/index.js +11 -1
- package/dist/src/agent/workflow/builtins/index.js.map +1 -1
- package/dist/src/agent/workflow/builtins/multi-perspective-review.d.ts +1 -1
- package/dist/src/agent/workflow/builtins/multi-perspective-review.js +14 -0
- package/dist/src/agent/workflow/builtins/multi-perspective-review.js.map +1 -1
- package/dist/src/agent/workflow/builtins/pr-review.d.ts +1 -1
- package/dist/src/agent/workflow/builtins/pr-review.js +14 -0
- package/dist/src/agent/workflow/builtins/pr-review.js.map +1 -1
- package/dist/src/agent/workflow/builtins/release-check.d.ts +11 -0
- package/dist/src/agent/workflow/builtins/release-check.js +165 -0
- package/dist/src/agent/workflow/builtins/release-check.js.map +1 -0
- package/dist/src/agent/workflow/builtins/research.d.ts +1 -1
- package/dist/src/agent/workflow/builtins/research.js +14 -0
- package/dist/src/agent/workflow/builtins/research.js.map +1 -1
- package/dist/src/agent/workflow/catalog.js +1 -1
- package/dist/src/agent/workflow/index.d.ts +2 -1
- package/dist/src/agent/workflow/index.js +3 -2
- package/dist/src/agent/workflow/meta-locale.d.ts +12 -0
- package/dist/src/agent/workflow/meta-locale.js +62 -0
- package/dist/src/agent/workflow/meta-locale.js.map +1 -0
- package/dist/src/agent/workflow/parser.js +3 -0
- package/dist/src/agent/workflow/parser.js.map +1 -1
- package/dist/src/agent/workflow/runtime.d.ts +2 -2
- package/dist/src/agent/workflow/runtime.js +21 -14
- package/dist/src/agent/workflow/runtime.js.map +1 -1
- package/dist/src/agent/workflow/snapshot.js +2 -12
- package/dist/src/agent/workflow/snapshot.js.map +1 -1
- package/dist/src/agent/workflow/step-labels.d.ts +8 -0
- package/dist/src/agent/workflow/step-labels.js +48 -0
- package/dist/src/agent/workflow/step-labels.js.map +1 -0
- package/dist/src/agent/workflow/subagent-runner.js +46 -1
- package/dist/src/agent/workflow/subagent-runner.js.map +1 -1
- package/dist/src/agent/workflow/types.d.ts +74 -1
- package/dist/src/auth/credentials.d.ts +5 -0
- package/dist/src/auth/credentials.js +12 -3
- package/dist/src/auth/credentials.js.map +1 -1
- 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 +3 -3
- 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/context.js +1 -1
- package/dist/src/cli/commands/config.js +1 -1
- package/dist/src/cli/commands/doctor/checks/config-health.js +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 +1 -1
- package/dist/src/cli/commands/doctor/checks/workspace-status.js +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/logs.js +1 -1
- package/dist/src/cli/commands/image.js +1 -1
- package/dist/src/cli/commands/init.js +4 -4
- package/dist/src/cli/commands/onboard.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/agent-typed-models.d.ts +18 -0
- package/dist/src/config/agent-typed-models.js +53 -0
- package/dist/src/config/agent-typed-models.js.map +1 -0
- package/dist/src/config/gateway-bind.js +1 -1
- package/dist/src/config/index.js +6 -6
- 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/schema.d.ts +52 -0
- package/dist/src/config/schema.js +39 -3
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/config/voice.d.ts +3 -28
- package/dist/src/config/voice.js +27 -261
- package/dist/src/config/voice.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 +2 -2
- package/dist/src/daemon/launchd.js +2 -2
- package/dist/src/daemon/schtasks.js +2 -2
- 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.d.ts +9 -0
- package/dist/src/gateway/agents-admin.js +18 -2
- package/dist/src/gateway/agents-admin.js.map +1 -1
- package/dist/src/gateway/config-tools-web.js +3 -2
- package/dist/src/gateway/config-tools-web.js.map +1 -1
- package/dist/src/gateway/file-path-classifier.js +2 -2
- package/dist/src/gateway/hono/lib/agent-model.d.ts +7 -0
- package/dist/src/gateway/hono/lib/agent-model.js +36 -1
- package/dist/src/gateway/hono/lib/agent-model.js.map +1 -1
- package/dist/src/gateway/hono/lib/config-payload.js +28 -5
- package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
- package/dist/src/gateway/hono/lib/extension-store.js +2 -2
- package/dist/src/gateway/hono/lib/mask-secret-length.d.ts +6 -0
- package/dist/src/gateway/hono/lib/mask-secret-length.js +16 -0
- package/dist/src/gateway/hono/lib/mask-secret-length.js.map +1 -0
- package/dist/src/gateway/hono/lib/safe-providers-config.d.ts +1 -1
- package/dist/src/gateway/hono/lib/safe-providers-config.js +2 -1
- package/dist/src/gateway/hono/lib/safe-providers-config.js.map +1 -1
- package/dist/src/gateway/hono/lib/safe-voice-config.js +2 -1
- package/dist/src/gateway/hono/lib/safe-voice-config.js.map +1 -1
- 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 +2 -2
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/agents.js +8 -2
- package/dist/src/gateway/hono/routes/config-patch/agents.js.map +1 -1
- package/dist/src/gateway/hono/routes/config-patch/gateway.js +3 -2
- package/dist/src/gateway/hono/routes/config-patch/gateway.js.map +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +8 -3
- package/dist/src/gateway/hono/routes/config-patch/misc.js.map +1 -1
- package/dist/src/gateway/hono/routes/config.js +59 -0
- package/dist/src/gateway/hono/routes/config.js.map +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 +75 -12
- package/dist/src/gateway/hono/routes/models.js.map +1 -1
- package/dist/src/gateway/hono/routes/shares.js +1 -1
- package/dist/src/gateway/hono/routes/voice.js +75 -0
- package/dist/src/gateway/hono/routes/voice.js.map +1 -1
- package/dist/src/gateway/hono/routes/workflows.d.ts +3 -0
- package/dist/src/gateway/hono/routes/workflows.js +347 -0
- package/dist/src/gateway/hono/routes/workflows.js.map +1 -0
- package/dist/src/gateway/hono/routes/workspace.js +4 -4
- package/dist/src/gateway/lock.js +3 -3
- package/dist/src/gateway/ports.js +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 -20
- package/dist/src/gateway/service/run-gateway-agent.js.map +1 -1
- package/dist/src/gateway/service.d.ts +3 -0
- package/dist/src/gateway/service.js +7 -1
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/workspace-fs-file-list.js +1 -1
- package/dist/src/infra/restart.js +2 -2
- package/dist/src/infra/update-check.js +1 -1
- package/dist/src/infra/update-global.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/mcp/channel-bridge.js +1 -1
- 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/init-session-turn.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/resolve-session.js +4 -4
- 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 +2 -2
- package/dist/src/session/store.js +5 -5
- package/dist/src/share/share-auto.js +2 -2
- package/dist/src/share/share-store.js +3 -3
- package/dist/src/share/share-thumbnail.js +2 -2
- package/dist/src/share/share-zip.js +1 -1
- package/dist/src/share/site-share-store.js +3 -3
- package/dist/src/share/site-static-serve.js +1 -1
- package/dist/src/tui/clipboard-image.js +3 -3
- package/dist/src/tui/theme-manager.js +1 -1
- package/dist/src/tui/tui-agent-events.js +2 -1
- package/dist/src/tui/tui-agent-events.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.js +3 -3
- 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/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/metadata/builtin.d.ts +2 -0
- package/dist/src/voice/metadata/builtin.js +420 -0
- package/dist/src/voice/metadata/builtin.js.map +1 -0
- package/dist/src/voice/metadata/index.d.ts +4 -0
- package/dist/src/voice/metadata/index.js +3 -0
- package/dist/src/voice/metadata/registry.d.ts +5 -0
- package/dist/src/voice/metadata/registry.js +34 -0
- package/dist/src/voice/metadata/registry.js.map +1 -0
- package/dist/src/voice/metadata/types.d.ts +41 -0
- package/dist/src/voice/metadata/types.js +1 -0
- package/dist/src/voice/stt/list-providers.d.ts +3 -3
- package/dist/src/voice/stt/list-providers.js +41 -6
- package/dist/src/voice/stt/list-providers.js.map +1 -1
- package/dist/src/voice/tts/audio.js +1 -1
- package/dist/src/voice/tts/list-providers.d.ts +3 -3
- package/dist/src/voice/tts/list-providers.js +41 -6
- package/dist/src/voice/tts/list-providers.js.map +1 -1
- package/dist/src/voice/tts/providers/edge-speech.js +2 -2
- package/dist/src/workflows/domain/command.d.ts +18 -0
- package/dist/src/workflows/domain/command.js +1 -0
- package/dist/src/workflows/domain/definition.d.ts +62 -0
- package/dist/src/workflows/domain/definition.js +1 -0
- package/dist/src/workflows/domain/event.d.ts +67 -0
- package/dist/src/workflows/domain/event.js +1 -0
- package/dist/src/workflows/domain/index.d.ts +5 -0
- package/dist/src/workflows/domain/index.js +2 -0
- package/dist/src/workflows/domain/result.d.ts +65 -0
- package/dist/src/workflows/domain/result.js +1 -0
- package/dist/src/workflows/domain/run.d.ts +120 -0
- package/dist/src/workflows/domain/run.js +14 -0
- package/dist/src/workflows/domain/run.js.map +1 -0
- package/dist/src/workflows/engine/index.d.ts +2 -0
- package/dist/src/workflows/engine/index.js +3 -0
- package/dist/src/workflows/engine/projector.d.ts +3 -0
- package/dist/src/workflows/engine/projector.js +205 -0
- package/dist/src/workflows/engine/projector.js.map +1 -0
- package/dist/src/workflows/engine/workflow-engine.d.ts +31 -0
- package/dist/src/workflows/engine/workflow-engine.js +188 -0
- package/dist/src/workflows/engine/workflow-engine.js.map +1 -0
- package/dist/src/workflows/index.d.ts +6 -0
- package/dist/src/workflows/index.js +11 -0
- package/dist/src/workflows/runtime/index.d.ts +1 -0
- package/dist/src/workflows/runtime/index.js +4 -0
- package/dist/src/workflows/runtime/script-runtime.d.ts +3 -0
- package/dist/src/workflows/runtime/script-runtime.js +3 -0
- package/dist/src/workflows/store/event-store.d.ts +17 -0
- package/dist/src/workflows/store/event-store.js +83 -0
- package/dist/src/workflows/store/event-store.js.map +1 -0
- package/dist/src/workflows/store/paths.d.ts +7 -0
- package/dist/src/workflows/store/paths.js +26 -0
- package/dist/src/workflows/store/paths.js.map +1 -0
- package/dist/src/workflows/store/run-store.d.ts +13 -0
- package/dist/src/workflows/store/run-store.js +68 -0
- package/dist/src/workflows/store/run-store.js.map +1 -0
- package/package.json +5 -5
- package/dist/gateway/static/root/assets/agents-BEAbXpuP.js +0 -222
- package/dist/gateway/static/root/assets/channels-settings-yohw9YSu.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-x4BB7q1X.js +0 -1
- package/dist/gateway/static/root/assets/index-a5gWIdZQ.css +0 -1
- package/dist/gateway/static/root/assets/sessions-page-CD7AfB-2.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-BBOjEQW3.js +0 -3
- package/dist/gateway/static/root/assets/skills-page-CcN_gj--.js +0 -2
- package/dist/gateway/static/root/assets/url-Dd8Q7kZZ.js +0 -3
- package/dist/gateway/static/root/assets/voice-api-key-field-O6awz9hi.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,o as a,t as o}from"./url-Dd8Q7kZZ.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-DRqwef_Q.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 L,s as R,ta as ee,tr as z,wn as B}from"./index-Cu7bKuUi.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=B(),{mutate:l}=s(),[u,d]=(0,V.useReducer)(R,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:S,error:w}=c(b,async()=>g(p.length>0?o(`/api/marketplace?q=${encodeURIComponent(p)}`):o(`/api/marketplace`)),{revalidateOnFocus:!1}),O=(0,V.useCallback)(()=>{l(`gateway-extensions-list`),D()},[l]),k=(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});O(),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,O]),A=(0,V.useCallback)(async e=>{d({type:`patch`,patch:{actionError:null,restartHint:null,rowBusy:e}});try{let n=await q(e);O(),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,O]),j=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`})]}),w?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:w instanceof Error?w.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,S&&!x?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:`…`}):(0,J.jsx)(`ul`,{className:`flex flex-col gap-3`,children:j.length===0?(0,J.jsx)(`li`,{className:`text-sm text-fg-muted`,children:t.marketplaceEmpty}):j.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)&&A(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)(L,{className:`size-3.5`,strokeWidth:2,"aria-hidden":!0}),t.marketplaceUninstall]})]}):(0,J.jsxs)(`button`,{type:`button`,disabled:i,onClick:()=>{k(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:k,onUninstall:A}):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)(ee,{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 R;t[16]===r.marketplaceDetailTitle?R=t[17]:(R=(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]=R);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]!==R?(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,R,B]}),t[22]=B,t[23]=P,t[24]=R,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)(L,{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=B(),s=k(),[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 x=(0,V.useMemo)(()=>o.filter(e=>e.source===`bundled`),[o]),S=(0,V.useMemo)(()=>o.filter(e=>e.source!==`bundled`),[o]),C=f===`builtin`?x:S,w=(0,V.useMemo)(()=>{let t=m.trim().toLowerCase(),n=C;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)},[C,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 T=f!==`marketplace`&&C.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:[`(`,x.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:[`(`,S.length,`)`]})]})]}),T?(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`&&x.length===0?(0,J.jsx)(he,{message:t.appsPage.emptyBuiltin}):f===`user`&&S.length===0?(0,J.jsx)(he,{message:t.appsPage.emptyUser}):w.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:w.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??[],C=e.ui?.contributions?.settingsPanels??[],w=e.ui?.contributions?.chatWidgets??[],T=e.ui?.contributions?.sidebarPanels??[],E=y.find(e=>e.showInNav)??y[0],k=C[0],A=E?b(e.id,E):null,j=k?`/settings/ext/${e.id}/${k.id}`:e.hasConfigSchema||S(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)(ee,{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||C.length>0||w.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:C.length,hidden:C.length===0}),(0,J.jsx)($,{template:t.badgeWidgets,count:w.length,hidden:w.length===0}),(0,J.jsx)($,{template:t.badgeSidebar,count:T.length,hidden:T.length===0})]})]}):null,x(e)&&(A||j)?(0,J.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-2 border-t border-edge-subtle pt-4`,children:[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)(O,{className:`size-4 shrink-0 opacity-80`,"aria-hidden":!0}),t.open]}):null,j?(0,J.jsxs)(I,{to:j,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};
|
|
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-D6jvVYIA.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-BaFNUtkE.js";import{$i as v,An as y,Li as b,Mn as x,On as S,Tr as C,Un as w,V as T,Vr as E,Wr as D,aa as O,da as k,ei as A,ga as j,gr as M,hi as N,jn as P,kn as F,mr as I,p as L,pr as R,qt as ee,si as z,xa as B}from"./index-qNrVJp-y.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=F(),{mutate:l}=s(),[u,d]=(0,V.useReducer)(L,X),{q:f,debounced:p,detailPkg:m,rowBusy:_,actionError:y,restartHint:b}=u,x=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:S,isLoading:w,error:E}=c(x,async()=>g(p.length>0?o(`/api/marketplace?q=${encodeURIComponent(p)}`):o(`/api/marketplace`)),{revalidateOnFocus:!1}),O=(0,V.useCallback)(()=>{l(`gateway-extensions-list`),T()},[l]),k=(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});O(),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,O]),A=(0,V.useCallback)(async e=>{d({type:`patch`,patch:{actionError:null,restartHint:null,rowBusy:e}});try{let n=await q(e);O(),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,O]),j=S?.extensions??[];return(0,J.jsxs)(`div`,{className:I(`flex flex-col gap-4`,e),children:[(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(D,{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`})]}),E?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:E instanceof Error?E.message:t.marketplaceLoadFailed}):null,y?(0,J.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:y}):null,b?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:b}):null,w&&!S?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:`…`}):(0,J.jsx)(`ul`,{className:`flex flex-col gap-3`,children:j.length===0?(0,J.jsx)(`li`,{className:`text-sm text-fg-muted`,children:t.marketplaceEmpty}):j.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:I(`flex w-full cursor-pointer flex-wrap items-start gap-3 rounded-xl border border-edge bg-surface-base p-4 text-left shadow-surface`,`transition-[transform,background-color,border-color,box-shadow] duration-150 ease-out`,`hover:border-edge-subtle hover:bg-surface-hover/40`,`active:scale-[0.992] active:bg-surface-hover/55`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,`dark:hover:bg-surface-hover/25 dark:active:bg-surface-hover/35`),children:[(0,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)(v,{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)(z,{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)&&A(e.id).catch(()=>{})},className:I(`inline-flex items-center justify-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-xs font-medium text-fg`,`transition-colors active:scale-[0.98] active:bg-surface-hover/80`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,`disabled:pointer-events-none disabled:opacity-50`),children:[i?(0,J.jsx)(N,{className:`size-3.5 animate-spin`,"aria-hidden":!0}):(0,J.jsx)(C,{className:`size-3.5`,strokeWidth:2,"aria-hidden":!0}),t.marketplaceUninstall]})]}):(0,J.jsxs)(`button`,{type:`button`,disabled:i,onClick:()=>{k(e.id,!1).catch(()=>{})},className:I(`inline-flex w-full items-center justify-center rounded-lg bg-accent px-3 py-2 text-xs font-medium text-white`,`shadow-surface transition-[transform,background-color] active:scale-[0.98]`,`hover:bg-accent-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base`,`disabled:pointer-events-none disabled:opacity-50`),children:[i?(0,J.jsx)(N,{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:k,onUninstall:A}):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 y;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(y={revalidateOnFocus:!1},t[2]=y):y=t[2];let{data:b,error:x,isLoading:S}=c(_,v,y),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]!==b?(D=b?.readme?.trim()||(b?.description?.trim()?`### ${b.name}\n\n${b.description}`:`*${r.marketplaceNoReadme}*`),t[6]=r.marketplaceNoReadme,t[7]=b,t[8]=D):D=t[8];let O=D,A;t[9]===a?A=t[10]:(A=e=>!e&&a(),t[9]=a,t[10]=A);let P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,J.jsx)(u,{className:`xopc-dialog-overlay fixed inset-0 z-[130] bg-scrim`}),t[11]=P):P=t[11];let F;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,J.jsx)(k,{className:`size-5`}),t[12]=F):F=t[12];let L;t[13]!==r.detailBack||t[14]!==a?(L=(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:F}),t[13]=r.detailBack,t[14]=a,t[15]=L):L=t[15];let R;t[16]===r.marketplaceDetailTitle?R=t[17]:(R=(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]=R);let z;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,J.jsx)(M,{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]!==L||t[24]!==R?(U=(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[L,R,B]}),t[22]=B,t[23]=L,t[24]=R,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]!==b||t[32]!==x||t[33]!==S||t[34]!==O?(W=S&&!b?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:`…`}):x?(0,J.jsx)(`p`,{className:`text-sm text-fg-muted`,children:r.marketplaceDetailLoadFailed}):b?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`h3`,{className:`text-lg font-semibold text-fg`,children:b.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:b.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:b.author.username})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceVersion}),(0,J.jsx)(`dd`,{children:b.latestVersion.version})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceDownloads}),(0,J.jsx)(`dd`,{children:b.downloads})]})]}),b.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)(ee,{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]=b,t[32]=x,t[33]=S,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]!==b||t[47]!==T||t[48]!==a||t[49]!==o||t[50]!==s||t[51]!==n||t[52]!==E?(K=b?(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)(j,{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:I(`inline-flex items-center justify-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium`,`bg-accent text-white shadow-surface hover:bg-accent-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,`disabled:pointer-events-none disabled:opacity-50`),children:[p?(0,J.jsx)(N,{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:I(`inline-flex items-center justify-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,`disabled:pointer-events-none disabled:opacity-50`),children:[(0,J.jsx)(C,{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]=b,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:[P,(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]!==A?(X=(0,J.jsx)(f,{defaultOpen:!0,onOpenChange:A,children:q}),t[58]=q,t[59]=A,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=w(e=>e.setPageHeader),r=w(e=>e.clearPageHeader),o=F(),s=y(),[c,l]=B(),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),v=c.toString(),b=(0,V.useRef)(v);if(b.current!==v){b.current=v;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 x=(0,V.useMemo)(()=>o.filter(e=>e.source===`bundled`),[o]),S=(0,V.useMemo)(()=>o.filter(e=>e.source!==`bundled`),[o]),C=f===`builtin`?x:S,T=(0,V.useMemo)(()=>{let t=m.trim().toLowerCase(),n=C;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)},[C,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 E=f!==`marketplace`&&C.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:I(`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:I(`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:[`(`,x.length,`)`]})]}),(0,J.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":f===`user`,className:I(`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:[`(`,S.length,`)`]})]})]}),E?(0,J.jsxs)(`div`,{className:`relative w-full min-w-0 sm:max-w-xs`,children:[(0,J.jsx)(D,{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`&&x.length===0?(0,J.jsx)(he,{message:t.appsPage.emptyBuiltin}):f===`user`&&S.length===0?(0,J.jsx)(he,{message:t.appsPage.emptyUser}):T.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:T.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=I(`group flex w-full flex-col rounded-xl border border-edge bg-surface-base p-4 text-left shadow-sm transition-colors`,`hover:border-edge-subtle hover:bg-surface-hover/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,`dark:hover:bg-surface-hover/25`),t[2]=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)(O,{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 w;t[35]!==_||t[36]!==y||t[37]!==C?(w=(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[_,y,C]}),t[35]=_,t[36]=y,t[37]=C,t[38]=w):w=t[38];let T;t[39]!==w||t[40]!==f?(T=(0,J.jsxs)(`div`,{className:`flex gap-3`,children:[f,w]}),t[39]=w,t[40]=f,t[41]=T):T=t[41];let E;return t[42]!==a||t[43]!==T?(E=(0,J.jsx)(`button`,{type:`button`,onClick:a,className:l,children:T}),t[42]=a,t[43]=T,t[44]=E):E=t[44],E}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`),T(),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??[],C=e.ui?.contributions?.settingsPanels??[],w=e.ui?.contributions?.chatWidgets??[],D=e.ui?.contributions?.sidebarPanels??[],O=y.find(e=>e.showInNav)??y[0],A=C[0],F=O?S(e.id,O):null,L=A?`/settings/ext/${e.id}/${A.id}`:e.hasConfigSchema||P(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)(k,{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)(M,{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)(R,{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)(N,{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||C.length>0||w.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:C.length,hidden:C.length===0}),(0,J.jsx)($,{template:t.badgeWidgets,count:w.length,hidden:w.length===0}),(0,J.jsx)($,{template:t.badgeSidebar,count:D.length,hidden:D.length===0})]})]}):null,x(e)&&(F||L)?(0,J.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-2 border-t border-edge-subtle pt-4`,children:[F?(0,J.jsxs)(j,{to:F,onClick:n,className:I(`inline-flex items-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),children:[(0,J.jsx)(b,{className:`size-4 shrink-0 opacity-80`,"aria-hidden":!0}),t.open]}):null,L?(0,J.jsxs)(j,{to:L,onClick:n,className:I(`inline-flex items-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),children:[(0,J.jsx)(E,{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-D6jvVYIA.js";import{i as s}from"./vendor-swr-BIWyz7Rc.js";import{t as c}from"./copy-SxMW6Xpc.js";import{a as l,i as u,n as d,o as f,r as p,s as m,t as h}from"./dist-BTWC-BTN.js";import{a as g,n as _}from"./fetch-BaFNUtkE.js";import{Dn as v,Fi as y,Ii as b,Li as x,Nn as S,Qn as C,S as w,Sn as T,U as E,Un as D,Zr as O,_t as k,aa as A,ar as j,ba as M,er as N,gr as P,gt as F,ia as ee,ir as I,lr as L,mr as R,pr as z,qn as te,tr as ne,vt as B,x as V,xa as H,ya as U,yn as re,yt as W}from"./index-qNrVJp-y.js";import{a as G,c as ie,i as K,o as ae,r as q,s as oe,t as J}from"./utils-CxDGduqK.js";import{n as Y,r as se,t as ce}from"./field-primitives-QwYEq6Hz.js";import{_ as le,a as ue,c as de,d as fe,f as pe,g as me,h as he,i as ge,l as _e,m as ve,n as ye,o as be,p as xe,r as X,s as Se,t as Ce,u as we,v as Te,y as Ee}from"./channels-status-swr-DIsl75Y3.js";var Z=e(t(),1),Q=n(),$=r();function De(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 Oe(e,t){switch(t){case`running`:return e.hubStatusRunning;case`offline`:return e.hubStatusOffline;case`disabled`:return e.hubStatusDisabled;default:return e.hubStatusNotConfigured}}function ke(e,t){switch(t){case`setup`:return e.hubSetupButton;case`fix`:return e.hubFixButton;case`pairing`:return e.hubPairingButton;default:return e.hubManageButton}}function Ae(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=R(`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=R(`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)(v,{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 y;t[10]===a.status?y=t[11]:(y=R(`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium`,De(a.status)),t[10]=a.status,t[11]=y);let b;t[12]!==u||t[13]!==a.status?(b=Oe(u,a.status),t[12]=u,t[13]=a.status,t[14]=b):b=t[14];let x;t[15]!==y||t[16]!==b?(x=(0,$.jsx)(`span`,{className:y,children:b}),t[15]=y,t[16]=b,t[17]=x):x=t[17];let S;t[18]!==u||t[19]!==c||t[20]!==a.pendingPairing?(S=a.pendingPairing>0?(0,$.jsx)(`button`,{type:`button`,className:R(`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`,j.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]=S):S=t[21];let C;t[22]!==S||t[23]!==x?(C=(0,$.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-1.5`,children:[x,S]}),t[22]=S,t[23]=x,t[24]=C):C=t[24];let w;t[25]!==C||t[26]!==_?(w=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[_,C]}),t[25]=C,t[26]=_,t[27]=w):w=t[27];let T;t[28]!==u||t[29]!==l||t[30]!==d||t[31]!==r||t[32]!==o||t[33]!==a.enabled?(T=d?(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":a.enabled,"aria-label":`${r} — ${u.enableChannelAria}`,disabled:o,className:R(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,j.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]=T):T=t[34];let E;t[35]!==w||t[36]!==T||t[37]!==g?(E=(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[g,w,T]}),t[35]=w,t[36]=T,t[37]=g,t[38]=E):E=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(je)}):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 M;t[52]!==u||t[53]!==a.primaryAction?(M=ke(u,a.primaryAction),t[52]=u,t[53]=a.primaryAction,t[54]=M):M=t[54];let N;t[55]!==A||t[56]!==M?(N=(0,$.jsx)(`div`,{className:`mt-auto`,children:(0,$.jsx)(z,{type:`button`,variant:`primary`,className:`w-full`,onClick:A,children:M})}),t[55]=A,t[56]=M,t[57]=N):N=t[57];let P;return t[58]!==E||t[59]!==k||t[60]!==N?(P=(0,$.jsxs)(`article`,{className:f,children:[E,k,N]}),t[58]=E,t[59]=k,t[60]=N,t[61]=P):P=t[61],P}function je(e){return(0,$.jsx)(`li`,{className:`text-xs text-fg-muted`,children:e},e)}function Me(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(Ne)),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)(Ae,{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 Ne(e){return[e.id,e]}var Pe=`animate-pulse motion-reduce:animate-none rounded-md bg-surface-hover dark:bg-surface-active/50`;function Fe(){let e=(0,Q.c)(4),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsx)(`div`,{className:R(`size-11 shrink-0 rounded-xl`,Pe)}),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:R(`h-4 w-2/5`,Pe)}),(0,$.jsx)(`div`,{className:R(`h-5 w-16 rounded-full`,Pe)})]}),(0,$.jsx)(`div`,{className:R(`h-6 w-10 shrink-0 rounded-full`,Pe)})]}),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:R(`h-3 w-full`,Pe)}),(0,$.jsx)(`div`,{className:R(`h-3 w-[88%]`,Pe)})]}),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:R(`h-10 w-full rounded-lg`,Pe)})})]}),e[3]=i):i=e[3],i}function Ie(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},Le)}),t[0]=r,t[1]=i),i}function Le(e,t){return(0,$.jsx)(`li`,{className:`h-full min-h-0`,children:(0,$.jsx)(Fe,{})},t)}function Re(e,t=!1){return e===`drawer`?R(`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`,V):R(`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)]`,V,`rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none dark:border-edge`)}function ze(e){let t=(0,Q.c)(30),{presentation:n,open:r,onOpenChange:i,title:a,description:o,srTitle:s,srDescription:c,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)(u,{className:R(`xopc-dialog-overlay fixed inset-0 bg-scrim backdrop-blur-[1px]`,w)}),t[0]=C):C=t[0];let T;t[1]!==n||t[2]!==x?(T=Re(n,x),t[1]=n,t[2]=x,t[3]=T):T=t[3];let E;t[4]===s?E=t[5]:(E=s?(0,$.jsx)(m,{className:`sr-only`,children:s}):null,t[4]=s,t[5]=E);let D;t[6]===c?D=t[7]:(D=c?(0,$.jsx)(p,{className:`sr-only`,children:c}):null,t[6]=c,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)(h,{asChild:!0,children:(0,$.jsx)(z,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":g,children:(0,$.jsx)(P,{className:`size-5`,strokeWidth:1.75})})})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(h,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,className:R(I,`absolute right-3 top-3 z-20 p-1.5 hover:bg-surface-hover`),"aria-label":g,children:(0,$.jsx)(P,{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=R(`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]!==T||t[21]!==E||t[22]!==D||t[23]!==O||t[24]!==j?(M=(0,$.jsxs)(l,{children:[C,(0,$.jsxs)(d,{className:T,onOpenAutoFocus:Be,children:[E,D,O,j,v]})]}),t[19]=v,t[20]=T,t[21]=E,t[22]=D,t[23]=O,t[24]=j,t[25]=M):M=t[25];let N;return t[26]!==i||t[27]!==r||t[28]!==M?(N=(0,$.jsx)(f,{open:r,onOpenChange:i,children:M}),t[26]=i,t[27]=r,t[28]=M,t[29]=N):N=t[29],N}function Be(e){return e.preventDefault()}function Ve(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,S;t[18]===b?S=t[19]:(S=(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:b}),t[18]=b,t[19]=S);let C;t[20]!==y||t[21]!==S?(C=(0,$.jsxs)(`div`,{children:[y,S]}),t[20]=y,t[21]=S,t[22]=C):C=t[22];let w;t[23]===o.hubExtensionConnectedLabel?w=t[24]:(w=(0,$.jsx)(`dt`,{className:`text-xs font-medium uppercase tracking-wide text-fg-subtle`,children:o.hubExtensionConnectedLabel}),t[23]=o.hubExtensionConnectedLabel,t[24]=w);let T=a.connected?o.hubExtensionYes:o.hubExtensionNo,E;t[25]===T?E=t[26]:(E=(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:T}),t[25]=T,t[26]=E);let D;t[27]!==w||t[28]!==E?(D=(0,$.jsxs)(`div`,{children:[w,E]}),t[27]=w,t[28]=E,t[29]=D):D=t[29];let O;t[30]!==v||t[31]!==C||t[32]!==D?(O=(0,$.jsxs)(`dl`,{className:`grid gap-3 text-sm`,children:[v,C,D]}),t[30]=v,t[31]=C,t[32]=D,t[33]=O):O=t[33];let k;t[34]===s?k=t[35]:(k=te(s,`channels`),t[34]=s,t[35]=k);let A;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(x,{className:`ml-2 size-3.5`}),t[36]=A):A=t[36];let j;t[37]!==o.hubViewDocs||t[38]!==k?(j=(0,$.jsx)(z,{type:`button`,variant:`secondary`,asChild:!0,children:(0,$.jsxs)(`a`,{href:k,target:`_blank`,rel:`noreferrer`,children:[o.hubViewDocs,A]})}),t[37]=o.hubViewDocs,t[38]=k,t[39]=j):j=t[39];let M;t[40]!==O||t[41]!==j||t[42]!==h?(M=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[h,O,j]}),t[40]=O,t[41]=j,t[42]=h,t[43]=M):M=t[43];let N;return t[44]!==o.modalCancel||t[45]!==i.subtitle||t[46]!==i.title||t[47]!==r||t[48]!==n||t[49]!==M||t[50]!==m?(N=(0,$.jsx)(ze,{presentation:`modal`,open:n,onOpenChange:r,srTitle:l,srDescription:u,closeAriaLabel:d,headerExtra:m,children:M}),t[44]=o.modalCancel,t[45]=i.subtitle,t[46]=i.title,t[47]=r,t[48]=n,t[49]=M,t[50]=m,t[51]=N):N=t[51],N}var He=(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=R(`size-4`,l),t[3]=l,t[4]=u);let d;t[5]===u?d=t[6]:(d=(0,$.jsx)(O,{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)(z,{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 Ue(e){let t=(0,Q.c)(27),{accountIds:n,routes:r,defaultAgentId:o,agentItems:s,disabled:c,onChange:l,ch:u}=e,d=i(We),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)(ce,{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:R(J(),L),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:`${E(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 We(e){return e.language}function Ge(e){return e===`telegram`?`pairing`:`open`}function Ke(e,t,n){return n?.dmPolicy?n.dmPolicy:t??Ge(e)}function qe(e,t){if(e===`telegram`){let e=Te(t);return e.length>0?e:[`default`]}if(e===`weixin`){let e=Ee(t);return e.length>0?e:[`default`]}let n=le(t);return n.length>0?n:[`default`]}function Je(e){return e?.enabled!==!1}function Ye(e,t,n){let r=t.accounts?.[n];return Ke(e,t.dmPolicy,r)}function Xe(e,t){return qe(e,t).some(n=>{let r=t.accounts?.[n];return Je(r)?Ye(e,t,n)===`pairing`:!1})}function Ze(e){return!e.configured||!e.channelEnabled||!e.usesPairing?0:e.summaryPending}function Qe(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,()=>ue({channel:t,accountId:n,code:i}))},[n,t,c]),quickApprove:(0,Z.useCallback)(e=>{c(e,()=>ge({channel:t,accountId:n,senderId:e}))},[n,t,c])}}var $e=[`channels-pairing-requested`,`channels-pairing-refreshed`,`channels-pairing-approved`,`channels-pairing-revoked`,`channels-pairing-dismissed`],et=`channel-pairing-summary`;function tt(e){let t=()=>e();for(let e of $e)window.addEventListener(e,t);return()=>{for(let e of $e)window.removeEventListener(e,t)}}function nt(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 tt(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 rt(e){return`channel-pairing-${e}`}function it(e){requestAnimationFrame(()=>{document.getElementById(rt(e))?.scrollIntoView({behavior:`smooth`,block:`start`})})}function at(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 ot(e,t){return`channel-pairing-${e}-${t}`}var st={codeBySender:{},busySender:null,dismissingId:null,revokingId:null,feedback:null};function ct(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 lt({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)(()=>Xe(e,n),[e,n]),d=(0,Z.useCallback)(t=>Ye(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)(ct,st),{codeBySender:v,busySender:y,dismissingId:b,revokingId:x,feedback:S}=g,C=d(f)===`pairing`,w=(0,Z.useRef)(o);w.current=o;let{data:T,error:E,isLoading:D,mutate:k}=s(r&&u&&C?ot(e,f):null,()=>de(e,f),{revalidateOnFocus:!0,onSuccess:e=>{w.current?.(e.paired.fromCredentials.length)}});nt((0,Z.useCallback)(()=>{k()},[k]),r&&u&&C);let A=T?.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:F,quickApprove:ee}=Qe({channel:e,accountId:f,messages:{pairingApproved:i.pairingApproved,pairingInvalid:i.pairingInvalid},mutate:k,setCodeBySender:j,setBusySender:M,setFeedback:N}),I=(0,Z.useCallback)(async t=>{_({type:`setDismissingId`,value:t}),_({type:`setFeedback`,value:null});try{await be({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]),L=(0,Z.useCallback)(async t=>{_({type:`setRevokingId`,value:t}),_({type:`setFeedback`,value:null});try{await me({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:rt(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 te=T?.pending??[],ne=T?.paired.fromConfig??[];return(0,$.jsxs)(`div`,{id:rt(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)(z,{type:`button`,variant:`ghost`,className:`size-8 shrink-0 p-0`,"aria-label":i.pairingRefresh,disabled:D,onClick:()=>void k(),children:(0,$.jsx)(O,{className:R(`size-4 text-fg-muted`,D&&`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)(ce,{children:i.pairingSetupHint}),E?(0,$.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:i.pairingLoadError}):null,S?(0,$.jsx)(`p`,{className:R(`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}),te.length>0?(0,$.jsx)(ce,{children:i.pairingQuickApproveHint}):null,te.length===0?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.pairingPendingEmpty}):(0,$.jsx)(`ul`,{className:`space-y-2`,children:te.map(e=>{let t=v[e.senderId]??``,n=y===e.senderId,r=b===e.senderId;return(0,$.jsxs)(`li`,{className:R(`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}}`,at(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)(z,{type:`button`,variant:`secondary`,className:`shrink-0 text-xs`,disabled:n||r,onClick:()=>void ee(e.senderId),children:n?i.pairingApproving:i.pairingQuickApprove}),(0,$.jsx)(`input`,{className:R(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`&&F(e.senderId,t)}}),(0,$.jsx)(z,{type:`button`,variant:`primary`,className:`shrink-0 text-xs`,disabled:n||r||!t.trim(),onClick:()=>F(e.senderId,t),children:n?i.pairingApproving:i.pairingApprove}),(0,$.jsx)(z,{type:`button`,variant:`ghost`,className:`shrink-0 text-xs text-fg-muted hover:text-danger`,disabled:n||r,onClick:()=>void I(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:ne.length?ne.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)(z,{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 L(e),children:(0,$.jsx)(P,{className:`size-3.5`})})]},e))})]})]})]})]})}function ut(e){let t=(0,Q.c)(347),{ch:n,form:r,baseline:i,showFeishuWebhookSecrets:a,setShowFeishuWebhookSecrets:o,feishuWebhookCopied:s,copyFeishuWebhookConfig:l,updateFeishu:u,updateChannelAgentRoute:d,feishuAccountsDraft:f,setFeishuAccountsDraft:p,feishuAccountsError:m,onFeishuAccountsBlur:h,dmOpts:g,groupOpts:_,chatAgents:v,saving:x,language:S,dialogOpen:w,pairingFocus:T}=e,E=T===void 0?!1:T,D=r.feishu,O;t[0]===D?O=t[1]:(O=le(D),t[0]=D,t[1]=O);let k=O,j;t[2]===k?j=t[3]:(j=k.length>0?k:[`default`],t[2]=k,t[3]=j);let M=j,P=i?.feishu?.appSecret??``,F;t[4]!==n.copied||t[5]!==n.copy||t[6]!==n.hide||t[7]!==n.show?(F=C({show:n.show,hide:n.hide,copy:n.copy,copied:n.copied}),t[4]=n.copied,t[5]=n.copy,t[6]=n.hide,t[7]=n.show,t[8]=F):F=t[8];let I=F,L=(0,Z.useRef)(null),te,ne;t[9]===E?(te=t[10],ne=t[11]):(te=()=>{if(!E)return;let e=L.current;e&&(e.open=!0);let t=window.setTimeout(pt,80);return()=>window.clearTimeout(t)},ne=[E],t[9]=E,t[10]=te,t[11]=ne),(0,Z.useEffect)(te,ne);let B;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(ee,{className:`size-4 shrink-0 text-fg-muted transition-transform group-open:rotate-180`}),t[12]=B):B=t[12];let V;t[13]===n.advancedShow?V=t[14]:(V=(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:[B,n.advancedShow]})}),t[13]=n.advancedShow,t[14]=V);let H;t[15]===n.feishuAdvancedHint?H=t[16]:(H=(0,$.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:n.feishuAdvancedHint}),t[15]=n.feishuAdvancedHint,t[16]=H);let U;t[17]===u?U=t[18]:(U=e=>u({enabled:e.target.checked}),t[17]=u,t[18]=U);let re;t[19]!==D.enabled||t[20]!==U?(re=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:D.enabled,onChange:U}),t[19]=D.enabled,t[20]=U,t[21]=re):re=t[21];let W;t[22]===n.enableFeishuAria?W=t[23]:(W=(0,$.jsx)(`span`,{children:n.enableFeishuAria}),t[22]=n.enableFeishuAria,t[23]=W);let G;t[24]!==re||t[25]!==W?(G=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[re,W]}),t[24]=re,t[25]=W,t[26]=G):G=t[26];let ie;t[27]===u?ie=t[28]:(ie=e=>u({dmPolicy:e}),t[27]=u,t[28]=ie);let K;t[29]!==n.dmPolicy||t[30]!==g||t[31]!==D.dmPolicy||t[32]!==ie?(K=(0,$.jsx)(se,{label:n.dmPolicy,value:D.dmPolicy,onChange:ie,options:g}),t[29]=n.dmPolicy,t[30]=g,t[31]=D.dmPolicy,t[32]=ie,t[33]=K):K=t[33];let q;t[34]!==n||t[35]!==w||t[36]!==D||t[37]!==S||t[38]!==M?(q=(0,$.jsx)(lt,{channel:`feishu`,accountIds:M,channelConfig:D,active:w,ch:n,language:S}),t[34]=n,t[35]=w,t[36]=D,t[37]=S,t[38]=M,t[39]=q):q=t[39];let ue;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(`span`,{className:`text-red-600 dark:text-red-400`,children:` *`}),t[40]=ue):ue=t[40];let de;t[41]===n.feishuAppId?de=t[42]:(de=(0,$.jsxs)(Y,{children:[n.feishuAppId,ue]}),t[41]=n.feishuAppId,t[42]=de);let fe;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(fe=R(J(),`min-w-0 flex-1 font-mono text-xs`),t[43]=fe):fe=t[43];let pe;t[44]===u?pe=t[45]:(pe=e=>u({appId:e.target.value}),t[44]=u,t[45]=pe);let me;t[46]!==D.appId||t[47]!==pe?(me=(0,$.jsx)(`input`,{className:fe,value:D.appId,onChange:pe,placeholder:`cli_xxx`}),t[46]=D.appId,t[47]=pe,t[48]=me):me=t[48];let he;t[49]===n.feishuAppIdDesc?he=t[50]:(he=(0,$.jsx)(ce,{children:n.feishuAppIdDesc}),t[49]=n.feishuAppIdDesc,t[50]=he);let ge;t[51]!==de||t[52]!==me||t[53]!==he?(ge=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[de,me,he]}),t[51]=de,t[52]=me,t[53]=he,t[54]=ge):ge=t[54];let _e;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(`span`,{className:`text-red-600 dark:text-red-400`,children:` *`}),t[55]=_e):_e=t[55];let ve;t[56]===n.feishuAppSecret?ve=t[57]:(ve=(0,$.jsxs)(Y,{children:[n.feishuAppSecret,_e]}),t[56]=n.feishuAppSecret,t[57]=ve);let ye=D.appSecret,be;t[58]===u?be=t[59]:(be=e=>u({appSecret:e}),t[58]=u,t[59]=be);let xe;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(xe=R(J(),`text-xs`),t[60]=xe):xe=t[60];let X;t[61]!==P||t[62]!==D.appSecret||t[63]!==I||t[64]!==be?(X=(0,$.jsx)(N,{value:ye,onChange:be,placeholder:`••••••••`,labels:I,baselineValue:P,inputClassName:xe}),t[61]=P,t[62]=D.appSecret,t[63]=I,t[64]=be,t[65]=X):X=t[65];let Se;t[66]===n.feishuAppSecretDesc?Se=t[67]:(Se=(0,$.jsx)(ce,{children:n.feishuAppSecretDesc}),t[66]=n.feishuAppSecretDesc,t[67]=Se);let Ce;t[68]!==ve||t[69]!==X||t[70]!==Se?(Ce=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[ve,X,Se]}),t[68]=ve,t[69]=X,t[70]=Se,t[71]=Ce):Ce=t[71];let we;t[72]===n.feishuDomain?we=t[73]:(we=(0,$.jsx)(Y,{children:n.feishuDomain}),t[72]=n.feishuDomain,t[73]=we);let Te;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(Te=J(),t[74]=Te):Te=t[74];let Ee=String(D.domain||`feishu`),De;t[75]===u?De=t[76]:(De=e=>u({domain:e.target.value}),t[75]=u,t[76]=De);let Oe,ke;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(`option`,{value:`feishu`,children:`feishu`}),ke=(0,$.jsx)(`option`,{value:`lark`,children:`lark`}),t[77]=Oe,t[78]=ke):(Oe=t[77],ke=t[78]);let Ae;t[79]!==Ee||t[80]!==De?(Ae=(0,$.jsxs)(`select`,{className:Te,value:Ee,onChange:De,children:[Oe,ke]}),t[79]=Ee,t[80]=De,t[81]=Ae):Ae=t[81];let je;t[82]!==we||t[83]!==Ae?(je=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[we,Ae]}),t[82]=we,t[83]=Ae,t[84]=je):je=t[84];let Me;t[85]===n.connectionMode?Me=t[86]:(Me=(0,$.jsx)(Y,{children:n.connectionMode}),t[85]=n.connectionMode,t[86]=Me);let Ne;t[87]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=J(),t[87]=Ne):Ne=t[87];let Pe;t[88]===u?Pe=t[89]:(Pe=e=>u({connectionMode:e.target.value}),t[88]=u,t[89]=Pe);let Fe,Ie;t[90]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,$.jsx)(`option`,{value:`websocket`,children:`websocket`}),Ie=(0,$.jsx)(`option`,{value:`webhook`,children:`webhook`}),t[90]=Fe,t[91]=Ie):(Fe=t[90],Ie=t[91]);let Le;t[92]!==D.connectionMode||t[93]!==Pe?(Le=(0,$.jsxs)(`select`,{className:Ne,value:D.connectionMode,onChange:Pe,children:[Fe,Ie]}),t[92]=D.connectionMode,t[93]=Pe,t[94]=Le):Le=t[94];let Re;t[95]===n.connectionModeDesc?Re=t[96]:(Re=(0,$.jsx)(ce,{children:n.connectionModeDesc}),t[95]=n.connectionModeDesc,t[96]=Re);let ze;t[97]!==Me||t[98]!==Le||t[99]!==Re?(ze=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Me,Le,Re]}),t[97]=Me,t[98]=Le,t[99]=Re,t[100]=ze):ze=t[100];let Be;t[101]!==je||t[102]!==ze?(Be=(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[je,ze]}),t[101]=je,t[102]=ze,t[103]=Be):Be=t[103];let Ve;t[104]!==n.copied||t[105]!==n.copy||t[106]!==n.encryptKey||t[107]!==n.encryptKeyDesc||t[108]!==n.hide||t[109]!==n.show||t[110]!==n.verificationToken||t[111]!==n.verificationTokenDesc||t[112]!==n.webhookHost||t[113]!==n.webhookPath||t[114]!==n.webhookPathDesc||t[115]!==n.webhookPort||t[116]!==n.webhookTitle||t[117]!==l||t[118]!==s||t[119]!==D.connectionMode||t[120]!==D.encryptKey||t[121]!==D.verificationToken||t[122]!==D.webhookHost||t[123]!==D.webhookPath||t[124]!==D.webhookPort||t[125]!==o||t[126]!==a||t[127]!==u?(Ve=D.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)(z,{type:`button`,variant:`secondary`,className:`px-2 py-1 text-xs`,onClick:()=>o(ft),children:[a?(0,$.jsx)(b,{className:`size-3.5`}):(0,$.jsx)(y,{className:`size-3.5`}),a?n.hide:n.show]}),(0,$.jsxs)(z,{type:`button`,variant:`secondary`,className:`px-2 py-1 text-xs`,onClick:()=>void l(),children:[s?(0,$.jsx)(A,{className:`size-3.5`}):(0,$.jsx)(c,{className:`size-3.5`}),s?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:R(J(),`min-w-0 flex-1 font-mono text-xs`),type:a?`text`:`password`,autoComplete:`off`,value:D.verificationToken??``,onChange:e=>u({verificationToken:e.target.value})}),(0,$.jsx)(ce,{children:n.verificationTokenDesc})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(Y,{children:n.encryptKey}),(0,$.jsx)(`input`,{className:R(J(),`min-w-0 flex-1 font-mono text-xs`),type:a?`text`:`password`,autoComplete:`off`,value:D.encryptKey??``,onChange:e=>u({encryptKey:e.target.value})}),(0,$.jsx)(ce,{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:R(J(),`min-w-0 flex-1 font-mono text-xs`),value:D.webhookHost??``,onChange:e=>u({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:R(J(),`min-w-0 flex-1 font-mono text-xs`),type:`number`,inputMode:`numeric`,value:String(D.webhookPort??``),onChange:e=>u({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:R(J(),`min-w-0 flex-1 font-mono text-xs`),value:D.webhookPath??``,onChange:e=>u({webhookPath:e.target.value}),placeholder:`/feishu/events`}),(0,$.jsx)(ce,{children:n.webhookPathDesc})]})]}):null,t[104]=n.copied,t[105]=n.copy,t[106]=n.encryptKey,t[107]=n.encryptKeyDesc,t[108]=n.hide,t[109]=n.show,t[110]=n.verificationToken,t[111]=n.verificationTokenDesc,t[112]=n.webhookHost,t[113]=n.webhookPath,t[114]=n.webhookPathDesc,t[115]=n.webhookPort,t[116]=n.webhookTitle,t[117]=l,t[118]=s,t[119]=D.connectionMode,t[120]=D.encryptKey,t[121]=D.verificationToken,t[122]=D.webhookHost,t[123]=D.webhookPath,t[124]=D.webhookPort,t[125]=o,t[126]=a,t[127]=u,t[128]=Ve):Ve=t[128];let He;t[129]===n.renderMode?He=t[130]:(He=(0,$.jsx)(Y,{children:n.renderMode}),t[129]=n.renderMode,t[130]=He);let We;t[131]===Symbol.for(`react.memo_cache_sentinel`)?(We=J(),t[131]=We):We=t[131];let Ge;t[132]===u?Ge=t[133]:(Ge=e=>u({renderMode:e.target.value}),t[132]=u,t[133]=Ge);let Ke,qe,Je;t[134]===Symbol.for(`react.memo_cache_sentinel`)?(Ke=(0,$.jsx)(`option`,{value:`auto`,children:`auto`}),qe=(0,$.jsx)(`option`,{value:`raw`,children:`raw`}),Je=(0,$.jsx)(`option`,{value:`card`,children:`card`}),t[134]=Ke,t[135]=qe,t[136]=Je):(Ke=t[134],qe=t[135],Je=t[136]);let Ye;t[137]!==D.renderMode||t[138]!==Ge?(Ye=(0,$.jsxs)(`select`,{className:We,value:D.renderMode,onChange:Ge,children:[Ke,qe,Je]}),t[137]=D.renderMode,t[138]=Ge,t[139]=Ye):Ye=t[139];let Xe;t[140]!==He||t[141]!==Ye?(Xe=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[He,Ye]}),t[140]=He,t[141]=Ye,t[142]=Xe):Xe=t[142];let Ze;t[143]===n.reactionNotifications?Ze=t[144]:(Ze=(0,$.jsx)(Y,{children:n.reactionNotifications}),t[143]=n.reactionNotifications,t[144]=Ze);let Qe;t[145]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=J(),t[145]=Qe):Qe=t[145];let $e;t[146]===u?$e=t[147]:($e=e=>u({reactionNotifications:e.target.value}),t[146]=u,t[147]=$e);let et,tt,nt;t[148]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,$.jsx)(`option`,{value:`off`,children:`off`}),tt=(0,$.jsx)(`option`,{value:`own`,children:`own`}),nt=(0,$.jsx)(`option`,{value:`all`,children:`all`}),t[148]=et,t[149]=tt,t[150]=nt):(et=t[148],tt=t[149],nt=t[150]);let rt;t[151]!==D.reactionNotifications||t[152]!==$e?(rt=(0,$.jsxs)(`select`,{className:Qe,value:D.reactionNotifications,onChange:$e,children:[et,tt,nt]}),t[151]=D.reactionNotifications,t[152]=$e,t[153]=rt):rt=t[153];let it;t[154]!==Ze||t[155]!==rt?(it=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Ze,rt]}),t[154]=Ze,t[155]=rt,t[156]=it):it=t[156];let at;t[157]!==Xe||t[158]!==it?(at=(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Xe,it]}),t[157]=Xe,t[158]=it,t[159]=at):at=t[159];let ot;t[160]===u?ot=t[161]:(ot=e=>u({streaming:e.target.checked}),t[160]=u,t[161]=ot);let st;t[162]!==D.streaming||t[163]!==ot?(st=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:D.streaming,onChange:ot}),t[162]=D.streaming,t[163]=ot,t[164]=st):st=t[164];let ct;t[165]!==n.enableStreaming||t[166]!==st?(ct=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[st,n.enableStreaming]}),t[165]=n.enableStreaming,t[166]=st,t[167]=ct):ct=t[167];let ut;t[168]===n.groupPolicy?ut=t[169]:(ut=(0,$.jsx)(Y,{children:n.groupPolicy}),t[168]=n.groupPolicy,t[169]=ut);let mt;t[170]===Symbol.for(`react.memo_cache_sentinel`)?(mt=J(),t[170]=mt):mt=t[170];let ht=D.groupPolicy,gt;t[171]===u?gt=t[172]:(gt=e=>u({groupPolicy:e.target.value}),t[171]=u,t[172]=gt);let _t;t[173]===_?_t=t[174]:(_t=_.map(dt),t[173]=_,t[174]=_t);let vt;t[175]!==D.groupPolicy||t[176]!==gt||t[177]!==_t?(vt=(0,$.jsx)(`select`,{className:mt,value:ht,onChange:gt,children:_t}),t[175]=D.groupPolicy,t[176]=gt,t[177]=_t,t[178]=vt):vt=t[178];let yt;t[179]!==ut||t[180]!==vt?(yt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[ut,vt]}),t[179]=ut,t[180]=vt,t[181]=yt):yt=t[181];let bt;t[182]===u?bt=t[183]:(bt=e=>u({requireMention:e.target.checked}),t[182]=u,t[183]=bt);let xt;t[184]!==D.requireMention||t[185]!==bt?(xt=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:D.requireMention,onChange:bt}),t[184]=D.requireMention,t[185]=bt,t[186]=xt):xt=t[186];let St;t[187]!==n.requireMention||t[188]!==xt?(St=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[xt,n.requireMention]}),t[187]=n.requireMention,t[188]=xt,t[189]=St):St=t[189];let Ct;t[190]===n.allowFromDm?Ct=t[191]:(Ct=(0,$.jsx)(Y,{children:n.allowFromDm}),t[190]=n.allowFromDm,t[191]=Ct);let wt;t[192]===Symbol.for(`react.memo_cache_sentinel`)?(wt=R(J(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[192]=wt):wt=t[192];let Tt;t[193]===D.allowFrom?Tt=t[194]:(Tt=ae(D.allowFrom),t[193]=D.allowFrom,t[194]=Tt);let Et;t[195]===u?Et=t[196]:(Et=e=>u({allowFrom:oe(e.target.value)}),t[195]=u,t[196]=Et);let Dt;t[197]!==Tt||t[198]!==Et?(Dt=(0,$.jsx)(`textarea`,{className:wt,rows:2,placeholder:`ou_xxx, on_xxx`,value:Tt,onChange:Et}),t[197]=Tt,t[198]=Et,t[199]=Dt):Dt=t[199];let Ot;t[200]===n.allowFromDmDesc?Ot=t[201]:(Ot=(0,$.jsx)(ce,{children:n.allowFromDmDesc}),t[200]=n.allowFromDmDesc,t[201]=Ot);let kt;t[202]!==Ct||t[203]!==Dt||t[204]!==Ot?(kt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Ct,Dt,Ot]}),t[202]=Ct,t[203]=Dt,t[204]=Ot,t[205]=kt):kt=t[205];let At;t[206]===n.allowFromGroups?At=t[207]:(At=(0,$.jsx)(Y,{children:n.allowFromGroups}),t[206]=n.allowFromGroups,t[207]=At);let jt;t[208]===Symbol.for(`react.memo_cache_sentinel`)?(jt=R(J(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[208]=jt):jt=t[208];let Mt;t[209]===D.groupAllowFrom?Mt=t[210]:(Mt=ae(D.groupAllowFrom),t[209]=D.groupAllowFrom,t[210]=Mt);let Nt;t[211]===u?Nt=t[212]:(Nt=e=>u({groupAllowFrom:oe(e.target.value)}),t[211]=u,t[212]=Nt);let Pt;t[213]!==Mt||t[214]!==Nt?(Pt=(0,$.jsx)(`textarea`,{className:jt,rows:2,placeholder:`oc_xxx, oc_yyy`,value:Mt,onChange:Nt}),t[213]=Mt,t[214]=Nt,t[215]=Pt):Pt=t[215];let Ft;t[216]===n.allowFromGroupsDesc?Ft=t[217]:(Ft=(0,$.jsx)(ce,{children:n.allowFromGroupsDesc}),t[216]=n.allowFromGroupsDesc,t[217]=Ft);let It;t[218]!==At||t[219]!==Pt||t[220]!==Ft?(It=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[At,Pt,Ft]}),t[218]=At,t[219]=Pt,t[220]=Ft,t[221]=It):It=t[221];let Lt;t[222]===n.historyLimit?Lt=t[223]:(Lt=(0,$.jsx)(Y,{children:n.historyLimit}),t[222]=n.historyLimit,t[223]=Lt);let Rt;t[224]===Symbol.for(`react.memo_cache_sentinel`)?(Rt=R(J(),`min-w-0 flex-1 font-mono text-xs`),t[224]=Rt):Rt=t[224];let zt=String(D.historyLimit),Bt;t[225]===u?Bt=t[226]:(Bt=e=>u({historyLimit:Number(e.target.value||`0`)||0}),t[225]=u,t[226]=Bt);let Vt;t[227]!==zt||t[228]!==Bt?(Vt=(0,$.jsx)(`input`,{className:Rt,type:`number`,inputMode:`numeric`,value:zt,onChange:Bt}),t[227]=zt,t[228]=Bt,t[229]=Vt):Vt=t[229];let Ht;t[230]!==Lt||t[231]!==Vt?(Ht=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Lt,Vt]}),t[230]=Lt,t[231]=Vt,t[232]=Ht):Ht=t[232];let Ut;t[233]===n.textChunkLimit?Ut=t[234]:(Ut=(0,$.jsx)(Y,{children:n.textChunkLimit}),t[233]=n.textChunkLimit,t[234]=Ut);let Wt;t[235]===Symbol.for(`react.memo_cache_sentinel`)?(Wt=R(J(),`min-w-0 flex-1 font-mono text-xs`),t[235]=Wt):Wt=t[235];let Gt=String(D.textChunkLimit),Kt;t[236]===u?Kt=t[237]:(Kt=e=>u({textChunkLimit:Number(e.target.value||`0`)||0}),t[236]=u,t[237]=Kt);let qt;t[238]!==Gt||t[239]!==Kt?(qt=(0,$.jsx)(`input`,{className:Wt,type:`number`,inputMode:`numeric`,value:Gt,onChange:Kt}),t[238]=Gt,t[239]=Kt,t[240]=qt):qt=t[240];let Jt;t[241]!==Ut||t[242]!==qt?(Jt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Ut,qt]}),t[241]=Ut,t[242]=qt,t[243]=Jt):Jt=t[243];let Yt;t[244]!==Jt||t[245]!==Ht?(Yt=(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Ht,Jt]}),t[244]=Jt,t[245]=Ht,t[246]=Yt):Yt=t[246];let Xt;t[247]===n.feishuToolsTitle?Xt=t[248]:(Xt=(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n.feishuToolsTitle}),t[247]=n.feishuToolsTitle,t[248]=Xt);let Zt;t[249]===n.feishuToolDoc?Zt=t[250]:(Zt=[`doc`,n.feishuToolDoc],t[249]=n.feishuToolDoc,t[250]=Zt);let Qt;t[251]===n.feishuToolWiki?Qt=t[252]:(Qt=[`wiki`,n.feishuToolWiki],t[251]=n.feishuToolWiki,t[252]=Qt);let $t;t[253]===n.feishuToolDrive?$t=t[254]:($t=[`drive`,n.feishuToolDrive],t[253]=n.feishuToolDrive,t[254]=$t);let en;t[255]===n.feishuToolPerm?en=t[256]:(en=[`perm`,n.feishuToolPerm],t[255]=n.feishuToolPerm,t[256]=en);let tn;t[257]===n.feishuToolBitable?tn=t[258]:(tn=[`bitable`,n.feishuToolBitable],t[257]=n.feishuToolBitable,t[258]=tn);let nn;t[259]===n.feishuToolScopes?nn=t[260]:(nn=[`scopes`,n.feishuToolScopes],t[259]=n.feishuToolScopes,t[260]=nn);let rn;t[261]!==Zt||t[262]!==Qt||t[263]!==$t||t[264]!==en||t[265]!==tn||t[266]!==nn?(rn=[Zt,Qt,$t,en,tn,nn],t[261]=Zt,t[262]=Qt,t[263]=$t,t[264]=en,t[265]=tn,t[266]=nn,t[267]=rn):rn=t[267];let an=rn,on;t[268]!==D.tools||t[269]!==an||t[270]!==u?(on=(0,$.jsx)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-2`,children:an.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:!!D.tools?.[t],onChange:e=>u({tools:{...D.tools,[t]:e.target.checked}})}),n]},t)})}),t[268]=D.tools,t[269]=an,t[270]=u,t[271]=on):on=t[271];let sn;t[272]===n.feishuToolsDesc?sn=t[273]:(sn=(0,$.jsx)(`div`,{className:`mt-2`,children:(0,$.jsx)(ce,{children:n.feishuToolsDesc})}),t[272]=n.feishuToolsDesc,t[273]=sn);let cn;t[274]!==Xt||t[275]!==on||t[276]!==sn?(cn=(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge-subtle bg-surface px-4 py-3 dark:border-edge-subtle`,children:[Xt,on,sn]}),t[274]=Xt,t[275]=on,t[276]=sn,t[277]=cn):cn=t[277];let ln;t[278]===n.feishuActionsTitle?ln=t[279]:(ln=(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n.feishuActionsTitle}),t[278]=n.feishuActionsTitle,t[279]=ln);let un=!!D.actions?.reactions,dn;t[280]!==D.actions||t[281]!==u?(dn=e=>u({actions:{...D.actions,reactions:e.target.checked}}),t[280]=D.actions,t[281]=u,t[282]=dn):dn=t[282];let fn;t[283]!==un||t[284]!==dn?(fn=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:un,onChange:dn}),t[283]=un,t[284]=dn,t[285]=fn):fn=t[285];let pn;t[286]!==n.feishuActionReactions||t[287]!==fn?(pn=(0,$.jsxs)(`label`,{className:`mt-2 flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[fn,n.feishuActionReactions]}),t[286]=n.feishuActionReactions,t[287]=fn,t[288]=pn):pn=t[288];let mn;t[289]!==ln||t[290]!==pn?(mn=(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge-subtle bg-surface px-4 py-3 dark:border-edge-subtle`,children:[ln,pn]}),t[289]=ln,t[290]=pn,t[291]=mn):mn=t[291];let hn;t[292]===D?hn=t[293]:(hn=le(D),t[292]=D,t[293]=hn);let gn;t[294]===v?.items?gn=t[295]:(gn=v?.items??[],t[294]=v?.items,t[295]=gn);let _n;t[296]===d?_n=t[297]:(_n=(e,t)=>d(`feishu`,e,t),t[296]=d,t[297]=_n);let vn;t[298]!==n||t[299]!==r.channelAgentRoutes.feishu||t[300]!==r.defaultAgentId||t[301]!==x||t[302]!==hn||t[303]!==gn||t[304]!==_n?(vn=(0,$.jsx)(Ue,{accountIds:hn,routes:r.channelAgentRoutes.feishu,defaultAgentId:r.defaultAgentId,agentItems:gn,disabled:x,onChange:_n,ch:n}),t[298]=n,t[299]=r.channelAgentRoutes.feishu,t[300]=r.defaultAgentId,t[301]=x,t[302]=hn,t[303]=gn,t[304]=_n,t[305]=vn):vn=t[305];let yn;t[306]===n.multiAccountJson?yn=t[307]:(yn=(0,$.jsx)(Y,{children:n.multiAccountJson}),t[306]=n.multiAccountJson,t[307]=yn);let bn;t[308]===Symbol.for(`react.memo_cache_sentinel`)?(bn=R(J(),`min-h-[140px] resize-y font-mono text-xs`),t[308]=bn):bn=t[308];let xn;t[309]===p?xn=t[310]:(xn=e=>p(e.target.value),t[309]=p,t[310]=xn);let Sn;t[311]!==f||t[312]!==h||t[313]!==xn?(Sn=(0,$.jsx)(`textarea`,{className:bn,spellCheck:!1,value:f,onChange:xn,onBlur:h,placeholder:`{ "default": { "appId": "...", "appSecret": "...", "enabled": true } }`}),t[311]=f,t[312]=h,t[313]=xn,t[314]=Sn):Sn=t[314];let Cn;t[315]!==n.multiAccountJsonDesc||t[316]!==m?(Cn=m?(0,$.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:m}):(0,$.jsx)(ce,{children:n.multiAccountJsonDesc}),t[315]=n.multiAccountJsonDesc,t[316]=m,t[317]=Cn):Cn=t[317];let wn;t[318]!==yn||t[319]!==Sn||t[320]!==Cn?(wn=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[yn,Sn,Cn]}),t[318]=yn,t[319]=Sn,t[320]=Cn,t[321]=wn):wn=t[321];let Tn;t[322]!==Yt||t[323]!==cn||t[324]!==mn||t[325]!==vn||t[326]!==wn||t[327]!==ge||t[328]!==Ce||t[329]!==Be||t[330]!==Ve||t[331]!==at||t[332]!==ct||t[333]!==yt||t[334]!==St||t[335]!==kt||t[336]!==It?(Tn=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[ge,Ce,Be,Ve,at,ct,yt,St,kt,It,Yt,cn,mn,vn,wn]}),t[322]=Yt,t[323]=cn,t[324]=mn,t[325]=vn,t[326]=wn,t[327]=ge,t[328]=Ce,t[329]=Be,t[330]=Ve,t[331]=at,t[332]=ct,t[333]=yt,t[334]=St,t[335]=kt,t[336]=It,t[337]=Tn):Tn=t[337];let En;t[338]!==G||t[339]!==Tn||t[340]!==K||t[341]!==q||t[342]!==H?(En=(0,$.jsxs)(`div`,{className:`space-y-4 border-t border-edge-subtle px-3 pb-3 pt-3 dark:border-edge-subtle`,children:[H,G,K,q,Tn]}),t[338]=G,t[339]=Tn,t[340]=K,t[341]=q,t[342]=H,t[343]=En):En=t[343];let Dn;return t[344]!==En||t[345]!==V?(Dn=(0,$.jsxs)(`details`,{ref:L,className:`group rounded-xl border border-edge-subtle bg-surface-base open:pb-3 dark:border-edge`,children:[V,En]}),t[344]=En,t[345]=V,t[346]=Dn):Dn=t[346],Dn}function dt(e){return(0,$.jsx)(`option`,{value:e.value,children:e.label},e.value)}function ft(e){return!e}function pt(){return it(`feishu`)}var mt=e(X(),1);function ht(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)(z,{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)(z,{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)(z,{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 gt={width:208,margin:2,errorCorrectionLevel:`M`,color:{dark:`#000000ff`,light:`#ffffffff`}},_t={sessionKey:null,qrUrl:null};function vt({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=S(()=>we({domain:a}).then(e=>({sessionKey:e.sessionKey,qrUrl:e.qrUrl})),[s,a],{initial:_t,errorData:_t}),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 fe(m);if(e||n.phase===`polling`)return;if(n.phase===`done`){t!==void 0&&(window.clearInterval(t),t=void 0),p.setData(_t),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(_t))}catch(n){e||(t!==void 0&&window.clearInterval(t),u(n instanceof Error?n.message:`Request failed`),p.setData(_t))}};return t=window.setInterval(()=>void n(),3e3),n(),()=>{e=!0,t!==void 0&&window.clearInterval(t)}},[m,r,p.setData]);let b=S(()=>mt.toDataURL(h,gt),[h],{enabled:!!h,initial:null,errorData:null}),C=b.data,w=b.error!==null&&!b.loading,T=!!(h&&m),E=!v&&!T;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&&(T||E)?(0,$.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-3`,children:[(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:E?e.feishuQrStarting:e.feishuQrScanHint}),(0,$.jsxs)(`div`,{className:R(`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`,E&&`bg-surface-muted/40 dark:bg-surface-base`),children:[E?(0,$.jsx)(`div`,{className:`absolute inset-3 animate-pulse rounded-md bg-surface-muted dark:bg-surface-hover`,"aria-hidden":!0}):null,T&&h&&!v&&C&&!w?(0,$.jsx)(`img`,{src:C,alt:``,className:`relative z-[1] size-full object-contain`}):null,T&&h&&!v&&!C&&!w&&!E?(0,$.jsx)(`p`,{className:`relative z-[1] px-2 text-center text-sm text-fg-muted`,children:e.feishuQrEncoding}):null,T&&h&&!v&&w?(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)(x,{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:R(`min-w-0 flex-1 rounded-full px-3 py-2 text-center text-sm font-medium transition-colors`,j.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:R(`min-w-0 flex-1 rounded-full px-3 py-2 text-center text-sm font-medium transition-colors`,j.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)(z,{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 yt(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)(ht,{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)(vt,{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)(ze,{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 bt(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)(xt,{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=R(`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)(xt,{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]:(_=R(`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 xt(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=R(`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 St(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)(se,{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)(se,{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)(se,{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=R(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=ae(n.groupAllowFrom),t[46]=n.groupAllowFrom,t[47]=A);let j;t[48]===r?j=t[49]:(j=e=>r({groupAllowFrom:oe(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 ee;t[59]===r?ee=t[60]:(ee=e=>r({historyLimit:parseInt(e.target.value,10)||50}),t[59]=r,t[60]=ee);let I;t[61]!==ee||t[62]!==n.historyLimit?(I=(0,$.jsx)(`input`,{type:`number`,min:10,max:200,className:F,value:n.historyLimit,onChange:ee}),t[61]=ee,t[62]=n.historyLimit,t[63]=I):I=t[63];let L;t[64]!==P||t[65]!==I?(L=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[P,I]}),t[64]=P,t[65]=I,t[66]=L):L=t[66];let z;t[67]===i.textChunkLimit?z=t[68]:(z=(0,$.jsx)(Y,{children:i.textChunkLimit}),t[67]=i.textChunkLimit,t[68]=z);let te;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(te=J(),t[69]=te):te=t[69];let ne;t[70]===r?ne=t[71]:(ne=e=>r({textChunkLimit:parseInt(e.target.value,10)||4e3}),t[70]=r,t[71]=ne);let B;t[72]!==ne||t[73]!==n.textChunkLimit?(B=(0,$.jsx)(`input`,{type:`number`,min:1e3,max:1e4,step:100,className:te,value:n.textChunkLimit,onChange:ne}),t[72]=ne,t[73]=n.textChunkLimit,t[74]=B):B=t[74];let V;t[75]!==z||t[76]!==B?(V=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[z,B]}),t[75]=z,t[76]=B,t[77]=V):V=t[77];let H;t[78]!==L||t[79]!==V?(H=(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[L,V]}),t[78]=L,t[79]=V,t[80]=H):H=t[80];let U;t[81]===r?U=t[82]:(U=e=>r({debug:e.target.checked}),t[81]=r,t[82]=U);let re;t[83]!==U||t[84]!==n.debug?(re=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:n.debug,onChange:U}),t[83]=U,t[84]=n.debug,t[85]=re):re=t[85];let W;t[86]!==i.telegramDebug||t[87]!==re?(W=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[re,i.telegramDebug]}),t[86]=i.telegramDebug,t[87]=re,t[88]=W):W=t[88];let G;t[89]===i.multiAccountJson?G=t[90]:(G=(0,$.jsx)(Y,{children:i.multiAccountJson}),t[89]=i.multiAccountJson,t[90]=G);let ie;t[91]===Symbol.for(`react.memo_cache_sentinel`)?(ie=R(J(),`min-h-[140px] resize-y font-mono text-xs`),t[91]=ie):ie=t[91];let K;t[92]===l?K=t[93]:(K=e=>l(e.target.value),t[92]=l,t[93]=K);let q;t[94]!==d||t[95]!==K||t[96]!==c?(q=(0,$.jsx)(`textarea`,{className:ie,spellCheck:!1,value:c,onChange:K,onBlur:d,placeholder:`{ "personal": { "accountId": "personal", "botToken": "...", ... } }`}),t[94]=d,t[95]=K,t[96]=c,t[97]=q):q=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)(ce,{children:i.multiAccountJsonDesc}),t[98]=i.multiAccountJsonDesc,t[99]=u,t[100]=le):le=t[100];let ue;t[101]!==G||t[102]!==q||t[103]!==le?(ue=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[G,q,le]}),t[101]=G,t[102]=q,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]!==H||t[111]!==W||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,H,W,ue]}),t[105]=x,t[106]=C,t[107]=T,t[108]=D,t[109]=N,t[110]=H,t[111]=W,t[112]=ue,t[113]=g,t[114]=de):de=t[114],de}function Ct(e){let t=(0,Q.c)(151),{open:n,onOpenChange:r,presentation:i,ch:a,form:o,baseline:s,tgAdvanced:c,setTgAdvanced:l,updateTelegram:u,updateChannelAgentRoute:d,tgAccountsDraft:f,setTgAccountsDraft:p,tgAccountsError:m,onTgAccountsBlur:h,dmOpts:g,groupOpts:_,replyOpts:v,streamOpts:y,chatAgents:b,saving:x,dirty:S,save:w,discard:T,language:E,scrollToPairingOnOpen:D,closeOnSave:O}=e,k=i===void 0?`modal`:i,A=D===void 0?!1:D,j=O===void 0?!0:O,M=o.telegram,P;t[0]===s?P=t[1]:(P=s?ie(s.telegram):``,t[0]=s,t[1]=P);let F=P,I=ie(M),L;t[2]!==a.copied||t[3]!==a.copy||t[4]!==a.hide||t[5]!==a.show?(L=C({show:a.show,hide:a.hide,copy:a.copy,copied:a.copied}),t[2]=a.copied,t[3]=a.copy,t[4]=a.hide,t[5]=a.show,t[6]=L):L=t[6];let te=L,[ne,B]=(0,Z.useState)(0),V=!!I.trim()&&M.enabled,H;t[7]===M?H=t[8]:(H=Te(M),t[7]=M,t[8]=H);let U=H,re,W;t[9]!==n||t[10]!==A?(re=()=>{if(!n||!A)return;let e=window.setTimeout(Tt,80);return()=>window.clearTimeout(e)},W=[n,A],t[9]=n,t[10]=A,t[11]=re,t[12]=W):(re=t[11],W=t[12]),(0,Z.useEffect)(re,W);let G=a.telegramTitle,K=a.telegramSubtitle,q=a.telegramTitle,le=a.telegramSubtitle,ue=a.modalCancel,de;t[13]!==a.telegramSubtitle||t[14]!==a.telegramTitle||t[15]!==k?(de=k===`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[13]=a.telegramSubtitle,t[14]=a.telegramTitle,t[15]=k,t[16]=de):de=t[16];let fe;t[17]===r?fe=t[18]:(fe=()=>r(!1),t[17]=r,t[18]=fe);let pe;t[19]!==j||t[20]!==r||t[21]!==w?(pe=async()=>{await w()&&j&&r(!1)},t[19]=j,t[20]=r,t[21]=w,t[22]=pe):pe=t[22];let me;t[23]!==a||t[24]!==S||t[25]!==T||t[26]!==x||t[27]!==fe||t[28]!==pe?(me=(0,$.jsx)(ht,{ch:a,dirty:S,saving:x,onCancel:fe,onDiscard:T,onSave:pe}),t[23]=a,t[24]=S,t[25]=T,t[26]=x,t[27]=fe,t[28]=pe,t[29]=me):me=t[29];let he;t[30]===u?he=t[31]:(he=e=>u({enabled:e.target.checked}),t[30]=u,t[31]=he);let ge;t[32]!==he||t[33]!==M.enabled?(ge=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:M.enabled,onChange:he}),t[32]=he,t[33]=M.enabled,t[34]=ge):ge=t[34];let _e;t[35]===a.enableTelegramAria?_e=t[36]:(_e=(0,$.jsx)(`span`,{children:a.enableTelegramAria}),t[35]=a.enableTelegramAria,t[36]=_e);let ve;t[37]!==ge||t[38]!==_e?(ve=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[ge,_e]}),t[37]=ge,t[38]=_e,t[39]=ve):ve=t[39];let ye;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(`span`,{className:`text-red-600 dark:text-red-400`,children:` *`}),t[40]=ye):ye=t[40];let be;t[41]===a.telegramToken?be=t[42]:(be=(0,$.jsxs)(Y,{children:[a.telegramToken,ye]}),t[41]=a.telegramToken,t[42]=be);let xe;t[43]!==M.accounts||t[44]!==u?(xe=e=>{let t=M.accounts?.default??Se(`default`);u({accounts:{...M.accounts,default:{...t,accountId:`default`,botToken:e}}})},t[43]=M.accounts,t[44]=u,t[45]=xe):xe=t[45];let X;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(X=R(J(),`text-xs`),t[46]=X):X=t[46];let Ce;t[47]!==te||t[48]!==xe||t[49]!==F||t[50]!==I?(Ce=(0,$.jsx)(N,{value:I,onChange:xe,placeholder:`123456789:ABCdefGHIjklMNOpqrsTUVwxyz`,labels:te,baselineValue:F,inputClassName:X}),t[47]=te,t[48]=xe,t[49]=F,t[50]=I,t[51]=Ce):Ce=t[51];let we;t[52]===a.telegramTokenDesc?we=t[53]:(we=(0,$.jsx)(ce,{children:a.telegramTokenDesc}),t[52]=a.telegramTokenDesc,t[53]=we);let Ee;t[54]!==be||t[55]!==Ce||t[56]!==we?(Ee=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[be,Ce,we]}),t[54]=be,t[55]=Ce,t[56]=we,t[57]=Ee):Ee=t[57];let De;t[58]===M?De=t[59]:(De=Xe(`telegram`,M),t[58]=M,t[59]=De);let Oe=ne>0,ke;t[60]!==a||t[61]!==De||t[62]!==Oe||t[63]!==V?(ke=(0,$.jsx)(bt,{ch:a,usesPairing:De,tokenReady:V,pairingComplete:Oe}),t[60]=a,t[61]=De,t[62]=Oe,t[63]=V,t[64]=ke):ke=t[64];let Ae;t[65]===u?Ae=t[66]:(Ae=e=>u({dmPolicy:e}),t[65]=u,t[66]=Ae);let je;t[67]!==a.dmPolicy||t[68]!==g||t[69]!==Ae||t[70]!==M.dmPolicy?(je=(0,$.jsx)(se,{label:a.dmPolicy,value:M.dmPolicy,onChange:Ae,options:g}),t[67]=a.dmPolicy,t[68]=g,t[69]=Ae,t[70]=M.dmPolicy,t[71]=je):je=t[71];let Me;t[72]!==a||t[73]!==E||t[74]!==n||t[75]!==B||t[76]!==M||t[77]!==U?(Me=(0,$.jsx)(lt,{channel:`telegram`,accountIds:U,channelConfig:M,active:n,ch:a,language:E,onPairedChange:B}),t[72]=a,t[73]=E,t[74]=n,t[75]=B,t[76]=M,t[77]=U,t[78]=Me):Me=t[78];let Ne;t[79]===a.allowFromDm?Ne=t[80]:(Ne=(0,$.jsx)(Y,{children:a.allowFromDm}),t[79]=a.allowFromDm,t[80]=Ne);let Pe;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(Pe=R(J(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[81]=Pe):Pe=t[81];let Fe;t[82]===M.allowFrom?Fe=t[83]:(Fe=ae(M.allowFrom),t[82]=M.allowFrom,t[83]=Fe);let Ie;t[84]===u?Ie=t[85]:(Ie=e=>u({allowFrom:oe(e.target.value)}),t[84]=u,t[85]=Ie);let Le;t[86]!==Fe||t[87]!==Ie?(Le=(0,$.jsx)(`textarea`,{className:Pe,rows:2,placeholder:`123456789, 987654321`,value:Fe,onChange:Ie}),t[86]=Fe,t[87]=Ie,t[88]=Le):Le=t[88];let Re;t[89]===a.allowFromDmDesc?Re=t[90]:(Re=(0,$.jsx)(ce,{children:a.allowFromDmDesc}),t[89]=a.allowFromDmDesc,t[90]=Re);let Be;t[91]!==Ne||t[92]!==Le||t[93]!==Re?(Be=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Ne,Le,Re]}),t[91]=Ne,t[92]=Le,t[93]=Re,t[94]=Be):Be=t[94];let Ve;t[95]===M?Ve=t[96]:(Ve=Te(M),t[95]=M,t[96]=Ve);let He;t[97]===b?.items?He=t[98]:(He=b?.items??[],t[97]=b?.items,t[98]=He);let We;t[99]===d?We=t[100]:(We=(e,t)=>d(`telegram`,e,t),t[99]=d,t[100]=We);let Ge;t[101]!==a||t[102]!==o.channelAgentRoutes.telegram||t[103]!==o.defaultAgentId||t[104]!==x||t[105]!==Ve||t[106]!==He||t[107]!==We?(Ge=(0,$.jsx)(Ue,{accountIds:Ve,routes:o.channelAgentRoutes.telegram,defaultAgentId:o.defaultAgentId,agentItems:He,disabled:x,onChange:We,ch:a}),t[101]=a,t[102]=o.channelAgentRoutes.telegram,t[103]=o.defaultAgentId,t[104]=x,t[105]=Ve,t[106]=He,t[107]=We,t[108]=Ge):Ge=t[108];let Ke;t[109]===l?Ke=t[110]:(Ke=()=>l(wt),t[109]=l,t[110]=Ke);let qe=c&&`rotate-180`,Je;t[111]===qe?Je=t[112]:(Je=R(`mr-1 size-4 transition-transform`,qe),t[111]=qe,t[112]=Je);let Ye;t[113]===Je?Ye=t[114]:(Ye=(0,$.jsx)(ee,{className:Je}),t[113]=Je,t[114]=Ye);let Ze=c?a.advancedHide:a.advancedShow,Qe;t[115]!==Ke||t[116]!==Ye||t[117]!==Ze?(Qe=(0,$.jsxs)(z,{type:`button`,variant:`ghost`,className:`-ml-2 h-auto justify-start px-2 py-1 text-sm text-fg-muted hover:text-fg`,onClick:Ke,children:[Ye,Ze]}),t[115]=Ke,t[116]=Ye,t[117]=Ze,t[118]=Qe):Qe=t[118];let $e;t[119]!==a||t[120]!==_||t[121]!==h||t[122]!==v||t[123]!==p||t[124]!==y||t[125]!==M||t[126]!==f||t[127]!==m||t[128]!==c||t[129]!==u?($e=c?(0,$.jsx)(St,{tg:M,updateTelegram:u,ch:a,groupOpts:_,replyOpts:v,streamOpts:y,tgAccountsDraft:f,setTgAccountsDraft:p,tgAccountsError:m,onTgAccountsBlur:h}):null,t[119]=a,t[120]=_,t[121]=h,t[122]=v,t[123]=p,t[124]=y,t[125]=M,t[126]=f,t[127]=m,t[128]=c,t[129]=u,t[130]=$e):$e=t[130];let et;t[131]!==Ee||t[132]!==ke||t[133]!==je||t[134]!==Me||t[135]!==Be||t[136]!==Ge||t[137]!==Qe||t[138]!==$e?(et=(0,$.jsxs)(`div`,{className:`mt-6 space-y-4`,children:[Ee,ke,je,Me,Be,Ge,Qe,$e]}),t[131]=Ee,t[132]=ke,t[133]=je,t[134]=Me,t[135]=Be,t[136]=Ge,t[137]=Qe,t[138]=$e,t[139]=et):et=t[139];let tt;return t[140]!==a.modalCancel||t[141]!==a.telegramSubtitle||t[142]!==a.telegramTitle||t[143]!==r||t[144]!==n||t[145]!==k||t[146]!==de||t[147]!==me||t[148]!==ve||t[149]!==et?(tt=(0,$.jsxs)(ze,{presentation:k,open:n,onOpenChange:r,title:G,description:K,srTitle:q,srDescription:le,closeAriaLabel:ue,wide:!0,headerExtra:de,footer:me,children:[ve,et]}),t[140]=a.modalCancel,t[141]=a.telegramSubtitle,t[142]=a.telegramTitle,t[143]=r,t[144]=n,t[145]=k,t[146]=de,t[147]=me,t[148]=ve,t[149]=et,t[150]=tt):tt=t[150],tt}function wt(e){return!e}function Tt(){return it(`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 _(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=Te(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=Ee(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=le(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=Ze({configured:l,channelEnabled:u,usesPairing:Xe(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 B(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?et:null,_e,n),c;t[1]===i?c=t[2]:(c=()=>{i()},t[1]=i,t[2]=c);let l=c;nt(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}=T(n),{entries:c,mutate:l}=Nt(n,i),u;t[0]===n?u=t[1]:(u=n?Ce():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,ye,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 E=w,D;return t[22]!==C||t[23]!==E?(D={cards:C,refreshAll:E},t[22]=C,t[23]=E,t[24]=D):D=t[24],D}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=!!g(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,h]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)(null),[x,S]=(0,Z.useState)(null),[C,w]=(0,Z.useState)(!1),[E,D]=(0,Z.useState)(!1),[O,k]=(0,Z.useState)(!1),[A,j]=(0,Z.useState)(!1),[M,N]=(0,Z.useState)(!1),[P,F]=(0,Z.useState)(!1),[ee,I]=(0,Z.useState)(!1),{data:L}=s(r?`gateway-chat-agents-ch`:null,re,{revalidateOnFocus:!1}),{data:R,error:z,isLoading:te,mutate:B}=T(r),V=(0,Z.useMemo)(()=>R?.payload?.config===void 0?null:ve(R.payload.config),[R]);(r!==u.hasToken||V!==u.parsed)&&(d({hasToken:r,parsed:V}),r?V!==null&&!o.current&&(l({type:`load`,payload:V}),v(!1)):(o.current=!1,l({type:`reset`}),v(!1)));let{form:H,baseline:U,tgAccountsDraft:W,tgAccountsError:G,wxAccountsDraft:K,wxAccountsError:ae,feishuAccountsDraft:q,feishuAccountsError:oe}=c,J=(0,Z.useMemo)(()=>!H||!U?!1:JSON.stringify(H)!==JSON.stringify(U),[H,U]),Y=!!(r&&te&&R===void 0&&!z),se=z instanceof Error?z.message:z?String(z):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(!H||f)return!1;p(!0),h(null),v(!1);try{let e=await he(H);return o.current=!1,l({type:`commitSaved`,payload:e}),v(!0),window.setTimeout(()=>v(!1),2500),!0}catch(e){return h(e instanceof Error?e.message:n.saveError),!1}finally{p(!1)}},[H,f,n.saveError]),pe=(0,Z.useCallback)(()=>{U&&(o.current=!1,l({type:`discard`}),h(null),v(!1))},[U]),me=(0,Z.useCallback)(async(e,t)=>{if(!H||f)return;let r=H,i=e===`weixin`?{...H,weixin:{...H.weixin,enabled:t}}:e===`telegram`?{...H,telegram:{...H.telegram,enabled:t}}:{...H,feishu:{...H.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),h(null);try{let e=await he(i);o.current=!1,l({type:`commitSaved`,payload:e})}catch(e){h(e instanceof Error?e.message:n.saveError),o.current=!0,l({type:`restoreForm`,payload:r})}finally{p(!1)}},[H,f,n.saveError]),ge=(0,Z.useCallback)(async()=>{let e=H?ie(H.telegram):``;e&&await ne(e)&&(N(!0),window.setTimeout(()=>N(!1),2e3))},[H]),_e=(0,Z.useCallback)(e=>{de({appId:e.appId,domain:e.domain,enabled:!0}),B(),S(n.feishuQrSetupSuccess),window.setTimeout(()=>S(null),4e3)},[de,B,n.feishuQrSetupSuccess]),ye=(0,Z.useCallback)(async()=>{let e=H?.feishu?.appSecret;e&&await ne(e)&&(F(!0),window.setTimeout(()=>F(!1),2e3))},[H]),be=(0,Z.useCallback)(async()=>{let e=H?.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 ne(JSON.stringify(t,null,2))&&(I(!0),window.setTimeout(()=>I(!1),2e3))},[H]);return{language:e,m:t,ch:n,hasToken:r,loading:Y,fetchError:se,mutate:B,form:H,baseline:U,dirty:J,saving:f,error:m,saveOk:_,weixinSuccessBanner:y,setWeixinSuccessBanner:b,feishuSetupSuccessBanner:x,tgAdvanced:C,setTgAdvanced:w,showToken:E,setShowToken:D,showFeishuSecret:O,setShowFeishuSecret:k,showFeishuWebhookSecrets:A,setShowFeishuWebhookSecrets:j,copied:M,feishuCopied:P,feishuWebhookCopied:ee,tgAccountsDraft:W,setTgAccountsDraft:(0,Z.useCallback)(e=>{l({type:`setTgAccountsDraft`,value:e})},[]),tgAccountsError:G,wxAccountsDraft:K,setWxAccountsDraft:(0,Z.useCallback)(e=>{l({type:`setWxAccountsDraft`,value:e})},[]),wxAccountsError:ae,feishuAccountsDraft:q,setFeishuAccountsDraft:(0,Z.useCallback)(e=>{l({type:`setFeishuAccountsDraft`,value:e})},[]),feishuAccountsError:oe,chatAgents:L,updateChannelAgentRoute:ce,updateTelegram:le,updateWeixin:ue,updateFeishu:de,save:fe,discard:pe,toggleChannelEnabled:me,copyToken:ge,handleFeishuQrSetupSuccess:_e,copyFeishuSecret:ye,copyFeishuWebhookConfig:be,onTgAccountsBlur:(0,Z.useCallback)(()=>{if(!H)return;let e=W.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})}},[H,W,n.jsonObjectAccounts,n.jsonInvalid]),onWxAccountsBlur:(0,Z.useCallback)(()=>{if(!H)return;let e=K.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})}},[H,K,n.jsonObjectAccounts,n.jsonInvalid]),onFeishuAccountsBlur:(0,Z.useCallback)(()=>{if(!H)return;let e=q.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})}},[H,q,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=S(()=>pe().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 xe(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=S(()=>mt.toDataURL(h,ln),[h],{enabled:!!h,initial:null,errorData:null}),C=b.data,w=b.error!==null&&!b.loading,T=!!(h&&m),E=!v&&!T;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&&(T||E)?(0,$.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-3`,children:[(0,$.jsx)(`p`,{className:R(`min-h-[1.25rem] text-center text-sm`,s&&!E?`text-accent`:`text-fg-muted`),children:E?e.weixinQrLoginBusy:s??`\xA0`}),(0,$.jsxs)(`div`,{className:R(`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`,E&&`bg-surface-muted/40 dark:bg-surface-base`),children:[E?(0,$.jsx)(`div`,{className:`absolute inset-3 animate-pulse rounded-md bg-surface-muted dark:bg-surface-hover`,"aria-hidden":!0}):null,T&&h&&!v&&C&&!w?(0,$.jsx)(`img`,{src:C,alt:``,className:`relative z-[1] size-full object-contain`}):null,T&&h&&!v&&!C&&!w&&!E?(0,$.jsx)(`p`,{className:`relative z-[1] px-2 text-center text-sm text-fg-muted`,children:e.weixinQrEncoding}):null,T&&h&&!v&&w?(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)(x,{className:`size-3 shrink-0`}),e.weixinQrOpenLink]})]}):null]})]}):null]}),(0,$.jsx)(`div`,{className:`mt-6`,children:(0,$.jsx)(z,{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)(ht,{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)(ze,{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=R(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)(ce,{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)(se,{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 ee;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(ee=J(),t[50]=ee):ee=t[50];let I;t[51]===r?I=t[52]:(I=e=>r({routeTag:e.target.value}),t[51]=r,t[52]=I);let L;t[53]!==i.routeTagPlaceholder||t[54]!==I||t[55]!==n.routeTag?(L=(0,$.jsx)(`input`,{className:ee,value:n.routeTag,onChange:I,placeholder:i.routeTagPlaceholder}),t[53]=i.routeTagPlaceholder,t[54]=I,t[55]=n.routeTag,t[56]=L):L=t[56];let z;t[57]===i.weixinRouteTagDesc?z=t[58]:(z=(0,$.jsx)(ce,{children:i.weixinRouteTagDesc}),t[57]=i.weixinRouteTagDesc,t[58]=z);let te;t[59]!==F||t[60]!==L||t[61]!==z?(te=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[F,L,z]}),t[59]=F,t[60]=L,t[61]=z,t[62]=te):te=t[62];let ne;t[63]===r?ne=t[64]:(ne=e=>r({debug:e.target.checked}),t[63]=r,t[64]=ne);let B;t[65]!==ne||t[66]!==n.debug?(B=(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:n.debug,onChange:ne}),t[65]=ne,t[66]=n.debug,t[67]=B):B=t[67];let V;t[68]!==i.weixinDebug||t[69]!==B?(V=(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[B,i.weixinDebug]}),t[68]=i.weixinDebug,t[69]=B,t[70]=V):V=t[70];let H;t[71]===i.weixinDebugDesc?H=t[72]:(H=(0,$.jsx)(ce,{children:i.weixinDebugDesc}),t[71]=i.weixinDebugDesc,t[72]=H);let U;t[73]===i.weixinAccountsJson?U=t[74]:(U=(0,$.jsx)(Y,{children:i.weixinAccountsJson}),t[73]=i.weixinAccountsJson,t[74]=U);let re;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(re=R(J(),`min-h-[140px] resize-y font-mono text-xs`),t[75]=re):re=t[75];let W;t[76]===s?W=t[77]:(W=e=>s(e.target.value),t[76]=s,t[77]=W);let G;t[78]!==l||t[79]!==W||t[80]!==o?(G=(0,$.jsx)(`textarea`,{className:re,spellCheck:!1,value:o,onChange:W,onBlur:l,placeholder:`{ "personal": { "name": "...", "cdnBaseUrl": "...", "enabled": true } }`}),t[78]=l,t[79]=W,t[80]=o,t[81]=G):G=t[81];let ie;t[82]!==i.weixinAccountsJsonDesc||t[83]!==c?(ie=c?(0,$.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:c}):(0,$.jsx)(ce,{children:i.weixinAccountsJsonDesc}),t[82]=i.weixinAccountsJsonDesc,t[83]=c,t[84]=ie):ie=t[84];let K;t[85]!==U||t[86]!==G||t[87]!==ie?(K=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[U,G,ie]}),t[85]=U,t[86]=G,t[87]=ie,t[88]=K):K=t[88];let ae;t[89]===n?ae=t[90]:(ae=Ee(n),t[89]=n,t[90]=ae);let q;t[91]!==f||t[92]!==i||t[93]!==u||t[94]!==d||t[95]!==p||t[96]!==m||t[97]!==ae?(q=(0,$.jsx)(Ue,{accountIds:ae,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]=ae,t[98]=q):q=t[98];let oe;return t[99]!==P||t[100]!==te||t[101]!==V||t[102]!==H||t[103]!==K||t[104]!==q||t[105]!==x||t[106]!==C?(oe=(0,$.jsxs)(`div`,{className:`space-y-4 border-t border-edge-subtle pt-4 dark:border-edge`,children:[x,C,P,te,V,H,K,q]}),t[99]=P,t[100]=te,t[101]=V,t[102]=H,t[103]=K,t[104]=q,t[105]=x,t[106]=C,t[107]=oe):oe=t[107],oe}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=Ee(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)(se,{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)(lt,{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 it(`weixin`)}function _n(){let e=U(),{channelId:t}=M(),[n]=H(),{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:S,setShowToken:C,showFeishuSecret:w,setShowFeishuSecret:T,showFeishuWebhookSecrets:E,setShowFeishuWebhookSecrets:D,copied:O,feishuCopied:A,feishuWebhookCopied:j,tgAccountsDraft:N,setTgAccountsDraft:P,tgAccountsError:ee,wxAccountsDraft:I,setWxAccountsDraft:L,wxAccountsError:R,feishuAccountsDraft:ne,setFeishuAccountsDraft:V,feishuAccountsError:re,chatAgents:G,updateChannelAgentRoute:ie,updateTelegram:K,updateWeixin:ae,updateFeishu:q,save:oe,discard:J,toggleChannelEnabled:Y,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=W(t),Se=n.get(`pairing`)===`1`,Ce=!!(X&&xe.has(X)),{cards:we,refreshAll:Te}=nn({hasToken:o,form:u,ch:a}),Ee=X?xe.get(X):void 0,Q=X?we.find(e=>e.id===X):void 0;(0,Z.useEffect)(()=>{!X||be.length===0||xe.has(X)||e(F,{replace:!0})},[X,xe,be.length,e]);let De=(0,Z.useCallback)((t,n)=>{e(k(t,{pairing:n?.scrollToPairing}))},[e]),Oe=(0,Z.useCallback)(()=>{e(F)},[e]),ke=(0,Z.useCallback)(e=>{e||Oe()},[Oe]),Ae=(0,Z.useCallback)(async()=>{await l(),_(a.weixinQrLoginSuccess),window.setTimeout(()=>_(null),4e3)},[a.weixinQrLoginSuccess,l,_]),je=(0,Z.useCallback)(async()=>{ye(!0);try{Te(),await l()}finally{ye(!1)}},[l,Te]);if(!o)return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vn,{hasToken:o,ch:a,refreshing:ve,saveOk:h,onRefresh:je}),(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:je}),(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)(Ie,{}),(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:je}),(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)(z,{type:`button`,variant:`secondary`,onClick:()=>void l(),children:a.retry})]})]});let Ne=u.weixin,Pe=Se&&X===`weixin`,Fe=Se&&X===`feishu`,Le=(0,$.jsx)(hn,{ch:a,wx:Ne,updateWeixin:ae,dmOpts:me,streamOpts:_e,wxAccountsDraft:I,setWxAccountsDraft:L,wxAccountsError:R,onWxAccountsBlur:fe,form:u,chatAgents:G,onAgentRouteChange:(e,t)=>ie(`weixin`,e,t),saving:p,language:r,dialogOpen:Ce&&X===`weixin`,pairingFocus:Pe}),Re=(0,$.jsx)(ut,{ch:a,form:u,baseline:d,showFeishuSecret:w,setShowFeishuSecret:T,showFeishuWebhookSecrets:E,setShowFeishuWebhookSecrets:D,feishuCopied:A,feishuWebhookCopied:j,copyFeishuSecret:le,copyFeishuWebhookConfig:ue,updateFeishu:q,updateChannelAgentRoute:ie,feishuAccountsDraft:ne,setFeishuAccountsDraft:V,feishuAccountsError:re,onFeishuAccountsBlur:pe,dmOpts:me,groupOpts:he,chatAgents:G,saving:p,language:r,dialogOpen:Ce&&X===`feishu`,pairingFocus:Fe});return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vn,{hasToken:o,ch:a,refreshing:ve,saveOk:h,onRefresh:je}),(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:te(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)(x,{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)(Ie,{count:Math.max(be.length,3)}):(0,$.jsx)(Me,{catalog:be,cards:we,ch:a,saving:p,onOpenChannel:De,onToggleChannel:(e,t)=>{B(e)&&Y(e,t)}}),X===`weixin`?(0,$.jsx)(fn,{open:Ce,onOpenChange:ke,ch:a,onLoginSuccess:Ae,moreSettings:Le,settingsDirty:f,settingsSaving:p,onSettingsDiscard:J,onSettingsSave:oe}):null,X===`telegram`?(0,$.jsx)(Ct,{open:Ce,onOpenChange:e=>{e||Oe()},ch:a,form:u,baseline:d,tgAdvanced:y,setTgAdvanced:b,showToken:S,setShowToken:C,copied:O,copyToken:se,updateTelegram:K,updateChannelAgentRoute:ie,tgAccountsDraft:N,setTgAccountsDraft:P,tgAccountsError:ee,onTgAccountsBlur:de,dmOpts:me,groupOpts:he,replyOpts:ge,streamOpts:_e,chatAgents:G,saving:p,dirty:f,save:oe,discard:J,language:r,scrollToPairingOnOpen:Se,closeOnSave:!1}):null,X===`feishu`?(0,$.jsx)(yt,{open:Ce,onOpenChange:e=>{e||Oe()},ch:a,onSetupSuccess:ce,moreSettings:Re,settingsDirty:f,settingsSaving:p,onSettingsDiscard:J,onSettingsSave:oe}):null,Ee&&Q&&!Ee.manageable?(0,$.jsx)(Ve,{open:Ce,onOpenChange:e=>{e||Oe()},entry:Ee,vm:Q,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=D(bn),c=D(yn),l;t[0]!==r||t[1]!==o||t[2]!==i||t[3]!==a?(l=(0,$.jsx)(He,{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};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./url-Dd8Q7kZZ.js";import{n}from"./fetch-DRqwef_Q.js";import{gn as r}from"./index-Cu7bKuUi.js";import{i}from"./cron-api-0h_QT8U3.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
|
|
1
|
+
import{t as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./url-D6jvVYIA.js";import{n}from"./fetch-BaFNUtkE.js";import{xn as r}from"./index-qNrVJp-y.js";import{i}from"./cron-api-N9hvuRrn.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
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
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
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(`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-DPHK1VkS.js";var t=e(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),n=e(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]);export{t as n,n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./url-
|
|
1
|
+
import{t as e}from"./url-D6jvVYIA.js";import{t}from"./fetch-BaFNUtkE.js";import{z as n}from"./index-qNrVJp-y.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};
|