@xopcai/xopc 0.0.99 → 0.0.100
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/telegram/src/account-manager.d.ts +3 -3
- package/dist/extensions/telegram/src/account-manager.js +8 -8
- package/dist/extensions/telegram/src/account-manager.js.map +1 -1
- package/dist/extensions/telegram/src/actions/message-actions.d.ts +4 -0
- package/dist/extensions/telegram/src/actions/message-actions.js +71 -0
- package/dist/extensions/telegram/src/actions/message-actions.js.map +1 -0
- package/dist/extensions/telegram/src/adapters/config-adapter.js +9 -1
- package/dist/extensions/telegram/src/adapters/config-adapter.js.map +1 -1
- package/dist/extensions/telegram/src/adapters/config-surface.js +1 -1
- package/dist/extensions/telegram/src/adapters/config-surface.js.map +1 -1
- package/dist/extensions/telegram/src/adapters/outbound-adapter.d.ts +2 -1
- package/dist/extensions/telegram/src/adapters/outbound-adapter.js +18 -4
- package/dist/extensions/telegram/src/adapters/outbound-adapter.js.map +1 -1
- package/dist/extensions/telegram/src/adapters/security-adapter.js +2 -1
- package/dist/extensions/telegram/src/adapters/security-adapter.js.map +1 -1
- package/dist/extensions/telegram/src/adapters/streaming-adapter.js +90 -6
- package/dist/extensions/telegram/src/adapters/streaming-adapter.js.map +1 -1
- package/dist/extensions/telegram/src/adapters/types.d.ts +9 -1
- package/dist/extensions/telegram/src/api-root.d.ts +4 -0
- package/dist/extensions/telegram/src/api-root.js +42 -0
- package/dist/extensions/telegram/src/api-root.js.map +1 -0
- package/dist/extensions/telegram/src/approval-delivery.d.ts +9 -0
- package/dist/extensions/telegram/src/approval-delivery.js +36 -0
- package/dist/extensions/telegram/src/approval-delivery.js.map +1 -0
- package/dist/extensions/telegram/src/approval-store.d.ts +25 -0
- package/dist/extensions/telegram/src/approval-store.js +61 -0
- package/dist/extensions/telegram/src/approval-store.js.map +1 -0
- package/dist/extensions/telegram/src/config-schema.d.ts +185 -35
- package/dist/extensions/telegram/src/config-schema.js +67 -45
- package/dist/extensions/telegram/src/config-schema.js.map +1 -1
- package/dist/extensions/telegram/src/conversation-id.d.ts +6 -0
- package/dist/extensions/telegram/src/conversation-id.js +18 -0
- package/dist/extensions/telegram/src/conversation-id.js.map +1 -0
- package/dist/extensions/telegram/src/doctor.d.ts +5 -0
- package/dist/extensions/telegram/src/doctor.js +80 -0
- package/dist/extensions/telegram/src/doctor.js.map +1 -0
- package/dist/extensions/telegram/src/exec-approval-handler.d.ts +7 -0
- package/dist/extensions/telegram/src/exec-approval-handler.js +36 -0
- package/dist/extensions/telegram/src/exec-approval-handler.js.map +1 -0
- package/dist/extensions/telegram/src/exec-approvals.d.ts +8 -0
- package/dist/extensions/telegram/src/exec-approvals.js +20 -0
- package/dist/extensions/telegram/src/exec-approvals.js.map +1 -0
- package/dist/extensions/telegram/src/focus-handler.d.ts +12 -0
- package/dist/extensions/telegram/src/focus-handler.js +55 -0
- package/dist/extensions/telegram/src/focus-handler.js.map +1 -0
- package/dist/extensions/telegram/src/group-config-resolver.d.ts +12 -0
- package/dist/extensions/telegram/src/group-config-resolver.js +17 -0
- package/dist/extensions/telegram/src/group-config-resolver.js.map +1 -0
- package/dist/extensions/telegram/src/inbound-coalescer.d.ts +15 -0
- package/dist/extensions/telegram/src/inbound-coalescer.js +107 -0
- package/dist/extensions/telegram/src/inbound-coalescer.js.map +1 -0
- package/dist/extensions/telegram/src/inbound-processor.d.ts +1 -0
- package/dist/extensions/telegram/src/inbound-processor.js +41 -4
- package/dist/extensions/telegram/src/inbound-processor.js.map +1 -1
- package/dist/extensions/telegram/src/network-errors.d.ts +2 -0
- package/dist/extensions/telegram/src/network-errors.js +23 -0
- package/dist/extensions/telegram/src/network-errors.js.map +1 -0
- package/dist/extensions/telegram/src/plugin.d.ts +11 -0
- package/dist/extensions/telegram/src/plugin.js +191 -57
- package/dist/extensions/telegram/src/plugin.js.map +1 -1
- package/dist/extensions/telegram/src/polling-session.d.ts +17 -0
- package/dist/extensions/telegram/src/polling-session.js +112 -0
- package/dist/extensions/telegram/src/polling-session.js.map +1 -0
- package/dist/extensions/telegram/src/proxy-fetch.d.ts +2 -0
- package/dist/extensions/telegram/src/proxy-fetch.js +14 -0
- package/dist/extensions/telegram/src/proxy-fetch.js.map +1 -0
- package/dist/extensions/telegram/src/reactions.d.ts +14 -0
- package/dist/extensions/telegram/src/reactions.js +48 -0
- package/dist/extensions/telegram/src/reactions.js.map +1 -0
- package/dist/extensions/telegram/src/reply-params.d.ts +15 -0
- package/dist/extensions/telegram/src/reply-params.js +28 -0
- package/dist/extensions/telegram/src/reply-params.js.map +1 -0
- package/dist/extensions/telegram/src/startup-errors.d.ts +3 -0
- package/dist/extensions/telegram/src/startup-errors.js +27 -0
- package/dist/extensions/telegram/src/startup-errors.js.map +1 -0
- package/dist/extensions/telegram/src/telegram-actions.d.ts +25 -0
- package/dist/extensions/telegram/src/telegram-actions.js +65 -0
- package/dist/extensions/telegram/src/telegram-actions.js.map +1 -0
- package/dist/extensions/telegram/src/thread-bindings.d.ts +15 -0
- package/dist/extensions/telegram/src/thread-bindings.js +22 -0
- package/dist/extensions/telegram/src/thread-bindings.js.map +1 -0
- package/dist/extensions/telegram/src/token-resolver.d.ts +8 -0
- package/dist/extensions/telegram/src/token-resolver.js +34 -0
- package/dist/extensions/telegram/src/token-resolver.js.map +1 -0
- package/dist/extensions/telegram/src/update-offset-store.d.ts +9 -0
- package/dist/extensions/telegram/src/update-offset-store.js +66 -0
- package/dist/extensions/telegram/src/update-offset-store.js.map +1 -0
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{agents-4KTK-Ku7.js → agents-C5jtBK-H.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-DkgInY2w.js → apps-page-smJl-qf_.js} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-CH6KgFK6.js +1 -0
- package/dist/gateway/static/root/assets/channels-status-swr-CV70xvY7.js +8 -0
- package/dist/gateway/static/root/assets/{cron-api-BRDli2Mm.js → cron-api-CgBO8B7I.js} +1 -1
- package/dist/gateway/static/root/assets/{cron-page-BzEr5Za8.js → cron-page-Be0cW1cR.js} +1 -1
- package/dist/gateway/static/root/assets/{dist-BsHh1vX0.js → dist-P8HRGUuh.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-TWt5q_ef.js → extension-debug-page-BowuycYu.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-C3kV8ZvZ.js → extension-page-27-Zpv8O.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-Csy9LNC6.js → extension-settings-page-DDFa_rIq.js} +1 -1
- package/dist/gateway/static/root/assets/{fetch-BLLOP2CM.js → fetch-drJUxxKP.js} +1 -1
- package/dist/gateway/static/root/assets/{field-primitives-MXbM8HvY.js → field-primitives-BWLssxEb.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-config-api-CkoyqfRx.js → heartbeat-config-api-BVuYNYT_.js} +1 -1
- package/dist/gateway/static/root/assets/index-CRDAmr3W.js +4840 -0
- package/dist/gateway/static/root/assets/index-DjNDHzwG.css +1 -0
- package/dist/gateway/static/root/assets/{logs-page-B2vY41ph.js → logs-page-BDX8IrDQ.js} +1 -1
- package/dist/gateway/static/root/assets/{note-detail-page-B7qE5pkO.js → note-detail-page-BmQ9KeiA.js} +1 -1
- package/dist/gateway/static/root/assets/{note-time-NBBReVR4.js → note-time-14I9Sgqh.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-page-CsWYaqYM.js → notes-page-BMfP0FFf.js} +1 -1
- package/dist/gateway/static/root/assets/{sessions-page-BPGY3SCT.js → sessions-page-C3scyChq.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-advanced-gate-DtA451RM.js → settings-advanced-gate-2ODuCjHP.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-form-section-DYR_SPlX.js → settings-form-section-DUoGKAiW.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-BJUgZQzN.js → settings-page-CttAfOWV.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-3u8VFmdo.js → share-preview-page-B77xqiiI.js} +1 -1
- package/dist/gateway/static/root/assets/{skills-page-DuyhcH4U.js → skills-page-B_bAZGzB.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-e2q2yjs4.js → theme-store-BgCPrmxU.js} +1 -1
- package/dist/gateway/static/root/assets/url-q28QhI7l.js +3 -0
- package/dist/gateway/static/root/assets/{utils-B4Vw3fnc.js → utils-CCGejlcX.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-api-key-field-BFY67Hhp.js → voice-api-key-field-DZzzihcY.js} +1 -1
- package/dist/gateway/static/root/assets/{workflow-page.utils-yUJ5jexd.js → workflow-page.utils-D5RMAmT4.js} +1 -1
- package/dist/gateway/static/root/assets/{workflows-page-DIMHCpNt.js → workflows-page-DEYpC6Bv.js} +1 -1
- package/dist/gateway/static/root/index.html +5 -5
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.d.ts +4 -0
- package/dist/src/agent/agent-manager.js +68 -4
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/child-agent-factory.d.ts +1 -0
- package/dist/src/agent/child-agent-factory.js +13 -10
- package/dist/src/agent/child-agent-factory.js.map +1 -1
- package/dist/src/agent/embedded/run-for-session.d.ts +1 -0
- package/dist/src/agent/embedded/run-for-session.js +1 -0
- package/dist/src/agent/embedded/run-for-session.js.map +1 -1
- package/dist/src/agent/embedded/run-turn.js +1 -17
- package/dist/src/agent/embedded/run-turn.js.map +1 -1
- package/dist/src/agent/embedded/session-runner.js +3 -1
- package/dist/src/agent/embedded/session-runner.js.map +1 -1
- package/dist/src/agent/embedded/session-tool-result-guard.d.ts +1 -0
- package/dist/src/agent/embedded/session-tool-result-guard.js +1 -0
- package/dist/src/agent/embedded/session-tool-result-guard.js.map +1 -1
- package/dist/src/agent/inbound/attachment-pipeline.d.ts +37 -0
- package/dist/src/agent/inbound/attachment-pipeline.js +169 -0
- package/dist/src/agent/inbound/attachment-pipeline.js.map +1 -0
- package/dist/src/agent/inbound/turn-dispatcher.d.ts +3 -5
- package/dist/src/agent/inbound/turn-dispatcher.js +1 -2
- package/dist/src/agent/inbound/turn-dispatcher.js.map +1 -1
- package/dist/src/agent/memory/index.d.ts +2 -0
- package/dist/src/agent/memory/index.js +2 -1
- package/dist/src/agent/memory/memory-flush.d.ts +27 -0
- package/dist/src/agent/memory/memory-flush.js +124 -0
- package/dist/src/agent/memory/memory-flush.js.map +1 -0
- package/dist/src/agent/messaging/outbound-coordinator.js +2 -1
- package/dist/src/agent/messaging/outbound-coordinator.js.map +1 -1
- package/dist/src/agent/messaging/stream-manager.d.ts +2 -0
- package/dist/src/agent/messaging/stream-manager.js +3 -0
- package/dist/src/agent/messaging/stream-manager.js.map +1 -1
- package/dist/src/agent/orchestration/agent-orchestrator.d.ts +0 -4
- package/dist/src/agent/orchestration/agent-orchestrator.js +40 -107
- package/dist/src/agent/orchestration/agent-orchestrator.js.map +1 -1
- package/dist/src/agent/prompt/contribution.d.ts +9 -0
- package/dist/src/agent/prompt/contribution.js +1 -0
- package/dist/src/agent/prompt/safety.js +0 -10
- package/dist/src/agent/prompt/safety.js.map +1 -1
- package/dist/src/agent/prompt/sanitize-for-prompt.d.ts +6 -0
- package/dist/src/agent/prompt/sanitize-for-prompt.js +13 -0
- package/dist/src/agent/prompt/sanitize-for-prompt.js.map +1 -0
- package/dist/src/agent/prompt/sections/behavior.d.ts +5 -0
- package/dist/src/agent/prompt/sections/behavior.js +50 -0
- package/dist/src/agent/prompt/sections/behavior.js.map +1 -0
- package/dist/src/agent/prompt/sections/memory-skills.d.ts +9 -0
- package/dist/src/agent/prompt/sections/memory-skills.js +59 -0
- package/dist/src/agent/prompt/sections/memory-skills.js.map +1 -0
- package/dist/src/agent/prompt/sections/messaging-runtime.d.ts +16 -0
- package/dist/src/agent/prompt/sections/messaging-runtime.js +69 -0
- package/dist/src/agent/prompt/sections/messaging-runtime.js.map +1 -0
- package/dist/src/agent/prompt/sections/project-context.d.ts +16 -0
- package/dist/src/agent/prompt/sections/project-context.js +58 -0
- package/dist/src/agent/prompt/sections/project-context.js.map +1 -0
- package/dist/src/agent/prompt/sections/tooling.d.ts +5 -0
- package/dist/src/agent/prompt/sections/tooling.js +119 -0
- package/dist/src/agent/prompt/sections/tooling.js.map +1 -0
- package/dist/src/agent/prompt/sections/workspace-runtime.d.ts +11 -0
- package/dist/src/agent/prompt/sections/workspace-runtime.js +32 -0
- package/dist/src/agent/prompt/sections/workspace-runtime.js.map +1 -0
- package/dist/src/agent/prompt/service-prompt-builder.d.ts +13 -0
- package/dist/src/agent/prompt/service-prompt-builder.js +54 -13
- package/dist/src/agent/prompt/service-prompt-builder.js.map +1 -1
- package/dist/src/agent/prompt/subagent-context.d.ts +15 -0
- package/dist/src/agent/prompt/subagent-context.js +68 -0
- package/dist/src/agent/prompt/subagent-context.js.map +1 -0
- package/dist/src/agent/prompt/system-prompt-params.d.ts +53 -0
- package/dist/src/agent/prompt/system-prompt-params.js +74 -0
- package/dist/src/agent/prompt/system-prompt-params.js.map +1 -0
- package/dist/src/agent/prompt/system-prompt.d.ts +22 -11
- package/dist/src/agent/prompt/system-prompt.js +79 -193
- package/dist/src/agent/prompt/system-prompt.js.map +1 -1
- package/dist/src/agent/prompt/types.d.ts +3 -0
- package/dist/src/agent/service/build-direct-message-content.d.ts +5 -21
- package/dist/src/agent/service/build-direct-message-content.js +11 -64
- package/dist/src/agent/service/build-direct-message-content.js.map +1 -1
- package/dist/src/agent/service/direct-turn-helpers.d.ts +1 -1
- package/dist/src/agent/service/direct-turn-helpers.js +7 -0
- package/dist/src/agent/service/direct-turn-helpers.js.map +1 -1
- package/dist/src/agent/service/process-direct-one-shot.d.ts +3 -3
- package/dist/src/agent/service/process-direct-one-shot.js +22 -17
- package/dist/src/agent/service/process-direct-one-shot.js.map +1 -1
- package/dist/src/agent/service/process-direct-streaming.d.ts +6 -20
- package/dist/src/agent/service/process-direct-streaming.js +39 -40
- package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
- package/dist/src/agent/service/webchat-tts.d.ts +4 -9
- package/dist/src/agent/service/webchat-tts.js +9 -20
- package/dist/src/agent/service/webchat-tts.js.map +1 -1
- package/dist/src/agent/service.d.ts +8 -19
- package/dist/src/agent/service.js +53 -11
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/tools/factory.js +2 -0
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/index.d.ts +1 -0
- package/dist/src/agent/tools/index.js +2 -1
- package/dist/src/agent/tools/media-read-tool.d.ts +2 -0
- package/dist/src/agent/tools/media-read-tool.js +89 -0
- package/dist/src/agent/tools/media-read-tool.js.map +1 -0
- package/dist/src/channels/attachments/attachment-classifiers.d.ts +8 -0
- package/dist/src/channels/attachments/attachment-classifiers.js +11 -0
- package/dist/src/channels/attachments/attachment-classifiers.js.map +1 -0
- package/dist/src/channels/attachments/inbound-persist.d.ts +13 -34
- package/dist/src/channels/attachments/inbound-persist.js +34 -102
- package/dist/src/channels/attachments/inbound-persist.js.map +1 -1
- package/dist/src/channels/attachments/inbound-types.d.ts +13 -0
- package/dist/src/channels/attachments/inbound-types.js +30 -0
- package/dist/src/channels/attachments/inbound-types.js.map +1 -0
- package/dist/src/channels/attachments/outbound-tts-persist.d.ts +3 -12
- package/dist/src/channels/attachments/outbound-tts-persist.js +28 -48
- package/dist/src/channels/attachments/outbound-tts-persist.js.map +1 -1
- package/dist/src/channels/attachments/voice-stt-webchat.d.ts +3 -3
- package/dist/src/channels/attachments/voice-stt-webchat.js +8 -14
- package/dist/src/channels/attachments/voice-stt-webchat.js.map +1 -1
- package/dist/src/channels/channel-domain.d.ts +30 -2
- package/dist/src/channels/exec-approval-runtime.d.ts +29 -0
- package/dist/src/channels/exec-approval-runtime.js +30 -0
- package/dist/src/channels/exec-approval-runtime.js.map +1 -0
- package/dist/src/channels/index.js +1 -1
- package/dist/src/channels/plugin-types.d.ts +1 -0
- package/dist/src/channels/transport-types.d.ts +2 -2
- package/dist/src/cli/commands/channels.js +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.d.ts +2 -0
- package/dist/src/cli/commands/doctor/checks/database-schema.js +62 -0
- package/dist/src/cli/commands/doctor/checks/database-schema.js.map +1 -0
- package/dist/src/cli/commands/doctor/flow.js +2 -0
- package/dist/src/cli/commands/doctor/flow.js.map +1 -1
- package/dist/src/cli/commands/init.js +2 -57
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/onboard/channels/registry.js +1 -1
- package/dist/src/cli/commands/setup.js +6 -5
- package/dist/src/cli/commands/setup.js.map +1 -1
- package/dist/src/cli/utils/init-workspace-core.js +1 -2
- package/dist/src/cli/utils/init-workspace-core.js.map +1 -1
- package/dist/src/config/index.js +2 -2
- package/dist/src/config/paths.d.ts +0 -13
- package/dist/src/config/paths.js +1 -20
- package/dist/src/config/paths.js.map +1 -1
- package/dist/src/config/rules.js +1 -1
- package/dist/src/config/schema.d.ts +24 -0
- package/dist/src/config/schema.js +33 -2
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/cron/executor.js +2 -2
- package/dist/src/gateway/heartbeat/service.js +1 -1
- package/dist/src/gateway/hono/lib/config-payload.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/channels.js +3 -3
- package/dist/src/gateway/hono/routes/config-patch/channels.js.map +1 -1
- 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/media.d.ts +3 -0
- package/dist/src/gateway/hono/routes/media.js +50 -0
- package/dist/src/gateway/hono/routes/media.js.map +1 -0
- package/dist/src/gateway/hono/routes/sessions.js +6 -0
- package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
- package/dist/src/gateway/hono/routes/workspace.js +1 -87
- package/dist/src/gateway/hono/routes/workspace.js.map +1 -1
- package/dist/src/gateway/service/sessions-api.js +3 -0
- package/dist/src/gateway/service/sessions-api.js.map +1 -1
- package/dist/src/heartbeat/index.js +1 -1
- package/dist/src/media/index.d.ts +5 -0
- package/dist/src/media/index.js +5 -0
- package/dist/src/media/media-reference.d.ts +23 -0
- package/dist/src/media/media-reference.js +34 -0
- package/dist/src/media/media-reference.js.map +1 -0
- package/dist/src/media/paths.d.ts +5 -0
- package/dist/src/media/paths.js +20 -0
- package/dist/src/media/paths.js.map +1 -0
- package/dist/src/media/session-references.d.ts +8 -0
- package/dist/src/media/session-references.js +45 -0
- package/dist/src/media/session-references.js.map +1 -0
- package/dist/src/media/store.d.ts +19 -0
- package/dist/src/media/store.js +131 -0
- package/dist/src/media/store.js.map +1 -0
- package/dist/src/media/types.d.ts +34 -0
- package/dist/src/media/types.js +1 -0
- package/dist/src/media/uri.d.ts +15 -0
- package/dist/src/media/uri.js +51 -0
- package/dist/src/media/uri.js.map +1 -0
- package/dist/src/session/session-title.js +6 -3
- package/dist/src/session/session-title.js.map +1 -1
- package/dist/src/session/store.js +1 -1
- package/dist/src/session/store.js.map +1 -1
- package/dist/src/session/types.d.ts +12 -7
- package/dist/src/session/types.js.map +1 -1
- package/dist/src/storage/sqlite/index.d.ts +4 -1
- package/dist/src/storage/sqlite/index.js +6 -2
- package/dist/src/storage/sqlite/migrations/002_add_flush_columns.sql +3 -0
- package/dist/src/storage/sqlite/migrations/discover.d.ts +4 -0
- package/dist/src/storage/sqlite/migrations/discover.js +38 -0
- package/dist/src/storage/sqlite/migrations/discover.js.map +1 -0
- package/dist/src/storage/sqlite/migrations/discover.ts +52 -0
- package/dist/src/storage/sqlite/migrations/errors.d.ts +11 -0
- package/dist/src/storage/sqlite/migrations/errors.js +27 -0
- package/dist/src/storage/sqlite/migrations/errors.js.map +1 -0
- package/dist/src/storage/sqlite/migrations/errors.ts +32 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +22 -0
- package/dist/src/storage/sqlite/migrations/runner.js +97 -0
- package/dist/src/storage/sqlite/migrations/runner.js.map +1 -0
- package/dist/src/storage/sqlite/migrations/runner.ts +153 -0
- package/dist/src/storage/sqlite/migrations/types.d.ts +12 -0
- package/dist/src/storage/sqlite/migrations/types.js +1 -0
- package/dist/src/storage/sqlite/migrations/types.ts +13 -0
- package/dist/src/storage/sqlite/row-mappers.d.ts +4 -0
- package/dist/src/storage/sqlite/row-mappers.js +4 -0
- package/dist/src/storage/sqlite/row-mappers.js.map +1 -1
- package/dist/src/storage/sqlite/schema-version.d.ts +6 -0
- package/dist/src/storage/sqlite/schema-version.js +29 -0
- package/dist/src/storage/sqlite/schema-version.js.map +1 -0
- package/dist/src/storage/sqlite/schema.d.ts +5 -3
- package/dist/src/storage/sqlite/schema.js +24 -28
- package/dist/src/storage/sqlite/schema.js.map +1 -1
- package/dist/src/storage/sqlite/schema.sql +2 -0
- package/dist/src/storage/sqlite/session-metadata.js +1 -0
- package/dist/src/storage/sqlite/session-metadata.js.map +1 -1
- package/dist/src/storage/sqlite/session-repository.js +7 -3
- package/dist/src/storage/sqlite/session-repository.js.map +1 -1
- package/package.json +1 -1
- package/dist/gateway/static/root/assets/channels-settings-BxW1Xio4.js +0 -1
- package/dist/gateway/static/root/assets/channels-status-swr-Cxm6AvQO.js +0 -8
- package/dist/gateway/static/root/assets/index-BJDmBCSl.css +0 -1
- package/dist/gateway/static/root/assets/index-Cbg5TS5m.js +0 -4707
- package/dist/gateway/static/root/assets/url-DpFBIyN9.js +0 -3
- package/dist/src/cli/commands/onboard/workspace.d.ts +0 -14
- package/dist/src/cli/commands/onboard/workspace.js +0 -33
- package/dist/src/cli/commands/onboard/workspace.js.map +0 -1
- package/dist/src/cli/utils/workspace.d.ts +0 -35
- package/dist/src/cli/utils/workspace.js +0 -72
- package/dist/src/cli/utils/workspace.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
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-DpFBIyN9.js";import{i as s}from"./vendor-swr-BIWyz7Rc.js";import{t as c}from"./circle-check-C23XjkUj.js";import{i as l}from"./theme-store-e2q2yjs4.js";import{a as u,n as d,t as f}from"./fetch-BLLOP2CM.js";import{$a as p,$o as m,A as h,Ao as g,Ar as _,At as v,B as y,Ba as b,Bi as x,Ci as S,Co as C,Cr as w,Dr as T,Dt as E,Eo as D,Er as O,Et as k,F as A,Fi as j,Fn as M,Ft as N,Gn as P,Gr as F,Hn as I,I as L,Ia as R,Ii as z,In as ee,Io as te,It as B,Jn as V,Jo as H,Kn as U,Ko as W,L as ne,Lt as G,M as re,Mi as ie,Mo as ae,Mr as oe,Mt as se,N as ce,Nr as le,Nt as ue,Oa as de,Or as fe,Ot as pe,P as me,Pa as he,Pn as ge,Pt as _e,Qo as ve,Qr as ye,Qt as be,R as xe,Ri as Se,Ro as Ce,Rt as we,So as Te,Sr as Ee,Ti as De,Tr as Oe,Tt as ke,Ui as Ae,Un as je,Ur as Me,Va as Ne,Vi as Pe,Vn as Fe,Vo as Ie,Wa as Le,Wi as Re,Wn as ze,Xi as Be,Xn as Ve,Xo as He,Yi as Ue,Yn as We,Yr as Ge,Zi as Ke,Zn as qe,Zo as Je,Zr as Ye,_i as Xe,_o as Ze,aa as Qe,ao as $e,ba as et,bi as tt,bn as nt,ca as rt,ci as it,di as K,dr as at,ei as ot,fi as st,fo as ct,hi as lt,ho as ut,j as dt,jr as ft,jt as pt,kr as q,kt as mt,la as ht,li as gt,lo as _t,mi as vt,mo as yt,n as bt,na as xt,ni as St,oi as Ct,pa as wt,pi as Tt,qn as Et,ro as Dt,sa as Ot,so as kt,t as At,ti as jt,ua as Mt,ui as J,ur as Nt,vo as Pt,wa as Ft,wi as It,wo as Lt,wr as Rt,x as zt,xi as Bt,yi as Vt,yn as Ht,yo as Ut,z as Wt,zr as Gt,zt as Kt}from"./index-Cbg5TS5m.js";import{n as qt,t as Jt}from"./settings-form-section-DYR_SPlX.js";import{l as Yt,n as Xt,p as Zt,r as Qt,t as $t}from"./settings-advanced-gate-DtA451RM.js";import{i as en,l as tn,m as nn,n as rn,u as an}from"./cron-api-BRDli2Mm.js";var Y=n(),X=r();function on(e){let t=(0,Y.c)(40),{open:n,onOpenChange:r,busy:i,deletePurge:a,deleteTarget:o,deleteConfirmText:s,onDeleteConfirmTextChange:c,onConfirm:l,onCancel:u,a:d}=e,f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,X.jsx)(O,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),t[0]=f):f=t[0];let p;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(p=K(`fixed left-1/2 top-1/2 z-[81] w-[min(100%-2rem,28rem)] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-edge bg-surface-panel p-4 shadow-popover`,`dark:border-edge`),t[1]=p):p=t[1];let m=a?d.purgeDisk:d.removeFromConfig,h;t[2]===m?h=t[3]:(h=(0,X.jsx)(q,{className:`text-base font-semibold text-fg`,children:m}),t[2]=m,t[3]=h);let g=a?d.confirmDeletePurge:d.confirmDelete,_;t[4]===g?_=t[5]:(_=(0,X.jsx)(Oe,{className:`mt-2 whitespace-pre-wrap text-sm leading-relaxed text-fg-muted`,children:g}),t[4]=g,t[5]=_);let v;t[6]!==d.purgeConfirmHint||t[7]!==d.purgeConfirmLabel||t[8]!==d.purgeConfirmPlaceholder||t[9]!==s||t[10]!==a||t[11]!==o||t[12]!==c?(v=a&&o?(0,X.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[(0,X.jsx)(`label`,{className:`mb-2 block text-sm font-medium text-fg`,htmlFor:`agent-delete-confirm`,children:d.purgeConfirmLabel}),(0,X.jsx)(`input`,{id:`agent-delete-confirm`,type:`text`,autoComplete:`off`,spellCheck:!1,className:K(`w-full rounded-md border border-edge bg-surface-panel px-3 py-1.5 font-mono text-xs text-fg`,`placeholder:text-fg-subtle`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,`dark:border-edge`),placeholder:d.purgeConfirmPlaceholder.replace(`{{agentId}}`,o.id),value:s,onChange:e=>c(e.target.value)}),(0,X.jsx)(`p`,{className:`pt-0.5 text-xs text-fg-muted`,children:d.purgeConfirmHint.replace(`{{agentId}}`,o.id)})]}):null,t[6]=d.purgeConfirmHint,t[7]=d.purgeConfirmLabel,t[8]=d.purgeConfirmPlaceholder,t[9]=s,t[10]=a,t[11]=o,t[12]=c,t[13]=v):v=t[13];let y;t[14]!==d.createModalCancel||t[15]!==i||t[16]!==u?(y=(0,X.jsx)(J,{type:`button`,variant:`ghost`,disabled:i,onClick:u,children:d.createModalCancel}),t[14]=d.createModalCancel,t[15]=i,t[16]=u,t[17]=y):y=t[17];let b=a?`border-red-200 text-red-700 hover:bg-red-50 dark:border-red-900/60 dark:text-red-300 dark:hover:bg-red-950/40`:void 0,x;t[18]!==i||t[19]!==s||t[20]!==a||t[21]!==o?(x=i||!o||a&&s.trim().toLowerCase()!==o.id.toLowerCase(),t[18]=i,t[19]=s,t[20]=a,t[21]=o,t[22]=x):x=t[22];let S=a?d.purgeDisk:d.removeFromConfig,C;t[23]!==l||t[24]!==x||t[25]!==S||t[26]!==b?(C=(0,X.jsx)(J,{type:`button`,variant:`secondary`,className:b,disabled:x,onClick:l,children:S}),t[23]=l,t[24]=x,t[25]=S,t[26]=b,t[27]=C):C=t[27];let w;t[28]!==C||t[29]!==y?(w=(0,X.jsxs)(`div`,{className:`mt-4 flex flex-wrap items-center justify-end gap-2 border-t border-edge-subtle/60 pt-3`,children:[y,C]}),t[28]=C,t[29]=y,t[30]=w):w=t[30];let E;t[31]!==w||t[32]!==h||t[33]!==_||t[34]!==v?(E=(0,X.jsxs)(T,{children:[f,(0,X.jsxs)(Rt,{className:p,onOpenAutoFocus:sn,children:[h,_,v,w]})]}),t[31]=w,t[32]=h,t[33]=_,t[34]=v,t[35]=E):E=t[35];let D;return t[36]!==r||t[37]!==n||t[38]!==E?(D=(0,X.jsx)(fe,{open:n,onOpenChange:r,children:E}),t[36]=r,t[37]=n,t[38]=E,t[39]=D):D=t[39],D}function sn(e){return e.preventDefault()}var cn=[{id:`overview`,labelKey:`navIdentity`,icon:Xe},{id:`profile`,labelKey:`navProfile`,icon:Lt},{id:`tools`,labelKey:`navTools`,icon:vt},{id:`skills`,labelKey:`navSkills`,icon:Qe},{id:`files`,labelKey:`navCoreFiles`,icon:$e}],ln=[{id:`channels`,labelKey:`tabChannels`,icon:rt},{id:`cron`,labelKey:`tabCron`,icon:Ut}];function un(e){let t=(0,Y.c)(20),{a:n,panel:r,onPanelChange:i}=e,a;t[0]!==i||t[1]!==r?(a=(e,t,n)=>(0,X.jsxs)(`button`,{type:`button`,onClick:()=>i(e),className:K(`flex w-full items-center gap-2.5 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors`,St.press,r===e?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`),children:[(0,X.jsx)(n,{className:`size-4 shrink-0 opacity-90`,strokeWidth:2,"aria-hidden":!0}),(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:t})]},e),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o=a,s=n.editorNavAria,c;t[3]!==n||t[4]!==o?(c=cn.map(e=>{let{id:t,labelKey:r,icon:i}=e;return o(t,n[r],i)}),t[3]=n,t[4]=o,t[5]=c):c=t[5];let l;t[6]===c?l=t[7]:(l=(0,X.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:c}),t[6]=c,t[7]=l);let u;t[8]===n.navAdvanced?u=t[9]:(u=(0,X.jsx)(`p`,{className:`mt-4 px-3 text-[10px] font-semibold uppercase tracking-wide text-fg-subtle`,children:n.navAdvanced}),t[8]=n.navAdvanced,t[9]=u);let d;t[10]!==n||t[11]!==o?(d=ln.map(e=>{let{id:t,labelKey:r,icon:i}=e;return o(t,n[r],i)}),t[10]=n,t[11]=o,t[12]=d):d=t[12];let f;t[13]===d?f=t[14]:(f=(0,X.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:d}),t[13]=d,t[14]=f);let p;return t[15]!==n.editorNavAria||t[16]!==l||t[17]!==u||t[18]!==f?(p=(0,X.jsxs)(`nav`,{className:`flex w-full flex-col gap-1`,"aria-label":s,children:[l,u,f]}),t[15]=n.editorNavAria,t[16]=l,t[17]=u,t[18]=f,t[19]=p):p=t[19],p}function dn(e){let t=(0,Y.c)(49),{open:n,onOpenChange:r,a:i,title:a,subtitle:o,panel:s,onPanelChange:c,onFooterSave:l,footerSaveDisabled:u,footerSavedFlash:d,busy:f,children:p}=e,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,X.jsx)(O,{className:K(`xopc-dialog-overlay fixed inset-0 bg-scrim`,nt)}),t[0]=m):m=t[0];let h;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(h=K(`xopc-dialog-content fixed flex flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-popover dark:border-edge`,Ht,`inset-4 h-[calc(100dvh-2rem)] max-h-[calc(100dvh-2rem)] min-h-0`,`sm:inset-auto sm:left-1/2 sm:top-1/2 sm:h-[min(88vh,48rem)] sm:max-h-[min(88vh,48rem)] sm:min-h-[32rem] sm:w-[min(100%-2rem,58rem)] sm:-translate-x-1/2 sm:-translate-y-1/2`),t[1]=h):h=t[1];let g;t[2]===a?g=t[3]:(g=(0,X.jsx)(q,{className:`text-base font-semibold leading-snug text-fg`,children:a}),t[2]=a,t[3]=g);let _;t[4]===o?_=t[5]:(_=(0,X.jsx)(Oe,{className:`mt-1 font-mono text-xs text-fg-muted`,children:o}),t[4]=o,t[5]=_);let v;t[6]!==g||t[7]!==_?(v=(0,X.jsxs)(`div`,{className:`min-w-0 pr-2`,children:[g,_]}),t[6]=g,t[7]=_,t[8]=v):v=t[8];let y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=K(jt,`shrink-0 p-1.5 hover:bg-surface-base`),t[9]=y):y=t[9];let b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,X.jsx)(Tt,{className:`size-4`,"aria-hidden":!0}),t[10]=b):b=t[10];let x;t[11]===i.closeDialogAria?x=t[12]:(x=(0,X.jsx)(w,{asChild:!0,children:(0,X.jsx)(`button`,{type:`button`,className:y,"aria-label":i.closeDialogAria,children:b})}),t[11]=i.closeDialogAria,t[12]=x);let S;t[13]!==v||t[14]!==x?(S=(0,X.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-2 border-b border-edge-subtle px-4 pb-3 pt-4 dark:border-edge`,children:[v,x]}),t[13]=v,t[14]=x,t[15]=S):S=t[15];let C;t[16]!==i||t[17]!==c||t[18]!==s?(C=(0,X.jsx)(`div`,{className:`shrink-0 border-b border-edge-subtle px-4 py-3 dark:border-edge sm:flex sm:w-56 sm:shrink-0 sm:flex-col sm:overflow-y-auto sm:border-b-0 sm:border-r sm:px-0 sm:py-4 sm:pl-4 sm:pr-3`,children:(0,X.jsx)(un,{a:i,panel:s,onPanelChange:c})}),t[16]=i,t[17]=c,t[18]=s,t[19]=C):C=t[19];let E;t[20]===p?E=t[21]:(E=(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden p-4 sm:pl-2 sm:pr-5`,children:p}),t[20]=p,t[21]=E);let D;t[22]!==i.footerSaveNotApplicable||t[23]!==i.personaSaved||t[24]!==u||t[25]!==d?(D=d?(0,X.jsxs)(`p`,{className:`order-2 text-center text-xs font-medium text-green-600 sm:order-1 sm:mr-auto sm:text-left dark:text-green-400`,children:[`✓ `,i.personaSaved]}):u?(0,X.jsx)(`p`,{className:`order-2 text-center text-xs text-fg-muted sm:order-1 sm:mr-auto sm:text-left`,children:i.footerSaveNotApplicable}):null,t[22]=i.footerSaveNotApplicable,t[23]=i.personaSaved,t[24]=u,t[25]=d,t[26]=D):D=t[26];let k=f||u,A;t[27]===l?A=t[28]:(A=()=>void l(),t[27]=l,t[28]=A);let j;t[29]!==i.save||t[30]!==k||t[31]!==A?(j=(0,X.jsx)(J,{type:`button`,className:`order-1 w-full sm:order-2 sm:w-auto`,disabled:k,onClick:A,children:i.save}),t[29]=i.save,t[30]=k,t[31]=A,t[32]=j):j=t[32];let M;t[33]!==D||t[34]!==j?(M=(0,X.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-1 border-t border-edge-subtle px-4 py-3 dark:border-edge sm:flex-row sm:items-center sm:justify-end sm:gap-3`,children:[D,j]}),t[33]=D,t[34]=j,t[35]=M):M=t[35];let N;t[36]!==E||t[37]!==M?(N=(0,X.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:[E,M]}),t[36]=E,t[37]=M,t[38]=N):N=t[38];let P;t[39]!==N||t[40]!==C?(P=(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col sm:flex-row sm:overflow-hidden`,children:[C,N]}),t[39]=N,t[40]=C,t[41]=P):P=t[41];let F;t[42]!==P||t[43]!==S?(F=(0,X.jsxs)(T,{children:[m,(0,X.jsx)(Rt,{className:h,onOpenAutoFocus:fn,children:(0,X.jsxs)(ne,{layer:`modal`,children:[S,P]})})]}),t[42]=P,t[43]=S,t[44]=F):F=t[44];let I;return t[45]!==r||t[46]!==n||t[47]!==F?(I=(0,X.jsx)(fe,{open:n,onOpenChange:r,children:F}),t[45]=r,t[46]=n,t[47]=F,t[48]=I):I=t[48],I}function fn(e){return e.preventDefault()}function pn(){return K(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,gt,`dark:border-edge`)}function mn(e,t,n){let r=e.agentId?.trim().toLowerCase();return r?r===t.toLowerCase():t.toLowerCase()===n.toLowerCase()}function hn(e){return[e.channel,e.accountId,e.peerKind,e.peerId].filter(e=>typeof e==`string`&&e.length>0).join(` · `)||e.channel}function gn(e,t,n,r){let i=e.trim(),a=t.trim();if(a)return{channel:i,peerId:a};if(n!=null){let e=r[n];if(!e)return{channel:i};let t={channel:i};e.accountId?.trim()&&(t.accountId=e.accountId.trim()),e.peerKind?.trim()&&(t.peerKind=e.peerKind.trim());let a=e.peerId?.trim()||e.chatId?.trim();return a&&(t.peerId=a),t}return{channel:i}}var _n=K(it,`w-full text-xs sm:w-auto sm:min-w-[11rem] sm:max-w-[17rem] sm:shrink-0`);function vn(e){let t=(0,Y.c)(62),{a:n,busy:r,bindingsLoading:i,agentBindings:a,onRemoveBinding:o,onAddBinding:s,channelStatuses:c,channelsStatusLoading:l,useManualChannel:u,newBindChannel:d,setNewBindChannel:f,bindSessionChats:p,sessionsLoading:m,newBindSessionIdx:h,setNewBindSessionIdx:g,newBindCustomPeer:_,setNewBindCustomPeer:v,onRefreshSessions:y,lastActiveLabels:b,selectRecipient:x}=e,S=!l&&(u||c.length>0),C;t[0]!==n.channelsHint||t[1]!==n.channelsTitle?(C=(0,X.jsx)(qt,{className:`shrink-0`,icon:he,title:n.channelsTitle,subtitle:n.channelsHint}),t[0]=n.channelsHint,t[1]=n.channelsTitle,t[2]=C):C=t[2];let w;t[3]!==n.channelsLoading||t[4]!==n.channelsNone||t[5]!==n.removeBinding||t[6]!==a||t[7]!==i||t[8]!==r||t[9]!==o?(w=i?(0,X.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.channelsLoading}):a.length===0?(0,X.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.channelsNone}):(0,X.jsx)(`ul`,{className:`flex flex-col gap-2 text-sm`,children:a.map(e=>(0,X.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-2 rounded-lg border border-edge bg-surface-panel px-3 py-2`,children:[(0,X.jsx)(`span`,{className:`font-mono text-xs`,children:hn(e.match)}),(0,X.jsx)(J,{type:`button`,variant:`secondary`,disabled:r,onClick:()=>void o(e),children:n.removeBinding})]},`${e.match.channel}-${hn(e.match)}`))}),t[3]=n.channelsLoading,t[4]=n.channelsNone,t[5]=n.removeBinding,t[6]=a,t[7]=i,t[8]=r,t[9]=o,t[10]=w):w=t[10];let T;t[11]!==n.channelLabel||t[12]!==n.channelsDisabledSuffix||t[13]!==n.channelsLoadingChannels||t[14]!==n.channelsManualChannelHint||t[15]!==c||t[16]!==l||t[17]!==d||t[18]!==f||t[19]!==v||t[20]!==g||t[21]!==u?(T=l?(0,X.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.channelsLoadingChannels}):u?(0,X.jsxs)(`label`,{className:`flex flex-col gap-1 text-sm`,children:[(0,X.jsx)(`span`,{className:`text-fg-muted`,children:n.channelLabel}),(0,X.jsx)(`input`,{className:pn(),value:d,onChange:e=>f(e.target.value),placeholder:`telegram`,autoComplete:`off`}),(0,X.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.channelsManualChannelHint})]}):(0,X.jsxs)(`label`,{className:`flex flex-col gap-1 text-sm`,children:[(0,X.jsx)(`span`,{className:`text-fg-muted`,children:n.channelLabel}),(0,X.jsx)(`select`,{className:K(pn(),`py-2`),value:d,onChange:e=>{f(e.target.value),g(null),v(``)},children:c.map(e=>(0,X.jsxs)(`option`,{value:e.name,disabled:!e.enabled,children:[e.name,` `,e.enabled?``:n.channelsDisabledSuffix]},e.name))})]}),t[11]=n.channelLabel,t[12]=n.channelsDisabledSuffix,t[13]=n.channelsLoadingChannels,t[14]=n.channelsManualChannelHint,t[15]=c,t[16]=l,t[17]=d,t[18]=f,t[19]=v,t[20]=g,t[21]=u,t[22]=T):T=t[22];let E;t[23]!==n.channelsCustomPeerHint||t[24]!==n.channelsCustomPeerPlaceholder||t[25]!==n.channelsLoadingSessions||t[26]!==n.channelsNoSessionsHint||t[27]!==n.channelsPeerAny||t[28]!==n.channelsPeerFromSessions||t[29]!==n.channelsRefreshSessions||t[30]!==n.channelsRefreshSessionsHint||t[31]!==n.channelsSessionLabel||t[32]!==n.peerIdLabel||t[33]!==p||t[34]!==r||t[35]!==b||t[36]!==d||t[37]!==_||t[38]!==h||t[39]!==y||t[40]!==x||t[41]!==m||t[42]!==v||t[43]!==g||t[44]!==S?(E=S&&d.trim()?(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 border-t border-edge-subtle pt-3 text-sm`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,X.jsx)(`span`,{className:`text-fg-muted`,children:n.channelsSessionLabel}),(0,X.jsxs)(J,{type:`button`,variant:`ghost`,className:`h-7 gap-1 px-2 text-xs`,disabled:r||m||!d.trim(),title:n.channelsRefreshSessionsHint,onClick:()=>y(),children:[(0,X.jsx)(xt,{className:K(`size-3.5`,m&&`animate-spin`),strokeWidth:1.75}),n.channelsRefreshSessions]})]}),m&&p.length===0?(0,X.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.channelsLoadingSessions}):null,(0,X.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`text-fg-muted`,children:n.channelsPeerFromSessions}),(0,X.jsxs)(`select`,{className:K(pn(),`py-2`),value:h==null?``:String(h),disabled:r||!d.trim()||!!_.trim(),onChange:e=>{let t=e.target.value;g(t===``?null:Number(t))},children:[(0,X.jsx)(`option`,{value:``,children:n.channelsPeerAny}),p.map((e,t)=>(0,X.jsx)(`option`,{value:String(t),children:Yt(e,b)},`${e.channel}-${e.chatId}`))]})]}),p.length===0&&d.trim()&&!m?(0,X.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.channelsNoSessionsHint}):null,(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`text-fg-muted`,children:n.peerIdLabel}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-stretch sm:gap-2`,children:[(0,X.jsx)(`input`,{type:`text`,className:K(pn(),`min-w-0 w-full sm:flex-1`),value:_,onChange:e=>{v(e.target.value),e.target.value.trim()&&g(null)},placeholder:n.channelsCustomPeerPlaceholder,autoComplete:`off`}),(0,X.jsxs)(`select`,{className:_n,value:_,onChange:e=>{let t=e.target.value;v(t||``),g(null)},children:[(0,X.jsx)(`option`,{value:``,children:x}),p.map(e=>(0,X.jsx)(`option`,{value:e.chatId,children:Yt(e,b)},`${e.channel}-${e.chatId}`))]})]}),(0,X.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.channelsCustomPeerHint})]})]}):null,t[23]=n.channelsCustomPeerHint,t[24]=n.channelsCustomPeerPlaceholder,t[25]=n.channelsLoadingSessions,t[26]=n.channelsNoSessionsHint,t[27]=n.channelsPeerAny,t[28]=n.channelsPeerFromSessions,t[29]=n.channelsRefreshSessions,t[30]=n.channelsRefreshSessionsHint,t[31]=n.channelsSessionLabel,t[32]=n.peerIdLabel,t[33]=p,t[34]=r,t[35]=b,t[36]=d,t[37]=_,t[38]=h,t[39]=y,t[40]=x,t[41]=m,t[42]=v,t[43]=g,t[44]=S,t[45]=E):E=t[45];let D;t[46]!==r||t[47]!==l||t[48]!==d?(D=r||!d.trim()||l,t[46]=r,t[47]=l,t[48]=d,t[49]=D):D=t[49];let O;t[50]!==n.addBinding||t[51]!==D?(O=(0,X.jsx)(`div`,{children:(0,X.jsx)(J,{type:`submit`,disabled:D,children:n.addBinding})}),t[50]=n.addBinding,t[51]=D,t[52]=O):O=t[52];let k;t[53]!==s||t[54]!==T||t[55]!==E||t[56]!==O?(k=(0,X.jsxs)(`form`,{className:`mt-4 flex flex-col gap-3`,onSubmit:s,children:[T,E,O]}),t[53]=s,t[54]=T,t[55]=E,t[56]=O,t[57]=k):k=t[57];let A;return t[58]!==C||t[59]!==w||t[60]!==k?(A=(0,X.jsxs)(Jt,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:[C,w,k]}),t[58]=C,t[59]=w,t[60]=k,t[61]=A):A=t[61],A}function yn(e){let t=(0,Y.c)(12),n;t[0]!==e.expression||t[1]!==e.kind||t[2]!==e.labels||t[3]!==e.locale||t[4]!==e.nextRun||t[5]!==e.presetLabels||t[6]!==e.timezone||t[7]!==e.valueMs?(n=e.kind===`cron`?Zt(e.expression,e.locale,e.labels,{timezone:e.timezone,nextRun:e.nextRun}):Qt(e.valueMs,e.locale,e.presetLabels),t[0]=e.expression,t[1]=e.kind,t[2]=e.labels,t[3]=e.locale,t[4]=e.nextRun,t[5]=e.presetLabels,t[6]=e.timezone,t[7]=e.valueMs,t[8]=n):n=t[8];let r=n,i;return t[9]!==e.className||t[10]!==r?(i=(0,X.jsx)(`span`,{className:e.className,children:r}),t[9]=e.className,t[10]=r,t[11]=i):i=t[11],i}function bn(e){let t=(0,Y.c)(24),{a:n,data:r,busy:o,cronLoading:s,agentCronJobs:c,onSetCronJobAgent:l}=e,u=i(Sn),d;t[0]===u?d=t[1]:(d=a(u),t[0]=u,t[1]=d);let f=d,p=u===`zh`?`zh-CN`:`en-US`,m=f.cron.scheduleBadge,h;t[2]!==n.cronHint||t[3]!==n.cronTitle?(h=(0,X.jsx)(qt,{className:`shrink-0`,icon:W,title:n.cronTitle,subtitle:n.cronHint}),t[2]=n.cronHint,t[3]=n.cronTitle,t[4]=h):h=t[4];let g;t[5]!==n.cronAgentClear||t[6]!==n.cronAgentDefault||t[7]!==n.cronColAgent||t[8]!==n.cronColMessage||t[9]!==n.cronColSchedule||t[10]!==n.cronColSession||t[11]!==n.cronLoading||t[12]!==n.cronNone||t[13]!==c||t[14]!==o||t[15]!==s||t[16]!==r||t[17]!==p||t[18]!==l||t[19]!==m?(g=s?(0,X.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.cronLoading}):c.length===0?(0,X.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.cronNone}):(0,X.jsx)(`div`,{className:`overflow-x-auto`,children:(0,X.jsxs)(`table`,{className:`w-full min-w-[32rem] border-collapse text-left text-sm`,children:[(0,X.jsx)(`thead`,{children:(0,X.jsxs)(`tr`,{className:`border-b border-edge text-fg-muted`,children:[(0,X.jsx)(`th`,{className:`py-2 pr-3 font-medium`,children:n.cronColSchedule}),(0,X.jsx)(`th`,{className:`py-2 pr-3 font-medium`,children:n.cronColMessage}),(0,X.jsx)(`th`,{className:`py-2 pr-3 font-medium`,children:n.cronColSession}),(0,X.jsx)(`th`,{className:`py-2 pr-3 font-medium`,children:n.cronColAgent})]})}),(0,X.jsx)(`tbody`,{children:c.map(e=>{let t=!e.agentId?.trim(),i=t?``:e.agentId.trim().toLowerCase();return(0,X.jsxs)(`tr`,{className:`border-b border-edge-subtle`,children:[(0,X.jsx)(`td`,{className:`py-2 pr-3`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,X.jsx)(yn,{kind:`cron`,expression:e.schedule,locale:p,labels:m,timezone:e.timezone,nextRun:e.next_run,className:`text-sm font-medium text-fg`}),(0,X.jsx)(`span`,{className:`truncate font-mono text-[0.65rem] text-fg-subtle`,title:e.schedule,children:e.schedule})]})}),(0,X.jsx)(`td`,{className:`max-w-[12rem] truncate py-2 pr-3 text-xs`,title:rn(e),children:rn(e)}),(0,X.jsx)(`td`,{className:`py-2 pr-3 text-xs`,children:e.sessionTarget??`main`}),(0,X.jsx)(`td`,{className:`py-2 pr-3`,children:(0,X.jsxs)(`select`,{className:K(pn(),`min-w-[8rem] py-1 text-xs`),value:i,disabled:o||e.sessionTarget!==`isolated`,onChange:t=>void l(e,t.target.value),children:[(0,X.jsx)(`option`,{value:``,children:t?n.cronAgentDefault:n.cronAgentClear}),r.agents.map(xn)]})})]},e.id)})})]})}),t[5]=n.cronAgentClear,t[6]=n.cronAgentDefault,t[7]=n.cronColAgent,t[8]=n.cronColMessage,t[9]=n.cronColSchedule,t[10]=n.cronColSession,t[11]=n.cronLoading,t[12]=n.cronNone,t[13]=c,t[14]=o,t[15]=s,t[16]=r,t[17]=p,t[18]=l,t[19]=m,t[20]=g):g=t[20];let _;return t[21]!==h||t[22]!==g?(_=(0,X.jsxs)(Jt,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:[h,g]}),t[21]=h,t[22]=g,t[23]=_):_=t[23],_}function xn(e){return(0,X.jsx)(`option`,{value:e.id,children:e.id},e.id)}function Sn(e){return e.language}function Cn(e){let t=(0,Y.c)(29),{a:n,filesLoading:r,files:i,activeFile:a,setActiveFile:o,filesViewMode:s,setFilesViewMode:c,fileDraft:u,setFileDraft:d,fileSaving:f,profileFileLoading:p,profileEditorNonce:m,onTryInChat:h}=e,g=l(wn),_;t[0]===n.filesHint?_=t[1]:(_=(0,X.jsx)(`p`,{className:`shrink-0 text-sm text-fg-muted`,children:n.filesHint}),t[0]=n.filesHint,t[1]=_);let v;t[2]!==n.filesAutoSaveHint||t[3]!==n.filesEmpty||t[4]!==n.filesLoading||t[5]!==n.filesMarkdownEdit||t[6]!==n.filesMarkdownPreview||t[7]!==n.filesSavingStatus||t[8]!==n.missing||t[9]!==n.navCoreFiles||t[10]!==n.pickFile||t[11]!==n.tryInChat||t[12]!==a||t[13]!==u||t[14]!==f||t[15]!==i||t[16]!==r||t[17]!==s||t[18]!==g||t[19]!==h||t[20]!==m||t[21]!==p||t[22]!==o||t[23]!==d||t[24]!==c?(v=r?(0,X.jsx)(`p`,{className:`shrink-0 text-sm text-fg-muted`,children:n.filesLoading}):i?(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 overflow-hidden`,children:[(0,X.jsx)(`nav`,{className:`-mx-1 flex shrink-0 flex-wrap gap-1 px-1 pb-1`,role:`tablist`,"aria-label":n.navCoreFiles,children:i.files.map(e=>{let t=a===e.name;return(0,X.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":t,className:K(`inline-flex shrink-0 items-center rounded-lg px-3 py-2 font-mono text-xs font-medium whitespace-nowrap transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,St.press,t?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`,e.missing&&`opacity-60`),onClick:()=>o(e.name),children:[e.name,e.missing?` (${n.missing})`:``]},e.name)})}),(0,X.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-2 overflow-hidden`,children:a?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-between gap-2`,children:[(0,X.jsxs)(`div`,{className:`inline-flex rounded-lg border border-edge bg-surface-panel p-0.5`,role:`group`,"aria-label":`${n.filesMarkdownEdit} / ${n.filesMarkdownPreview}`,children:[(0,X.jsxs)(`button`,{type:`button`,className:K(`inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium`,St.press,s===`edit`?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover`),onClick:()=>c(`edit`),children:[(0,X.jsx)(z,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),n.filesMarkdownEdit]}),(0,X.jsxs)(`button`,{type:`button`,className:K(`inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium`,St.press,s===`preview`?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover`),onClick:()=>c(`preview`),children:[(0,X.jsx)(kt,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),n.filesMarkdownPreview]})]}),(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs text-fg-muted`,children:[f?(0,X.jsx)(`span`,{children:n.filesSavingStatus}):null,(0,X.jsx)(`span`,{children:n.filesAutoSaveHint}),h?(0,X.jsxs)(J,{type:`button`,variant:`secondary`,className:`ml-auto text-xs`,onClick:h,children:[(0,X.jsx)(Ft,{className:`mr-1 size-3.5`,"aria-hidden":!0}),n.tryInChat]}):null]})]}),s===`edit`?(0,X.jsx)(`div`,{className:K(pn(),`flex min-h-0 flex-1 flex-col overflow-hidden p-0`,p&&`pointer-events-none opacity-60`),children:(0,X.jsx)(M,{initialContent:u,onChange:d,isDark:g,className:`min-h-0 flex-1`},`${a??`file`}-${m}`)}):(0,X.jsx)(`div`,{className:K(pn(),`min-h-0 flex-1 overflow-y-auto text-sm`,p&&`pointer-events-none opacity-60`),children:(0,X.jsx)(ge,{content:u,className:`text-sm`})})]}):(0,X.jsx)(`p`,{className:`shrink-0 text-sm text-fg-muted`,children:n.pickFile})})]}):(0,X.jsx)(`p`,{className:`shrink-0 text-sm text-fg-muted`,children:n.filesEmpty}),t[2]=n.filesAutoSaveHint,t[3]=n.filesEmpty,t[4]=n.filesLoading,t[5]=n.filesMarkdownEdit,t[6]=n.filesMarkdownPreview,t[7]=n.filesSavingStatus,t[8]=n.missing,t[9]=n.navCoreFiles,t[10]=n.pickFile,t[11]=n.tryInChat,t[12]=a,t[13]=u,t[14]=f,t[15]=i,t[16]=r,t[17]=s,t[18]=g,t[19]=h,t[20]=m,t[21]=p,t[22]=o,t[23]=d,t[24]=c,t[25]=v):v=t[25];let y;return t[26]!==_||t[27]!==v?(y=(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-hidden`,children:[_,v]}),t[26]=_,t[27]=v,t[28]=y):y=t[28],y}function wn(e){return e.resolved===`dark`}var Z=e(t(),1);function Tn(e){let t=(0,Y.c)(37),{value:n,onChange:r,disabled:i,wd:a,placeholder:o,inputClassName:s,trailing:c}=e,l;t[0]!==r||t[1]!==n?(l={initialPath:n,onPicked:r},t[0]=r,t[1]=n,t[2]=l):l=t[2];let u=me(l),d;t[3]===n?d=t[4]:(d=n.trim(),t[3]=n,t[4]=d);let f=d,p=f?`${f}\n${a.chooseFolder}`:`${o??a.notSet}\n${a.selectWorkingDirectory}`,m;t[5]===s?m=t[6]:(m=K(`min-w-0 flex-1`,s),t[5]=s,t[6]=m);let g=i||u.picking,_;t[7]===r?_=t[8]:(_=e=>void r(e.target.value),t[7]=r,t[8]=_);let v=o??a.pathInputPlaceholder,y;t[9]!==m||t[10]!==g||t[11]!==_||t[12]!==v||t[13]!==n?(y=(0,X.jsx)(`input`,{type:`text`,className:m,value:n,disabled:g,onChange:_,placeholder:v,autoComplete:`off`,spellCheck:!1}),t[9]=m,t[10]=g,t[11]=_,t[12]=v,t[13]=n,t[14]=y):y=t[14];let b=i||u.picking,x;t[15]!==p||t[16]!==u.pick||t[17]!==b||t[18]!==n||t[19]!==a.selectWorkingDirectory?(x=(0,X.jsx)(A,{compact:!0,value:n,onPick:u.pick,disabled:b,title:p,"aria-label":a.selectWorkingDirectory}),t[15]=p,t[16]=u.pick,t[17]=b,t[18]=n,t[19]=a.selectWorkingDirectory,t[20]=x):x=t[20];let S;t[21]!==x||t[22]!==c?(S=(0,X.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:[x,c]}),t[21]=x,t[22]=c,t[23]=S):S=t[23];let C;t[24]!==S||t[25]!==y?(C=(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center`,children:[y,S]}),t[24]=S,t[25]=y,t[26]=C):C=t[26];let w;t[27]!==u.confirmPick||t[28]!==u.hasNativePicker||t[29]!==u.modalOpen||t[30]!==u.setModalOpen||t[31]!==f||t[32]!==a?(w=u.hasNativePicker?null:(0,X.jsx)(h,{open:u.modalOpen,onOpenChange:u.setModalOpen,initialAbsolutePath:f||void 0,onConfirm:u.confirmPick,wd:a}),t[27]=u.confirmPick,t[28]=u.hasNativePicker,t[29]=u.modalOpen,t[30]=u.setModalOpen,t[31]=f,t[32]=a,t[33]=w):w=t[33];let T;return t[34]!==C||t[35]!==w?(T=(0,X.jsxs)(X.Fragment,{children:[C,w]}),t[34]=C,t[35]=w,t[36]=T):T=t[36],T}function En(e){let t=(0,Y.c)(19),{label:n,mode:r,value:i,inheritedFrom:a,inheritLabel:o,overrideLabel:s}=e,c;t[0]===n?c=t[1]:(c=(0,X.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wide text-fg-subtle`,children:n}),t[0]=n,t[1]=c);let l=i||`—`,u;t[2]===l?u=t[3]:(u=(0,X.jsx)(`p`,{className:`mt-1 truncate text-sm font-medium text-fg`,children:l}),t[2]=l,t[3]=u);let d;t[4]!==a||t[5]!==r?(d=r===`inherit`&&a?(0,X.jsx)(`p`,{className:`mt-0.5 truncate text-xs text-fg-muted`,children:a}):null,t[4]=a,t[5]=r,t[6]=d):d=t[6];let f;t[7]!==c||t[8]!==u||t[9]!==d?(f=(0,X.jsxs)(`div`,{className:`min-w-0`,children:[c,u,d]}),t[7]=c,t[8]=u,t[9]=d,t[10]=f):f=t[10];let p=r===`inherit`?`bg-surface-hover text-fg-muted`:`bg-accent-soft text-accent-fg`,m;t[11]===p?m=t[12]:(m=K(`mt-2 inline-flex shrink-0 self-start rounded-full px-2.5 py-0.5 text-xs font-medium sm:mt-0`,p),t[11]=p,t[12]=m);let h=r===`inherit`?o:s,g;t[13]!==m||t[14]!==h?(g=(0,X.jsx)(`span`,{className:m,children:h}),t[13]=m,t[14]=h,t[15]=g):g=t[15];let _;return t[16]!==f||t[17]!==g?(_=(0,X.jsxs)(`div`,{className:`flex flex-col gap-1 rounded-xl border border-edge-subtle bg-surface-panel px-4 py-3 sm:flex-row sm:items-center sm:justify-between`,children:[f,g]}),t[16]=f,t[17]=g,t[18]=_):_=t[18],_}function Dn(e){let t=(0,Y.c)(41),{a:n,defaultModel:r,defaultWorkspace:i,agentModel:a,agentWorkspace:o,settingsPath:s,settingsState:c}=e,l=s===void 0?`/settings/agent-defaults`:s,u=n.inheritance,d;t[0]===a?d=t[1]:(d=a.trim(),t[0]=a,t[1]=d);let f=!d,p;t[2]!==o||t[3]!==i?(p=!o.trim()||i.trim().length>0&&o.trim()===i.trim(),t[2]=o,t[3]=i,t[4]=p):p=t[4];let m=p,h=f?r||u.unset:a,g=m?i||u.unset:o,_;t[5]!==u.editDefaultsLink||t[6]!==l||t[7]!==c?(_=(0,X.jsx)(H,{to:l,state:c,className:`text-xs font-medium text-accent hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,children:u.editDefaultsLink}),t[5]=u.editDefaultsLink,t[6]=l,t[7]=c,t[8]=_):_=t[8];let v;t[9]!==u.subtitle||t[10]!==u.title||t[11]!==_?(v=(0,X.jsx)(qt,{icon:he,title:u.title,subtitle:u.subtitle,trailing:_}),t[9]=u.subtitle,t[10]=u.title,t[11]=_,t[12]=v):v=t[12];let y=f?`inherit`:`override`,b;t[13]!==r||t[14]!==u.inheritsValue||t[15]!==f?(b=f&&r?u.inheritsValue.replace(`{{value}}`,r):void 0,t[13]=r,t[14]=u.inheritsValue,t[15]=f,t[16]=b):b=t[16];let x;t[17]!==h||t[18]!==u.badgeInherit||t[19]!==u.badgeOverride||t[20]!==u.modelLabel||t[21]!==y||t[22]!==b?(x=(0,X.jsx)(En,{label:u.modelLabel,mode:y,value:h,inheritedFrom:b,inheritLabel:u.badgeInherit,overrideLabel:u.badgeOverride}),t[17]=h,t[18]=u.badgeInherit,t[19]=u.badgeOverride,t[20]=u.modelLabel,t[21]=y,t[22]=b,t[23]=x):x=t[23];let S=m?`inherit`:`override`,C;t[24]!==i||t[25]!==u.inheritsValue||t[26]!==m?(C=m&&i?u.inheritsValue.replace(`{{value}}`,i):void 0,t[24]=i,t[25]=u.inheritsValue,t[26]=m,t[27]=C):C=t[27];let w;t[28]!==g||t[29]!==u.badgeInherit||t[30]!==u.badgeOverride||t[31]!==u.workspaceLabel||t[32]!==S||t[33]!==C?(w=(0,X.jsx)(En,{label:u.workspaceLabel,mode:S,value:g,inheritedFrom:C,inheritLabel:u.badgeInherit,overrideLabel:u.badgeOverride}),t[28]=g,t[29]=u.badgeInherit,t[30]=u.badgeOverride,t[31]=u.workspaceLabel,t[32]=S,t[33]=C,t[34]=w):w=t[34];let T;t[35]!==w||t[36]!==x?(T=(0,X.jsxs)(`div`,{className:`mt-4 grid gap-3 sm:grid-cols-2`,children:[x,w]}),t[35]=w,t[36]=x,t[37]=T):T=t[37];let E;return t[38]!==T||t[39]!==v?(E=(0,X.jsxs)(Jt,{children:[v,T]}),t[38]=T,t[39]=v,t[40]=E):E=t[40],E}function On(e,t){switch(e){case`adventurer`:return t.avatarStyleAdventurer;case`bottts`:return t.avatarStyleRobot;case`lorelei`:return t.avatarStyleLorelei;case`thumbs`:return t.avatarStyleThumbs;case`fun-emoji`:return t.avatarStyleFunEmoji;default:return e}}function kn(e){let{agentId:t,value:n,onChange:r,a:i,id:a}=e,o=(0,Z.useRef)(null),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(!1),p=(0,Z.useMemo)(()=>{let e=We(n.trim());return e&&V(e.styleId)?e.styleId:ze[0]??`adventurer`},[n]),m=(0,Z.useCallback)(async(e,n)=>{try{await mt(t)}catch{}r(U(e,n)),f(!1)},[t,r]),h=(0,Z.useCallback)(async e=>{let n=e.target.files?.[0];if(e.target.value=``,n){u(null),c(!0);try{await Kt(t,n),Ve(t),r(P)}catch(e){let t=e instanceof Error?e.message:``;u(t===`avatar_too_large`?i.avatarTooLarge:t===`unsupported_image_type`||t===`empty_file`?i.avatarInvalidImage:i.avatarUploadFailed)}finally{c(!1)}}},[i,t,r]),g=(e,t)=>{let r=We(n.trim());return!!(r&&r.styleId===e&&r.seed===t)};return(0,X.jsxs)(`div`,{...a?{id:a}:{},className:`flex flex-col gap-3 sm:col-span-2`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,X.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:i.avatarPickerTitle}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`input`,{ref:o,type:`file`,accept:`image/png,image/jpeg,image/webp,.png,.jpg,.jpeg,.webp`,className:`hidden`,onChange:e=>void h(e)}),(0,X.jsxs)(J,{type:`button`,variant:`secondary`,className:`gap-1.5 px-2.5 py-1.5 text-xs`,disabled:s,onClick:()=>o.current?.click(),children:[(0,X.jsx)(tt,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),s?i.avatarUploading:i.avatarUploadCustom]})]})]}),l?(0,X.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:l}):null,(0,X.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:ze.map(e=>(0,X.jsx)(`button`,{type:`button`,onClick:()=>void m(e,je[0]??t),className:K(`rounded-full border px-3 py-1.5 text-xs font-medium transition-colors`,St.press,p===e?`border-fg bg-fg text-surface-base`:`border-edge-subtle bg-surface-panel text-fg hover:border-edge`),children:On(e,i)},e))}),(0,X.jsxs)(`div`,{className:`rounded-xl border border-edge-subtle bg-surface-panel/50 p-3`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[je.map(e=>(0,X.jsx)(`button`,{type:`button`,title:e,onClick:()=>void m(p,e),className:K(`flex size-12 shrink-0 items-center justify-center rounded-full border-2 transition-colors`,St.press,g(p,e)?`border-accent ring-2 ring-accent/30`:`border-transparent hover:border-edge`),children:(0,X.jsx)(`img`,{src:Et(p,e,96),alt:``,width:44,height:44,className:`size-11 rounded-full object-cover`,draggable:!1})},e)),(0,X.jsxs)(oe,{open:d,onOpenChange:f,children:[(0,X.jsx)(le,{asChild:!0,children:(0,X.jsx)(`button`,{type:`button`,className:K(`flex size-12 shrink-0 items-center justify-center rounded-xl border border-edge-subtle bg-surface-base text-xs font-medium text-fg-muted hover:border-edge hover:text-fg`,St.press),children:i.avatarMore})}),(0,X.jsx)(ft,{children:(0,X.jsxs)(_,{className:`z-[80] max-h-72 w-[min(22rem,calc(100vw-2rem))] overflow-y-auto rounded-xl border border-edge-subtle bg-surface-panel p-3 shadow-lg`,sideOffset:6,align:`end`,children:[(0,X.jsx)(`p`,{className:`mb-2 text-xs font-medium text-fg-muted`,children:On(p,i)}),(0,X.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:I.map(e=>(0,X.jsx)(`button`,{type:`button`,title:e,onClick:()=>void m(p,e),className:K(`flex size-11 shrink-0 items-center justify-center rounded-full border-2 transition-colors`,St.press,g(p,e)?`border-accent ring-2 ring-accent/30`:`border-transparent hover:border-edge`),children:(0,X.jsx)(`img`,{src:Et(p,e,88),alt:``,width:40,height:40,className:`size-10 rounded-full object-cover`,draggable:!1})},e))})]})})]})]}),(0,X.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 border-t border-edge-subtle pt-3`,children:[(0,X.jsx)(`span`,{className:`text-xs text-fg-muted`,children:i.personaAvatar}),(0,X.jsx)(Fe,{agentId:t,avatar:n,size:40}),n.trim()&&!We(n.trim())&&n.trim()!==`xopc:custom`?(0,X.jsx)(`span`,{className:`truncate font-mono text-[10px] text-fg-muted`,title:n,children:n}):null]})]})]})}var An={name:``,creature:``,emoji:``,avatar:``};function jn(e){let t={...An};if(!e.trim())return t;let n={name:`name`,creature:`creature`,emoji:`emoji`,avatar:`avatar`};for(let r of e.split(`
|
|
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-q28QhI7l.js";import{i as s}from"./vendor-swr-BIWyz7Rc.js";import{t as c}from"./circle-check-C23XjkUj.js";import{i as l}from"./theme-store-BgCPrmxU.js";import{a as u,n as d,t as f}from"./fetch-drJUxxKP.js";import{$a as p,$o as m,A as h,Ao as g,Ar as _,At as v,B as y,Ba as b,Bi as x,Ci as S,Co as C,Cr as w,Dr as T,Dt as E,Eo as D,Er as O,Et as k,F as A,Fi as j,Fn as M,Ft as N,Gn as P,Gr as F,Hn as I,I as L,Ia as R,Ii as z,In as ee,Io as te,It as B,Jn as V,Jo as H,Kn as U,Ko as W,L as ne,Lt as G,M as re,Mi as ie,Mo as ae,Mr as oe,Mt as se,N as ce,Nr as le,Nt as ue,Oa as de,Or as fe,Ot as pe,P as me,Pa as he,Pn as ge,Pt as _e,Qo as ve,Qr as ye,Qt as be,R as xe,Ri as Se,Ro as Ce,Rt as we,So as Te,Sr as Ee,Ti as De,Tr as Oe,Tt as ke,Ui as Ae,Un as je,Ur as Me,Va as Ne,Vi as Pe,Vn as Fe,Vo as Ie,Wa as Le,Wi as Re,Wn as ze,Xi as Be,Xn as Ve,Xo as He,Yi as Ue,Yn as We,Yr as Ge,Zi as Ke,Zn as qe,Zo as Je,Zr as Ye,_i as Xe,_o as Ze,aa as Qe,ao as $e,ba as et,bi as tt,bn as nt,ca as rt,ci as it,di as K,dr as at,ei as ot,fi as st,fo as ct,hi as lt,ho as ut,j as dt,jr as ft,jt as pt,kr as q,kt as mt,la as ht,li as gt,lo as _t,mi as vt,mo as yt,n as bt,na as xt,ni as St,oi as Ct,pa as wt,pi as Tt,qn as Et,ro as Dt,sa as Ot,so as kt,t as At,ti as jt,ua as Mt,ui as J,ur as Nt,vo as Pt,wa as Ft,wi as It,wo as Lt,wr as Rt,x as zt,xi as Bt,yi as Vt,yn as Ht,yo as Ut,z as Wt,zr as Gt,zt as Kt}from"./index-CRDAmr3W.js";import{n as qt,t as Jt}from"./settings-form-section-DUoGKAiW.js";import{l as Yt,n as Xt,p as Zt,r as Qt,t as $t}from"./settings-advanced-gate-2ODuCjHP.js";import{i as en,l as tn,m as nn,n as rn,u as an}from"./cron-api-CgBO8B7I.js";var Y=n(),X=r();function on(e){let t=(0,Y.c)(40),{open:n,onOpenChange:r,busy:i,deletePurge:a,deleteTarget:o,deleteConfirmText:s,onDeleteConfirmTextChange:c,onConfirm:l,onCancel:u,a:d}=e,f;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,X.jsx)(O,{className:`fixed inset-0 z-[80] bg-scrim backdrop-blur-[2px]`}),t[0]=f):f=t[0];let p;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(p=K(`fixed left-1/2 top-1/2 z-[81] w-[min(100%-2rem,28rem)] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-edge bg-surface-panel p-4 shadow-popover`,`dark:border-edge`),t[1]=p):p=t[1];let m=a?d.purgeDisk:d.removeFromConfig,h;t[2]===m?h=t[3]:(h=(0,X.jsx)(q,{className:`text-base font-semibold text-fg`,children:m}),t[2]=m,t[3]=h);let g=a?d.confirmDeletePurge:d.confirmDelete,_;t[4]===g?_=t[5]:(_=(0,X.jsx)(Oe,{className:`mt-2 whitespace-pre-wrap text-sm leading-relaxed text-fg-muted`,children:g}),t[4]=g,t[5]=_);let v;t[6]!==d.purgeConfirmHint||t[7]!==d.purgeConfirmLabel||t[8]!==d.purgeConfirmPlaceholder||t[9]!==s||t[10]!==a||t[11]!==o||t[12]!==c?(v=a&&o?(0,X.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[(0,X.jsx)(`label`,{className:`mb-2 block text-sm font-medium text-fg`,htmlFor:`agent-delete-confirm`,children:d.purgeConfirmLabel}),(0,X.jsx)(`input`,{id:`agent-delete-confirm`,type:`text`,autoComplete:`off`,spellCheck:!1,className:K(`w-full rounded-md border border-edge bg-surface-panel px-3 py-1.5 font-mono text-xs text-fg`,`placeholder:text-fg-subtle`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,`dark:border-edge`),placeholder:d.purgeConfirmPlaceholder.replace(`{{agentId}}`,o.id),value:s,onChange:e=>c(e.target.value)}),(0,X.jsx)(`p`,{className:`pt-0.5 text-xs text-fg-muted`,children:d.purgeConfirmHint.replace(`{{agentId}}`,o.id)})]}):null,t[6]=d.purgeConfirmHint,t[7]=d.purgeConfirmLabel,t[8]=d.purgeConfirmPlaceholder,t[9]=s,t[10]=a,t[11]=o,t[12]=c,t[13]=v):v=t[13];let y;t[14]!==d.createModalCancel||t[15]!==i||t[16]!==u?(y=(0,X.jsx)(J,{type:`button`,variant:`ghost`,disabled:i,onClick:u,children:d.createModalCancel}),t[14]=d.createModalCancel,t[15]=i,t[16]=u,t[17]=y):y=t[17];let b=a?`border-red-200 text-red-700 hover:bg-red-50 dark:border-red-900/60 dark:text-red-300 dark:hover:bg-red-950/40`:void 0,x;t[18]!==i||t[19]!==s||t[20]!==a||t[21]!==o?(x=i||!o||a&&s.trim().toLowerCase()!==o.id.toLowerCase(),t[18]=i,t[19]=s,t[20]=a,t[21]=o,t[22]=x):x=t[22];let S=a?d.purgeDisk:d.removeFromConfig,C;t[23]!==l||t[24]!==x||t[25]!==S||t[26]!==b?(C=(0,X.jsx)(J,{type:`button`,variant:`secondary`,className:b,disabled:x,onClick:l,children:S}),t[23]=l,t[24]=x,t[25]=S,t[26]=b,t[27]=C):C=t[27];let w;t[28]!==C||t[29]!==y?(w=(0,X.jsxs)(`div`,{className:`mt-4 flex flex-wrap items-center justify-end gap-2 border-t border-edge-subtle/60 pt-3`,children:[y,C]}),t[28]=C,t[29]=y,t[30]=w):w=t[30];let E;t[31]!==w||t[32]!==h||t[33]!==_||t[34]!==v?(E=(0,X.jsxs)(T,{children:[f,(0,X.jsxs)(Rt,{className:p,onOpenAutoFocus:sn,children:[h,_,v,w]})]}),t[31]=w,t[32]=h,t[33]=_,t[34]=v,t[35]=E):E=t[35];let D;return t[36]!==r||t[37]!==n||t[38]!==E?(D=(0,X.jsx)(fe,{open:n,onOpenChange:r,children:E}),t[36]=r,t[37]=n,t[38]=E,t[39]=D):D=t[39],D}function sn(e){return e.preventDefault()}var cn=[{id:`overview`,labelKey:`navIdentity`,icon:Xe},{id:`profile`,labelKey:`navProfile`,icon:Lt},{id:`tools`,labelKey:`navTools`,icon:vt},{id:`skills`,labelKey:`navSkills`,icon:Qe},{id:`files`,labelKey:`navCoreFiles`,icon:$e}],ln=[{id:`channels`,labelKey:`tabChannels`,icon:rt},{id:`cron`,labelKey:`tabCron`,icon:Ut}];function un(e){let t=(0,Y.c)(20),{a:n,panel:r,onPanelChange:i}=e,a;t[0]!==i||t[1]!==r?(a=(e,t,n)=>(0,X.jsxs)(`button`,{type:`button`,onClick:()=>i(e),className:K(`flex w-full items-center gap-2.5 rounded-lg px-3 py-2 text-left text-sm font-medium transition-colors`,St.press,r===e?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`),children:[(0,X.jsx)(n,{className:`size-4 shrink-0 opacity-90`,strokeWidth:2,"aria-hidden":!0}),(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:t})]},e),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o=a,s=n.editorNavAria,c;t[3]!==n||t[4]!==o?(c=cn.map(e=>{let{id:t,labelKey:r,icon:i}=e;return o(t,n[r],i)}),t[3]=n,t[4]=o,t[5]=c):c=t[5];let l;t[6]===c?l=t[7]:(l=(0,X.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:c}),t[6]=c,t[7]=l);let u;t[8]===n.navAdvanced?u=t[9]:(u=(0,X.jsx)(`p`,{className:`mt-4 px-3 text-[10px] font-semibold uppercase tracking-wide text-fg-subtle`,children:n.navAdvanced}),t[8]=n.navAdvanced,t[9]=u);let d;t[10]!==n||t[11]!==o?(d=ln.map(e=>{let{id:t,labelKey:r,icon:i}=e;return o(t,n[r],i)}),t[10]=n,t[11]=o,t[12]=d):d=t[12];let f;t[13]===d?f=t[14]:(f=(0,X.jsx)(`div`,{className:`flex flex-col gap-0.5`,children:d}),t[13]=d,t[14]=f);let p;return t[15]!==n.editorNavAria||t[16]!==l||t[17]!==u||t[18]!==f?(p=(0,X.jsxs)(`nav`,{className:`flex w-full flex-col gap-1`,"aria-label":s,children:[l,u,f]}),t[15]=n.editorNavAria,t[16]=l,t[17]=u,t[18]=f,t[19]=p):p=t[19],p}function dn(e){let t=(0,Y.c)(49),{open:n,onOpenChange:r,a:i,title:a,subtitle:o,panel:s,onPanelChange:c,onFooterSave:l,footerSaveDisabled:u,footerSavedFlash:d,busy:f,children:p}=e,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,X.jsx)(O,{className:K(`xopc-dialog-overlay fixed inset-0 bg-scrim`,nt)}),t[0]=m):m=t[0];let h;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(h=K(`xopc-dialog-content fixed flex flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-popover dark:border-edge`,Ht,`inset-4 h-[calc(100dvh-2rem)] max-h-[calc(100dvh-2rem)] min-h-0`,`sm:inset-auto sm:left-1/2 sm:top-1/2 sm:h-[min(88vh,48rem)] sm:max-h-[min(88vh,48rem)] sm:min-h-[32rem] sm:w-[min(100%-2rem,58rem)] sm:-translate-x-1/2 sm:-translate-y-1/2`),t[1]=h):h=t[1];let g;t[2]===a?g=t[3]:(g=(0,X.jsx)(q,{className:`text-base font-semibold leading-snug text-fg`,children:a}),t[2]=a,t[3]=g);let _;t[4]===o?_=t[5]:(_=(0,X.jsx)(Oe,{className:`mt-1 font-mono text-xs text-fg-muted`,children:o}),t[4]=o,t[5]=_);let v;t[6]!==g||t[7]!==_?(v=(0,X.jsxs)(`div`,{className:`min-w-0 pr-2`,children:[g,_]}),t[6]=g,t[7]=_,t[8]=v):v=t[8];let y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=K(jt,`shrink-0 p-1.5 hover:bg-surface-base`),t[9]=y):y=t[9];let b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,X.jsx)(Tt,{className:`size-4`,"aria-hidden":!0}),t[10]=b):b=t[10];let x;t[11]===i.closeDialogAria?x=t[12]:(x=(0,X.jsx)(w,{asChild:!0,children:(0,X.jsx)(`button`,{type:`button`,className:y,"aria-label":i.closeDialogAria,children:b})}),t[11]=i.closeDialogAria,t[12]=x);let S;t[13]!==v||t[14]!==x?(S=(0,X.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-2 border-b border-edge-subtle px-4 pb-3 pt-4 dark:border-edge`,children:[v,x]}),t[13]=v,t[14]=x,t[15]=S):S=t[15];let C;t[16]!==i||t[17]!==c||t[18]!==s?(C=(0,X.jsx)(`div`,{className:`shrink-0 border-b border-edge-subtle px-4 py-3 dark:border-edge sm:flex sm:w-56 sm:shrink-0 sm:flex-col sm:overflow-y-auto sm:border-b-0 sm:border-r sm:px-0 sm:py-4 sm:pl-4 sm:pr-3`,children:(0,X.jsx)(un,{a:i,panel:s,onPanelChange:c})}),t[16]=i,t[17]=c,t[18]=s,t[19]=C):C=t[19];let E;t[20]===p?E=t[21]:(E=(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden p-4 sm:pl-2 sm:pr-5`,children:p}),t[20]=p,t[21]=E);let D;t[22]!==i.footerSaveNotApplicable||t[23]!==i.personaSaved||t[24]!==u||t[25]!==d?(D=d?(0,X.jsxs)(`p`,{className:`order-2 text-center text-xs font-medium text-green-600 sm:order-1 sm:mr-auto sm:text-left dark:text-green-400`,children:[`✓ `,i.personaSaved]}):u?(0,X.jsx)(`p`,{className:`order-2 text-center text-xs text-fg-muted sm:order-1 sm:mr-auto sm:text-left`,children:i.footerSaveNotApplicable}):null,t[22]=i.footerSaveNotApplicable,t[23]=i.personaSaved,t[24]=u,t[25]=d,t[26]=D):D=t[26];let k=f||u,A;t[27]===l?A=t[28]:(A=()=>void l(),t[27]=l,t[28]=A);let j;t[29]!==i.save||t[30]!==k||t[31]!==A?(j=(0,X.jsx)(J,{type:`button`,className:`order-1 w-full sm:order-2 sm:w-auto`,disabled:k,onClick:A,children:i.save}),t[29]=i.save,t[30]=k,t[31]=A,t[32]=j):j=t[32];let M;t[33]!==D||t[34]!==j?(M=(0,X.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-1 border-t border-edge-subtle px-4 py-3 dark:border-edge sm:flex-row sm:items-center sm:justify-end sm:gap-3`,children:[D,j]}),t[33]=D,t[34]=j,t[35]=M):M=t[35];let N;t[36]!==E||t[37]!==M?(N=(0,X.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:[E,M]}),t[36]=E,t[37]=M,t[38]=N):N=t[38];let P;t[39]!==N||t[40]!==C?(P=(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col sm:flex-row sm:overflow-hidden`,children:[C,N]}),t[39]=N,t[40]=C,t[41]=P):P=t[41];let F;t[42]!==P||t[43]!==S?(F=(0,X.jsxs)(T,{children:[m,(0,X.jsx)(Rt,{className:h,onOpenAutoFocus:fn,children:(0,X.jsxs)(ne,{layer:`modal`,children:[S,P]})})]}),t[42]=P,t[43]=S,t[44]=F):F=t[44];let I;return t[45]!==r||t[46]!==n||t[47]!==F?(I=(0,X.jsx)(fe,{open:n,onOpenChange:r,children:F}),t[45]=r,t[46]=n,t[47]=F,t[48]=I):I=t[48],I}function fn(e){return e.preventDefault()}function pn(){return K(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,gt,`dark:border-edge`)}function mn(e,t,n){let r=e.agentId?.trim().toLowerCase();return r?r===t.toLowerCase():t.toLowerCase()===n.toLowerCase()}function hn(e){return[e.channel,e.accountId,e.peerKind,e.peerId].filter(e=>typeof e==`string`&&e.length>0).join(` · `)||e.channel}function gn(e,t,n,r){let i=e.trim(),a=t.trim();if(a)return{channel:i,peerId:a};if(n!=null){let e=r[n];if(!e)return{channel:i};let t={channel:i};e.accountId?.trim()&&(t.accountId=e.accountId.trim()),e.peerKind?.trim()&&(t.peerKind=e.peerKind.trim());let a=e.peerId?.trim()||e.chatId?.trim();return a&&(t.peerId=a),t}return{channel:i}}var _n=K(it,`w-full text-xs sm:w-auto sm:min-w-[11rem] sm:max-w-[17rem] sm:shrink-0`);function vn(e){let t=(0,Y.c)(62),{a:n,busy:r,bindingsLoading:i,agentBindings:a,onRemoveBinding:o,onAddBinding:s,channelStatuses:c,channelsStatusLoading:l,useManualChannel:u,newBindChannel:d,setNewBindChannel:f,bindSessionChats:p,sessionsLoading:m,newBindSessionIdx:h,setNewBindSessionIdx:g,newBindCustomPeer:_,setNewBindCustomPeer:v,onRefreshSessions:y,lastActiveLabels:b,selectRecipient:x}=e,S=!l&&(u||c.length>0),C;t[0]!==n.channelsHint||t[1]!==n.channelsTitle?(C=(0,X.jsx)(qt,{className:`shrink-0`,icon:he,title:n.channelsTitle,subtitle:n.channelsHint}),t[0]=n.channelsHint,t[1]=n.channelsTitle,t[2]=C):C=t[2];let w;t[3]!==n.channelsLoading||t[4]!==n.channelsNone||t[5]!==n.removeBinding||t[6]!==a||t[7]!==i||t[8]!==r||t[9]!==o?(w=i?(0,X.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.channelsLoading}):a.length===0?(0,X.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.channelsNone}):(0,X.jsx)(`ul`,{className:`flex flex-col gap-2 text-sm`,children:a.map(e=>(0,X.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-2 rounded-lg border border-edge bg-surface-panel px-3 py-2`,children:[(0,X.jsx)(`span`,{className:`font-mono text-xs`,children:hn(e.match)}),(0,X.jsx)(J,{type:`button`,variant:`secondary`,disabled:r,onClick:()=>void o(e),children:n.removeBinding})]},`${e.match.channel}-${hn(e.match)}`))}),t[3]=n.channelsLoading,t[4]=n.channelsNone,t[5]=n.removeBinding,t[6]=a,t[7]=i,t[8]=r,t[9]=o,t[10]=w):w=t[10];let T;t[11]!==n.channelLabel||t[12]!==n.channelsDisabledSuffix||t[13]!==n.channelsLoadingChannels||t[14]!==n.channelsManualChannelHint||t[15]!==c||t[16]!==l||t[17]!==d||t[18]!==f||t[19]!==v||t[20]!==g||t[21]!==u?(T=l?(0,X.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.channelsLoadingChannels}):u?(0,X.jsxs)(`label`,{className:`flex flex-col gap-1 text-sm`,children:[(0,X.jsx)(`span`,{className:`text-fg-muted`,children:n.channelLabel}),(0,X.jsx)(`input`,{className:pn(),value:d,onChange:e=>f(e.target.value),placeholder:`telegram`,autoComplete:`off`}),(0,X.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.channelsManualChannelHint})]}):(0,X.jsxs)(`label`,{className:`flex flex-col gap-1 text-sm`,children:[(0,X.jsx)(`span`,{className:`text-fg-muted`,children:n.channelLabel}),(0,X.jsx)(`select`,{className:K(pn(),`py-2`),value:d,onChange:e=>{f(e.target.value),g(null),v(``)},children:c.map(e=>(0,X.jsxs)(`option`,{value:e.name,disabled:!e.enabled,children:[e.name,` `,e.enabled?``:n.channelsDisabledSuffix]},e.name))})]}),t[11]=n.channelLabel,t[12]=n.channelsDisabledSuffix,t[13]=n.channelsLoadingChannels,t[14]=n.channelsManualChannelHint,t[15]=c,t[16]=l,t[17]=d,t[18]=f,t[19]=v,t[20]=g,t[21]=u,t[22]=T):T=t[22];let E;t[23]!==n.channelsCustomPeerHint||t[24]!==n.channelsCustomPeerPlaceholder||t[25]!==n.channelsLoadingSessions||t[26]!==n.channelsNoSessionsHint||t[27]!==n.channelsPeerAny||t[28]!==n.channelsPeerFromSessions||t[29]!==n.channelsRefreshSessions||t[30]!==n.channelsRefreshSessionsHint||t[31]!==n.channelsSessionLabel||t[32]!==n.peerIdLabel||t[33]!==p||t[34]!==r||t[35]!==b||t[36]!==d||t[37]!==_||t[38]!==h||t[39]!==y||t[40]!==x||t[41]!==m||t[42]!==v||t[43]!==g||t[44]!==S?(E=S&&d.trim()?(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 border-t border-edge-subtle pt-3 text-sm`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,X.jsx)(`span`,{className:`text-fg-muted`,children:n.channelsSessionLabel}),(0,X.jsxs)(J,{type:`button`,variant:`ghost`,className:`h-7 gap-1 px-2 text-xs`,disabled:r||m||!d.trim(),title:n.channelsRefreshSessionsHint,onClick:()=>y(),children:[(0,X.jsx)(xt,{className:K(`size-3.5`,m&&`animate-spin`),strokeWidth:1.75}),n.channelsRefreshSessions]})]}),m&&p.length===0?(0,X.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.channelsLoadingSessions}):null,(0,X.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`text-fg-muted`,children:n.channelsPeerFromSessions}),(0,X.jsxs)(`select`,{className:K(pn(),`py-2`),value:h==null?``:String(h),disabled:r||!d.trim()||!!_.trim(),onChange:e=>{let t=e.target.value;g(t===``?null:Number(t))},children:[(0,X.jsx)(`option`,{value:``,children:n.channelsPeerAny}),p.map((e,t)=>(0,X.jsx)(`option`,{value:String(t),children:Yt(e,b)},`${e.channel}-${e.chatId}`))]})]}),p.length===0&&d.trim()&&!m?(0,X.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.channelsNoSessionsHint}):null,(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`text-fg-muted`,children:n.peerIdLabel}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-stretch sm:gap-2`,children:[(0,X.jsx)(`input`,{type:`text`,className:K(pn(),`min-w-0 w-full sm:flex-1`),value:_,onChange:e=>{v(e.target.value),e.target.value.trim()&&g(null)},placeholder:n.channelsCustomPeerPlaceholder,autoComplete:`off`}),(0,X.jsxs)(`select`,{className:_n,value:_,onChange:e=>{let t=e.target.value;v(t||``),g(null)},children:[(0,X.jsx)(`option`,{value:``,children:x}),p.map(e=>(0,X.jsx)(`option`,{value:e.chatId,children:Yt(e,b)},`${e.channel}-${e.chatId}`))]})]}),(0,X.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.channelsCustomPeerHint})]})]}):null,t[23]=n.channelsCustomPeerHint,t[24]=n.channelsCustomPeerPlaceholder,t[25]=n.channelsLoadingSessions,t[26]=n.channelsNoSessionsHint,t[27]=n.channelsPeerAny,t[28]=n.channelsPeerFromSessions,t[29]=n.channelsRefreshSessions,t[30]=n.channelsRefreshSessionsHint,t[31]=n.channelsSessionLabel,t[32]=n.peerIdLabel,t[33]=p,t[34]=r,t[35]=b,t[36]=d,t[37]=_,t[38]=h,t[39]=y,t[40]=x,t[41]=m,t[42]=v,t[43]=g,t[44]=S,t[45]=E):E=t[45];let D;t[46]!==r||t[47]!==l||t[48]!==d?(D=r||!d.trim()||l,t[46]=r,t[47]=l,t[48]=d,t[49]=D):D=t[49];let O;t[50]!==n.addBinding||t[51]!==D?(O=(0,X.jsx)(`div`,{children:(0,X.jsx)(J,{type:`submit`,disabled:D,children:n.addBinding})}),t[50]=n.addBinding,t[51]=D,t[52]=O):O=t[52];let k;t[53]!==s||t[54]!==T||t[55]!==E||t[56]!==O?(k=(0,X.jsxs)(`form`,{className:`mt-4 flex flex-col gap-3`,onSubmit:s,children:[T,E,O]}),t[53]=s,t[54]=T,t[55]=E,t[56]=O,t[57]=k):k=t[57];let A;return t[58]!==C||t[59]!==w||t[60]!==k?(A=(0,X.jsxs)(Jt,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:[C,w,k]}),t[58]=C,t[59]=w,t[60]=k,t[61]=A):A=t[61],A}function yn(e){let t=(0,Y.c)(12),n;t[0]!==e.expression||t[1]!==e.kind||t[2]!==e.labels||t[3]!==e.locale||t[4]!==e.nextRun||t[5]!==e.presetLabels||t[6]!==e.timezone||t[7]!==e.valueMs?(n=e.kind===`cron`?Zt(e.expression,e.locale,e.labels,{timezone:e.timezone,nextRun:e.nextRun}):Qt(e.valueMs,e.locale,e.presetLabels),t[0]=e.expression,t[1]=e.kind,t[2]=e.labels,t[3]=e.locale,t[4]=e.nextRun,t[5]=e.presetLabels,t[6]=e.timezone,t[7]=e.valueMs,t[8]=n):n=t[8];let r=n,i;return t[9]!==e.className||t[10]!==r?(i=(0,X.jsx)(`span`,{className:e.className,children:r}),t[9]=e.className,t[10]=r,t[11]=i):i=t[11],i}function bn(e){let t=(0,Y.c)(24),{a:n,data:r,busy:o,cronLoading:s,agentCronJobs:c,onSetCronJobAgent:l}=e,u=i(Sn),d;t[0]===u?d=t[1]:(d=a(u),t[0]=u,t[1]=d);let f=d,p=u===`zh`?`zh-CN`:`en-US`,m=f.cron.scheduleBadge,h;t[2]!==n.cronHint||t[3]!==n.cronTitle?(h=(0,X.jsx)(qt,{className:`shrink-0`,icon:W,title:n.cronTitle,subtitle:n.cronHint}),t[2]=n.cronHint,t[3]=n.cronTitle,t[4]=h):h=t[4];let g;t[5]!==n.cronAgentClear||t[6]!==n.cronAgentDefault||t[7]!==n.cronColAgent||t[8]!==n.cronColMessage||t[9]!==n.cronColSchedule||t[10]!==n.cronColSession||t[11]!==n.cronLoading||t[12]!==n.cronNone||t[13]!==c||t[14]!==o||t[15]!==s||t[16]!==r||t[17]!==p||t[18]!==l||t[19]!==m?(g=s?(0,X.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.cronLoading}):c.length===0?(0,X.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.cronNone}):(0,X.jsx)(`div`,{className:`overflow-x-auto`,children:(0,X.jsxs)(`table`,{className:`w-full min-w-[32rem] border-collapse text-left text-sm`,children:[(0,X.jsx)(`thead`,{children:(0,X.jsxs)(`tr`,{className:`border-b border-edge text-fg-muted`,children:[(0,X.jsx)(`th`,{className:`py-2 pr-3 font-medium`,children:n.cronColSchedule}),(0,X.jsx)(`th`,{className:`py-2 pr-3 font-medium`,children:n.cronColMessage}),(0,X.jsx)(`th`,{className:`py-2 pr-3 font-medium`,children:n.cronColSession}),(0,X.jsx)(`th`,{className:`py-2 pr-3 font-medium`,children:n.cronColAgent})]})}),(0,X.jsx)(`tbody`,{children:c.map(e=>{let t=!e.agentId?.trim(),i=t?``:e.agentId.trim().toLowerCase();return(0,X.jsxs)(`tr`,{className:`border-b border-edge-subtle`,children:[(0,X.jsx)(`td`,{className:`py-2 pr-3`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,X.jsx)(yn,{kind:`cron`,expression:e.schedule,locale:p,labels:m,timezone:e.timezone,nextRun:e.next_run,className:`text-sm font-medium text-fg`}),(0,X.jsx)(`span`,{className:`truncate font-mono text-[0.65rem] text-fg-subtle`,title:e.schedule,children:e.schedule})]})}),(0,X.jsx)(`td`,{className:`max-w-[12rem] truncate py-2 pr-3 text-xs`,title:rn(e),children:rn(e)}),(0,X.jsx)(`td`,{className:`py-2 pr-3 text-xs`,children:e.sessionTarget??`main`}),(0,X.jsx)(`td`,{className:`py-2 pr-3`,children:(0,X.jsxs)(`select`,{className:K(pn(),`min-w-[8rem] py-1 text-xs`),value:i,disabled:o||e.sessionTarget!==`isolated`,onChange:t=>void l(e,t.target.value),children:[(0,X.jsx)(`option`,{value:``,children:t?n.cronAgentDefault:n.cronAgentClear}),r.agents.map(xn)]})})]},e.id)})})]})}),t[5]=n.cronAgentClear,t[6]=n.cronAgentDefault,t[7]=n.cronColAgent,t[8]=n.cronColMessage,t[9]=n.cronColSchedule,t[10]=n.cronColSession,t[11]=n.cronLoading,t[12]=n.cronNone,t[13]=c,t[14]=o,t[15]=s,t[16]=r,t[17]=p,t[18]=l,t[19]=m,t[20]=g):g=t[20];let _;return t[21]!==h||t[22]!==g?(_=(0,X.jsxs)(Jt,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:[h,g]}),t[21]=h,t[22]=g,t[23]=_):_=t[23],_}function xn(e){return(0,X.jsx)(`option`,{value:e.id,children:e.id},e.id)}function Sn(e){return e.language}function Cn(e){let t=(0,Y.c)(29),{a:n,filesLoading:r,files:i,activeFile:a,setActiveFile:o,filesViewMode:s,setFilesViewMode:c,fileDraft:u,setFileDraft:d,fileSaving:f,profileFileLoading:p,profileEditorNonce:m,onTryInChat:h}=e,g=l(wn),_;t[0]===n.filesHint?_=t[1]:(_=(0,X.jsx)(`p`,{className:`shrink-0 text-sm text-fg-muted`,children:n.filesHint}),t[0]=n.filesHint,t[1]=_);let v;t[2]!==n.filesAutoSaveHint||t[3]!==n.filesEmpty||t[4]!==n.filesLoading||t[5]!==n.filesMarkdownEdit||t[6]!==n.filesMarkdownPreview||t[7]!==n.filesSavingStatus||t[8]!==n.missing||t[9]!==n.navCoreFiles||t[10]!==n.pickFile||t[11]!==n.tryInChat||t[12]!==a||t[13]!==u||t[14]!==f||t[15]!==i||t[16]!==r||t[17]!==s||t[18]!==g||t[19]!==h||t[20]!==m||t[21]!==p||t[22]!==o||t[23]!==d||t[24]!==c?(v=r?(0,X.jsx)(`p`,{className:`shrink-0 text-sm text-fg-muted`,children:n.filesLoading}):i?(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 overflow-hidden`,children:[(0,X.jsx)(`nav`,{className:`-mx-1 flex shrink-0 flex-wrap gap-1 px-1 pb-1`,role:`tablist`,"aria-label":n.navCoreFiles,children:i.files.map(e=>{let t=a===e.name;return(0,X.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":t,className:K(`inline-flex shrink-0 items-center rounded-lg px-3 py-2 font-mono text-xs font-medium whitespace-nowrap transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,St.press,t?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`,e.missing&&`opacity-60`),onClick:()=>o(e.name),children:[e.name,e.missing?` (${n.missing})`:``]},e.name)})}),(0,X.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-2 overflow-hidden`,children:a?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-between gap-2`,children:[(0,X.jsxs)(`div`,{className:`inline-flex rounded-lg border border-edge bg-surface-panel p-0.5`,role:`group`,"aria-label":`${n.filesMarkdownEdit} / ${n.filesMarkdownPreview}`,children:[(0,X.jsxs)(`button`,{type:`button`,className:K(`inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium`,St.press,s===`edit`?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover`),onClick:()=>c(`edit`),children:[(0,X.jsx)(z,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),n.filesMarkdownEdit]}),(0,X.jsxs)(`button`,{type:`button`,className:K(`inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium`,St.press,s===`preview`?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover`),onClick:()=>c(`preview`),children:[(0,X.jsx)(kt,{className:`size-3.5 shrink-0`,"aria-hidden":!0}),n.filesMarkdownPreview]})]}),(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs text-fg-muted`,children:[f?(0,X.jsx)(`span`,{children:n.filesSavingStatus}):null,(0,X.jsx)(`span`,{children:n.filesAutoSaveHint}),h?(0,X.jsxs)(J,{type:`button`,variant:`secondary`,className:`ml-auto text-xs`,onClick:h,children:[(0,X.jsx)(Ft,{className:`mr-1 size-3.5`,"aria-hidden":!0}),n.tryInChat]}):null]})]}),s===`edit`?(0,X.jsx)(`div`,{className:K(pn(),`flex min-h-0 flex-1 flex-col overflow-hidden p-0`,p&&`pointer-events-none opacity-60`),children:(0,X.jsx)(M,{initialContent:u,onChange:d,isDark:g,className:`min-h-0 flex-1`},`${a??`file`}-${m}`)}):(0,X.jsx)(`div`,{className:K(pn(),`min-h-0 flex-1 overflow-y-auto text-sm`,p&&`pointer-events-none opacity-60`),children:(0,X.jsx)(ge,{content:u,className:`text-sm`})})]}):(0,X.jsx)(`p`,{className:`shrink-0 text-sm text-fg-muted`,children:n.pickFile})})]}):(0,X.jsx)(`p`,{className:`shrink-0 text-sm text-fg-muted`,children:n.filesEmpty}),t[2]=n.filesAutoSaveHint,t[3]=n.filesEmpty,t[4]=n.filesLoading,t[5]=n.filesMarkdownEdit,t[6]=n.filesMarkdownPreview,t[7]=n.filesSavingStatus,t[8]=n.missing,t[9]=n.navCoreFiles,t[10]=n.pickFile,t[11]=n.tryInChat,t[12]=a,t[13]=u,t[14]=f,t[15]=i,t[16]=r,t[17]=s,t[18]=g,t[19]=h,t[20]=m,t[21]=p,t[22]=o,t[23]=d,t[24]=c,t[25]=v):v=t[25];let y;return t[26]!==_||t[27]!==v?(y=(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-hidden`,children:[_,v]}),t[26]=_,t[27]=v,t[28]=y):y=t[28],y}function wn(e){return e.resolved===`dark`}var Z=e(t(),1);function Tn(e){let t=(0,Y.c)(37),{value:n,onChange:r,disabled:i,wd:a,placeholder:o,inputClassName:s,trailing:c}=e,l;t[0]!==r||t[1]!==n?(l={initialPath:n,onPicked:r},t[0]=r,t[1]=n,t[2]=l):l=t[2];let u=me(l),d;t[3]===n?d=t[4]:(d=n.trim(),t[3]=n,t[4]=d);let f=d,p=f?`${f}\n${a.chooseFolder}`:`${o??a.notSet}\n${a.selectWorkingDirectory}`,m;t[5]===s?m=t[6]:(m=K(`min-w-0 flex-1`,s),t[5]=s,t[6]=m);let g=i||u.picking,_;t[7]===r?_=t[8]:(_=e=>void r(e.target.value),t[7]=r,t[8]=_);let v=o??a.pathInputPlaceholder,y;t[9]!==m||t[10]!==g||t[11]!==_||t[12]!==v||t[13]!==n?(y=(0,X.jsx)(`input`,{type:`text`,className:m,value:n,disabled:g,onChange:_,placeholder:v,autoComplete:`off`,spellCheck:!1}),t[9]=m,t[10]=g,t[11]=_,t[12]=v,t[13]=n,t[14]=y):y=t[14];let b=i||u.picking,x;t[15]!==p||t[16]!==u.pick||t[17]!==b||t[18]!==n||t[19]!==a.selectWorkingDirectory?(x=(0,X.jsx)(A,{compact:!0,value:n,onPick:u.pick,disabled:b,title:p,"aria-label":a.selectWorkingDirectory}),t[15]=p,t[16]=u.pick,t[17]=b,t[18]=n,t[19]=a.selectWorkingDirectory,t[20]=x):x=t[20];let S;t[21]!==x||t[22]!==c?(S=(0,X.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-2`,children:[x,c]}),t[21]=x,t[22]=c,t[23]=S):S=t[23];let C;t[24]!==S||t[25]!==y?(C=(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center`,children:[y,S]}),t[24]=S,t[25]=y,t[26]=C):C=t[26];let w;t[27]!==u.confirmPick||t[28]!==u.hasNativePicker||t[29]!==u.modalOpen||t[30]!==u.setModalOpen||t[31]!==f||t[32]!==a?(w=u.hasNativePicker?null:(0,X.jsx)(h,{open:u.modalOpen,onOpenChange:u.setModalOpen,initialAbsolutePath:f||void 0,onConfirm:u.confirmPick,wd:a}),t[27]=u.confirmPick,t[28]=u.hasNativePicker,t[29]=u.modalOpen,t[30]=u.setModalOpen,t[31]=f,t[32]=a,t[33]=w):w=t[33];let T;return t[34]!==C||t[35]!==w?(T=(0,X.jsxs)(X.Fragment,{children:[C,w]}),t[34]=C,t[35]=w,t[36]=T):T=t[36],T}function En(e){let t=(0,Y.c)(19),{label:n,mode:r,value:i,inheritedFrom:a,inheritLabel:o,overrideLabel:s}=e,c;t[0]===n?c=t[1]:(c=(0,X.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wide text-fg-subtle`,children:n}),t[0]=n,t[1]=c);let l=i||`—`,u;t[2]===l?u=t[3]:(u=(0,X.jsx)(`p`,{className:`mt-1 truncate text-sm font-medium text-fg`,children:l}),t[2]=l,t[3]=u);let d;t[4]!==a||t[5]!==r?(d=r===`inherit`&&a?(0,X.jsx)(`p`,{className:`mt-0.5 truncate text-xs text-fg-muted`,children:a}):null,t[4]=a,t[5]=r,t[6]=d):d=t[6];let f;t[7]!==c||t[8]!==u||t[9]!==d?(f=(0,X.jsxs)(`div`,{className:`min-w-0`,children:[c,u,d]}),t[7]=c,t[8]=u,t[9]=d,t[10]=f):f=t[10];let p=r===`inherit`?`bg-surface-hover text-fg-muted`:`bg-accent-soft text-accent-fg`,m;t[11]===p?m=t[12]:(m=K(`mt-2 inline-flex shrink-0 self-start rounded-full px-2.5 py-0.5 text-xs font-medium sm:mt-0`,p),t[11]=p,t[12]=m);let h=r===`inherit`?o:s,g;t[13]!==m||t[14]!==h?(g=(0,X.jsx)(`span`,{className:m,children:h}),t[13]=m,t[14]=h,t[15]=g):g=t[15];let _;return t[16]!==f||t[17]!==g?(_=(0,X.jsxs)(`div`,{className:`flex flex-col gap-1 rounded-xl border border-edge-subtle bg-surface-panel px-4 py-3 sm:flex-row sm:items-center sm:justify-between`,children:[f,g]}),t[16]=f,t[17]=g,t[18]=_):_=t[18],_}function Dn(e){let t=(0,Y.c)(41),{a:n,defaultModel:r,defaultWorkspace:i,agentModel:a,agentWorkspace:o,settingsPath:s,settingsState:c}=e,l=s===void 0?`/settings/agent-defaults`:s,u=n.inheritance,d;t[0]===a?d=t[1]:(d=a.trim(),t[0]=a,t[1]=d);let f=!d,p;t[2]!==o||t[3]!==i?(p=!o.trim()||i.trim().length>0&&o.trim()===i.trim(),t[2]=o,t[3]=i,t[4]=p):p=t[4];let m=p,h=f?r||u.unset:a,g=m?i||u.unset:o,_;t[5]!==u.editDefaultsLink||t[6]!==l||t[7]!==c?(_=(0,X.jsx)(H,{to:l,state:c,className:`text-xs font-medium text-accent hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/40`,children:u.editDefaultsLink}),t[5]=u.editDefaultsLink,t[6]=l,t[7]=c,t[8]=_):_=t[8];let v;t[9]!==u.subtitle||t[10]!==u.title||t[11]!==_?(v=(0,X.jsx)(qt,{icon:he,title:u.title,subtitle:u.subtitle,trailing:_}),t[9]=u.subtitle,t[10]=u.title,t[11]=_,t[12]=v):v=t[12];let y=f?`inherit`:`override`,b;t[13]!==r||t[14]!==u.inheritsValue||t[15]!==f?(b=f&&r?u.inheritsValue.replace(`{{value}}`,r):void 0,t[13]=r,t[14]=u.inheritsValue,t[15]=f,t[16]=b):b=t[16];let x;t[17]!==h||t[18]!==u.badgeInherit||t[19]!==u.badgeOverride||t[20]!==u.modelLabel||t[21]!==y||t[22]!==b?(x=(0,X.jsx)(En,{label:u.modelLabel,mode:y,value:h,inheritedFrom:b,inheritLabel:u.badgeInherit,overrideLabel:u.badgeOverride}),t[17]=h,t[18]=u.badgeInherit,t[19]=u.badgeOverride,t[20]=u.modelLabel,t[21]=y,t[22]=b,t[23]=x):x=t[23];let S=m?`inherit`:`override`,C;t[24]!==i||t[25]!==u.inheritsValue||t[26]!==m?(C=m&&i?u.inheritsValue.replace(`{{value}}`,i):void 0,t[24]=i,t[25]=u.inheritsValue,t[26]=m,t[27]=C):C=t[27];let w;t[28]!==g||t[29]!==u.badgeInherit||t[30]!==u.badgeOverride||t[31]!==u.workspaceLabel||t[32]!==S||t[33]!==C?(w=(0,X.jsx)(En,{label:u.workspaceLabel,mode:S,value:g,inheritedFrom:C,inheritLabel:u.badgeInherit,overrideLabel:u.badgeOverride}),t[28]=g,t[29]=u.badgeInherit,t[30]=u.badgeOverride,t[31]=u.workspaceLabel,t[32]=S,t[33]=C,t[34]=w):w=t[34];let T;t[35]!==w||t[36]!==x?(T=(0,X.jsxs)(`div`,{className:`mt-4 grid gap-3 sm:grid-cols-2`,children:[x,w]}),t[35]=w,t[36]=x,t[37]=T):T=t[37];let E;return t[38]!==T||t[39]!==v?(E=(0,X.jsxs)(Jt,{children:[v,T]}),t[38]=T,t[39]=v,t[40]=E):E=t[40],E}function On(e,t){switch(e){case`adventurer`:return t.avatarStyleAdventurer;case`bottts`:return t.avatarStyleRobot;case`lorelei`:return t.avatarStyleLorelei;case`thumbs`:return t.avatarStyleThumbs;case`fun-emoji`:return t.avatarStyleFunEmoji;default:return e}}function kn(e){let{agentId:t,value:n,onChange:r,a:i,id:a}=e,o=(0,Z.useRef)(null),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(!1),p=(0,Z.useMemo)(()=>{let e=We(n.trim());return e&&V(e.styleId)?e.styleId:ze[0]??`adventurer`},[n]),m=(0,Z.useCallback)(async(e,n)=>{try{await mt(t)}catch{}r(U(e,n)),f(!1)},[t,r]),h=(0,Z.useCallback)(async e=>{let n=e.target.files?.[0];if(e.target.value=``,n){u(null),c(!0);try{await Kt(t,n),Ve(t),r(P)}catch(e){let t=e instanceof Error?e.message:``;u(t===`avatar_too_large`?i.avatarTooLarge:t===`unsupported_image_type`||t===`empty_file`?i.avatarInvalidImage:i.avatarUploadFailed)}finally{c(!1)}}},[i,t,r]),g=(e,t)=>{let r=We(n.trim());return!!(r&&r.styleId===e&&r.seed===t)};return(0,X.jsxs)(`div`,{...a?{id:a}:{},className:`flex flex-col gap-3 sm:col-span-2`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,X.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:i.avatarPickerTitle}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`input`,{ref:o,type:`file`,accept:`image/png,image/jpeg,image/webp,.png,.jpg,.jpeg,.webp`,className:`hidden`,onChange:e=>void h(e)}),(0,X.jsxs)(J,{type:`button`,variant:`secondary`,className:`gap-1.5 px-2.5 py-1.5 text-xs`,disabled:s,onClick:()=>o.current?.click(),children:[(0,X.jsx)(tt,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),s?i.avatarUploading:i.avatarUploadCustom]})]})]}),l?(0,X.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:l}):null,(0,X.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:ze.map(e=>(0,X.jsx)(`button`,{type:`button`,onClick:()=>void m(e,je[0]??t),className:K(`rounded-full border px-3 py-1.5 text-xs font-medium transition-colors`,St.press,p===e?`border-fg bg-fg text-surface-base`:`border-edge-subtle bg-surface-panel text-fg hover:border-edge`),children:On(e,i)},e))}),(0,X.jsxs)(`div`,{className:`rounded-xl border border-edge-subtle bg-surface-panel/50 p-3`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[je.map(e=>(0,X.jsx)(`button`,{type:`button`,title:e,onClick:()=>void m(p,e),className:K(`flex size-12 shrink-0 items-center justify-center rounded-full border-2 transition-colors`,St.press,g(p,e)?`border-accent ring-2 ring-accent/30`:`border-transparent hover:border-edge`),children:(0,X.jsx)(`img`,{src:Et(p,e,96),alt:``,width:44,height:44,className:`size-11 rounded-full object-cover`,draggable:!1})},e)),(0,X.jsxs)(oe,{open:d,onOpenChange:f,children:[(0,X.jsx)(le,{asChild:!0,children:(0,X.jsx)(`button`,{type:`button`,className:K(`flex size-12 shrink-0 items-center justify-center rounded-xl border border-edge-subtle bg-surface-base text-xs font-medium text-fg-muted hover:border-edge hover:text-fg`,St.press),children:i.avatarMore})}),(0,X.jsx)(ft,{children:(0,X.jsxs)(_,{className:`z-[80] max-h-72 w-[min(22rem,calc(100vw-2rem))] overflow-y-auto rounded-xl border border-edge-subtle bg-surface-panel p-3 shadow-lg`,sideOffset:6,align:`end`,children:[(0,X.jsx)(`p`,{className:`mb-2 text-xs font-medium text-fg-muted`,children:On(p,i)}),(0,X.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:I.map(e=>(0,X.jsx)(`button`,{type:`button`,title:e,onClick:()=>void m(p,e),className:K(`flex size-11 shrink-0 items-center justify-center rounded-full border-2 transition-colors`,St.press,g(p,e)?`border-accent ring-2 ring-accent/30`:`border-transparent hover:border-edge`),children:(0,X.jsx)(`img`,{src:Et(p,e,88),alt:``,width:40,height:40,className:`size-10 rounded-full object-cover`,draggable:!1})},e))})]})})]})]}),(0,X.jsxs)(`div`,{className:`mt-3 flex items-center gap-2 border-t border-edge-subtle pt-3`,children:[(0,X.jsx)(`span`,{className:`text-xs text-fg-muted`,children:i.personaAvatar}),(0,X.jsx)(Fe,{agentId:t,avatar:n,size:40}),n.trim()&&!We(n.trim())&&n.trim()!==`xopc:custom`?(0,X.jsx)(`span`,{className:`truncate font-mono text-[10px] text-fg-muted`,title:n,children:n}):null]})]})]})}var An={name:``,creature:``,emoji:``,avatar:``};function jn(e){let t={...An};if(!e.trim())return t;let n={name:`name`,creature:`creature`,emoji:`emoji`,avatar:`avatar`};for(let r of e.split(`
|
|
2
2
|
`)){let e=r.match(/^[-*]\s+\*\*(\w+):\*\*\s*(.*)/i);if(!e)continue;let i=n[e[1].toLowerCase()];if(!i)continue;let a=e[2].trim();/^_\(.*\)_$/.test(a)&&(a=``),t[i]=a}return t}function Mn(e){return[`# IDENTITY.md - Who Am I?`,``,`- **Name:** ${e.name}`,`- **Creature:** ${e.creature}`,`- **Emoji:** ${e.emoji}`,`- **Avatar:** ${e.avatar}`,``].join(`
|
|
3
3
|
`)}var Nn={callName:``,pronouns:``,timezone:``,notes:``};function Pn(e){let t={...Nn};if(!e.trim())return t;let n={name:`callName`,"what to call them":`callName`,pronouns:`pronouns`,timezone:`timezone`,notes:`notes`},r=e.split(`
|
|
4
4
|
`),i=-1;for(let e=0;e<r.length;e++){let a=r[e];if(/^##\s+Context/i.test(a)){i=e+1;continue}let o=a.match(/^[-*]\s+\*\*(.+?):\*\*\s*(.*)/i);if(!o)continue;let s=n[o[1].toLowerCase().trim()];if(!s)continue;let c=o[2].trim();/^_\(.*\)_$/.test(c)&&(c=``),t[s]=c}if(i>0){let e=r.slice(i).join(`
|
|
@@ -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-DpFBIyN9.js";import{a as s,i as c}from"./vendor-swr-BIWyz7Rc.js";import{a as l,n as u,t as d}from"./fetch-BLLOP2CM.js";import{$o as f,Do as p,Dr as m,Er as h,Gi as g,Ho as _,Jo as v,N as y,No as b,Oa as x,Or as S,Pn as C,Tr as w,Yi as T,_r as E,br as D,di as O,ha as k,kr as A,lo as j,pi as M,sa as N,ui as P,vr as F,wi as I,wr as L,wt as R,xr as z,yr as B,zr as V}from"./index-Cbg5TS5m.js";var H=e(t(),1),U=n();function W(e){return e===`builtin`||e===`user`?e:`marketplace`}async function G(e){try{let t=await e.json();if(typeof t.error==`string`)return t.error;if(t.error&&typeof t.error==`object`&&typeof t.error.message==`string`)return t.error.message;if(typeof t.message==`string`)return t.message}catch{}return e.statusText||`HTTP ${e.status}`}async function ee(e){let t=await d(o(`/api/marketplace/packages/${encodeURIComponent(e.trim())}`),{cache:`no-store`});if(!t.ok)throw Error(await G(t));let n=await t.json();if(!n.ok||!n.payload?.id)throw Error(n.error??`Invalid response`);return n.payload}async function K(e){let t=await d(o(`/api/marketplace/install`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(await G(t));let n=await t.json();if(!n.ok||!n.payload?.extensionId)throw Error(n.error??`Invalid response`);return n.payload}async function q(e){let t=await d(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 G(t));let n=await t.json();if(!n.ok||!n.payload)throw Error(n.error?.message??`Invalid response`);return n.payload}async function J(e){let t=await d(o(`/api/marketplace/uninstall`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({extensionId:e})});if(!t.ok)throw Error(await G(t));let n=await t.json();if(!n.ok||!n.payload)throw Error(n.error??`Invalid response`);return n.payload}var Y=r();function X(e,t){let n=e.find(e=>e.id===t);return n?n.source===`bundled`?`bundled`:`user`:`absent`}var Z={q:``,debounced:``,detailPkg:null,rowBusy:null,actionError:null,restartHint:null};function te({className:e}){let t=a(i(e=>e.language)).appsPage,n=l(e=>!!e.token),r=F(),{mutate:d}=s(),[f,m]=(0,H.useReducer)(y,Z),{q:h,debounced:g,detailPkg:_,rowBusy:v,actionError:b,restartHint:S}=f,C=n?`marketplace-${g}`:null;(0,H.useEffect)(()=>{let e=window.setTimeout(()=>m({type:`patch`,patch:{debounced:h.trim()}}),300);return()=>window.clearTimeout(e)},[h]);let{data:w,isLoading:E,error:D}=c(C,async()=>u(g.length>0?o(`/api/marketplace?q=${encodeURIComponent(g)}`):o(`/api/marketplace`)),{revalidateOnFocus:!1}),A=(0,H.useCallback)(()=>{d(`gateway-extensions-list`),R()},[d]),j=(0,H.useCallback)(async(e,n)=>{m({type:`patch`,patch:{actionError:null,restartHint:null,rowBusy:e}});try{let r=await K({name:e,overwrite:n});A(),r.requiresGatewayRestart&&m({type:`patch`,patch:{restartHint:t.marketplaceRestartHint}})}catch(e){throw m({type:`patch`,patch:{actionError:e instanceof Error?e.message:t.marketplaceInstallFailed}}),e}finally{m({type:`patch`,patch:{rowBusy:null}})}},[t.marketplaceInstallFailed,t.marketplaceRestartHint,A]),M=(0,H.useCallback)(async e=>{m({type:`patch`,patch:{actionError:null,restartHint:null,rowBusy:e}});try{let n=await J(e);A(),n.requiresGatewayRestart&&m({type:`patch`,patch:{restartHint:t.marketplaceRestartHint}})}catch(e){throw m({type:`patch`,patch:{actionError:e instanceof Error?e.message:t.marketplaceUninstallFailed}}),e}finally{m({type:`patch`,patch:{rowBusy:null}})}},[t.marketplaceRestartHint,t.marketplaceUninstallFailed,A]),N=w?.extensions??[];return(0,Y.jsxs)(`div`,{className:O(`flex flex-col gap-4`,e),children:[(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(T,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-muted`,strokeWidth:1.75,"aria-hidden":!0}),(0,Y.jsx)(`input`,{type:`search`,value:h,onChange:e=>m({type:`patch`,patch:{q:e.target.value}}),placeholder:t.marketplaceSearchPlaceholder,className:`ui-input h-10 w-full rounded-lg border border-edge bg-surface-base pl-9 pr-3 text-sm text-fg placeholder:text-fg-muted`})]}),D?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:D instanceof Error?D.message:t.marketplaceLoadFailed}):null,b?(0,Y.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:b}):null,S?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:S}):null,E&&!w?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:`…`}):(0,Y.jsx)(`ul`,{className:`flex flex-col gap-3`,children:N.length===0?(0,Y.jsx)(`li`,{className:`text-sm text-fg-muted`,children:t.marketplaceEmpty}):N.map(e=>{let n=X(r,e.id),i=v===e.id;return(0,Y.jsx)(`li`,{className:`list-none`,children:(0,Y.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-label":`${e.name}, ${t.marketplaceDetailTitle}`,onClick:()=>m({type:`patch`,patch:{detailPkg:e.id}}),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),m({type:`patch`,patch:{detailPkg:e.id}}))},className:O(`flex w-full cursor-pointer flex-wrap items-start gap-3 rounded-xl border border-edge bg-surface-base p-4 text-left shadow-surface`,`transition-[transform,background-color,border-color,box-shadow] duration-150 ease-out`,`hover:border-edge-subtle hover:bg-surface-hover/40`,`active:scale-[0.992] active:bg-surface-hover/55`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,`dark:hover:bg-surface-hover/25 dark:active:bg-surface-hover/35`),children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(`h3`,{className:`font-semibold text-fg`,children:e.name}),e.verified?(0,Y.jsx)(p,{className:`size-4 shrink-0 text-emerald-600 dark:text-emerald-400`,strokeWidth:1.75,"aria-label":`Verified`}):null,e.version?(0,Y.jsx)(`span`,{className:`text-xs text-fg-muted`,children:e.version}):null]}),e.description?(0,Y.jsx)(`p`,{className:`mt-1 line-clamp-2 text-sm text-fg-muted`,children:e.description}):null,(0,Y.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:(e.categories??[]).map(e=>(0,Y.jsx)(`span`,{className:`rounded-md border border-edge bg-surface-panel px-2 py-0.5 text-[11px] text-fg-muted`,children:e},e))}),(0,Y.jsxs)(`p`,{className:`mt-2 flex items-center gap-1.5 text-xs text-fg-muted`,children:[(0,Y.jsx)(k,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),(0,Y.jsx)(`code`,{className:`rounded bg-surface-panel px-1 py-0.5`,children:e.npmPackage})]})]}),(0,Y.jsx)(`div`,{role:`group`,className:`flex shrink-0 flex-col items-end gap-2 sm:min-w-[9rem]`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:n===`bundled`?(0,Y.jsx)(`span`,{className:`rounded-md bg-surface-hover px-2 py-1 text-[11px] font-medium text-fg-muted`,children:t.marketplaceBuiltin}):n===`user`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`text-[11px] font-medium text-fg-muted`,children:t.marketplaceInstalled}),(0,Y.jsxs)(`button`,{type:`button`,disabled:i,onClick:()=>{window.confirm(t.marketplaceUninstallConfirm)&&M(e.id).catch(()=>{})},className:O(`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,Y.jsx)(x,{className:`size-3.5 animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(I,{className:`size-3.5`,strokeWidth:2,"aria-hidden":!0}),t.marketplaceUninstall]})]}):(0,Y.jsxs)(`button`,{type:`button`,disabled:i,onClick:()=>{j(e.id,!1).catch(()=>{})},className:O(`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,Y.jsx)(x,{className:`size-3.5 animate-spin`,"aria-hidden":!0}):null,t.marketplaceInstall]})})]})},e.id)})}),_?(0,Y.jsx)(ne,{packageName:_,copy:t,extensions:r,onClose:()=>m({type:`patch`,patch:{detailPkg:null}}),onInstall:j,onUninstall:M}):null]})}function ne(e){let t=(0,U.c)(61),{packageName:n,copy:r,extensions:i,onClose:a,onInstall:o,onUninstall:s}=e,[u,d]=(0,H.useState)(!1),f=l(oe)?`ext-mp-detail-${n}`:null,p;t[0]===n?p=t[1]:(p=async()=>ee(n),t[0]=n,t[1]=p);let g;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g={revalidateOnFocus:!1},t[2]=g):g=t[2];let{data:y,error:b,isLoading:w}=c(f,p,g),T;t[3]!==i||t[4]!==n?(T=X(i,n),t[3]=i,t[4]=n,t[5]=T):T=t[5];let E=T,D=E===`user`,k;t[6]!==r.marketplaceNoReadme||t[7]!==y?(k=y?.readme?.trim()||(y?.description?.trim()?`### ${y.name}\n\n${y.description}`:`*${r.marketplaceNoReadme}*`),t[6]=r.marketplaceNoReadme,t[7]=y,t[8]=k):k=t[8];let j=k,N;t[9]===a?N=t[10]:(N=e=>!e&&a(),t[9]=a,t[10]=N);let P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,Y.jsx)(h,{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,Y.jsx)(_,{className:`size-5`}),t[12]=F):F=t[12];let R;t[13]!==r.detailBack||t[14]!==a?(R=(0,Y.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]=R):R=t[15];let z;t[16]===r.marketplaceDetailTitle?z=t[17]:(z=(0,Y.jsx)(A,{className:`min-w-0 flex-1 truncate text-center text-sm font-semibold text-fg`,children:r.marketplaceDetailTitle}),t[16]=r.marketplaceDetailTitle,t[17]=z);let B;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,Y.jsx)(M,{className:`size-5`}),t[18]=B):B=t[18];let V;t[19]!==r.detailClose||t[20]!==a?(V=(0,Y.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:B}),t[19]=r.detailClose,t[20]=a,t[21]=V):V=t[21];let W;t[22]!==V||t[23]!==R||t[24]!==z?(W=(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[R,z,V]}),t[22]=V,t[23]=R,t[24]=z,t[25]=W):W=t[25];let G;t[26]!==r.marketplaceAuthor||t[27]!==r.marketplaceDetailLoadFailed||t[28]!==r.marketplaceDetailReadmeHeading||t[29]!==r.marketplaceDownloads||t[30]!==r.marketplaceVersion||t[31]!==y||t[32]!==b||t[33]!==w||t[34]!==j?(G=w&&!y?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:`…`}):b?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:r.marketplaceDetailLoadFailed}):y?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`h3`,{className:`text-lg font-semibold text-fg`,children:y.name}),(0,Y.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:(0,Y.jsx)(`code`,{className:`rounded bg-surface-panel px-1 py-0.5`,children:y.id})}),(0,Y.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs text-fg-muted sm:grid-cols-2`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceAuthor}),(0,Y.jsx)(`dd`,{children:y.author.username})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceVersion}),(0,Y.jsx)(`dd`,{children:y.latestVersion.version})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceDownloads}),(0,Y.jsx)(`dd`,{children:y.downloads})]})]}),y.readme?.trim()?(0,Y.jsx)(`h4`,{className:`mb-2 mt-6 text-sm font-semibold text-fg`,children:r.marketplaceDetailReadmeHeading}):null,(0,Y.jsx)(`div`,{className:`markdown-content min-w-0 break-words text-sm`,children:(0,Y.jsx)(C,{content:j})})]}):null,t[26]=r.marketplaceAuthor,t[27]=r.marketplaceDetailLoadFailed,t[28]=r.marketplaceDetailReadmeHeading,t[29]=r.marketplaceDownloads,t[30]=r.marketplaceVersion,t[31]=y,t[32]=b,t[33]=w,t[34]=j,t[35]=G):G=t[35];let K;t[36]===G?K=t[37]:(K=(0,Y.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:G}),t[36]=G,t[37]=K);let q;t[38]!==u||t[39]!==r.marketplaceBuiltinGoBuiltin||t[40]!==r.marketplaceBuiltinManageHint||t[41]!==r.marketplaceInstall||t[42]!==r.marketplaceReinstall||t[43]!==r.marketplaceReinstallConfirm||t[44]!==r.marketplaceUninstall||t[45]!==r.marketplaceUninstallConfirm||t[46]!==y||t[47]!==E||t[48]!==a||t[49]!==o||t[50]!==s||t[51]!==n||t[52]!==D?(q=y?(0,Y.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-2 border-t border-edge-subtle px-5 py-4`,children:E===`bundled`?(0,Y.jsxs)(`div`,{className:`flex w-full flex-col items-stretch gap-2`,children:[(0,Y.jsx)(`p`,{className:`text-sm leading-relaxed text-fg-muted`,children:r.marketplaceBuiltinManageHint}),(0,Y.jsx)(v,{to:`/apps?tab=builtin`,onClick: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,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`button`,{type:`button`,disabled:u,onClick:()=>{D&&!window.confirm(r.marketplaceReinstallConfirm)||(d(!0),o(n,D).catch(ie).finally(()=>d(!1)))},className:O(`inline-flex items-center justify-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium`,`bg-accent text-white shadow-surface hover:bg-accent-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,`disabled:pointer-events-none disabled:opacity-50`),children:[u?(0,Y.jsx)(x,{className:`size-4 animate-spin`,"aria-hidden":!0}):null,D?r.marketplaceReinstall:r.marketplaceInstall]}),D?(0,Y.jsxs)(`button`,{type:`button`,disabled:u,onClick:()=>{window.confirm(r.marketplaceUninstallConfirm)&&(d(!0),s(n).then(()=>a()).catch(re).finally(()=>d(!1)))},className:O(`inline-flex items-center justify-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,`disabled:pointer-events-none disabled:opacity-50`),children:[(0,Y.jsx)(I,{className:`size-4 shrink-0`,"aria-hidden":!0}),r.marketplaceUninstall]}):null]})}):null,t[38]=u,t[39]=r.marketplaceBuiltinGoBuiltin,t[40]=r.marketplaceBuiltinManageHint,t[41]=r.marketplaceInstall,t[42]=r.marketplaceReinstall,t[43]=r.marketplaceReinstallConfirm,t[44]=r.marketplaceUninstall,t[45]=r.marketplaceUninstallConfirm,t[46]=y,t[47]=E,t[48]=a,t[49]=o,t[50]=s,t[51]=n,t[52]=D,t[53]=q):q=t[53];let J;t[54]!==W||t[55]!==K||t[56]!==q?(J=(0,Y.jsxs)(m,{children:[P,(0,Y.jsxs)(L,{className:`fixed left-1/2 top-1/2 z-[131] flex max-h-[min(90vh,44rem)] w-[min(42rem,calc(100vw-1.5rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-elevated`,onOpenAutoFocus:ae,children:[W,K,q]})]}),t[54]=W,t[55]=K,t[56]=q,t[57]=J):J=t[57];let Z;return t[58]!==J||t[59]!==N?(Z=(0,Y.jsx)(S,{defaultOpen:!0,onOpenChange:N,children:J}),t[58]=J,t[59]=N,t[60]=Z):Z=t[60],Z}function re(){}function ie(){}function ae(e){return e.preventDefault()}function oe(e){return!!e.token}function se(){let e=i(e=>e.language),t=a(e),n=V(e=>e.setPageHeader),r=V(e=>e.clearPageHeader),o=F(),s=B(),[c,l]=f(),u=W(c.get(`tab`)),d=c.get(`q`)??``,[p,m]=(0,H.useState)(u),[h,g]=(0,H.useState)(d),[_,v]=(0,H.useState)(null),y=c.toString(),b=(0,H.useRef)(y);if(b.current!==y){b.current=y;let e=W(c.get(`tab`)),t=c.get(`q`)??``;m(t=>t===e?t:e),g(e=>e===t?e:t)}(0,H.useEffect)(()=>{l(e=>{let t=new URLSearchParams(e),n=h.trim();return n?t.set(`q`,n):t.delete(`q`),p===`marketplace`?t.delete(`tab`):t.set(`tab`,p),t.toString()===e.toString()?e:t},{replace:!0})},[p,h,l]);let x=(0,H.useMemo)(()=>o.filter(e=>e.source===`bundled`),[o]),S=(0,H.useMemo)(()=>o.filter(e=>e.source!==`bundled`),[o]),C=p===`builtin`?x:S,w=(0,H.useMemo)(()=>{let t=h.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,h,e]);if((0,H.useEffect)(()=>{v(e=>{if(!e)return e;let t=o.find(t=>t.id===e.id);return t?Q(e)===Q(t)&&e.active===t.active?e:t:null})},[o]),(0,H.useLayoutEffect)(()=>(n({startExtra:null,main:(0,Y.jsx)(`div`,{className:`min-w-0`,children:(0,Y.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:t.appsPage.title})}),end:null}),()=>r()),[r,t.appsPage.title,n]),s&&p!==`marketplace`)return(0,Y.jsx)(pe,{});let E=p!==`marketplace`&&C.length>0;return(0,Y.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:[(0,Y.jsxs)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-8`,children:[(0,Y.jsxs)(`div`,{className:`mb-5 flex flex-col gap-3 border-b border-edge-subtle pb-3 sm:flex-row sm:items-center sm:justify-between dark:border-edge-subtle`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-x-1 gap-y-1`,role:`tablist`,"aria-label":t.appsPage.appsNavAria,children:[(0,Y.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":p===`marketplace`,className:O(`relative max-w-full rounded-md px-3 py-2 text-left text-sm font-medium transition-colors sm:text-center`,p===`marketplace`?`text-fg`:`text-fg-muted hover:text-fg`,p===`marketplace`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`),onClick:()=>m(`marketplace`),children:t.appsPage.tabMarketplace}),(0,Y.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":p===`builtin`,className:O(`relative rounded-md px-3 py-2 text-sm font-medium transition-colors`,p===`builtin`?`text-fg`:`text-fg-muted hover:text-fg`,p===`builtin`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`),onClick:()=>m(`builtin`),children:[t.appsPage.tabBuiltin,(0,Y.jsxs)(`span`,{className:`ml-1 tabular-nums text-fg-muted`,children:[`(`,x.length,`)`]})]}),(0,Y.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":p===`user`,className:O(`relative rounded-md px-3 py-2 text-sm font-medium transition-colors`,p===`user`?`text-fg`:`text-fg-muted hover:text-fg`,p===`user`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`),onClick:()=>m(`user`),children:[t.appsPage.tabUser,(0,Y.jsxs)(`span`,{className:`ml-1 tabular-nums text-fg-muted`,children:[`(`,S.length,`)`]})]})]}),E?(0,Y.jsxs)(`div`,{className:`relative w-full min-w-0 sm:max-w-xs`,children:[(0,Y.jsx)(T,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-muted`,"aria-hidden":!0}),(0,Y.jsx)(`input`,{type:`search`,value:h,onChange:e=>g(e.target.value),placeholder:t.appsPage.searchPlaceholder,className:`w-full rounded-lg border border-edge bg-surface-base py-2 pl-9 pr-3 text-sm text-fg placeholder:text-fg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,autoComplete:`off`})]}):null]}),p===`marketplace`?(0,Y.jsx)(te,{}):p===`builtin`&&x.length===0?(0,Y.jsx)(he,{message:t.appsPage.emptyBuiltin}):p===`user`&&S.length===0?(0,Y.jsx)(he,{message:t.appsPage.emptyUser}):w.length===0?(0,Y.jsx)(`p`,{className:`rounded-xl border border-dashed border-edge-subtle bg-surface-hover/30 px-4 py-8 text-center text-sm text-fg-muted dark:bg-surface-hover/15`,children:t.appsPage.noSearchResults}):(0,Y.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:w.map(e=>(0,Y.jsx)(de,{extension:e,copy:t.appsPage,showSourceBadge:p===`user`,onOpen:()=>v(e)},e.id))})]}),_?(0,Y.jsx)(fe,{extension:_,copy:t.appsPage,onClose:()=>v(null)},_.id):null]})}function Q(e){return e.activationEligible??e.active}function ce(e,t){return e.source===`bundled`?t.providerBundled:e.source===`global`?t.providerGlobal:e.source===`workspace`?t.providerWorkspace:t.providerOther}function le(e,t){return e.source===`global`?t.badgeSourceGlobal:e.source===`workspace`?t.badgeSourceWorkspace:t.badgeSourceOther}function ue(e,t){let n=Q(e);return n&&e.active?t.runStateLive:n&&!e.active?t.runStatePendingOn:!n&&e.active?t.runStatePendingOff:t.runStateOff}function de(e){let t=(0,U.c)(45),{extension:n,copy:r,showSourceBadge:i,onOpen:a}=e,o;t[0]===n?o=t[1]:(o=Q(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=O(`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,Y.jsx)(`div`,{className:`flex size-12 shrink-0 items-center justify-center rounded-xl bg-accent-soft text-base font-semibold text-accent-fg`,"aria-hidden":!0,children:d}),t[5]=d,t[6]=f);let p;t[7]===n.name?p=t[8]:(p=(0,Y.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,Y.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,Y.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,Y.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded-full bg-surface-hover px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:[(0,Y.jsx)(b,{className:`size-3`,strokeWidth:2.5,"aria-hidden":!0}),r.statusEnabled]}):(0,Y.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center rounded-full border-2 border-accent text-accent`,"aria-hidden":!0,children:(0,Y.jsx)(N,{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,Y.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,Y.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-relaxed text-fg-muted`,children:v}),t[23]=v,t[24]=y);let x=n.hasUi?r.badgeKindUi:r.badgeKindBackend,S;t[25]!==x||t[26]!==c?(S=(0,Y.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:x}),t[25]=x,t[26]=c,t[27]=S):S=t[27];let C;t[28]!==r||t[29]!==n||t[30]!==i?(C=n.source===`bundled`?(0,Y.jsx)(`span`,{className:`rounded-md bg-surface-hover px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-fg-muted`,children:r.badgeBundled}):i?(0,Y.jsx)(`span`,{title:ce(n,r),className:`rounded-md bg-surface-hover px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-fg-muted`,children:le(n,r)}):null,t[28]=r,t[29]=n,t[30]=i,t[31]=C):C=t[31];let w;t[32]!==S||t[33]!==C?(w=(0,Y.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:[S,C]}),t[32]=S,t[33]=C,t[34]=w):w=t[34];let T;t[35]!==_||t[36]!==y||t[37]!==w?(T=(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[_,y,w]}),t[35]=_,t[36]=y,t[37]=w,t[38]=T):T=t[38];let E;t[39]!==T||t[40]!==f?(E=(0,Y.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,Y.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,H.useState)(!1),[o,c]=(0,H.useState)(null),[l,u]=(0,H.useState)(!1),d=e.activationEligible===!0,f=(0,H.useCallback)(async()=>{if(e.source===`bundled`){c(null),u(!1),a(!0);try{let{requiresGatewayRestart:t}=await q({extensionId:e.id,enabled:!d});await r(`gateway-extensions-list`),R(),u(t)}catch(e){c(e instanceof Error?e.message:t.builtinToggleFailed)}finally{a(!1)}}},[d,t.builtinToggleFailed,e.id,e.source,r]),p=e.ui?.contributions?.pages??[],y=e.ui?.contributions?.settingsPanels??[],b=e.ui?.contributions?.chatWidgets??[],C=e.ui?.contributions?.sidebarPanels??[],T=p.find(e=>e.showInNav)??p[0],k=y[0],N=T?E(e.id,T):null,F=k?`/settings/ext/${e.id}/${k.id}`:e.hasConfigSchema||D(e)?`/settings/ext/${e.id}`:null;return(0,Y.jsx)(S,{defaultOpen:!0,onOpenChange:e=>!e&&n(),children:(0,Y.jsxs)(m,{children:[(0,Y.jsx)(h,{className:`xopc-dialog-overlay fixed inset-0 z-[130] bg-scrim`}),(0,Y.jsxs)(L,{className:`fixed left-1/2 top-1/2 z-[131] flex max-h-[min(90vh,44rem)] w-[min(42rem,calc(100vw-1.5rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-elevated`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":t.detailBack,children:(0,Y.jsx)(_,{className:`size-5`})}),(0,Y.jsx)(A,{className:`min-w-0 flex-1 truncate text-center text-sm font-semibold text-fg`,children:t.detailTitle}),(0,Y.jsxs)(w,{className:`sr-only`,children:[e.name,` (`,e.id,`)`]}),(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":t.detailClose,children:(0,Y.jsx)(M,{className:`size-5`})})]}),(0,Y.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-start gap-4`,children:[(0,Y.jsx)(`div`,{className:`flex size-16 shrink-0 items-center justify-center rounded-2xl bg-accent-soft text-xl font-semibold text-accent-fg`,"aria-hidden":!0,children:(e.name||e.id).charAt(0).toUpperCase()}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`h3`,{className:`text-lg font-semibold text-fg`,children:e.name}),(0,Y.jsxs)(`p`,{className:`mt-0.5 text-sm text-fg-muted`,children:[t.detailProviderPrefix,` `,ce(e,t)]}),e.version?(0,Y.jsxs)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:[`v`,e.version]}):null]})]}),(0,Y.jsx)(`p`,{className:`mt-5 text-sm leading-relaxed text-fg`,children:e.description?.trim()||t.detailNoDescription}),e.hasUi?null:(0,Y.jsx)(`p`,{className:`mt-3 text-xs text-fg-muted`,children:t.backendOnlyHint}),(0,Y.jsx)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:ue(e,t)}),e.source===`bundled`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`p`,{className:`mt-4 rounded-lg border border-edge-subtle bg-surface-hover/40 px-3 py-2 text-xs text-fg-muted dark:bg-surface-hover/20`,children:t.builtinConfigHint}),(0,Y.jsxs)(`div`,{className:`mt-3 rounded-lg border border-edge-subtle bg-surface-hover/40 p-3 dark:bg-surface-hover/20`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:t.builtinRuntimeToggle}),(0,Y.jsx)(P,{type:`button`,variant:`secondary`,disabled:i,onClick:()=>void f(),className:`shrink-0 py-1.5 text-xs`,children:i?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(x,{className:`mr-1.5 size-3.5 shrink-0 animate-spin`,"aria-hidden":!0}),t.builtinToggleBusy]}):d?t.builtinToggleDisable:t.builtinToggleEnable})]}),o?(0,Y.jsx)(`p`,{className:`mt-2 text-xs text-rose-600 dark:text-rose-400`,children:o}):null,l?(0,Y.jsx)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:t.builtinToggleRestartHint}):null]})]}):(0,Y.jsx)(`p`,{className:`mt-4 rounded-lg border border-edge-subtle bg-surface-hover/40 px-3 py-2 text-xs text-fg-muted dark:bg-surface-hover/20`,children:t.cliManageHint}),e.hasUi&&(p.length>0||y.length>0||b.length>0)?(0,Y.jsxs)(`section`,{className:`mt-8`,children:[(0,Y.jsx)(`h4`,{className:`mb-3 text-sm font-semibold text-fg`,children:t.detailSectionFeatures}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,Y.jsx)($,{template:t.badgePages,count:p.length,hidden:p.length===0}),(0,Y.jsx)($,{template:t.badgeSettings,count:y.length,hidden:y.length===0}),(0,Y.jsx)($,{template:t.badgeWidgets,count:b.length,hidden:b.length===0}),(0,Y.jsx)($,{template:t.badgeSidebar,count:C.length,hidden:C.length===0})]})]}):null,z(e)&&(N||F)?(0,Y.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-2 border-t border-edge-subtle pt-4`,children:[N?(0,Y.jsxs)(v,{to:N,onClick:n,className:O(`inline-flex items-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),children:[(0,Y.jsx)(j,{className:`size-4 shrink-0 opacity-80`,"aria-hidden":!0}),t.open]}):null,F?(0,Y.jsxs)(v,{to:F,onClick:n,className:O(`inline-flex items-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),children:[(0,Y.jsx)(g,{className:`size-4 shrink-0 opacity-80`,"aria-hidden":!0}),t.openSettings]}):null]}):null,(0,Y.jsx)(`p`,{className:`mt-6 text-[11px] leading-relaxed text-fg-muted`,children:t.restartNote})]})]})]})})}function $(e){let t=(0,U.c)(6),{template:n,count:r,hidden:i}=e;if(i||r===0)return null;let a;if(t[0]!==r||t[1]!==n){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=/\{\{count\}\}/g,t[3]=e):e=t[3],a=n.replace(e,String(r)),t[0]=r,t[1]=n,t[2]=a}else a=t[2];let o;return t[4]===a?o=t[5]:(o=(0,Y.jsx)(`span`,{className:`inline-flex items-center rounded-md bg-surface-hover px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:a}),t[4]=a,t[5]=o),o}function pe(){let e=(0,U.c)(5),t,n,r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Y.jsx)(`div`,{className:`mb-6 h-8 w-40 max-w-full animate-pulse rounded-md bg-surface-hover`}),n=(0,Y.jsx)(`div`,{className:`mb-2 h-4 w-full max-w-md animate-pulse rounded bg-surface-hover`}),r=(0,Y.jsx)(`div`,{className:`mb-5 h-9 w-full max-w-lg animate-pulse rounded-full bg-surface-hover`}),e[0]=t,e[1]=n,e[2]=r):(t=e[0],n=e[1],r=e[2]);let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=[`ap0`,`ap1`,`ap2`,`ap3`,`ap4`,`ap5`],e[3]=i):i=e[3];let a;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Y.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:(0,Y.jsxs)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-8`,children:[t,n,r,(0,Y.jsx)(`div`,{className:`mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:i.map(me)})]})}),e[4]=a):a=e[4],a}function me(e){return(0,Y.jsx)(`div`,{className:`h-36 animate-pulse rounded-xl border border-edge bg-surface-base`},e)}function he(e){let t=(0,U.c)(2),{message:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Y.jsx)(`div`,{className:`flex min-h-[min(40vh,16rem)] flex-col items-center justify-center rounded-xl border border-dashed border-edge-subtle bg-surface-hover/40 px-4 py-12 text-center dark:bg-surface-hover/20`,children:(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n})}),t[0]=n,t[1]=r),r}export{se as AppsPage};
|
|
1
|
+
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-q28QhI7l.js";import{a as s,i as c}from"./vendor-swr-BIWyz7Rc.js";import{a as l,n as u,t as d}from"./fetch-drJUxxKP.js";import{$o as f,Do as p,Dr as m,Er as h,Gi as g,Ho as _,Jo as v,N as y,No as b,Oa as x,Or as S,Pn as C,Tr as w,Yi as T,_r as E,br as D,di as O,ha as k,kr as A,lo as j,pi as M,sa as N,ui as P,vr as F,wi as I,wr as L,wt as R,xr as z,yr as B,zr as V}from"./index-CRDAmr3W.js";var H=e(t(),1),U=n();function W(e){return e===`builtin`||e===`user`?e:`marketplace`}async function G(e){try{let t=await e.json();if(typeof t.error==`string`)return t.error;if(t.error&&typeof t.error==`object`&&typeof t.error.message==`string`)return t.error.message;if(typeof t.message==`string`)return t.message}catch{}return e.statusText||`HTTP ${e.status}`}async function ee(e){let t=await d(o(`/api/marketplace/packages/${encodeURIComponent(e.trim())}`),{cache:`no-store`});if(!t.ok)throw Error(await G(t));let n=await t.json();if(!n.ok||!n.payload?.id)throw Error(n.error??`Invalid response`);return n.payload}async function K(e){let t=await d(o(`/api/marketplace/install`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(await G(t));let n=await t.json();if(!n.ok||!n.payload?.extensionId)throw Error(n.error??`Invalid response`);return n.payload}async function q(e){let t=await d(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 G(t));let n=await t.json();if(!n.ok||!n.payload)throw Error(n.error?.message??`Invalid response`);return n.payload}async function J(e){let t=await d(o(`/api/marketplace/uninstall`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({extensionId:e})});if(!t.ok)throw Error(await G(t));let n=await t.json();if(!n.ok||!n.payload)throw Error(n.error??`Invalid response`);return n.payload}var Y=r();function X(e,t){let n=e.find(e=>e.id===t);return n?n.source===`bundled`?`bundled`:`user`:`absent`}var Z={q:``,debounced:``,detailPkg:null,rowBusy:null,actionError:null,restartHint:null};function te({className:e}){let t=a(i(e=>e.language)).appsPage,n=l(e=>!!e.token),r=F(),{mutate:d}=s(),[f,m]=(0,H.useReducer)(y,Z),{q:h,debounced:g,detailPkg:_,rowBusy:v,actionError:b,restartHint:S}=f,C=n?`marketplace-${g}`:null;(0,H.useEffect)(()=>{let e=window.setTimeout(()=>m({type:`patch`,patch:{debounced:h.trim()}}),300);return()=>window.clearTimeout(e)},[h]);let{data:w,isLoading:E,error:D}=c(C,async()=>u(g.length>0?o(`/api/marketplace?q=${encodeURIComponent(g)}`):o(`/api/marketplace`)),{revalidateOnFocus:!1}),A=(0,H.useCallback)(()=>{d(`gateway-extensions-list`),R()},[d]),j=(0,H.useCallback)(async(e,n)=>{m({type:`patch`,patch:{actionError:null,restartHint:null,rowBusy:e}});try{let r=await K({name:e,overwrite:n});A(),r.requiresGatewayRestart&&m({type:`patch`,patch:{restartHint:t.marketplaceRestartHint}})}catch(e){throw m({type:`patch`,patch:{actionError:e instanceof Error?e.message:t.marketplaceInstallFailed}}),e}finally{m({type:`patch`,patch:{rowBusy:null}})}},[t.marketplaceInstallFailed,t.marketplaceRestartHint,A]),M=(0,H.useCallback)(async e=>{m({type:`patch`,patch:{actionError:null,restartHint:null,rowBusy:e}});try{let n=await J(e);A(),n.requiresGatewayRestart&&m({type:`patch`,patch:{restartHint:t.marketplaceRestartHint}})}catch(e){throw m({type:`patch`,patch:{actionError:e instanceof Error?e.message:t.marketplaceUninstallFailed}}),e}finally{m({type:`patch`,patch:{rowBusy:null}})}},[t.marketplaceRestartHint,t.marketplaceUninstallFailed,A]),N=w?.extensions??[];return(0,Y.jsxs)(`div`,{className:O(`flex flex-col gap-4`,e),children:[(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(T,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-muted`,strokeWidth:1.75,"aria-hidden":!0}),(0,Y.jsx)(`input`,{type:`search`,value:h,onChange:e=>m({type:`patch`,patch:{q:e.target.value}}),placeholder:t.marketplaceSearchPlaceholder,className:`ui-input h-10 w-full rounded-lg border border-edge bg-surface-base pl-9 pr-3 text-sm text-fg placeholder:text-fg-muted`})]}),D?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:D instanceof Error?D.message:t.marketplaceLoadFailed}):null,b?(0,Y.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:b}):null,S?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:S}):null,E&&!w?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:`…`}):(0,Y.jsx)(`ul`,{className:`flex flex-col gap-3`,children:N.length===0?(0,Y.jsx)(`li`,{className:`text-sm text-fg-muted`,children:t.marketplaceEmpty}):N.map(e=>{let n=X(r,e.id),i=v===e.id;return(0,Y.jsx)(`li`,{className:`list-none`,children:(0,Y.jsxs)(`div`,{role:`button`,tabIndex:0,"aria-label":`${e.name}, ${t.marketplaceDetailTitle}`,onClick:()=>m({type:`patch`,patch:{detailPkg:e.id}}),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),m({type:`patch`,patch:{detailPkg:e.id}}))},className:O(`flex w-full cursor-pointer flex-wrap items-start gap-3 rounded-xl border border-edge bg-surface-base p-4 text-left shadow-surface`,`transition-[transform,background-color,border-color,box-shadow] duration-150 ease-out`,`hover:border-edge-subtle hover:bg-surface-hover/40`,`active:scale-[0.992] active:bg-surface-hover/55`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,`dark:hover:bg-surface-hover/25 dark:active:bg-surface-hover/35`),children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(`h3`,{className:`font-semibold text-fg`,children:e.name}),e.verified?(0,Y.jsx)(p,{className:`size-4 shrink-0 text-emerald-600 dark:text-emerald-400`,strokeWidth:1.75,"aria-label":`Verified`}):null,e.version?(0,Y.jsx)(`span`,{className:`text-xs text-fg-muted`,children:e.version}):null]}),e.description?(0,Y.jsx)(`p`,{className:`mt-1 line-clamp-2 text-sm text-fg-muted`,children:e.description}):null,(0,Y.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:(e.categories??[]).map(e=>(0,Y.jsx)(`span`,{className:`rounded-md border border-edge bg-surface-panel px-2 py-0.5 text-[11px] text-fg-muted`,children:e},e))}),(0,Y.jsxs)(`p`,{className:`mt-2 flex items-center gap-1.5 text-xs text-fg-muted`,children:[(0,Y.jsx)(k,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),(0,Y.jsx)(`code`,{className:`rounded bg-surface-panel px-1 py-0.5`,children:e.npmPackage})]})]}),(0,Y.jsx)(`div`,{role:`group`,className:`flex shrink-0 flex-col items-end gap-2 sm:min-w-[9rem]`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:n===`bundled`?(0,Y.jsx)(`span`,{className:`rounded-md bg-surface-hover px-2 py-1 text-[11px] font-medium text-fg-muted`,children:t.marketplaceBuiltin}):n===`user`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`text-[11px] font-medium text-fg-muted`,children:t.marketplaceInstalled}),(0,Y.jsxs)(`button`,{type:`button`,disabled:i,onClick:()=>{window.confirm(t.marketplaceUninstallConfirm)&&M(e.id).catch(()=>{})},className:O(`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,Y.jsx)(x,{className:`size-3.5 animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(I,{className:`size-3.5`,strokeWidth:2,"aria-hidden":!0}),t.marketplaceUninstall]})]}):(0,Y.jsxs)(`button`,{type:`button`,disabled:i,onClick:()=>{j(e.id,!1).catch(()=>{})},className:O(`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,Y.jsx)(x,{className:`size-3.5 animate-spin`,"aria-hidden":!0}):null,t.marketplaceInstall]})})]})},e.id)})}),_?(0,Y.jsx)(ne,{packageName:_,copy:t,extensions:r,onClose:()=>m({type:`patch`,patch:{detailPkg:null}}),onInstall:j,onUninstall:M}):null]})}function ne(e){let t=(0,U.c)(61),{packageName:n,copy:r,extensions:i,onClose:a,onInstall:o,onUninstall:s}=e,[u,d]=(0,H.useState)(!1),f=l(oe)?`ext-mp-detail-${n}`:null,p;t[0]===n?p=t[1]:(p=async()=>ee(n),t[0]=n,t[1]=p);let g;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g={revalidateOnFocus:!1},t[2]=g):g=t[2];let{data:y,error:b,isLoading:w}=c(f,p,g),T;t[3]!==i||t[4]!==n?(T=X(i,n),t[3]=i,t[4]=n,t[5]=T):T=t[5];let E=T,D=E===`user`,k;t[6]!==r.marketplaceNoReadme||t[7]!==y?(k=y?.readme?.trim()||(y?.description?.trim()?`### ${y.name}\n\n${y.description}`:`*${r.marketplaceNoReadme}*`),t[6]=r.marketplaceNoReadme,t[7]=y,t[8]=k):k=t[8];let j=k,N;t[9]===a?N=t[10]:(N=e=>!e&&a(),t[9]=a,t[10]=N);let P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,Y.jsx)(h,{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,Y.jsx)(_,{className:`size-5`}),t[12]=F):F=t[12];let R;t[13]!==r.detailBack||t[14]!==a?(R=(0,Y.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]=R):R=t[15];let z;t[16]===r.marketplaceDetailTitle?z=t[17]:(z=(0,Y.jsx)(A,{className:`min-w-0 flex-1 truncate text-center text-sm font-semibold text-fg`,children:r.marketplaceDetailTitle}),t[16]=r.marketplaceDetailTitle,t[17]=z);let B;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,Y.jsx)(M,{className:`size-5`}),t[18]=B):B=t[18];let V;t[19]!==r.detailClose||t[20]!==a?(V=(0,Y.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:B}),t[19]=r.detailClose,t[20]=a,t[21]=V):V=t[21];let W;t[22]!==V||t[23]!==R||t[24]!==z?(W=(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[R,z,V]}),t[22]=V,t[23]=R,t[24]=z,t[25]=W):W=t[25];let G;t[26]!==r.marketplaceAuthor||t[27]!==r.marketplaceDetailLoadFailed||t[28]!==r.marketplaceDetailReadmeHeading||t[29]!==r.marketplaceDownloads||t[30]!==r.marketplaceVersion||t[31]!==y||t[32]!==b||t[33]!==w||t[34]!==j?(G=w&&!y?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:`…`}):b?(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:r.marketplaceDetailLoadFailed}):y?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`h3`,{className:`text-lg font-semibold text-fg`,children:y.name}),(0,Y.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:(0,Y.jsx)(`code`,{className:`rounded bg-surface-panel px-1 py-0.5`,children:y.id})}),(0,Y.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs text-fg-muted sm:grid-cols-2`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceAuthor}),(0,Y.jsx)(`dd`,{children:y.author.username})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceVersion}),(0,Y.jsx)(`dd`,{children:y.latestVersion.version})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`dt`,{className:`font-medium text-fg`,children:r.marketplaceDownloads}),(0,Y.jsx)(`dd`,{children:y.downloads})]})]}),y.readme?.trim()?(0,Y.jsx)(`h4`,{className:`mb-2 mt-6 text-sm font-semibold text-fg`,children:r.marketplaceDetailReadmeHeading}):null,(0,Y.jsx)(`div`,{className:`markdown-content min-w-0 break-words text-sm`,children:(0,Y.jsx)(C,{content:j})})]}):null,t[26]=r.marketplaceAuthor,t[27]=r.marketplaceDetailLoadFailed,t[28]=r.marketplaceDetailReadmeHeading,t[29]=r.marketplaceDownloads,t[30]=r.marketplaceVersion,t[31]=y,t[32]=b,t[33]=w,t[34]=j,t[35]=G):G=t[35];let K;t[36]===G?K=t[37]:(K=(0,Y.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:G}),t[36]=G,t[37]=K);let q;t[38]!==u||t[39]!==r.marketplaceBuiltinGoBuiltin||t[40]!==r.marketplaceBuiltinManageHint||t[41]!==r.marketplaceInstall||t[42]!==r.marketplaceReinstall||t[43]!==r.marketplaceReinstallConfirm||t[44]!==r.marketplaceUninstall||t[45]!==r.marketplaceUninstallConfirm||t[46]!==y||t[47]!==E||t[48]!==a||t[49]!==o||t[50]!==s||t[51]!==n||t[52]!==D?(q=y?(0,Y.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-2 border-t border-edge-subtle px-5 py-4`,children:E===`bundled`?(0,Y.jsxs)(`div`,{className:`flex w-full flex-col items-stretch gap-2`,children:[(0,Y.jsx)(`p`,{className:`text-sm leading-relaxed text-fg-muted`,children:r.marketplaceBuiltinManageHint}),(0,Y.jsx)(v,{to:`/apps?tab=builtin`,onClick: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,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`button`,{type:`button`,disabled:u,onClick:()=>{D&&!window.confirm(r.marketplaceReinstallConfirm)||(d(!0),o(n,D).catch(ie).finally(()=>d(!1)))},className:O(`inline-flex items-center justify-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium`,`bg-accent text-white shadow-surface hover:bg-accent-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,`disabled:pointer-events-none disabled:opacity-50`),children:[u?(0,Y.jsx)(x,{className:`size-4 animate-spin`,"aria-hidden":!0}):null,D?r.marketplaceReinstall:r.marketplaceInstall]}),D?(0,Y.jsxs)(`button`,{type:`button`,disabled:u,onClick:()=>{window.confirm(r.marketplaceUninstallConfirm)&&(d(!0),s(n).then(()=>a()).catch(re).finally(()=>d(!1)))},className:O(`inline-flex items-center justify-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,`disabled:pointer-events-none disabled:opacity-50`),children:[(0,Y.jsx)(I,{className:`size-4 shrink-0`,"aria-hidden":!0}),r.marketplaceUninstall]}):null]})}):null,t[38]=u,t[39]=r.marketplaceBuiltinGoBuiltin,t[40]=r.marketplaceBuiltinManageHint,t[41]=r.marketplaceInstall,t[42]=r.marketplaceReinstall,t[43]=r.marketplaceReinstallConfirm,t[44]=r.marketplaceUninstall,t[45]=r.marketplaceUninstallConfirm,t[46]=y,t[47]=E,t[48]=a,t[49]=o,t[50]=s,t[51]=n,t[52]=D,t[53]=q):q=t[53];let J;t[54]!==W||t[55]!==K||t[56]!==q?(J=(0,Y.jsxs)(m,{children:[P,(0,Y.jsxs)(L,{className:`fixed left-1/2 top-1/2 z-[131] flex max-h-[min(90vh,44rem)] w-[min(42rem,calc(100vw-1.5rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-elevated`,onOpenAutoFocus:ae,children:[W,K,q]})]}),t[54]=W,t[55]=K,t[56]=q,t[57]=J):J=t[57];let Z;return t[58]!==J||t[59]!==N?(Z=(0,Y.jsx)(S,{defaultOpen:!0,onOpenChange:N,children:J}),t[58]=J,t[59]=N,t[60]=Z):Z=t[60],Z}function re(){}function ie(){}function ae(e){return e.preventDefault()}function oe(e){return!!e.token}function se(){let e=i(e=>e.language),t=a(e),n=V(e=>e.setPageHeader),r=V(e=>e.clearPageHeader),o=F(),s=B(),[c,l]=f(),u=W(c.get(`tab`)),d=c.get(`q`)??``,[p,m]=(0,H.useState)(u),[h,g]=(0,H.useState)(d),[_,v]=(0,H.useState)(null),y=c.toString(),b=(0,H.useRef)(y);if(b.current!==y){b.current=y;let e=W(c.get(`tab`)),t=c.get(`q`)??``;m(t=>t===e?t:e),g(e=>e===t?e:t)}(0,H.useEffect)(()=>{l(e=>{let t=new URLSearchParams(e),n=h.trim();return n?t.set(`q`,n):t.delete(`q`),p===`marketplace`?t.delete(`tab`):t.set(`tab`,p),t.toString()===e.toString()?e:t},{replace:!0})},[p,h,l]);let x=(0,H.useMemo)(()=>o.filter(e=>e.source===`bundled`),[o]),S=(0,H.useMemo)(()=>o.filter(e=>e.source!==`bundled`),[o]),C=p===`builtin`?x:S,w=(0,H.useMemo)(()=>{let t=h.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,h,e]);if((0,H.useEffect)(()=>{v(e=>{if(!e)return e;let t=o.find(t=>t.id===e.id);return t?Q(e)===Q(t)&&e.active===t.active?e:t:null})},[o]),(0,H.useLayoutEffect)(()=>(n({startExtra:null,main:(0,Y.jsx)(`div`,{className:`min-w-0`,children:(0,Y.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:t.appsPage.title})}),end:null}),()=>r()),[r,t.appsPage.title,n]),s&&p!==`marketplace`)return(0,Y.jsx)(pe,{});let E=p!==`marketplace`&&C.length>0;return(0,Y.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:[(0,Y.jsxs)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-8`,children:[(0,Y.jsxs)(`div`,{className:`mb-5 flex flex-col gap-3 border-b border-edge-subtle pb-3 sm:flex-row sm:items-center sm:justify-between dark:border-edge-subtle`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-x-1 gap-y-1`,role:`tablist`,"aria-label":t.appsPage.appsNavAria,children:[(0,Y.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":p===`marketplace`,className:O(`relative max-w-full rounded-md px-3 py-2 text-left text-sm font-medium transition-colors sm:text-center`,p===`marketplace`?`text-fg`:`text-fg-muted hover:text-fg`,p===`marketplace`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`),onClick:()=>m(`marketplace`),children:t.appsPage.tabMarketplace}),(0,Y.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":p===`builtin`,className:O(`relative rounded-md px-3 py-2 text-sm font-medium transition-colors`,p===`builtin`?`text-fg`:`text-fg-muted hover:text-fg`,p===`builtin`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`),onClick:()=>m(`builtin`),children:[t.appsPage.tabBuiltin,(0,Y.jsxs)(`span`,{className:`ml-1 tabular-nums text-fg-muted`,children:[`(`,x.length,`)`]})]}),(0,Y.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":p===`user`,className:O(`relative rounded-md px-3 py-2 text-sm font-medium transition-colors`,p===`user`?`text-fg`:`text-fg-muted hover:text-fg`,p===`user`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`),onClick:()=>m(`user`),children:[t.appsPage.tabUser,(0,Y.jsxs)(`span`,{className:`ml-1 tabular-nums text-fg-muted`,children:[`(`,S.length,`)`]})]})]}),E?(0,Y.jsxs)(`div`,{className:`relative w-full min-w-0 sm:max-w-xs`,children:[(0,Y.jsx)(T,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-muted`,"aria-hidden":!0}),(0,Y.jsx)(`input`,{type:`search`,value:h,onChange:e=>g(e.target.value),placeholder:t.appsPage.searchPlaceholder,className:`w-full rounded-lg border border-edge bg-surface-base py-2 pl-9 pr-3 text-sm text-fg placeholder:text-fg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,autoComplete:`off`})]}):null]}),p===`marketplace`?(0,Y.jsx)(te,{}):p===`builtin`&&x.length===0?(0,Y.jsx)(he,{message:t.appsPage.emptyBuiltin}):p===`user`&&S.length===0?(0,Y.jsx)(he,{message:t.appsPage.emptyUser}):w.length===0?(0,Y.jsx)(`p`,{className:`rounded-xl border border-dashed border-edge-subtle bg-surface-hover/30 px-4 py-8 text-center text-sm text-fg-muted dark:bg-surface-hover/15`,children:t.appsPage.noSearchResults}):(0,Y.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:w.map(e=>(0,Y.jsx)(de,{extension:e,copy:t.appsPage,showSourceBadge:p===`user`,onOpen:()=>v(e)},e.id))})]}),_?(0,Y.jsx)(fe,{extension:_,copy:t.appsPage,onClose:()=>v(null)},_.id):null]})}function Q(e){return e.activationEligible??e.active}function ce(e,t){return e.source===`bundled`?t.providerBundled:e.source===`global`?t.providerGlobal:e.source===`workspace`?t.providerWorkspace:t.providerOther}function le(e,t){return e.source===`global`?t.badgeSourceGlobal:e.source===`workspace`?t.badgeSourceWorkspace:t.badgeSourceOther}function ue(e,t){let n=Q(e);return n&&e.active?t.runStateLive:n&&!e.active?t.runStatePendingOn:!n&&e.active?t.runStatePendingOff:t.runStateOff}function de(e){let t=(0,U.c)(45),{extension:n,copy:r,showSourceBadge:i,onOpen:a}=e,o;t[0]===n?o=t[1]:(o=Q(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=O(`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,Y.jsx)(`div`,{className:`flex size-12 shrink-0 items-center justify-center rounded-xl bg-accent-soft text-base font-semibold text-accent-fg`,"aria-hidden":!0,children:d}),t[5]=d,t[6]=f);let p;t[7]===n.name?p=t[8]:(p=(0,Y.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,Y.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,Y.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,Y.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded-full bg-surface-hover px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:[(0,Y.jsx)(b,{className:`size-3`,strokeWidth:2.5,"aria-hidden":!0}),r.statusEnabled]}):(0,Y.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center rounded-full border-2 border-accent text-accent`,"aria-hidden":!0,children:(0,Y.jsx)(N,{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,Y.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,Y.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-relaxed text-fg-muted`,children:v}),t[23]=v,t[24]=y);let x=n.hasUi?r.badgeKindUi:r.badgeKindBackend,S;t[25]!==x||t[26]!==c?(S=(0,Y.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:x}),t[25]=x,t[26]=c,t[27]=S):S=t[27];let C;t[28]!==r||t[29]!==n||t[30]!==i?(C=n.source===`bundled`?(0,Y.jsx)(`span`,{className:`rounded-md bg-surface-hover px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-fg-muted`,children:r.badgeBundled}):i?(0,Y.jsx)(`span`,{title:ce(n,r),className:`rounded-md bg-surface-hover px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-fg-muted`,children:le(n,r)}):null,t[28]=r,t[29]=n,t[30]=i,t[31]=C):C=t[31];let w;t[32]!==S||t[33]!==C?(w=(0,Y.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:[S,C]}),t[32]=S,t[33]=C,t[34]=w):w=t[34];let T;t[35]!==_||t[36]!==y||t[37]!==w?(T=(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[_,y,w]}),t[35]=_,t[36]=y,t[37]=w,t[38]=T):T=t[38];let E;t[39]!==T||t[40]!==f?(E=(0,Y.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,Y.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,H.useState)(!1),[o,c]=(0,H.useState)(null),[l,u]=(0,H.useState)(!1),d=e.activationEligible===!0,f=(0,H.useCallback)(async()=>{if(e.source===`bundled`){c(null),u(!1),a(!0);try{let{requiresGatewayRestart:t}=await q({extensionId:e.id,enabled:!d});await r(`gateway-extensions-list`),R(),u(t)}catch(e){c(e instanceof Error?e.message:t.builtinToggleFailed)}finally{a(!1)}}},[d,t.builtinToggleFailed,e.id,e.source,r]),p=e.ui?.contributions?.pages??[],y=e.ui?.contributions?.settingsPanels??[],b=e.ui?.contributions?.chatWidgets??[],C=e.ui?.contributions?.sidebarPanels??[],T=p.find(e=>e.showInNav)??p[0],k=y[0],N=T?E(e.id,T):null,F=k?`/settings/ext/${e.id}/${k.id}`:e.hasConfigSchema||D(e)?`/settings/ext/${e.id}`:null;return(0,Y.jsx)(S,{defaultOpen:!0,onOpenChange:e=>!e&&n(),children:(0,Y.jsxs)(m,{children:[(0,Y.jsx)(h,{className:`xopc-dialog-overlay fixed inset-0 z-[130] bg-scrim`}),(0,Y.jsxs)(L,{className:`fixed left-1/2 top-1/2 z-[131] flex max-h-[min(90vh,44rem)] w-[min(42rem,calc(100vw-1.5rem))] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-edge bg-surface-panel shadow-elevated`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":t.detailBack,children:(0,Y.jsx)(_,{className:`size-5`})}),(0,Y.jsx)(A,{className:`min-w-0 flex-1 truncate text-center text-sm font-semibold text-fg`,children:t.detailTitle}),(0,Y.jsxs)(w,{className:`sr-only`,children:[e.name,` (`,e.id,`)`]}),(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`inline-flex size-9 items-center justify-center rounded-lg text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":t.detailClose,children:(0,Y.jsx)(M,{className:`size-5`})})]}),(0,Y.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-start gap-4`,children:[(0,Y.jsx)(`div`,{className:`flex size-16 shrink-0 items-center justify-center rounded-2xl bg-accent-soft text-xl font-semibold text-accent-fg`,"aria-hidden":!0,children:(e.name||e.id).charAt(0).toUpperCase()}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`h3`,{className:`text-lg font-semibold text-fg`,children:e.name}),(0,Y.jsxs)(`p`,{className:`mt-0.5 text-sm text-fg-muted`,children:[t.detailProviderPrefix,` `,ce(e,t)]}),e.version?(0,Y.jsxs)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:[`v`,e.version]}):null]})]}),(0,Y.jsx)(`p`,{className:`mt-5 text-sm leading-relaxed text-fg`,children:e.description?.trim()||t.detailNoDescription}),e.hasUi?null:(0,Y.jsx)(`p`,{className:`mt-3 text-xs text-fg-muted`,children:t.backendOnlyHint}),(0,Y.jsx)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:ue(e,t)}),e.source===`bundled`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`p`,{className:`mt-4 rounded-lg border border-edge-subtle bg-surface-hover/40 px-3 py-2 text-xs text-fg-muted dark:bg-surface-hover/20`,children:t.builtinConfigHint}),(0,Y.jsxs)(`div`,{className:`mt-3 rounded-lg border border-edge-subtle bg-surface-hover/40 p-3 dark:bg-surface-hover/20`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:t.builtinRuntimeToggle}),(0,Y.jsx)(P,{type:`button`,variant:`secondary`,disabled:i,onClick:()=>void f(),className:`shrink-0 py-1.5 text-xs`,children:i?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(x,{className:`mr-1.5 size-3.5 shrink-0 animate-spin`,"aria-hidden":!0}),t.builtinToggleBusy]}):d?t.builtinToggleDisable:t.builtinToggleEnable})]}),o?(0,Y.jsx)(`p`,{className:`mt-2 text-xs text-rose-600 dark:text-rose-400`,children:o}):null,l?(0,Y.jsx)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:t.builtinToggleRestartHint}):null]})]}):(0,Y.jsx)(`p`,{className:`mt-4 rounded-lg border border-edge-subtle bg-surface-hover/40 px-3 py-2 text-xs text-fg-muted dark:bg-surface-hover/20`,children:t.cliManageHint}),e.hasUi&&(p.length>0||y.length>0||b.length>0)?(0,Y.jsxs)(`section`,{className:`mt-8`,children:[(0,Y.jsx)(`h4`,{className:`mb-3 text-sm font-semibold text-fg`,children:t.detailSectionFeatures}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,Y.jsx)($,{template:t.badgePages,count:p.length,hidden:p.length===0}),(0,Y.jsx)($,{template:t.badgeSettings,count:y.length,hidden:y.length===0}),(0,Y.jsx)($,{template:t.badgeWidgets,count:b.length,hidden:b.length===0}),(0,Y.jsx)($,{template:t.badgeSidebar,count:C.length,hidden:C.length===0})]})]}):null,z(e)&&(N||F)?(0,Y.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-2 border-t border-edge-subtle pt-4`,children:[N?(0,Y.jsxs)(v,{to:N,onClick:n,className:O(`inline-flex items-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),children:[(0,Y.jsx)(j,{className:`size-4 shrink-0 opacity-80`,"aria-hidden":!0}),t.open]}):null,F?(0,Y.jsxs)(v,{to:F,onClick:n,className:O(`inline-flex items-center gap-1.5 rounded-lg border border-edge px-3 py-2 text-sm font-medium text-fg`,`hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`),children:[(0,Y.jsx)(g,{className:`size-4 shrink-0 opacity-80`,"aria-hidden":!0}),t.openSettings]}):null]}):null,(0,Y.jsx)(`p`,{className:`mt-6 text-[11px] leading-relaxed text-fg-muted`,children:t.restartNote})]})]})]})})}function $(e){let t=(0,U.c)(6),{template:n,count:r,hidden:i}=e;if(i||r===0)return null;let a;if(t[0]!==r||t[1]!==n){let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=/\{\{count\}\}/g,t[3]=e):e=t[3],a=n.replace(e,String(r)),t[0]=r,t[1]=n,t[2]=a}else a=t[2];let o;return t[4]===a?o=t[5]:(o=(0,Y.jsx)(`span`,{className:`inline-flex items-center rounded-md bg-surface-hover px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:a}),t[4]=a,t[5]=o),o}function pe(){let e=(0,U.c)(5),t,n,r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Y.jsx)(`div`,{className:`mb-6 h-8 w-40 max-w-full animate-pulse rounded-md bg-surface-hover`}),n=(0,Y.jsx)(`div`,{className:`mb-2 h-4 w-full max-w-md animate-pulse rounded bg-surface-hover`}),r=(0,Y.jsx)(`div`,{className:`mb-5 h-9 w-full max-w-lg animate-pulse rounded-full bg-surface-hover`}),e[0]=t,e[1]=n,e[2]=r):(t=e[0],n=e[1],r=e[2]);let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=[`ap0`,`ap1`,`ap2`,`ap3`,`ap4`,`ap5`],e[3]=i):i=e[3];let a;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Y.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:(0,Y.jsxs)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-8`,children:[t,n,r,(0,Y.jsx)(`div`,{className:`mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:i.map(me)})]})}),e[4]=a):a=e[4],a}function me(e){return(0,Y.jsx)(`div`,{className:`h-36 animate-pulse rounded-xl border border-edge bg-surface-base`},e)}function he(e){let t=(0,U.c)(2),{message:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Y.jsx)(`div`,{className:`flex min-h-[min(40vh,16rem)] flex-col items-center justify-center rounded-xl border border-dashed border-edge-subtle bg-surface-hover/40 px-4 py-12 text-center dark:bg-surface-hover/20`,children:(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n})}),t[0]=n,t[1]=r),r}export{se as AppsPage};
|
|
@@ -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-q28QhI7l.js";import{i as s}from"./vendor-swr-BIWyz7Rc.js";import{t as c}from"./copy-Dv6d4Dvw.js";import{a as l,n as u}from"./fetch-drJUxxKP.js";import{$o as d,Cr as f,Dr as p,Er as m,Et as h,Mo as g,No as _,Or as v,Qo as y,Qr as b,Sr as x,Tr as S,Wr as C,Yr as w,Zo as T,Zr as E,bn as D,co as O,cr as k,di as A,dr as j,en as M,gr as N,kr as P,lo as F,na as I,ni as L,nn as R,oi as z,pi as B,rn as V,so as ee,ti as te,tn as ne,ui as H,wr as U,yn as W,zr as G}from"./index-CRDAmr3W.js";import{a as K,c as re,i as ie,o as ae,r as oe,s as se,t as q}from"./utils-CCGejlcX.js";import{n as J,r as ce,t as le}from"./field-primitives-BWLssxEb.js";import{_ as ue,a as de,c as fe,d as pe,f as me,g as he,h as ge,i as _e,l as ve,m as ye,n as be,o as xe,p as Se,r as Ce,s as we,t as Y,u as Te,v as Ee,y as De}from"./channels-status-swr-CV70xvY7.js";var X=e(t(),1),Z=n(),Q=r();function Oe(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 ke(e,t){switch(t){case`running`:return e.hubStatusRunning;case`offline`:return e.hubStatusOffline;case`disabled`:return e.hubStatusDisabled;default:return e.hubStatusNotConfigured}}function Ae(e,t){switch(t){case`setup`:return e.hubSetupButton;case`fix`:return e.hubFixButton;case`pairing`:return e.hubPairingButton;default:return e.hubManageButton}}function je(e){let t=(0,Z.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=A(`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=A(`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,Q.jsx)(N,{sourceChannel:n,className:`size-5`}),t[3]=n,t[4]=h);let g;t[5]!==m||t[6]!==h?(g=(0,Q.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,Q.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:r}),t[8]=r,t[9]=_);let v;t[10]===a.status?v=t[11]:(v=A(`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium`,Oe(a.status)),t[10]=a.status,t[11]=v);let y;t[12]!==u||t[13]!==a.status?(y=ke(u,a.status),t[12]=u,t[13]=a.status,t[14]=y):y=t[14];let b;t[15]!==v||t[16]!==y?(b=(0,Q.jsx)(`span`,{className:v,children:y}),t[15]=v,t[16]=y,t[17]=b):b=t[17];let x;t[18]!==u||t[19]!==c||t[20]!==a.pendingPairing?(x=a.pendingPairing>0?(0,Q.jsx)(`button`,{type:`button`,className:A(`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`,L.press),onClick:e=>{e.stopPropagation(),c()},children:u.hubPairingPendingBadge.replace(`{{count}}`,String(a.pendingPairing))}):null,t[18]=u,t[19]=c,t[20]=a.pendingPairing,t[21]=x):x=t[21];let S;t[22]!==x||t[23]!==b?(S=(0,Q.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-1.5`,children:[b,x]}),t[22]=x,t[23]=b,t[24]=S):S=t[24];let C;t[25]!==S||t[26]!==_?(C=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[_,S]}),t[25]=S,t[26]=_,t[27]=C):C=t[27];let w;t[28]!==u||t[29]!==l||t[30]!==d||t[31]!==r||t[32]!==o||t[33]!==a.enabled?(w=d?(0,Q.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":a.enabled,"aria-label":`${r} — ${u.enableChannelAria}`,disabled:o,className:A(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,L.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,Q.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`})}):null,t[28]=u,t[29]=l,t[30]=d,t[31]=r,t[32]=o,t[33]=a.enabled,t[34]=w):w=t[34];let T;t[35]!==C||t[36]!==w||t[37]!==g?(T=(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[g,C,w]}),t[35]=C,t[36]=w,t[37]=g,t[38]=T):T=t[38];let E;t[39]===i?E=t[40]:(E=(0,Q.jsx)(`p`,{className:`line-clamp-2 text-xs leading-relaxed text-fg-muted`,children:i}),t[39]=i,t[40]=E);let D;t[41]===a.summaryLines?D=t[42]:(D=a.summaryLines.length>0?(0,Q.jsx)(`ul`,{className:`mt-1.5 space-y-0.5`,children:a.summaryLines.map(Me)}):null,t[41]=a.summaryLines,t[42]=D);let O;t[43]!==E||t[44]!==D?(O=(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[E,D]}),t[43]=E,t[44]=D,t[45]=O):O=t[45];let k;t[46]!==s||t[47]!==c||t[48]!==a.manageable||t[49]!==a.pendingPairing||t[50]!==a.primaryAction?(k=()=>{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]=k):k=t[51];let j;t[52]!==u||t[53]!==a.primaryAction?(j=Ae(u,a.primaryAction),t[52]=u,t[53]=a.primaryAction,t[54]=j):j=t[54];let M;t[55]!==k||t[56]!==j?(M=(0,Q.jsx)(`div`,{className:`mt-auto`,children:(0,Q.jsx)(H,{type:`button`,variant:`primary`,className:`w-full`,onClick:k,children:j})}),t[55]=k,t[56]=j,t[57]=M):M=t[57];let P;return t[58]!==T||t[59]!==O||t[60]!==M?(P=(0,Q.jsxs)(`article`,{className:f,children:[T,O,M]}),t[58]=T,t[59]=O,t[60]=M,t[61]=P):P=t[61],P}function Me(e){return(0,Q.jsx)(`li`,{className:`text-xs text-fg-muted`,children:e},e)}function Ne(e){let t=(0,Z.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(Pe)),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,Q.jsx)(`li`,{className:`h-full min-h-0`,children:(0,Q.jsx)(je,{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,Q.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 Pe(e){return[e.id,e]}var $=`animate-pulse motion-reduce:animate-none rounded-md bg-surface-hover dark:bg-surface-active/50`;function Fe(){let e=(0,Z.c)(4),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(`div`,{className:A(`size-11 shrink-0 rounded-xl`,$)}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[t,(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:[(0,Q.jsx)(`div`,{className:A(`h-4 w-2/5`,$)}),(0,Q.jsx)(`div`,{className:A(`h-5 w-16 rounded-full`,$)})]}),(0,Q.jsx)(`div`,{className:A(`h-6 w-10 shrink-0 rounded-full`,$)})]}),e[1]=n):n=e[1];let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`div`,{className:A(`h-3 w-full`,$)}),(0,Q.jsx)(`div`,{className:A(`h-3 w-[88%]`,$)})]}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.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,Q.jsx)(`div`,{className:`mt-auto`,children:(0,Q.jsx)(`div`,{className:A(`h-10 w-full rounded-lg`,$)})})]}),e[3]=i):i=e[3],i}function Ie(e){let t=(0,Z.c)(2),{count:n}=e,r=n===void 0?3:n,i;return t[0]===r?i=t[1]:(i=(0,Q.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,Q.jsx)(`li`,{className:`h-full min-h-0`,children:(0,Q.jsx)(Fe,{})},t)}function Re(e,t=!1){return e===`drawer`?A(`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`,W):A(`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)]`,W,`rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none dark:border-edge`)}function ze(e){let t=(0,Z.c)(30),{presentation:n,open:r,onOpenChange:i,title:a,description:o,srTitle:s,srDescription:c,closeAriaLabel:l,children:u,footer:d,wide:h,headerExtra:g}=e,_=h===void 0?!1:h,y=n===`drawer`,b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsx)(m,{className:A(`xopc-dialog-overlay fixed inset-0 bg-scrim backdrop-blur-[1px]`,D)}),t[0]=b):b=t[0];let x;t[1]!==n||t[2]!==_?(x=Re(n,_),t[1]=n,t[2]=_,t[3]=x):x=t[3];let C;t[4]===s?C=t[5]:(C=s?(0,Q.jsx)(P,{className:`sr-only`,children:s}):null,t[4]=s,t[5]=C);let w;t[6]===c?w=t[7]:(w=c?(0,Q.jsx)(S,{className:`sr-only`,children:c}):null,t[6]=c,t[7]=w);let T;t[8]!==l||t[9]!==o||t[10]!==g||t[11]!==y||t[12]!==a?(T=y?(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[a?(0,Q.jsx)(`div`,{className:`text-base font-semibold text-fg`,children:a}):null,o?(0,Q.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:o}):null]}),(0,Q.jsx)(f,{asChild:!0,children:(0,Q.jsx)(H,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":l,children:(0,Q.jsx)(B,{className:`size-5`,strokeWidth:1.75})})})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(f,{asChild:!0,children:(0,Q.jsx)(`button`,{type:`button`,className:A(te,`absolute right-3 top-3 z-20 p-1.5 hover:bg-surface-hover`),"aria-label":l,children:(0,Q.jsx)(B,{className:`size-4`})})}),g]}),t[8]=l,t[9]=o,t[10]=g,t[11]=y,t[12]=a,t[13]=T):T=t[13];let E=y?`px-4 py-4`:`p-6`,O;t[14]===E?O=t[15]:(O=A(`min-h-0 flex-1 overflow-y-auto`,E),t[14]=E,t[15]=O);let k;t[16]!==u||t[17]!==O?(k=(0,Q.jsx)(`div`,{className:O,children:u}),t[16]=u,t[17]=O,t[18]=k):k=t[18];let j;t[19]!==d||t[20]!==x||t[21]!==C||t[22]!==w||t[23]!==T||t[24]!==k?(j=(0,Q.jsxs)(p,{children:[b,(0,Q.jsxs)(U,{className:x,onOpenAutoFocus:Be,children:[C,w,T,k,d]})]}),t[19]=d,t[20]=x,t[21]=C,t[22]=w,t[23]=T,t[24]=k,t[25]=j):j=t[25];let M;return t[26]!==i||t[27]!==r||t[28]!==j?(M=(0,Q.jsx)(v,{open:r,onOpenChange:i,children:j}),t[26]=i,t[27]=r,t[28]=j,t[29]=M):M=t[29],M}function Be(e){return e.preventDefault()}function Ve(e){let t=(0,Z.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,Q.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,Q.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,Q.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,Q.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,Q.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,Q.jsx)(`dd`,{className:`mt-1 text-fg`,children:c}),t[11]=c,t[12]=_);let v;t[13]!==g||t[14]!==_?(v=(0,Q.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,Q.jsx)(`dt`,{className:`text-xs font-medium uppercase tracking-wide text-fg-subtle`,children:o.hubExtensionEnabledLabel}),t[16]=o.hubExtensionEnabledLabel,t[17]=y);let b=a.enabled?o.hubExtensionYes:o.hubExtensionNo,x;t[18]===b?x=t[19]:(x=(0,Q.jsx)(`dd`,{className:`mt-1 text-fg`,children:b}),t[18]=b,t[19]=x);let S;t[20]!==y||t[21]!==x?(S=(0,Q.jsxs)(`div`,{children:[y,x]}),t[20]=y,t[21]=x,t[22]=S):S=t[22];let w;t[23]===o.hubExtensionConnectedLabel?w=t[24]:(w=(0,Q.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,Q.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,Q.jsxs)(`div`,{children:[w,E]}),t[27]=w,t[28]=E,t[29]=D):D=t[29];let O;t[30]!==v||t[31]!==S||t[32]!==D?(O=(0,Q.jsxs)(`dl`,{className:`grid gap-3 text-sm`,children:[v,S,D]}),t[30]=v,t[31]=S,t[32]=D,t[33]=O):O=t[33];let k;t[34]===s?k=t[35]:(k=C(s,`channels`),t[34]=s,t[35]=k);let A;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,Q.jsx)(F,{className:`ml-2 size-3.5`}),t[36]=A):A=t[36];let j;t[37]!==o.hubViewDocs||t[38]!==k?(j=(0,Q.jsx)(H,{type:`button`,variant:`secondary`,asChild:!0,children:(0,Q.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,Q.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,Q.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,X.memo)(function(e){let t=(0,Z.c)(15),{ch:n,refreshing:r,saveOk:i,onRefresh:a}=e,o;t[0]!==n.saved||t[1]!==i?(o=i?(0,Q.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=A(`size-4`,l),t[3]=l,t[4]=u);let d;t[5]===u?d=t[6]:(d=(0,Q.jsx)(I,{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,Q.jsx)(H,{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,Q.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,Z.c)(27),{accountIds:n,routes:r,defaultAgentId:o,agentItems:s,disabled:c,onChange:l,ch:u}=e,d=i(We),f,p,m,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){_=Symbol.for(`react.early_return_sentinel`);bb0:{let e=a(d).agentsSettings;if(n.length===0){_=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 v;t[13]===u.agentRoutingTitle?v=t[14]:(v=(0,Q.jsx)(J,{children:u.agentRoutingTitle}),t[13]=u.agentRoutingTitle,t[14]=v);let y;t[15]===u.agentRoutingHint?y=t[16]:(y=(0,Q.jsx)(le,{children:u.agentRoutingHint}),t[15]=u.agentRoutingHint,t[16]=y),t[17]!==v||t[18]!==y?(g=(0,Q.jsxs)(`div`,{children:[v,y]}),t[17]=v,t[18]=y,t[19]=g):g=t[19],f=`space-y-2`,p=n.map(t=>(0,Q.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,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsx)(`p`,{className:`text-xs font-medium text-fg-muted`,children:u.agentRoutingAccountLabel}),(0,Q.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-sm text-fg`,title:t,children:t})]}),(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsx)(`label`,{className:`sr-only`,htmlFor:`agent-route-${t}`,children:u.agentRoutingAgentLabel}),(0,Q.jsx)(`select`,{id:`agent-route-${t}`,className:A(q(),z),disabled:c,value:(r[t]??o).toLowerCase(),onChange:e=>l(t,e.target.value),children:i.map(t=>(0,Q.jsx)(`option`,{value:t.id,children:`${h(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]=g,t[12]=_}else f=t[8],p=t[9],m=t[10],g=t[11],_=t[12];if(_!==Symbol.for(`react.early_return_sentinel`))return _;let v;t[20]!==f||t[21]!==p?(v=(0,Q.jsx)(`div`,{className:f,children:p}),t[20]=f,t[21]=p,t[22]=v):v=t[22];let y;return t[23]!==m||t[24]!==g||t[25]!==v?(y=(0,Q.jsxs)(`div`,{className:m,children:[g,v]}),t[23]=m,t[24]=g,t[25]=v,t[26]=y):y=t[26],y}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=Ee(t);return e.length>0?e:[`default`]}if(e===`weixin`){let e=De(t);return e.length>0?e:[`default`]}let n=ue(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,X.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,X.useCallback)((e,r)=>{let i=r.trim().toUpperCase();i&&c(e,()=>de({channel:t,accountId:n,code:i}))},[n,t,c]),quickApprove:(0,X.useCallback)(e=>{c(e,()=>_e({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,Z.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,X.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=q,l=(0,X.useMemo)(()=>{let e=(t??[`default`]).filter(Boolean);return e.length>0?e:[`default`]},[t]),u=(0,X.useMemo)(()=>Xe(e,n),[e,n]),d=(0,X.useCallback)(t=>Ye(e,n,t),[e,n]),[f,p]=(0,X.useState)(l[0]??`default`),[m,h]=(0,X.useState)(l);l!==m&&(h(l),l.includes(f)||p(l[0]??`default`));let[g,_]=(0,X.useReducer)(ct,st),{codeBySender:v,busySender:y,dismissingId:b,revokingId:x,feedback:S}=g,C=d(f)===`pairing`,w=(0,X.useRef)(o);w.current=o;let{data:T,error:E,isLoading:D,mutate:O}=s(r&&u&&C?ot(e,f):null,()=>fe(e,f),{revalidateOnFocus:!0,onSuccess:e=>{w.current?.(e.paired.fromCredentials.length)}});nt((0,X.useCallback)(()=>{O()},[O]),r&&u&&C);let k=T?.paired.fromCredentials??[],j=(0,X.useCallback)(e=>{_({type:`setCodeBySender`,updater:typeof e==`function`?e:()=>e})},[]),M=(0,X.useCallback)(e=>{_({type:`setBusySender`,value:typeof e==`function`?e(g.busySender):e})},[g.busySender]),N=(0,X.useCallback)(e=>{_({type:`setFeedback`,value:typeof e==`function`?e(g.feedback):e})},[g.feedback]),{approveByCode:P,quickApprove:F}=Qe({channel:e,accountId:f,messages:{pairingApproved:i.pairingApproved,pairingInvalid:i.pairingInvalid},mutate:O,setCodeBySender:j,setBusySender:M,setFeedback:N}),L=(0,X.useCallback)(async t=>{_({type:`setDismissingId`,value:t}),_({type:`setFeedback`,value:null});try{await xe({channel:e,accountId:f,senderId:t}),_({type:`clearSenderCode`,senderId:t}),_({type:`setFeedback`,value:{kind:`ok`,text:i.pairingDismissed.replace(`{{id}}`,t)}}),await O()}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,O]),R=(0,X.useCallback)(async t=>{_({type:`setRevokingId`,value:t}),_({type:`setFeedback`,value:null});try{await he({channel:e,accountId:f,senderId:t}),_({type:`setFeedback`,value:{kind:`ok`,text:i.pairingRevoked.replace(`{{id}}`,t)}}),await O()}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,O]);if(!u)return null;if(!C)return(0,Q.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,Q.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:i.pairingTitle}),(0,Q.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.pairingAccountNotPairing.replace(`{{account}}`,f)}),l.length>1?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Q.jsx)(J,{children:i.pairingAccountLabel}),(0,Q.jsx)(`select`,{className:c(),value:f,onChange:e=>p(e.target.value),children:l.map(e=>(0,Q.jsx)(`option`,{value:e,children:e},e))})]}):null]});let z=T?.pending??[],V=T?.paired.fromConfig??[];return(0,Q.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,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:i.pairingTitle}),(0,Q.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:i.pairingSubtitle})]}),(0,Q.jsx)(H,{type:`button`,variant:`ghost`,className:`size-8 shrink-0 p-0`,"aria-label":i.pairingRefresh,disabled:D,onClick:()=>void O(),children:(0,Q.jsx)(I,{className:A(`size-4 text-fg-muted`,D&&`animate-spin`)})})]}),l.length>1?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Q.jsx)(J,{children:i.pairingAccountLabel}),(0,Q.jsx)(`select`,{className:c(),value:f,onChange:e=>p(e.target.value),children:l.map(e=>(0,Q.jsx)(`option`,{value:e,children:e},e))})]}):null,(0,Q.jsx)(le,{children:i.pairingSetupHint}),E?(0,Q.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:i.pairingLoadError}):null,S?(0,Q.jsx)(`p`,{className:A(`text-xs`,S.kind===`ok`?`text-success`:`text-red-600 dark:text-red-400`),children:S.text}):null,(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(J,{children:i.pairingPendingTitle}),z.length>0?(0,Q.jsx)(le,{children:i.pairingQuickApproveHint}):null,z.length===0?(0,Q.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.pairingPendingEmpty}):(0,Q.jsx)(`ul`,{className:`space-y-2`,children:z.map(e=>{let t=v[e.senderId]??``,n=y===e.senderId,r=b===e.senderId;return(0,Q.jsxs)(`li`,{className:A(`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,Q.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[(0,Q.jsx)(`span`,{className:`font-mono text-xs text-fg`,children:e.senderId}),(0,Q.jsxs)(`span`,{className:`text-[11px] text-fg-muted`,children:[e.isStale?(0,Q.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,Q.jsx)(`p`,{className:`mt-1 text-[11px] text-fg-muted`,children:i.pairingCodeHint.replace(`{{suffix}}`,e.codeLast4)}):null,(0,Q.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[(0,Q.jsx)(H,{type:`button`,variant:`secondary`,className:`shrink-0 text-xs`,disabled:n||r,onClick:()=>void F(e.senderId),children:n?i.pairingApproving:i.pairingQuickApprove}),(0,Q.jsx)(`input`,{className:A(c(),`min-w-0 flex-1 font-mono text-xs uppercase`),value:t,autoComplete:`off`,spellCheck:!1,maxLength:8,placeholder:i.pairingCodePlaceholder,onChange:t=>j(n=>({...n,[e.senderId]:t.target.value.toUpperCase()})),onKeyDown:n=>{n.key===`Enter`&&P(e.senderId,t)}}),(0,Q.jsx)(H,{type:`button`,variant:`primary`,className:`shrink-0 text-xs`,disabled:n||r||!t.trim(),onClick:()=>P(e.senderId,t),children:n?i.pairingApproving:i.pairingApprove}),(0,Q.jsx)(H,{type:`button`,variant:`ghost`,className:`shrink-0 text-xs text-fg-muted hover:text-danger`,disabled:n||r,onClick:()=>void L(e.senderId),children:r?i.pairingDismissing:i.pairingDismiss})]})]},e.senderId)})})]}),(0,Q.jsxs)(`div`,{className:`space-y-2 border-t border-edge-subtle pt-3 dark:border-edge-subtle`,children:[(0,Q.jsx)(J,{children:i.pairedTitle}),(0,Q.jsxs)(`div`,{className:`grid gap-3 text-xs sm:grid-cols-2`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:`text-fg-muted`,children:i.pairedFromConfig}),(0,Q.jsx)(`p`,{className:`mt-0.5 font-mono text-fg`,children:V.length?V.join(`, `):i.pairedEmpty})]}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:`text-fg-muted`,children:i.pairedFromCredentials}),k.length===0?(0,Q.jsx)(`p`,{className:`mt-0.5 font-mono text-fg`,children:i.pairedEmpty}):(0,Q.jsx)(`ul`,{className:`mt-1 space-y-1`,children:k.map(e=>(0,Q.jsxs)(`li`,{className:`flex items-center justify-between gap-2`,children:[(0,Q.jsx)(`span`,{className:`font-mono text-fg`,children:e}),(0,Q.jsx)(H,{type:`button`,variant:`ghost`,className:`size-7 shrink-0 p-0 text-fg-muted hover:text-danger`,"aria-label":i.pairingRevokeAria.replace(`{{id}}`,e),disabled:x===e,onClick:()=>void R(e),children:(0,Q.jsx)(B,{className:`size-3.5`})})]},e))})]})]})]})]})}function ut(e){let t=(0,Z.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:v,groupOpts:y,chatAgents:b,saving:x,language:S,dialogOpen:C,pairingFocus:T}=e,D=T===void 0?!1:T,k=r.feishu,j;t[0]===k?j=t[1]:(j=ue(k),t[0]=k,t[1]=j);let M=j,N;t[2]===M?N=t[3]:(N=M.length>0?M:[`default`],t[2]=M,t[3]=N);let P=N,F=i?.feishu?.appSecret??``,I;t[4]!==n.copied||t[5]!==n.copy||t[6]!==n.hide||t[7]!==n.show?(I=w({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]=I):I=t[8];let L=I,R=(0,X.useRef)(null),z,B;t[9]===D?(z=t[10],B=t[11]):(z=()=>{if(!D)return;let e=R.current;e&&(e.open=!0);let t=window.setTimeout(pt,80);return()=>window.clearTimeout(t)},B=[D],t[9]=D,t[10]=z,t[11]=B),(0,X.useEffect)(z,B);let V;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,Q.jsx)(g,{className:`size-4 shrink-0 text-fg-muted transition-transform group-open:rotate-180`}),t[12]=V):V=t[12];let te;t[13]===n.advancedShow?te=t[14]:(te=(0,Q.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,Q.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[V,n.advancedShow]})}),t[13]=n.advancedShow,t[14]=te);let ne;t[15]===n.feishuAdvancedHint?ne=t[16]:(ne=(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:n.feishuAdvancedHint}),t[15]=n.feishuAdvancedHint,t[16]=ne);let U;t[17]===u?U=t[18]:(U=e=>u({enabled:e.target.checked}),t[17]=u,t[18]=U);let W;t[19]!==k.enabled||t[20]!==U?(W=(0,Q.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:k.enabled,onChange:U}),t[19]=k.enabled,t[20]=U,t[21]=W):W=t[21];let G;t[22]===n.enableFeishuAria?G=t[23]:(G=(0,Q.jsx)(`span`,{children:n.enableFeishuAria}),t[22]=n.enableFeishuAria,t[23]=G);let K;t[24]!==W||t[25]!==G?(K=(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[W,G]}),t[24]=W,t[25]=G,t[26]=K):K=t[26];let re;t[27]===u?re=t[28]:(re=e=>u({dmPolicy:e}),t[27]=u,t[28]=re);let ie;t[29]!==n.dmPolicy||t[30]!==v||t[31]!==k.dmPolicy||t[32]!==re?(ie=(0,Q.jsx)(ce,{label:n.dmPolicy,value:k.dmPolicy,onChange:re,options:v}),t[29]=n.dmPolicy,t[30]=v,t[31]=k.dmPolicy,t[32]=re,t[33]=ie):ie=t[33];let oe;t[34]!==n||t[35]!==C||t[36]!==k||t[37]!==S||t[38]!==P?(oe=(0,Q.jsx)(lt,{channel:`feishu`,accountIds:P,channelConfig:k,active:C,ch:n,language:S}),t[34]=n,t[35]=C,t[36]=k,t[37]=S,t[38]=P,t[39]=oe):oe=t[39];let de;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,Q.jsx)(`span`,{className:`text-red-600 dark:text-red-400`,children:` *`}),t[40]=de):de=t[40];let fe;t[41]===n.feishuAppId?fe=t[42]:(fe=(0,Q.jsxs)(J,{children:[n.feishuAppId,de]}),t[41]=n.feishuAppId,t[42]=fe);let pe;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(pe=A(q(),`min-w-0 flex-1 font-mono text-xs`),t[43]=pe):pe=t[43];let me;t[44]===u?me=t[45]:(me=e=>u({appId:e.target.value}),t[44]=u,t[45]=me);let he;t[46]!==k.appId||t[47]!==me?(he=(0,Q.jsx)(`input`,{className:pe,value:k.appId,onChange:me,placeholder:`cli_xxx`}),t[46]=k.appId,t[47]=me,t[48]=he):he=t[48];let ge;t[49]===n.feishuAppIdDesc?ge=t[50]:(ge=(0,Q.jsx)(le,{children:n.feishuAppIdDesc}),t[49]=n.feishuAppIdDesc,t[50]=ge);let _e;t[51]!==fe||t[52]!==he||t[53]!==ge?(_e=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[fe,he,ge]}),t[51]=fe,t[52]=he,t[53]=ge,t[54]=_e):_e=t[54];let ve;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(ve=(0,Q.jsx)(`span`,{className:`text-red-600 dark:text-red-400`,children:` *`}),t[55]=ve):ve=t[55];let ye;t[56]===n.feishuAppSecret?ye=t[57]:(ye=(0,Q.jsxs)(J,{children:[n.feishuAppSecret,ve]}),t[56]=n.feishuAppSecret,t[57]=ye);let be=k.appSecret,xe;t[58]===u?xe=t[59]:(xe=e=>u({appSecret:e}),t[58]=u,t[59]=xe);let Se;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(Se=A(q(),`text-xs`),t[60]=Se):Se=t[60];let Ce;t[61]!==F||t[62]!==k.appSecret||t[63]!==L||t[64]!==xe?(Ce=(0,Q.jsx)(E,{value:be,onChange:xe,placeholder:`••••••••`,labels:L,baselineValue:F,inputClassName:Se}),t[61]=F,t[62]=k.appSecret,t[63]=L,t[64]=xe,t[65]=Ce):Ce=t[65];let we;t[66]===n.feishuAppSecretDesc?we=t[67]:(we=(0,Q.jsx)(le,{children:n.feishuAppSecretDesc}),t[66]=n.feishuAppSecretDesc,t[67]=we);let Y;t[68]!==ye||t[69]!==Ce||t[70]!==we?(Y=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[ye,Ce,we]}),t[68]=ye,t[69]=Ce,t[70]=we,t[71]=Y):Y=t[71];let Te;t[72]===n.feishuDomain?Te=t[73]:(Te=(0,Q.jsx)(J,{children:n.feishuDomain}),t[72]=n.feishuDomain,t[73]=Te);let Ee;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=q(),t[74]=Ee):Ee=t[74];let De=String(k.domain||`feishu`),Oe;t[75]===u?Oe=t[76]:(Oe=e=>u({domain:e.target.value}),t[75]=u,t[76]=Oe);let ke,Ae;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,Q.jsx)(`option`,{value:`feishu`,children:`feishu`}),Ae=(0,Q.jsx)(`option`,{value:`lark`,children:`lark`}),t[77]=ke,t[78]=Ae):(ke=t[77],Ae=t[78]);let je;t[79]!==De||t[80]!==Oe?(je=(0,Q.jsxs)(`select`,{className:Ee,value:De,onChange:Oe,children:[ke,Ae]}),t[79]=De,t[80]=Oe,t[81]=je):je=t[81];let Me;t[82]!==Te||t[83]!==je?(Me=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Te,je]}),t[82]=Te,t[83]=je,t[84]=Me):Me=t[84];let Ne;t[85]===n.connectionMode?Ne=t[86]:(Ne=(0,Q.jsx)(J,{children:n.connectionMode}),t[85]=n.connectionMode,t[86]=Ne);let Pe;t[87]===Symbol.for(`react.memo_cache_sentinel`)?(Pe=q(),t[87]=Pe):Pe=t[87];let $;t[88]===u?$=t[89]:($=e=>u({connectionMode:e.target.value}),t[88]=u,t[89]=$);let Fe,Ie;t[90]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,Q.jsx)(`option`,{value:`websocket`,children:`websocket`}),Ie=(0,Q.jsx)(`option`,{value:`webhook`,children:`webhook`}),t[90]=Fe,t[91]=Ie):(Fe=t[90],Ie=t[91]);let Le;t[92]!==k.connectionMode||t[93]!==$?(Le=(0,Q.jsxs)(`select`,{className:Pe,value:k.connectionMode,onChange:$,children:[Fe,Ie]}),t[92]=k.connectionMode,t[93]=$,t[94]=Le):Le=t[94];let Re;t[95]===n.connectionModeDesc?Re=t[96]:(Re=(0,Q.jsx)(le,{children:n.connectionModeDesc}),t[95]=n.connectionModeDesc,t[96]=Re);let ze;t[97]!==Ne||t[98]!==Le||t[99]!==Re?(ze=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Ne,Le,Re]}),t[97]=Ne,t[98]=Le,t[99]=Re,t[100]=ze):ze=t[100];let Be;t[101]!==Me||t[102]!==ze?(Be=(0,Q.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Me,ze]}),t[101]=Me,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]!==k.connectionMode||t[120]!==k.encryptKey||t[121]!==k.verificationToken||t[122]!==k.webhookHost||t[123]!==k.webhookPath||t[124]!==k.webhookPort||t[125]!==o||t[126]!==a||t[127]!==u?(Ve=k.connectionMode===`webhook`?(0,Q.jsxs)(`div`,{className:`rounded-xl border border-edge-subtle bg-surface px-4 py-3 dark:border-edge-subtle`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n.webhookTitle}),(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsxs)(H,{type:`button`,variant:`secondary`,className:`px-2 py-1 text-xs`,onClick:()=>o(ft),children:[a?(0,Q.jsx)(O,{className:`size-3.5`}):(0,Q.jsx)(ee,{className:`size-3.5`}),a?n.hide:n.show]}),(0,Q.jsxs)(H,{type:`button`,variant:`secondary`,className:`px-2 py-1 text-xs`,onClick:()=>void l(),children:[s?(0,Q.jsx)(_,{className:`size-3.5`}):(0,Q.jsx)(c,{className:`size-3.5`}),s?n.copied:n.copy]})]})]}),(0,Q.jsxs)(`div`,{className:`mt-3 grid gap-3 sm:grid-cols-2`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Q.jsx)(J,{children:n.verificationToken}),(0,Q.jsx)(`input`,{className:A(q(),`min-w-0 flex-1 font-mono text-xs`),type:a?`text`:`password`,autoComplete:`off`,value:k.verificationToken??``,onChange:e=>u({verificationToken:e.target.value})}),(0,Q.jsx)(le,{children:n.verificationTokenDesc})]}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Q.jsx)(J,{children:n.encryptKey}),(0,Q.jsx)(`input`,{className:A(q(),`min-w-0 flex-1 font-mono text-xs`),type:a?`text`:`password`,autoComplete:`off`,value:k.encryptKey??``,onChange:e=>u({encryptKey:e.target.value})}),(0,Q.jsx)(le,{children:n.encryptKeyDesc})]})]}),(0,Q.jsxs)(`div`,{className:`mt-3 grid gap-3 sm:grid-cols-3`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5 sm:col-span-2`,children:[(0,Q.jsx)(J,{children:n.webhookHost}),(0,Q.jsx)(`input`,{className:A(q(),`min-w-0 flex-1 font-mono text-xs`),value:k.webhookHost??``,onChange:e=>u({webhookHost:e.target.value}),placeholder:`127.0.0.1`})]}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Q.jsx)(J,{children:n.webhookPort}),(0,Q.jsx)(`input`,{className:A(q(),`min-w-0 flex-1 font-mono text-xs`),type:`number`,inputMode:`numeric`,value:String(k.webhookPort??``),onChange:e=>u({webhookPort:Number(e.target.value||`0`)||0}),placeholder:`3000`})]})]}),(0,Q.jsxs)(`div`,{className:`mt-3 flex flex-col gap-1.5`,children:[(0,Q.jsx)(J,{children:n.webhookPath}),(0,Q.jsx)(`input`,{className:A(q(),`min-w-0 flex-1 font-mono text-xs`),value:k.webhookPath??``,onChange:e=>u({webhookPath:e.target.value}),placeholder:`/feishu/events`}),(0,Q.jsx)(le,{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]=k.connectionMode,t[120]=k.encryptKey,t[121]=k.verificationToken,t[122]=k.webhookHost,t[123]=k.webhookPath,t[124]=k.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,Q.jsx)(J,{children:n.renderMode}),t[129]=n.renderMode,t[130]=He);let We;t[131]===Symbol.for(`react.memo_cache_sentinel`)?(We=q(),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,Q.jsx)(`option`,{value:`auto`,children:`auto`}),qe=(0,Q.jsx)(`option`,{value:`raw`,children:`raw`}),Je=(0,Q.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]!==k.renderMode||t[138]!==Ge?(Ye=(0,Q.jsxs)(`select`,{className:We,value:k.renderMode,onChange:Ge,children:[Ke,qe,Je]}),t[137]=k.renderMode,t[138]=Ge,t[139]=Ye):Ye=t[139];let Xe;t[140]!==He||t[141]!==Ye?(Xe=(0,Q.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,Q.jsx)(J,{children:n.reactionNotifications}),t[143]=n.reactionNotifications,t[144]=Ze);let Qe;t[145]===Symbol.for(`react.memo_cache_sentinel`)?(Qe=q(),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,Q.jsx)(`option`,{value:`off`,children:`off`}),tt=(0,Q.jsx)(`option`,{value:`own`,children:`own`}),nt=(0,Q.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]!==k.reactionNotifications||t[152]!==$e?(rt=(0,Q.jsxs)(`select`,{className:Qe,value:k.reactionNotifications,onChange:$e,children:[et,tt,nt]}),t[151]=k.reactionNotifications,t[152]=$e,t[153]=rt):rt=t[153];let it;t[154]!==Ze||t[155]!==rt?(it=(0,Q.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,Q.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]!==k.streaming||t[163]!==ot?(st=(0,Q.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:k.streaming,onChange:ot}),t[162]=k.streaming,t[163]=ot,t[164]=st):st=t[164];let ct;t[165]!==n.enableStreaming||t[166]!==st?(ct=(0,Q.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,Q.jsx)(J,{children:n.groupPolicy}),t[168]=n.groupPolicy,t[169]=ut);let mt;t[170]===Symbol.for(`react.memo_cache_sentinel`)?(mt=q(),t[170]=mt):mt=t[170];let ht=k.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]===y?_t=t[174]:(_t=y.map(dt),t[173]=y,t[174]=_t);let vt;t[175]!==k.groupPolicy||t[176]!==gt||t[177]!==_t?(vt=(0,Q.jsx)(`select`,{className:mt,value:ht,onChange:gt,children:_t}),t[175]=k.groupPolicy,t[176]=gt,t[177]=_t,t[178]=vt):vt=t[178];let yt;t[179]!==ut||t[180]!==vt?(yt=(0,Q.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]!==k.requireMention||t[185]!==bt?(xt=(0,Q.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:k.requireMention,onChange:bt}),t[184]=k.requireMention,t[185]=bt,t[186]=xt):xt=t[186];let St;t[187]!==n.requireMention||t[188]!==xt?(St=(0,Q.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,Q.jsx)(J,{children:n.allowFromDm}),t[190]=n.allowFromDm,t[191]=Ct);let wt;t[192]===Symbol.for(`react.memo_cache_sentinel`)?(wt=A(q(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[192]=wt):wt=t[192];let Tt;t[193]===k.allowFrom?Tt=t[194]:(Tt=ae(k.allowFrom),t[193]=k.allowFrom,t[194]=Tt);let Et;t[195]===u?Et=t[196]:(Et=e=>u({allowFrom:se(e.target.value)}),t[195]=u,t[196]=Et);let Dt;t[197]!==Tt||t[198]!==Et?(Dt=(0,Q.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,Q.jsx)(le,{children:n.allowFromDmDesc}),t[200]=n.allowFromDmDesc,t[201]=Ot);let kt;t[202]!==Ct||t[203]!==Dt||t[204]!==Ot?(kt=(0,Q.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,Q.jsx)(J,{children:n.allowFromGroups}),t[206]=n.allowFromGroups,t[207]=At);let jt;t[208]===Symbol.for(`react.memo_cache_sentinel`)?(jt=A(q(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[208]=jt):jt=t[208];let Mt;t[209]===k.groupAllowFrom?Mt=t[210]:(Mt=ae(k.groupAllowFrom),t[209]=k.groupAllowFrom,t[210]=Mt);let Nt;t[211]===u?Nt=t[212]:(Nt=e=>u({groupAllowFrom:se(e.target.value)}),t[211]=u,t[212]=Nt);let Pt;t[213]!==Mt||t[214]!==Nt?(Pt=(0,Q.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,Q.jsx)(le,{children:n.allowFromGroupsDesc}),t[216]=n.allowFromGroupsDesc,t[217]=Ft);let It;t[218]!==At||t[219]!==Pt||t[220]!==Ft?(It=(0,Q.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,Q.jsx)(J,{children:n.historyLimit}),t[222]=n.historyLimit,t[223]=Lt);let Rt;t[224]===Symbol.for(`react.memo_cache_sentinel`)?(Rt=A(q(),`min-w-0 flex-1 font-mono text-xs`),t[224]=Rt):Rt=t[224];let zt=String(k.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,Q.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,Q.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,Q.jsx)(J,{children:n.textChunkLimit}),t[233]=n.textChunkLimit,t[234]=Ut);let Wt;t[235]===Symbol.for(`react.memo_cache_sentinel`)?(Wt=A(q(),`min-w-0 flex-1 font-mono text-xs`),t[235]=Wt):Wt=t[235];let Gt=String(k.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,Q.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,Q.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,Q.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,Q.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]!==k.tools||t[269]!==an||t[270]!==u?(on=(0,Q.jsx)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-2`,children:an.map(e=>{let[t,n]=e;return(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:!!k.tools?.[t],onChange:e=>u({tools:{...k.tools,[t]:e.target.checked}})}),n]},t)})}),t[268]=k.tools,t[269]=an,t[270]=u,t[271]=on):on=t[271];let sn;t[272]===n.feishuToolsDesc?sn=t[273]:(sn=(0,Q.jsx)(`div`,{className:`mt-2`,children:(0,Q.jsx)(le,{children:n.feishuToolsDesc})}),t[272]=n.feishuToolsDesc,t[273]=sn);let cn;t[274]!==Xt||t[275]!==on||t[276]!==sn?(cn=(0,Q.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,Q.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n.feishuActionsTitle}),t[278]=n.feishuActionsTitle,t[279]=ln);let un=!!k.actions?.reactions,dn;t[280]!==k.actions||t[281]!==u?(dn=e=>u({actions:{...k.actions,reactions:e.target.checked}}),t[280]=k.actions,t[281]=u,t[282]=dn):dn=t[282];let fn;t[283]!==un||t[284]!==dn?(fn=(0,Q.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,Q.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,Q.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]===k?hn=t[293]:(hn=ue(k),t[292]=k,t[293]=hn);let gn;t[294]===b?.items?gn=t[295]:(gn=b?.items??[],t[294]=b?.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,Q.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,Q.jsx)(J,{children:n.multiAccountJson}),t[306]=n.multiAccountJson,t[307]=yn);let bn;t[308]===Symbol.for(`react.memo_cache_sentinel`)?(bn=A(q(),`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,Q.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,Q.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:m}):(0,Q.jsx)(le,{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,Q.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]!==_e||t[328]!==Y||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,Q.jsxs)(`div`,{className:`space-y-4`,children:[_e,Y,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]=_e,t[328]=Y,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]!==K||t[339]!==Tn||t[340]!==ie||t[341]!==oe||t[342]!==ne?(En=(0,Q.jsxs)(`div`,{className:`space-y-4 border-t border-edge-subtle px-3 pb-3 pt-3 dark:border-edge-subtle`,children:[ne,K,ie,oe,Tn]}),t[338]=K,t[339]=Tn,t[340]=ie,t[341]=oe,t[342]=ne,t[343]=En):En=t[343];let Dn;return t[344]!==En||t[345]!==te?(Dn=(0,Q.jsxs)(`details`,{ref:R,className:`group rounded-xl border border-edge-subtle bg-surface-base open:pb-3 dark:border-edge`,children:[te,En]}),t[344]=En,t[345]=te,t[346]=Dn):Dn=t[346],Dn}function dt(e){return(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value)}function ft(e){return!e}function pt(){return it(`feishu`)}var mt=e(Ce(),1);function ht(e){let t=(0,Z.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,Q.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,Q.jsx)(H,{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,Q.jsx)(H,{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,Q.jsx)(H,{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,Q.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,Q.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,X.useState)(`feishu`),[s,c]=(0,X.useState)(0),[l,u]=(0,X.useState)(null),d=(0,X.useRef)(t),f=(0,X.useRef)(n);d.current=t,f.current=n;let p=x(()=>Te({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,X.useCallback)(e=>{u(null),o(e),c(e=>e+1)},[]);(0,X.useEffect)(()=>{if(!m)return;let e=!1,t,n=async()=>{try{let n=await pe(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=x(()=>mt.toDataURL(h,gt),[h],{enabled:!!h,initial:null,errorData:null}),S=b.data,C=b.error!==null&&!b.loading,w=!!(h&&m),T=!v&&!w;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`text-center`,children:[(0,Q.jsx)(`p`,{className:`text-base font-semibold tracking-tight text-fg`,children:e.feishuQrModalTitle}),(0,Q.jsx)(`p`,{className:`mt-1.5 text-sm text-fg-muted`,children:e.feishuQrModalSubtitle})]}),(0,Q.jsxs)(`div`,{className:`mt-6 flex min-h-[17.5rem] flex-col items-center justify-center gap-3`,children:[v?(0,Q.jsx)(`p`,{className:`text-center text-sm text-red-600 dark:text-red-400`,children:v}):null,!v&&(w||T)?(0,Q.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-3`,children:[(0,Q.jsx)(`p`,{className:`text-sm text-fg-muted`,children:T?e.feishuQrStarting:e.feishuQrScanHint}),(0,Q.jsxs)(`div`,{className:A(`relative flex size-52 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-edge-subtle bg-white p-3 dark:border-edge`,T&&`bg-surface-muted/40 dark:bg-surface-base`),children:[T?(0,Q.jsx)(`div`,{className:`absolute inset-3 animate-pulse rounded-md bg-surface-muted dark:bg-surface-hover`,"aria-hidden":!0}):null,w&&h&&!v&&S&&!C?(0,Q.jsx)(`img`,{src:S,alt:``,className:`relative z-[1] size-full object-contain`}):null,w&&h&&!v&&!S&&!C&&!T?(0,Q.jsx)(`p`,{className:`relative z-[1] px-2 text-center text-sm text-fg-muted`,children:e.feishuQrEncoding}):null,w&&h&&!v&&C?(0,Q.jsxs)(`div`,{className:`relative z-[1] flex size-full flex-col items-center justify-center gap-2 px-1`,children:[(0,Q.jsx)(`p`,{className:`text-center text-xs text-fg-muted`,children:e.feishuQrImageError}),(0,Q.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,Q.jsx)(F,{className:`size-3 shrink-0`}),e.feishuQrOpenLink]})]}):null]})]}):null]}),(0,Q.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,Q.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,Q.jsx)(`button`,{type:`button`,disabled:g,className:A(`min-w-0 flex-1 rounded-full px-3 py-2 text-center text-sm font-medium transition-colors`,L.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,Q.jsx)(`button`,{type:`button`,disabled:g,className:A(`min-w-0 flex-1 rounded-full px-3 py-2 text-center text-sm font-medium transition-colors`,L.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,Q.jsx)(`div`,{className:`mt-6`,children:(0,Q.jsx)(H,{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,Q.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,Z.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,Q.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,Q.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,Q.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,Z.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,Q.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=A(`text-fg`,d),t[3]=d,t[4]=f);let p;t[5]!==n.telegramSetupStepToken||t[6]!==f?(p=(0,Q.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,Q.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,Q.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]:(_=A(`text-fg`,g),t[14]=g,t[15]=_);let v;t[16]!==n.telegramSetupStepPairing||t[17]!==_?(v=(0,Q.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,Q.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,Q.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,Z.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=A(`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,Q.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,Z.c)(175),{tg:n,updateTelegram:r,ch:i,groupOpts:a,replyOpts:o,streamOpts:s,reactionLevelOpts:c,reactionNotifyOpts:l,tgAccountsDraft:u,setTgAccountsDraft:d,tgAccountsError:f,onTgAccountsBlur:p}=e,m;t[0]===i.apiRoot?m=t[1]:(m=(0,Q.jsx)(J,{children:i.apiRoot}),t[0]=i.apiRoot,t[1]=m);let h;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(h=q(),t[2]=h):h=t[2];let g;t[3]===r?g=t[4]:(g=e=>r({apiRoot:e.target.value}),t[3]=r,t[4]=g);let _;t[5]!==g||t[6]!==n.apiRoot?(_=(0,Q.jsx)(`input`,{className:h,value:n.apiRoot,onChange:g,placeholder:`https://api.telegram.org`}),t[5]=g,t[6]=n.apiRoot,t[7]=_):_=t[7];let v;t[8]!==m||t[9]!==_?(v=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[m,_]}),t[8]=m,t[9]=_,t[10]=v):v=t[10];let y;t[11]===i.proxy?y=t[12]:(y=(0,Q.jsx)(J,{children:i.proxy}),t[11]=i.proxy,t[12]=y);let b;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(b=q(),t[13]=b):b=t[13];let x;t[14]===r?x=t[15]:(x=e=>r({proxy:e.target.value}),t[14]=r,t[15]=x);let S;t[16]!==x||t[17]!==n.proxy?(S=(0,Q.jsx)(`input`,{className:b,value:n.proxy,onChange:x,placeholder:`http://proxy.example.com:8080`}),t[16]=x,t[17]=n.proxy,t[18]=S):S=t[18];let C;t[19]!==y||t[20]!==S?(C=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[y,S]}),t[19]=y,t[20]=S,t[21]=C):C=t[21];let w;t[22]===r?w=t[23]:(w=e=>r({groupPolicy:e}),t[22]=r,t[23]=w);let T;t[24]!==i.groupPolicy||t[25]!==a||t[26]!==w||t[27]!==n.groupPolicy?(T=(0,Q.jsx)(ce,{label:i.groupPolicy,value:n.groupPolicy,onChange:w,options:a}),t[24]=i.groupPolicy,t[25]=a,t[26]=w,t[27]=n.groupPolicy,t[28]=T):T=t[28];let E;t[29]===r?E=t[30]:(E=e=>r({replyToMode:e}),t[29]=r,t[30]=E);let D;t[31]!==i.replyToMode||t[32]!==o||t[33]!==E||t[34]!==n.replyToMode?(D=(0,Q.jsx)(ce,{label:i.replyToMode,value:n.replyToMode,onChange:E,options:o}),t[31]=i.replyToMode,t[32]=o,t[33]=E,t[34]=n.replyToMode,t[35]=D):D=t[35];let O;t[36]===r?O=t[37]:(O=e=>r({streamMode:e}),t[36]=r,t[37]=O);let k;t[38]!==i.streamMode||t[39]!==s||t[40]!==O||t[41]!==n.streamMode?(k=(0,Q.jsx)(ce,{label:i.streamMode,value:n.streamMode,onChange:O,options:s}),t[38]=i.streamMode,t[39]=s,t[40]=O,t[41]=n.streamMode,t[42]=k):k=t[42];let j=n.reactionLevel??`ack`,M;t[43]===r?M=t[44]:(M=e=>r({reactionLevel:e}),t[43]=r,t[44]=M);let N;t[45]!==i.telegramReactionLevel||t[46]!==c||t[47]!==j||t[48]!==M?(N=(0,Q.jsx)(ce,{label:i.telegramReactionLevel,value:j,onChange:M,options:c}),t[45]=i.telegramReactionLevel,t[46]=c,t[47]=j,t[48]=M,t[49]=N):N=t[49];let P=n.reactionNotifications??`own`,F;t[50]===r?F=t[51]:(F=e=>r({reactionNotifications:e}),t[50]=r,t[51]=F);let I;t[52]!==i.telegramReactionNotifications||t[53]!==l||t[54]!==P||t[55]!==F?(I=(0,Q.jsx)(ce,{label:i.telegramReactionNotifications,value:P,onChange:F,options:l}),t[52]=i.telegramReactionNotifications,t[53]=l,t[54]=P,t[55]=F,t[56]=I):I=t[56];let L;t[57]===i.telegramAckReaction?L=t[58]:(L=(0,Q.jsx)(J,{children:i.telegramAckReaction}),t[57]=i.telegramAckReaction,t[58]=L);let R;t[59]===Symbol.for(`react.memo_cache_sentinel`)?(R=q(),t[59]=R):R=t[59];let z=n.ackReaction??``,B;t[60]===r?B=t[61]:(B=e=>r({ackReaction:e.target.value}),t[60]=r,t[61]=B);let V;t[62]!==z||t[63]!==B?(V=(0,Q.jsx)(`input`,{className:R,value:z,onChange:B,placeholder:`👀`}),t[62]=z,t[63]=B,t[64]=V):V=t[64];let ee;t[65]===i.telegramAckReactionDesc?ee=t[66]:(ee=(0,Q.jsx)(le,{children:i.telegramAckReactionDesc}),t[65]=i.telegramAckReactionDesc,t[66]=ee);let te;t[67]!==L||t[68]!==V||t[69]!==ee?(te=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[L,V,ee]}),t[67]=L,t[68]=V,t[69]=ee,t[70]=te):te=t[70];let ne;t[71]===i.telegramExecApprovalsTitle?ne=t[72]:(ne=(0,Q.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:i.telegramExecApprovalsTitle}),t[71]=i.telegramExecApprovalsTitle,t[72]=ne);let H=n.execApprovalsEnabled??!1,U;t[73]===r?U=t[74]:(U=e=>r({execApprovalsEnabled:e.target.checked}),t[73]=r,t[74]=U);let W;t[75]!==H||t[76]!==U?(W=(0,Q.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:H,onChange:U}),t[75]=H,t[76]=U,t[77]=W):W=t[77];let G;t[78]!==i.telegramExecApprovalsEnabled||t[79]!==W?(G=(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[W,i.telegramExecApprovalsEnabled]}),t[78]=i.telegramExecApprovalsEnabled,t[79]=W,t[80]=G):G=t[80];let K;t[81]===i.telegramExecApprovers?K=t[82]:(K=(0,Q.jsx)(J,{children:i.telegramExecApprovers}),t[81]=i.telegramExecApprovers,t[82]=K);let re;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(re=A(q(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[83]=re):re=t[83];let ie=n.execApprovalsApprovers??``,oe;t[84]===r?oe=t[85]:(oe=e=>r({execApprovalsApprovers:e.target.value}),t[84]=r,t[85]=oe);let ue;t[86]!==ie||t[87]!==oe?(ue=(0,Q.jsx)(`textarea`,{className:re,rows:2,placeholder:`123456789`,value:ie,onChange:oe}),t[86]=ie,t[87]=oe,t[88]=ue):ue=t[88];let de;t[89]===i.telegramExecApproversDesc?de=t[90]:(de=(0,Q.jsx)(le,{children:i.telegramExecApproversDesc}),t[89]=i.telegramExecApproversDesc,t[90]=de);let fe;t[91]!==K||t[92]!==ue||t[93]!==de?(fe=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[K,ue,de]}),t[91]=K,t[92]=ue,t[93]=de,t[94]=fe):fe=t[94];let pe;t[95]!==ne||t[96]!==G||t[97]!==fe?(pe=(0,Q.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-edge-subtle p-3 dark:border-edge`,children:[ne,G,fe]}),t[95]=ne,t[96]=G,t[97]=fe,t[98]=pe):pe=t[98];let me;t[99]===i.allowFromGroups?me=t[100]:(me=(0,Q.jsx)(J,{children:i.allowFromGroups}),t[99]=i.allowFromGroups,t[100]=me);let he;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(he=A(q(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[101]=he):he=t[101];let ge;t[102]===n.groupAllowFrom?ge=t[103]:(ge=ae(n.groupAllowFrom),t[102]=n.groupAllowFrom,t[103]=ge);let _e;t[104]===r?_e=t[105]:(_e=e=>r({groupAllowFrom:se(e.target.value)}),t[104]=r,t[105]=_e);let ve;t[106]!==ge||t[107]!==_e?(ve=(0,Q.jsx)(`textarea`,{className:he,rows:2,placeholder:`-1001234567890`,value:ge,onChange:_e}),t[106]=ge,t[107]=_e,t[108]=ve):ve=t[108];let ye;t[109]!==me||t[110]!==ve?(ye=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[me,ve]}),t[109]=me,t[110]=ve,t[111]=ye):ye=t[111];let be;t[112]===i.historyLimit?be=t[113]:(be=(0,Q.jsx)(J,{children:i.historyLimit}),t[112]=i.historyLimit,t[113]=be);let xe;t[114]===Symbol.for(`react.memo_cache_sentinel`)?(xe=q(),t[114]=xe):xe=t[114];let Se;t[115]===r?Se=t[116]:(Se=e=>r({historyLimit:parseInt(e.target.value,10)||50}),t[115]=r,t[116]=Se);let Ce;t[117]!==Se||t[118]!==n.historyLimit?(Ce=(0,Q.jsx)(`input`,{type:`number`,min:10,max:200,className:xe,value:n.historyLimit,onChange:Se}),t[117]=Se,t[118]=n.historyLimit,t[119]=Ce):Ce=t[119];let we;t[120]!==be||t[121]!==Ce?(we=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[be,Ce]}),t[120]=be,t[121]=Ce,t[122]=we):we=t[122];let Y;t[123]===i.textChunkLimit?Y=t[124]:(Y=(0,Q.jsx)(J,{children:i.textChunkLimit}),t[123]=i.textChunkLimit,t[124]=Y);let Te;t[125]===Symbol.for(`react.memo_cache_sentinel`)?(Te=q(),t[125]=Te):Te=t[125];let Ee;t[126]===r?Ee=t[127]:(Ee=e=>r({textChunkLimit:parseInt(e.target.value,10)||4e3}),t[126]=r,t[127]=Ee);let De;t[128]!==Ee||t[129]!==n.textChunkLimit?(De=(0,Q.jsx)(`input`,{type:`number`,min:1e3,max:1e4,step:100,className:Te,value:n.textChunkLimit,onChange:Ee}),t[128]=Ee,t[129]=n.textChunkLimit,t[130]=De):De=t[130];let X;t[131]!==Y||t[132]!==De?(X=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Y,De]}),t[131]=Y,t[132]=De,t[133]=X):X=t[133];let Oe;t[134]!==we||t[135]!==X?(Oe=(0,Q.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[we,X]}),t[134]=we,t[135]=X,t[136]=Oe):Oe=t[136];let ke;t[137]===r?ke=t[138]:(ke=e=>r({debug:e.target.checked}),t[137]=r,t[138]=ke);let Ae;t[139]!==ke||t[140]!==n.debug?(Ae=(0,Q.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:n.debug,onChange:ke}),t[139]=ke,t[140]=n.debug,t[141]=Ae):Ae=t[141];let je;t[142]!==i.telegramDebug||t[143]!==Ae?(je=(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[Ae,i.telegramDebug]}),t[142]=i.telegramDebug,t[143]=Ae,t[144]=je):je=t[144];let Me;t[145]===i.multiAccountJson?Me=t[146]:(Me=(0,Q.jsx)(J,{children:i.multiAccountJson}),t[145]=i.multiAccountJson,t[146]=Me);let Ne;t[147]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=A(q(),`min-h-[140px] resize-y font-mono text-xs`),t[147]=Ne):Ne=t[147];let Pe;t[148]===d?Pe=t[149]:(Pe=e=>d(e.target.value),t[148]=d,t[149]=Pe);let $;t[150]!==p||t[151]!==Pe||t[152]!==u?($=(0,Q.jsx)(`textarea`,{className:Ne,spellCheck:!1,value:u,onChange:Pe,onBlur:p,placeholder:`{ "personal": { "botToken": "...", ... } }`}),t[150]=p,t[151]=Pe,t[152]=u,t[153]=$):$=t[153];let Fe;t[154]!==i.multiAccountJsonDesc||t[155]!==f?(Fe=f?(0,Q.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:f}):(0,Q.jsx)(le,{children:i.multiAccountJsonDesc}),t[154]=i.multiAccountJsonDesc,t[155]=f,t[156]=Fe):Fe=t[156];let Ie;t[157]!==Me||t[158]!==$||t[159]!==Fe?(Ie=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Me,$,Fe]}),t[157]=Me,t[158]=$,t[159]=Fe,t[160]=Ie):Ie=t[160];let Le;return t[161]!==C||t[162]!==T||t[163]!==D||t[164]!==k||t[165]!==N||t[166]!==I||t[167]!==te||t[168]!==pe||t[169]!==ye||t[170]!==v||t[171]!==Oe||t[172]!==je||t[173]!==Ie?(Le=(0,Q.jsxs)(`div`,{className:`space-y-4 border-t border-edge-subtle pt-4 dark:border-edge`,children:[v,C,T,D,k,N,I,te,pe,ye,Oe,je,Ie]}),t[161]=C,t[162]=T,t[163]=D,t[164]=k,t[165]=N,t[166]=I,t[167]=te,t[168]=pe,t[169]=ye,t[170]=v,t[171]=Oe,t[172]=je,t[173]=Ie,t[174]=Le):Le=t[174],Le}function Ct(e){let t=(0,Z.c)(153),{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:_,groupOpts:v,replyOpts:y,streamOpts:b,reactionLevelOpts:x,reactionNotifyOpts:S,chatAgents:C,saving:T,dirty:D,save:O,discard:k,language:j,scrollToPairingOnOpen:M,closeOnSave:N}=e,P=i===void 0?`modal`:i,F=M===void 0?!1:M,I=N===void 0?!0:N,L=o.telegram,R;t[0]===s?R=t[1]:(R=s?re(s.telegram):``,t[0]=s,t[1]=R);let z=R,B=re(L),V;t[2]!==a.copied||t[3]!==a.copy||t[4]!==a.hide||t[5]!==a.show?(V=w({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]=V):V=t[6];let ee=V,[te,ne]=(0,X.useState)(0),U=!!B.trim()&&L.enabled,W;t[7]===L?W=t[8]:(W=Ee(L),t[7]=L,t[8]=W);let G=W,K,ie;t[9]!==n||t[10]!==F?(K=()=>{if(!n||!F)return;let e=window.setTimeout(Tt,80);return()=>window.clearTimeout(e)},ie=[n,F],t[9]=n,t[10]=F,t[11]=K,t[12]=ie):(K=t[11],ie=t[12]),(0,X.useEffect)(K,ie);let oe=a.telegramTitle,ue=a.telegramSubtitle,de=a.telegramTitle,fe=a.telegramSubtitle,pe=a.modalCancel,me;t[13]!==a.telegramSubtitle||t[14]!==a.telegramTitle||t[15]!==P?(me=P===`modal`?(0,Q.jsxs)(`div`,{className:`border-b border-edge-subtle px-6 pb-4 pt-6 dark:border-edge-subtle`,children:[(0,Q.jsx)(`h2`,{className:`text-lg font-semibold tracking-tight text-fg`,children:a.telegramTitle}),(0,Q.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]=P,t[16]=me):me=t[16];let he;t[17]===r?he=t[18]:(he=()=>r(!1),t[17]=r,t[18]=he);let ge;t[19]!==I||t[20]!==r||t[21]!==O?(ge=async()=>{await O()&&I&&r(!1)},t[19]=I,t[20]=r,t[21]=O,t[22]=ge):ge=t[22];let _e;t[23]!==a||t[24]!==D||t[25]!==k||t[26]!==T||t[27]!==he||t[28]!==ge?(_e=(0,Q.jsx)(ht,{ch:a,dirty:D,saving:T,onCancel:he,onDiscard:k,onSave:ge}),t[23]=a,t[24]=D,t[25]=k,t[26]=T,t[27]=he,t[28]=ge,t[29]=_e):_e=t[29];let ve;t[30]===u?ve=t[31]:(ve=e=>u({enabled:e.target.checked}),t[30]=u,t[31]=ve);let ye;t[32]!==ve||t[33]!==L.enabled?(ye=(0,Q.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:L.enabled,onChange:ve}),t[32]=ve,t[33]=L.enabled,t[34]=ye):ye=t[34];let be;t[35]===a.enableTelegramAria?be=t[36]:(be=(0,Q.jsx)(`span`,{children:a.enableTelegramAria}),t[35]=a.enableTelegramAria,t[36]=be);let xe;t[37]!==ye||t[38]!==be?(xe=(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[ye,be]}),t[37]=ye,t[38]=be,t[39]=xe):xe=t[39];let Se;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,Q.jsx)(`span`,{className:`text-red-600 dark:text-red-400`,children:` *`}),t[40]=Se):Se=t[40];let Ce;t[41]===a.telegramToken?Ce=t[42]:(Ce=(0,Q.jsxs)(J,{children:[a.telegramToken,Se]}),t[41]=a.telegramToken,t[42]=Ce);let Y;t[43]!==L.accounts||t[44]!==u?(Y=e=>{let t=L.accounts?.default??we(`default`);u({accounts:{...L.accounts,default:{...t,accountId:`default`,botToken:e}}})},t[43]=L.accounts,t[44]=u,t[45]=Y):Y=t[45];let Te;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(Te=A(q(),`text-xs`),t[46]=Te):Te=t[46];let De;t[47]!==ee||t[48]!==Y||t[49]!==z||t[50]!==B?(De=(0,Q.jsx)(E,{value:B,onChange:Y,placeholder:`123456789:ABCdefGHIjklMNOpqrsTUVwxyz`,labels:ee,baselineValue:z,inputClassName:Te}),t[47]=ee,t[48]=Y,t[49]=z,t[50]=B,t[51]=De):De=t[51];let Oe;t[52]===a.telegramTokenDesc?Oe=t[53]:(Oe=(0,Q.jsx)(le,{children:a.telegramTokenDesc}),t[52]=a.telegramTokenDesc,t[53]=Oe);let ke;t[54]!==Ce||t[55]!==De||t[56]!==Oe?(ke=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Ce,De,Oe]}),t[54]=Ce,t[55]=De,t[56]=Oe,t[57]=ke):ke=t[57];let Ae;t[58]===L?Ae=t[59]:(Ae=Xe(`telegram`,L),t[58]=L,t[59]=Ae);let je=te>0,Me;t[60]!==a||t[61]!==Ae||t[62]!==je||t[63]!==U?(Me=(0,Q.jsx)(bt,{ch:a,usesPairing:Ae,tokenReady:U,pairingComplete:je}),t[60]=a,t[61]=Ae,t[62]=je,t[63]=U,t[64]=Me):Me=t[64];let Ne;t[65]===u?Ne=t[66]:(Ne=e=>u({dmPolicy:e}),t[65]=u,t[66]=Ne);let Pe;t[67]!==a.dmPolicy||t[68]!==_||t[69]!==Ne||t[70]!==L.dmPolicy?(Pe=(0,Q.jsx)(ce,{label:a.dmPolicy,value:L.dmPolicy,onChange:Ne,options:_}),t[67]=a.dmPolicy,t[68]=_,t[69]=Ne,t[70]=L.dmPolicy,t[71]=Pe):Pe=t[71];let $;t[72]!==a||t[73]!==j||t[74]!==n||t[75]!==ne||t[76]!==L||t[77]!==G?($=(0,Q.jsx)(lt,{channel:`telegram`,accountIds:G,channelConfig:L,active:n,ch:a,language:j,onPairedChange:ne}),t[72]=a,t[73]=j,t[74]=n,t[75]=ne,t[76]=L,t[77]=G,t[78]=$):$=t[78];let Fe;t[79]===a.allowFromDm?Fe=t[80]:(Fe=(0,Q.jsx)(J,{children:a.allowFromDm}),t[79]=a.allowFromDm,t[80]=Fe);let Ie;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=A(q(),`min-h-[2.75rem] resize-y font-mono text-xs`),t[81]=Ie):Ie=t[81];let Le;t[82]===L.allowFrom?Le=t[83]:(Le=ae(L.allowFrom),t[82]=L.allowFrom,t[83]=Le);let Re;t[84]===u?Re=t[85]:(Re=e=>u({allowFrom:se(e.target.value)}),t[84]=u,t[85]=Re);let Be;t[86]!==Le||t[87]!==Re?(Be=(0,Q.jsx)(`textarea`,{className:Ie,rows:2,placeholder:`123456789, 987654321`,value:Le,onChange:Re}),t[86]=Le,t[87]=Re,t[88]=Be):Be=t[88];let Ve;t[89]===a.allowFromDmDesc?Ve=t[90]:(Ve=(0,Q.jsx)(le,{children:a.allowFromDmDesc}),t[89]=a.allowFromDmDesc,t[90]=Ve);let He;t[91]!==Fe||t[92]!==Be||t[93]!==Ve?(He=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[Fe,Be,Ve]}),t[91]=Fe,t[92]=Be,t[93]=Ve,t[94]=He):He=t[94];let We;t[95]===L?We=t[96]:(We=Ee(L),t[95]=L,t[96]=We);let Ge;t[97]===C?.items?Ge=t[98]:(Ge=C?.items??[],t[97]=C?.items,t[98]=Ge);let Ke;t[99]===d?Ke=t[100]:(Ke=(e,t)=>d(`telegram`,e,t),t[99]=d,t[100]=Ke);let qe;t[101]!==a||t[102]!==o.channelAgentRoutes.telegram||t[103]!==o.defaultAgentId||t[104]!==T||t[105]!==We||t[106]!==Ge||t[107]!==Ke?(qe=(0,Q.jsx)(Ue,{accountIds:We,routes:o.channelAgentRoutes.telegram,defaultAgentId:o.defaultAgentId,agentItems:Ge,disabled:T,onChange:Ke,ch:a}),t[101]=a,t[102]=o.channelAgentRoutes.telegram,t[103]=o.defaultAgentId,t[104]=T,t[105]=We,t[106]=Ge,t[107]=Ke,t[108]=qe):qe=t[108];let Je;t[109]===l?Je=t[110]:(Je=()=>l(wt),t[109]=l,t[110]=Je);let Ye=c&&`rotate-180`,Ze;t[111]===Ye?Ze=t[112]:(Ze=A(`mr-1 size-4 transition-transform`,Ye),t[111]=Ye,t[112]=Ze);let Qe;t[113]===Ze?Qe=t[114]:(Qe=(0,Q.jsx)(g,{className:Ze}),t[113]=Ze,t[114]=Qe);let $e=c?a.advancedHide:a.advancedShow,et;t[115]!==Je||t[116]!==Qe||t[117]!==$e?(et=(0,Q.jsxs)(H,{type:`button`,variant:`ghost`,className:`-ml-2 h-auto justify-start px-2 py-1 text-sm text-fg-muted hover:text-fg`,onClick:Je,children:[Qe,$e]}),t[115]=Je,t[116]=Qe,t[117]=$e,t[118]=et):et=t[118];let tt;t[119]!==a||t[120]!==v||t[121]!==h||t[122]!==x||t[123]!==S||t[124]!==y||t[125]!==p||t[126]!==b||t[127]!==L||t[128]!==f||t[129]!==m||t[130]!==c||t[131]!==u?(tt=c?(0,Q.jsx)(St,{tg:L,updateTelegram:u,ch:a,groupOpts:v,replyOpts:y,streamOpts:b,reactionLevelOpts:x,reactionNotifyOpts:S,tgAccountsDraft:f,setTgAccountsDraft:p,tgAccountsError:m,onTgAccountsBlur:h}):null,t[119]=a,t[120]=v,t[121]=h,t[122]=x,t[123]=S,t[124]=y,t[125]=p,t[126]=b,t[127]=L,t[128]=f,t[129]=m,t[130]=c,t[131]=u,t[132]=tt):tt=t[132];let nt;t[133]!==ke||t[134]!==Me||t[135]!==Pe||t[136]!==$||t[137]!==He||t[138]!==qe||t[139]!==et||t[140]!==tt?(nt=(0,Q.jsxs)(`div`,{className:`mt-6 space-y-4`,children:[ke,Me,Pe,$,He,qe,et,tt]}),t[133]=ke,t[134]=Me,t[135]=Pe,t[136]=$,t[137]=He,t[138]=qe,t[139]=et,t[140]=tt,t[141]=nt):nt=t[141];let rt;return t[142]!==a.modalCancel||t[143]!==a.telegramSubtitle||t[144]!==a.telegramTitle||t[145]!==r||t[146]!==n||t[147]!==P||t[148]!==me||t[149]!==_e||t[150]!==xe||t[151]!==nt?(rt=(0,Q.jsxs)(ze,{presentation:P,open:n,onOpenChange:r,title:oe,description:ue,srTitle:de,srDescription:fe,closeAriaLabel:pe,wide:!0,headerExtra:me,footer:_e,children:[xe,nt]}),t[142]=a.modalCancel,t[143]=a.telegramSubtitle,t[144]=a.telegramTitle,t[145]=r,t[146]=n,t[147]=P,t[148]=me,t[149]=_e,t[150]=xe,t[151]=nt,t[152]=rt):rt=t[152],rt}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 u(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,Z.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=Ee(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=De(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=ue(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`?ie(o):t===`weixin`?K(s):oe(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 R(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,Z.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,X.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,Z.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,ve,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,Z.c)(25),{hasToken:n,form:r,ch:i}=e,{data:a,mutate:o}=j(n),{entries:c,mutate:l}=Nt(n,i),u;t[0]===n?u=t[1]:(u=n?Y():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,be,d),m;t[3]===f?m=t[4]:(m=f===void 0?[]:f,t[3]=f,t[4]=m);let h=m,g;t[5]===p?g=t[6]:(g=e=>{let t=Xt(e);if(t){p(t,{revalidate:!1});return}p()},t[5]=p,t[6]=g),Qt(g,n);let{summary:_,refresh:v}=en(n),y;t[7]===c?y=t[8]:(y=c.map(rn),t[7]=c,t[8]=y);let b=y,x=a?.payload?.config,S;bb0:{if(!r||b.length===0){let e;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[9]=e):e=t[9],S=e;break bb0}let e;t[10]!==b||t[11]!==i||t[12]!==x||t[13]!==r||t[14]!==_||t[15]!==h?(e=Jt({catalogIds:b,form:r,config:x,statuses:h,pairingSummary:_,ch:i}),t[10]=b,t[11]=i,t[12]=x,t[13]=r,t[14]=_,t[15]=h,t[16]=e):e=t[16],S=e}let C=S,w;t[17]!==l||t[18]!==o||t[19]!==p||t[20]!==v?(w=()=>{p(),l(),o(),v()},t[17]=l,t[18]=o,t[19]=p,t[20]=v,t[21]=w):w=t[21];let T=w,E;return t[22]!==C||t[23]!==T?(E={cards:C,refreshAll:T},t[22]=C,t[23]=T,t[24]=E):E=t[24],E}function rn(e){return e.id}var an={form:null,baseline:null,tgAccountsDraft:``,tgAccountsError:``,wxAccountsDraft:``,wxAccountsError:``,feishuAccountsDraft:``,feishuAccountsError:``};function on(e){return{tgAccountsDraft:JSON.stringify(e.telegram.accounts??{},null,2),tgAccountsError:``,wxAccountsDraft:JSON.stringify(e.weixin.accounts??{},null,2),wxAccountsError:``,feishuAccountsDraft:JSON.stringify(e.feishu?.accounts??{},null,2),feishuAccountsError:``}}function sn(e,t){switch(t.type){case`reset`:return an;case`load`:{let e=structuredClone(t.payload);return{form:e,baseline:structuredClone(e),...on(e)}}case`commitSaved`:{let e=structuredClone(t.payload);return{form:e,baseline:structuredClone(e),...on(e)}}case`discard`:{if(!e.baseline)return e;let t=structuredClone(e.baseline);return{form:t,baseline:e.baseline,...on(t)}}case`updateTelegram`:return e.form?{...e,form:{...e.form,telegram:{...e.form.telegram,...t.patch}}}:e;case`updateWeixin`:return e.form?{...e,form:{...e.form,weixin:{...e.form.weixin,...t.patch}}}:e;case`updateFeishu`:return e.form?{...e,form:{...e.form,feishu:{...e.form.feishu,...t.patch}}}:e;case`updateChannelAgentRoute`:{if(!e.form)return e;let n=t.channel===`telegram`?`telegram`:t.channel===`weixin`?`weixin`:`feishu`;return{...e,form:{...e.form,channelAgentRoutes:{...e.form.channelAgentRoutes,[n]:{...e.form.channelAgentRoutes[n],[t.accountId]:t.agentId.trim().toLowerCase()}}}}}case`setTgAccountsDraft`:return{...e,tgAccountsDraft:t.value};case`setWxAccountsDraft`:return{...e,wxAccountsDraft:t.value};case`setFeishuAccountsDraft`:return{...e,feishuAccountsDraft:t.value};case`setTgAccountsError`:return{...e,tgAccountsError:t.value};case`setWxAccountsError`:return{...e,wxAccountsError:t.value};case`setFeishuAccountsError`:return{...e,feishuAccountsError:t.value};case`applyTgAccounts`:return e.form?{...e,form:{...e.form,telegram:{...e.form.telegram,accounts:t.accounts}},tgAccountsError:``}:e;case`applyWxAccounts`:return e.form?{...e,form:{...e.form,weixin:{...e.form.weixin,accounts:t.accounts}},wxAccountsError:``}:e;case`applyFeishuAccounts`:return e.form?{...e,form:{...e.form,feishu:{...e.form.feishu,accounts:t.accounts}},feishuAccountsError:``}:e;case`restoreForm`:return{...e,form:structuredClone(t.payload)}}}function cn(){let e=i(e=>e.language),t=a(e),n=t.channelsSettings,r=!!l(e=>e.token),o=(0,X.useRef)(!1),[c,u]=(0,X.useReducer)(sn,an),[d,f]=(0,X.useState)({hasToken:r,parsed:null}),[p,m]=(0,X.useState)(!1),[h,g]=(0,X.useState)(null),[_,v]=(0,X.useState)(!1),[y,x]=(0,X.useState)(null),[S,C]=(0,X.useState)(null),[w,T]=(0,X.useState)(!1),[E,D]=(0,X.useState)(!1),[O,A]=(0,X.useState)(!1),[M,N]=(0,X.useState)(!1),[P,F]=(0,X.useState)(!1),[I,L]=(0,X.useState)(!1),[R,z]=(0,X.useState)(!1),{data:B}=s(r?`gateway-chat-agents-ch`:null,k,{revalidateOnFocus:!1}),{data:V,error:ee,isLoading:te,mutate:ne}=j(r),H=(0,X.useMemo)(()=>V?.payload?.config===void 0?null:ye(V.payload.config),[V]);(r!==d.hasToken||H!==d.parsed)&&(f({hasToken:r,parsed:H}),r?H!==null&&!o.current&&(u({type:`load`,payload:H}),v(!1)):(o.current=!1,u({type:`reset`}),v(!1)));let{form:U,baseline:W,tgAccountsDraft:G,tgAccountsError:K,wxAccountsDraft:ie,wxAccountsError:ae,feishuAccountsDraft:oe,feishuAccountsError:se}=c,q=(0,X.useMemo)(()=>!U||!W?!1:JSON.stringify(U)!==JSON.stringify(W),[U,W]),J=!!(r&&te&&V===void 0&&!ee),ce=ee instanceof Error?ee.message:ee?String(ee):null,le=(0,X.useCallback)((e,t,n)=>{o.current=!0,u({type:`updateChannelAgentRoute`,channel:e,accountId:t,agentId:n})},[]),ue=(0,X.useCallback)(e=>{o.current=!0,u({type:`updateTelegram`,patch:e})},[]),de=(0,X.useCallback)(e=>{o.current=!0,u({type:`updateWeixin`,patch:e})},[]),fe=(0,X.useCallback)(e=>{o.current=!0,u({type:`updateFeishu`,patch:e})},[]),pe=(0,X.useCallback)(async()=>{if(!U||p)return!1;m(!0),g(null),v(!1);try{let e=await ge(U);return o.current=!1,u({type:`commitSaved`,payload:e}),v(!0),window.setTimeout(()=>v(!1),2500),!0}catch(e){return g(e instanceof Error?e.message:n.saveError),!1}finally{m(!1)}},[U,p,n.saveError]),me=(0,X.useCallback)(()=>{W&&(o.current=!1,u({type:`discard`}),g(null),v(!1))},[W]),he=(0,X.useCallback)(async(e,t)=>{if(!U||p)return;let r=U,i=e===`weixin`?{...U,weixin:{...U.weixin,enabled:t}}:e===`telegram`?{...U,telegram:{...U.telegram,enabled:t}}:{...U,feishu:{...U.feishu,enabled:t}};o.current=!0,u(e===`weixin`?{type:`updateWeixin`,patch:{enabled:t}}:e===`telegram`?{type:`updateTelegram`,patch:{enabled:t}}:{type:`updateFeishu`,patch:{enabled:t}}),m(!0),g(null);try{let e=await ge(i);o.current=!1,u({type:`commitSaved`,payload:e})}catch(e){g(e instanceof Error?e.message:n.saveError),o.current=!0,u({type:`restoreForm`,payload:r})}finally{m(!1)}},[U,p,n.saveError]),_e=(0,X.useCallback)(async()=>{let e=U?re(U.telegram):``;e&&await b(e)&&(F(!0),window.setTimeout(()=>F(!1),2e3))},[U]),ve=(0,X.useCallback)(e=>{fe({appId:e.appId,domain:e.domain,enabled:!0}),ne(),C(n.feishuQrSetupSuccess),window.setTimeout(()=>C(null),4e3)},[fe,ne,n.feishuQrSetupSuccess]),be=(0,X.useCallback)(async()=>{let e=U?.feishu?.appSecret;e&&await b(e)&&(L(!0),window.setTimeout(()=>L(!1),2e3))},[U]),xe=(0,X.useCallback)(async()=>{let e=U?.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 b(JSON.stringify(t,null,2))&&(z(!0),window.setTimeout(()=>z(!1),2e3))},[U]);return{language:e,m:t,ch:n,hasToken:r,loading:J,fetchError:ce,mutate:ne,form:U,baseline:W,dirty:q,saving:p,error:h,saveOk:_,weixinSuccessBanner:y,setWeixinSuccessBanner:x,feishuSetupSuccessBanner:S,tgAdvanced:w,setTgAdvanced:T,showToken:E,setShowToken:D,showFeishuSecret:O,setShowFeishuSecret:A,showFeishuWebhookSecrets:M,setShowFeishuWebhookSecrets:N,copied:P,feishuCopied:I,feishuWebhookCopied:R,tgAccountsDraft:G,setTgAccountsDraft:(0,X.useCallback)(e=>{u({type:`setTgAccountsDraft`,value:e})},[]),tgAccountsError:K,wxAccountsDraft:ie,setWxAccountsDraft:(0,X.useCallback)(e=>{u({type:`setWxAccountsDraft`,value:e})},[]),wxAccountsError:ae,feishuAccountsDraft:oe,setFeishuAccountsDraft:(0,X.useCallback)(e=>{u({type:`setFeishuAccountsDraft`,value:e})},[]),feishuAccountsError:se,chatAgents:B,updateChannelAgentRoute:le,updateTelegram:ue,updateWeixin:de,updateFeishu:fe,save:pe,discard:me,toggleChannelEnabled:he,copyToken:_e,handleFeishuQrSetupSuccess:ve,copyFeishuSecret:be,copyFeishuWebhookConfig:xe,onTgAccountsBlur:(0,X.useCallback)(()=>{if(!U)return;let e=G.trim();if(!e){o.current=!0,u({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,u({type:`applyTgAccounts`,accounts:t})}catch(e){u({type:`setTgAccountsError`,value:e instanceof Error?e.message:n.jsonInvalid})}},[U,G,n.jsonObjectAccounts,n.jsonInvalid]),onWxAccountsBlur:(0,X.useCallback)(()=>{if(!U)return;let e=ie.trim();if(!e){o.current=!0,u({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,u({type:`applyWxAccounts`,accounts:t})}catch(e){u({type:`setWxAccountsError`,value:e instanceof Error?e.message:n.jsonInvalid})}},[U,ie,n.jsonObjectAccounts,n.jsonInvalid]),onFeishuAccountsBlur:(0,X.useCallback)(()=>{if(!U)return;let e=oe.trim();if(!e){o.current=!0,u({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,u({type:`applyFeishuAccounts`,accounts:t})}catch(e){u({type:`setFeishuAccountsError`,value:e instanceof Error?e.message:n.jsonInvalid})}},[U,oe,n.jsonObjectAccounts,n.jsonInvalid]),dmOpts:(0,X.useMemo)(()=>[`pairing`,`allowlist`,`open`,`disabled`].map(e=>({value:e,label:n.policy.dm[e]})),[n.policy.dm]),groupOpts:(0,X.useMemo)(()=>[`open`,`disabled`,`allowlist`].map(e=>({value:e,label:n.policy.group[e]})),[n.policy.group]),replyOpts:(0,X.useMemo)(()=>[`off`,`first`,`all`].map(e=>({value:e,label:n.policy.reply[e]})),[n.policy.reply]),streamOpts:(0,X.useMemo)(()=>[`off`,`partial`,`block`].map(e=>({value:e,label:n.policy.stream[e]})),[n.policy.stream]),reactionLevelOpts:(0,X.useMemo)(()=>[`off`,`ack`,`minimal`,`extensive`].map(e=>({value:e,label:n.telegramReactionLevelOptions[e]})),[n.telegramReactionLevelOptions]),reactionNotifyOpts:(0,X.useMemo)(()=>[`off`,`own`,`all`].map(e=>({value:e,label:n.telegramReactionNotifyOptions[e]})),[n.telegramReactionNotifyOptions])}}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,X.useState)(0),[s,c]=(0,X.useState)(null),[l,u]=(0,X.useState)(null),d=(0,X.useRef)(t),f=(0,X.useRef)(n);d.current=t,f.current=n;let p=x(()=>me().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,X.useCallback)(()=>{u(null),c(null),o(e=>e+1)},[]);(0,X.useEffect)(()=>{if(!m)return;let t=!1,n,i=async()=>{try{let i=await Se(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=x(()=>mt.toDataURL(h,ln),[h],{enabled:!!h,initial:null,errorData:null}),S=b.data,C=b.error!==null&&!b.loading,w=!!(h&&m),T=!v&&!w;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`text-center`,children:[(0,Q.jsx)(`p`,{className:`text-base font-semibold tracking-tight text-fg`,children:e.weixinQrModalTitle}),(0,Q.jsx)(`p`,{className:`mt-1.5 text-sm text-fg-muted`,children:e.weixinQrModalSubtitle})]}),(0,Q.jsxs)(`div`,{className:`mt-6 flex min-h-[17.5rem] flex-col items-center justify-center gap-3`,children:[v?(0,Q.jsx)(`p`,{className:`text-center text-sm text-red-600 dark:text-red-400`,children:v}):null,!v&&(w||T)?(0,Q.jsxs)(`div`,{className:`flex w-full flex-col items-center gap-3`,children:[(0,Q.jsx)(`p`,{className:A(`min-h-[1.25rem] text-center text-sm`,s&&!T?`text-accent`:`text-fg-muted`),children:T?e.weixinQrLoginBusy:s??`\xA0`}),(0,Q.jsxs)(`div`,{className:A(`relative flex size-52 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-edge-subtle bg-white p-3 dark:border-edge`,T&&`bg-surface-muted/40 dark:bg-surface-base`),children:[T?(0,Q.jsx)(`div`,{className:`absolute inset-3 animate-pulse rounded-md bg-surface-muted dark:bg-surface-hover`,"aria-hidden":!0}):null,w&&h&&!v&&S&&!C?(0,Q.jsx)(`img`,{src:S,alt:``,className:`relative z-[1] size-full object-contain`}):null,w&&h&&!v&&!S&&!C&&!T?(0,Q.jsx)(`p`,{className:`relative z-[1] px-2 text-center text-sm text-fg-muted`,children:e.weixinQrEncoding}):null,w&&h&&!v&&C?(0,Q.jsxs)(`div`,{className:`relative z-[1] flex size-full flex-col items-center justify-center gap-2 px-1`,children:[(0,Q.jsx)(`p`,{className:`text-center text-xs text-fg-muted`,children:e.weixinQrImageError}),(0,Q.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,Q.jsx)(F,{className:`size-3 shrink-0`}),e.weixinQrOpenLink]})]}):null]})]}):null]}),(0,Q.jsx)(`div`,{className:`mt-6`,children:(0,Q.jsx)(H,{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,Q.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,Z.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,Q.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,Q.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,Q.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,Z.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,Q.jsx)(J,{children:i.weixinAllowFrom}),t[0]=i.weixinAllowFrom,t[1]=h);let g;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g=A(q(),`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,Q.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,Q.jsx)(le,{children:i.weixinAllowFromDesc}),t[10]=i.weixinAllowFromDesc,t[11]=b);let x;t[12]!==h||t[13]!==y||t[14]!==b?(x=(0,Q.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,Q.jsx)(ce,{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,Q.jsx)(J,{children:i.historyLimit}),t[23]=i.historyLimit,t[24]=w);let T;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(T=q(),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,Q.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,Q.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,Q.jsx)(J,{children:i.textChunkLimit}),t[34]=i.textChunkLimit,t[35]=k);let j;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(j=q(),t[36]=j):j=t[36];let M;t[37]===r?M=t[38]:(M=e=>r({textChunkLimit:parseInt(e.target.value,10)||4e3}),t[37]=r,t[38]=M);let N;t[39]!==M||t[40]!==n.textChunkLimit?(N=(0,Q.jsx)(`input`,{type:`number`,min:1e3,max:1e4,step:100,className:j,value:n.textChunkLimit,onChange:M}),t[39]=M,t[40]=n.textChunkLimit,t[41]=N):N=t[41];let P;t[42]!==k||t[43]!==N?(P=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[k,N]}),t[42]=k,t[43]=N,t[44]=P):P=t[44];let F;t[45]!==O||t[46]!==P?(F=(0,Q.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[O,P]}),t[45]=O,t[46]=P,t[47]=F):F=t[47];let I;t[48]===i.weixinRouteTag?I=t[49]:(I=(0,Q.jsx)(J,{children:i.weixinRouteTag}),t[48]=i.weixinRouteTag,t[49]=I);let L;t[50]===Symbol.for(`react.memo_cache_sentinel`)?(L=q(),t[50]=L):L=t[50];let R;t[51]===r?R=t[52]:(R=e=>r({routeTag:e.target.value}),t[51]=r,t[52]=R);let z;t[53]!==i.routeTagPlaceholder||t[54]!==R||t[55]!==n.routeTag?(z=(0,Q.jsx)(`input`,{className:L,value:n.routeTag,onChange:R,placeholder:i.routeTagPlaceholder}),t[53]=i.routeTagPlaceholder,t[54]=R,t[55]=n.routeTag,t[56]=z):z=t[56];let B;t[57]===i.weixinRouteTagDesc?B=t[58]:(B=(0,Q.jsx)(le,{children:i.weixinRouteTagDesc}),t[57]=i.weixinRouteTagDesc,t[58]=B);let V;t[59]!==I||t[60]!==z||t[61]!==B?(V=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[I,z,B]}),t[59]=I,t[60]=z,t[61]=B,t[62]=V):V=t[62];let ee;t[63]===r?ee=t[64]:(ee=e=>r({debug:e.target.checked}),t[63]=r,t[64]=ee);let te;t[65]!==ee||t[66]!==n.debug?(te=(0,Q.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:n.debug,onChange:ee}),t[65]=ee,t[66]=n.debug,t[67]=te):te=t[67];let ne;t[68]!==i.weixinDebug||t[69]!==te?(ne=(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 text-sm text-fg`,children:[te,i.weixinDebug]}),t[68]=i.weixinDebug,t[69]=te,t[70]=ne):ne=t[70];let H;t[71]===i.weixinDebugDesc?H=t[72]:(H=(0,Q.jsx)(le,{children:i.weixinDebugDesc}),t[71]=i.weixinDebugDesc,t[72]=H);let U;t[73]===i.weixinAccountsJson?U=t[74]:(U=(0,Q.jsx)(J,{children:i.weixinAccountsJson}),t[73]=i.weixinAccountsJson,t[74]=U);let W;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(W=A(q(),`min-h-[140px] resize-y font-mono text-xs`),t[75]=W):W=t[75];let G;t[76]===s?G=t[77]:(G=e=>s(e.target.value),t[76]=s,t[77]=G);let K;t[78]!==l||t[79]!==G||t[80]!==o?(K=(0,Q.jsx)(`textarea`,{className:W,spellCheck:!1,value:o,onChange:G,onBlur:l,placeholder:`{ "personal": { "name": "...", "cdnBaseUrl": "...", "enabled": true } }`}),t[78]=l,t[79]=G,t[80]=o,t[81]=K):K=t[81];let re;t[82]!==i.weixinAccountsJsonDesc||t[83]!==c?(re=c?(0,Q.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,children:c}):(0,Q.jsx)(le,{children:i.weixinAccountsJsonDesc}),t[82]=i.weixinAccountsJsonDesc,t[83]=c,t[84]=re):re=t[84];let ie;t[85]!==U||t[86]!==K||t[87]!==re?(ie=(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[U,K,re]}),t[85]=U,t[86]=K,t[87]=re,t[88]=ie):ie=t[88];let ae;t[89]===n?ae=t[90]:(ae=De(n),t[89]=n,t[90]=ae);let oe;t[91]!==f||t[92]!==i||t[93]!==u||t[94]!==d||t[95]!==p||t[96]!==m||t[97]!==ae?(oe=(0,Q.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]=oe):oe=t[98];let se;return t[99]!==F||t[100]!==V||t[101]!==ne||t[102]!==H||t[103]!==ie||t[104]!==oe||t[105]!==x||t[106]!==C?(se=(0,Q.jsxs)(`div`,{className:`space-y-4 border-t border-edge-subtle pt-4 dark:border-edge`,children:[x,C,F,V,ne,H,ie,oe]}),t[99]=F,t[100]=V,t[101]=ne,t[102]=H,t[103]=ie,t[104]=oe,t[105]=x,t[106]=C,t[107]=se):se=t[107],se}function mn(e){let t=e.trim();return t?[t]:[]}function hn(e){let t=(0,Z.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:_,pairingFocus:v}=e,y=v===void 0?!1:v,b;t[0]===r?b=t[1]:(b=De(r),t[0]=r,t[1]=b);let x=b,S;t[2]===x?S=t[3]:(S=x.length>0?x:[`default`],t[2]=x,t[3]=S);let C=S,w=(0,X.useRef)(null),T,E;t[4]===y?(T=t[5],E=t[6]):(T=()=>{if(!y)return;let e=w.current;e&&(e.open=!0);let t=window.setTimeout(gn,80);return()=>window.clearTimeout(t)},E=[y],t[4]=y,t[5]=T,t[6]=E),(0,X.useEffect)(T,E);let D;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Q.jsx)(g,{className:`size-4 shrink-0 text-fg-muted transition-transform group-open:rotate-180`}),t[7]=D):D=t[7];let O;t[8]===n.advancedShow?O=t[9]:(O=(0,Q.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,Q.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[D,n.advancedShow]})}),t[8]=n.advancedShow,t[9]=O);let k;t[10]===n.weixinAdvancedHint?k=t[11]:(k=(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-fg-muted`,children:n.weixinAdvancedHint}),t[10]=n.weixinAdvancedHint,t[11]=k);let A;t[12]===i?A=t[13]:(A=e=>i({enabled:e.target.checked}),t[12]=i,t[13]=A);let j;t[14]!==A||t[15]!==r.enabled?(j=(0,Q.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox mt-0.5`,checked:r.enabled,onChange:A}),t[14]=A,t[15]=r.enabled,t[16]=j):j=t[16];let M;t[17]===n.enableWeixinAria?M=t[18]:(M=(0,Q.jsx)(`span`,{children:n.enableWeixinAria}),t[17]=n.enableWeixinAria,t[18]=M);let N;t[19]!==j||t[20]!==M?(N=(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 text-sm text-fg`,children:[j,M]}),t[19]=j,t[20]=M,t[21]=N):N=t[21];let P;t[22]===i?P=t[23]:(P=e=>i({dmPolicy:e}),t[22]=i,t[23]=P);let F;t[24]!==n.dmPolicy||t[25]!==a||t[26]!==P||t[27]!==r.dmPolicy?(F=(0,Q.jsx)(ce,{label:n.dmPolicy,value:r.dmPolicy,onChange:P,options:a}),t[24]=n.dmPolicy,t[25]=a,t[26]=P,t[27]=r.dmPolicy,t[28]=F):F=t[28];let I;t[29]!==n||t[30]!==_||t[31]!==h||t[32]!==C||t[33]!==r?(I=(0,Q.jsx)(lt,{channel:`weixin`,accountIds:C,channelConfig:r,active:_,ch:n,language:h}),t[29]=n,t[30]=_,t[31]=h,t[32]=C,t[33]=r,t[34]=I):I=t[34];let L;t[35]===f?.items?L=t[36]:(L=f?.items??[],t[35]=f?.items,t[36]=L);let R;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]!==L||t[46]!==i||t[47]!==r||t[48]!==s||t[49]!==l?(R=(0,Q.jsx)(`div`,{className:`[&>div]:border-0 [&>div]:pt-0`,children:(0,Q.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:L,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]=L,t[46]=i,t[47]=r,t[48]=s,t[49]=l,t[50]=R):R=t[50];let z;t[51]!==N||t[52]!==F||t[53]!==I||t[54]!==R||t[55]!==k?(z=(0,Q.jsxs)(`div`,{className:`space-y-4 border-t border-edge-subtle px-3 pb-3 pt-3 dark:border-edge-subtle`,children:[k,N,F,I,R]}),t[51]=N,t[52]=F,t[53]=I,t[54]=R,t[55]=k,t[56]=z):z=t[56];let B;return t[57]!==z||t[58]!==O?(B=(0,Q.jsxs)(`details`,{ref:w,className:`group rounded-xl border border-edge-subtle bg-surface-base open:pb-3 dark:border-edge`,children:[O,z]}),t[57]=z,t[58]=O,t[59]=B):B=t[59],B}function gn(){return it(`weixin`)}function _n(){let e=T(),{channelId:t}=y(),[n]=d(),{language:r,m:i,ch:a,hasToken:o,loading:s,fetchError:c,mutate:l,form:u,baseline:f,dirty:p,saving:m,error:h,saveOk:g,weixinSuccessBanner:_,setWeixinSuccessBanner:v,feishuSetupSuccessBanner:b,tgAdvanced:x,setTgAdvanced:S,showToken:w,setShowToken:E,showFeishuSecret:D,setShowFeishuSecret:O,showFeishuWebhookSecrets:k,setShowFeishuWebhookSecrets:A,copied:j,feishuCopied:N,feishuWebhookCopied:P,tgAccountsDraft:I,setTgAccountsDraft:L,tgAccountsError:z,wxAccountsDraft:B,setWxAccountsDraft:ee,wxAccountsError:te,feishuAccountsDraft:U,setFeishuAccountsDraft:W,feishuAccountsError:G,chatAgents:K,updateChannelAgentRoute:re,updateTelegram:ie,updateWeixin:ae,updateFeishu:oe,save:se,discard:q,toggleChannelEnabled:J,copyToken:ce,handleFeishuQrSetupSuccess:le,copyFeishuSecret:ue,copyFeishuWebhookConfig:de,onTgAccountsBlur:fe,onWxAccountsBlur:pe,onFeishuAccountsBlur:me,dmOpts:he,groupOpts:ge,replyOpts:_e,streamOpts:ve,reactionLevelOpts:ye,reactionNotifyOpts:be}=cn(),[xe,Se]=(0,X.useState)(!1),{entries:Ce}=Nt(o,a),we=(0,X.useMemo)(()=>new Map(Ce.map(e=>[e.id,e])),[Ce]),Y=V(t),Te=n.get(`pairing`)===`1`,Ee=!!(Y&&we.has(Y)),{cards:De,refreshAll:Z}=nn({hasToken:o,form:u,ch:a}),Oe=Y?we.get(Y):void 0,ke=Y?De.find(e=>e.id===Y):void 0;(0,X.useEffect)(()=>{!Y||Ce.length===0||we.has(Y)||e(M,{replace:!0})},[Y,we,Ce.length,e]);let Ae=(0,X.useCallback)((t,n)=>{e(ne(t,{pairing:n?.scrollToPairing}))},[e]),je=(0,X.useCallback)(()=>{e(M)},[e]),Me=(0,X.useCallback)(e=>{e||je()},[je]),Pe=(0,X.useCallback)(async()=>{await l(),v(a.weixinQrLoginSuccess),window.setTimeout(()=>v(null),4e3)},[a.weixinQrLoginSuccess,l,v]),$=(0,X.useCallback)(async()=>{Se(!0);try{Z(),await l()}finally{Se(!1)}},[l,Z]);if(!o)return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(vn,{title:i.settingsSections.channels,hasToken:o,ch:a,refreshing:xe,saveOk:g,onRefresh:$}),(0,Q.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:[(0,Q.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:i.settingsSections.channels}),(0,Q.jsx)(`p`,{className:`text-sm text-fg-muted`,children:a.needToken})]})]});if(s)return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(vn,{title:i.settingsSections.channels,hasToken:o,ch:a,refreshing:xe,saveOk:g,onRefresh:$}),(0,Q.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-6 px-4 py-6`,children:[(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`div`,{className:`h-7 w-40 animate-pulse rounded-md bg-surface-hover motion-reduce:animate-none dark:bg-surface-active/50`}),(0,Q.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,Q.jsx)(Ie,{}),(0,Q.jsx)(`p`,{className:`text-sm text-fg-muted`,children:a.loading})]})]});if(!u)return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(vn,{title:i.settingsSections.channels,hasToken:o,ch:a,refreshing:xe,saveOk:g,onRefresh:$}),(0,Q.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:[(0,Q.jsx)(`p`,{className:`text-sm text-fg-muted`,children:h??c??a.loadError}),(0,Q.jsx)(H,{type:`button`,variant:`secondary`,onClick:()=>void l(),children:a.retry})]})]});let Fe=u.weixin,Le=Te&&Y===`weixin`,Re=Te&&Y===`feishu`,ze=(0,Q.jsx)(hn,{ch:a,wx:Fe,updateWeixin:ae,dmOpts:he,streamOpts:ve,wxAccountsDraft:B,setWxAccountsDraft:ee,wxAccountsError:te,onWxAccountsBlur:pe,form:u,chatAgents:K,onAgentRouteChange:(e,t)=>re(`weixin`,e,t),saving:m,language:r,dialogOpen:Ee&&Y===`weixin`,pairingFocus:Le}),Be=(0,Q.jsx)(ut,{ch:a,form:u,baseline:f,showFeishuSecret:D,setShowFeishuSecret:O,showFeishuWebhookSecrets:k,setShowFeishuWebhookSecrets:A,feishuCopied:N,feishuWebhookCopied:P,copyFeishuSecret:ue,copyFeishuWebhookConfig:de,updateFeishu:oe,updateChannelAgentRoute:re,feishuAccountsDraft:U,setFeishuAccountsDraft:W,feishuAccountsError:G,onFeishuAccountsBlur:me,dmOpts:he,groupOpts:ge,chatAgents:K,saving:m,language:r,dialogOpen:Ee&&Y===`feishu`,pairingFocus:Re});return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(vn,{title:i.settingsSections.channels,hasToken:o,ch:a,refreshing:xe,saveOk:g,onRefresh:$}),(0,Q.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-6 px-4 py-6`,children:[(0,Q.jsxs)(`a`,{href:C(r,`channels`),target:`_blank`,rel:`noreferrer`,className:`inline-flex w-fit 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,Q.jsx)(F,{className:`size-3.5`})]}),h?(0,Q.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:h}):null,_?(0,Q.jsx)(`p`,{className:`text-xs text-accent`,children:_}):null,b?(0,Q.jsx)(`div`,{className:`rounded-xl border border-success/30 bg-success-soft px-4 py-3 text-sm text-success`,children:b}):null,xe?(0,Q.jsx)(Ie,{count:Math.max(Ce.length,3)}):(0,Q.jsx)(Ne,{catalog:Ce,cards:De,ch:a,saving:m,onOpenChannel:Ae,onToggleChannel:(e,t)=>{R(e)&&J(e,t)}}),Y===`weixin`?(0,Q.jsx)(fn,{open:Ee,onOpenChange:Me,ch:a,onLoginSuccess:Pe,moreSettings:ze,settingsDirty:p,settingsSaving:m,onSettingsDiscard:q,onSettingsSave:se}):null,Y===`telegram`?(0,Q.jsx)(Ct,{open:Ee,onOpenChange:e=>{e||je()},ch:a,form:u,baseline:f,tgAdvanced:x,setTgAdvanced:S,showToken:w,setShowToken:E,copied:j,copyToken:ce,updateTelegram:ie,updateChannelAgentRoute:re,tgAccountsDraft:I,setTgAccountsDraft:L,tgAccountsError:z,onTgAccountsBlur:fe,dmOpts:he,groupOpts:ge,replyOpts:_e,streamOpts:ve,reactionLevelOpts:ye,reactionNotifyOpts:be,chatAgents:K,saving:m,dirty:p,save:se,discard:q,language:r,scrollToPairingOnOpen:Te,closeOnSave:!1}):null,Y===`feishu`?(0,Q.jsx)(yt,{open:Ee,onOpenChange:e=>{e||je()},ch:a,onSetupSuccess:le,moreSettings:Be,settingsDirty:p,settingsSaving:m,onSettingsDiscard:q,onSettingsSave:se}):null,Oe&&ke&&!Oe.manageable?(0,Q.jsx)(Ve,{open:Ee,onOpenChange:e=>{e||je()},entry:Oe,vm:ke,ch:a,language:r}):null]})]})}function vn(e){let t=(0,Z.c)(12),{title:n,hasToken:r,ch:i,refreshing:a,saveOk:o,onRefresh:s}=e,c=G(bn),l=G(yn),u;t[0]!==i||t[1]!==s||t[2]!==a||t[3]!==o?(u=(0,Q.jsx)(He,{ch:i,refreshing:a,saveOk:o,onRefresh:s}),t[0]=i,t[1]=s,t[2]=a,t[3]=o,t[4]=u):u=t[4];let d=u,f,p;return t[5]!==d||t[6]!==l||t[7]!==r||t[8]!==c||t[9]!==n?(f=()=>r?(c({startExtra:null,main:(0,Q.jsx)(`div`,{className:`min-w-0`,children:(0,Q.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:n})}),end:d}),()=>l()):(l(),()=>l()),p=[d,l,r,c,n],t[5]=d,t[6]=l,t[7]=r,t[8]=c,t[9]=n,t[10]=f,t[11]=p):(f=t[10],p=t[11]),(0,X.useLayoutEffect)(f,p),null}function yn(e){return e.clearPageHeader}function bn(e){return e.setPageHeader}export{_n as ChannelsSettingsPanel};
|