@xopcai/xopc 0.0.116 → 0.0.118
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -28
- package/README.zh-CN.md +63 -45
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/demo-memory/src/index.d.ts +6 -0
- package/dist/extensions/demo-memory/src/index.js +132 -0
- package/dist/extensions/demo-memory/src/index.js.map +1 -0
- package/dist/extensions/demo-memory/xopc.extension.json +15 -0
- package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
- package/dist/extensions/feishu/src/schema/config-schema.d.ts +3 -3
- package/dist/extensions/feishu/src/workflow-progress.js +1 -1
- package/dist/extensions/telegram/src/adapters/streaming-adapter.js +1 -1
- package/dist/extensions/telegram/src/command-handler.js +1 -2
- package/dist/extensions/telegram/src/command-handler.js.map +1 -1
- package/dist/extensions/telegram/src/config-schema.d.ts +8 -8
- package/dist/extensions/telegram/src/inbound-processor.js +1 -1
- package/dist/extensions/telegram/src/plugin.js +1 -1
- package/dist/extensions/telegram/src/routing-integration.js +2 -2
- package/dist/extensions/telegram/src/update-offset-store.js +1 -1
- package/dist/extensions/telegram/src/workflow-progress.js +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/extensions/weixin/src/api/api.js +2 -2
- package/dist/extensions/weixin/src/auth/accounts.js +1 -1
- package/dist/extensions/weixin/src/cdn/upload.js +1 -1
- package/dist/extensions/weixin/src/config-schema.d.ts +3 -3
- package/dist/extensions/weixin/src/media/data-url.js +1 -1
- package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
- package/dist/extensions/weixin/src/messaging/inbound.js +1 -1
- package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
- package/dist/extensions/weixin/src/plugin.js +1 -1
- package/dist/extensions/weixin/src/storage/sync-buf.js +1 -1
- package/dist/extensions/weixin/src/workflow-progress.js +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CWM1UU5P.js → agent-avatar-dicebear-dzUrQoeZ.js} +1 -1
- package/dist/gateway/static/root/assets/agents-BCxZbkOw.js +2 -0
- package/dist/gateway/static/root/assets/{app-management-settings-panel-yXSXY_bu.js → app-management-settings-panel-bxYJVJpx.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-DjY1P_ug.js → appearance-settings-BCIykXlI.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page--wMEL00f.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-CytE5j-e.js → archive-plugin-Cki4SfU2.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-BvvrN6rF.js → attachment-load-D-KnS2Do.js} +1 -1
- package/dist/gateway/static/root/assets/{binary-plugins-IBWSitnj.js → binary-plugins-D2sgvJja.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-C-wDpsf-.js → block-editor-DIq-4Gvb.js} +27 -27
- package/dist/gateway/static/root/assets/browser-settings-page-DRhKdn81.js +8 -0
- package/dist/gateway/static/root/assets/capability-presets-api-CorhiHlg.js +1 -0
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-qFx9Jtce.js +1 -0
- package/dist/gateway/static/root/assets/channels-settings-BAwAkqIA.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-BQLcfitM.js +2 -0
- package/dist/gateway/static/root/assets/cron-api-qGwmL-24.js +1 -0
- package/dist/gateway/static/root/assets/cron-page-BBWMAj8-.js +3 -0
- package/dist/gateway/static/root/assets/dreaming-settings-Dw89Obml.js +1 -0
- package/dist/gateway/static/root/assets/{extension-debug-page-BAIyjDlq.js → extension-debug-page-DYu1KaFQ.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-DEhv2GpC.js → extension-page-B3W6QwlZ.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-DOuAxTDW.js → extension-settings-page-D7VQ-cxE.js} +1 -1
- package/dist/gateway/static/root/assets/{fetch-CTsREQIe.js → fetch-B7xDPu-R.js} +1 -1
- package/dist/gateway/static/root/assets/{format-interval-label-D35Bfhtx.js → format-interval-label-BzxafKxR.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-config-api-BTBLSeUu.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-Cmwy58rS.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-C1KAHrd2.js → gateway-startup-retry-CYj9FWCp.js} +1 -1
- package/dist/gateway/static/root/assets/goal-detail-page-l7mu5GWX.js +1 -0
- package/dist/gateway/static/root/assets/{goals-config-api-KnLGpu6h.js → goals-config-api-CQQgzPr3.js} +1 -1
- package/dist/gateway/static/root/assets/goals-page-BHitvJAv.js +2 -0
- package/dist/gateway/static/root/assets/{goals-settings-DtPtqZi8.js → goals-settings-CYVY4NGp.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-config-api-uKw1f0IG.js → heartbeat-config-api-DriO_CN9.js} +1 -1
- package/dist/gateway/static/root/assets/heartbeat-settings-CUQTKxg7.js +1 -0
- package/dist/gateway/static/root/assets/index-C17Tsd_b.css +1 -0
- package/dist/gateway/static/root/assets/index-Cc41r16l.js +191 -0
- package/dist/gateway/static/root/assets/{interval-presets-Dq0FXJ65.js → interval-presets-DFPCKW_W.js} +1 -1
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-C9_t4m7t.js → keyboard-shortcuts-settings-CcVcqstx.js} +1 -1
- package/dist/gateway/static/root/assets/{logs-page-SNkWzidV.js → logs-page-C2Uqvae9.js} +2 -2
- package/dist/gateway/static/root/assets/{markdown-split-Ca87W8-h.js → markdown-split-BwOFrJ2E.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-BAcUjPRJ.js → media-plugins-Cnz6Q5G6.js} +1 -1
- package/dist/gateway/static/root/assets/messages-B1iSKjiw.js +3 -0
- package/dist/gateway/static/root/assets/models-hub-panel-BfLfcta8.js +2 -0
- package/dist/gateway/static/root/assets/note-detail-page-BjwOQBfT.js +2 -0
- package/dist/gateway/static/root/assets/{note-image-lightbox-hnSX5SSn.js → note-image-lightbox-B-Svpmza.js} +1 -1
- package/dist/gateway/static/root/assets/notes-page-DktdBiwB.js +1 -0
- package/dist/gateway/static/root/assets/{preview-open-alternatives-CNgM20H5.js → preview-open-alternatives-Bss4TiwP.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-rfVx96fq.js +1 -0
- package/dist/gateway/static/root/assets/{save-bar-controls-CcdjGcfT.js → save-bar-controls-BRNjdgKq.js} +1 -1
- package/dist/gateway/static/root/assets/{schedule-field-CYr39z76.js → schedule-field-CUCKODde.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-BRAJgZQ2.js → schema-form-Dub9sy8r.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-DbtMFuuH.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-5re5gAnP.js +1 -0
- package/dist/gateway/static/root/assets/{settings-collapsible-section-BhzjeGWi.js → settings-collapsible-section-BeFLavGi.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-form-section-Cz3Pcr9b.js → settings-form-section-dmyaPOTG.js} +1 -1
- package/dist/gateway/static/root/assets/settings-page-D-WMyLlj.js +1 -0
- package/dist/gateway/static/root/assets/setup-status-panel-Cl-DEJAU.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-DL4y9K5e.js → share-preview-page-C8glrdqe.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-CyPVvbLt.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-CleTH1oz.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-Ck8hdXqR.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel-FD2jxRZ3.js → system-settings-panel-DI-LN_8G.js} +1 -1
- package/dist/gateway/static/root/assets/typed-models-lib-kX9duch4.js +1 -0
- package/dist/gateway/static/root/assets/{use-channel-catalog-BInPrfR5.js → use-channel-catalog-DqlWTsDb.js} +1 -1
- package/dist/gateway/static/root/assets/user-profile-settings-panel-B-UFPMXy.js +1 -0
- package/dist/gateway/static/root/assets/utils-Dm0hKalR.js +1 -0
- package/dist/gateway/static/root/assets/voice-api-key-field-C73IVZeC.js +1 -0
- package/dist/gateway/static/root/assets/{voice-player-store-1U3vFppm.js → voice-player-store-C_ArLJPM.js} +1 -1
- package/dist/gateway/static/root/assets/workflows-page-BtFGp2y_.js +18 -0
- package/dist/gateway/static/root/index.html +5 -5
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.d.ts +1 -1
- package/dist/src/agent/agent-manager.js +14 -14
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/agent-scope.js +5 -9
- package/dist/src/agent/agent-scope.js.map +1 -1
- package/dist/src/agent/background-review/coordinator.js +0 -1
- package/dist/src/agent/background-review/coordinator.js.map +1 -1
- package/dist/src/agent/background-review/prompts.d.ts +2 -2
- package/dist/src/agent/background-review/prompts.js +2 -2
- package/dist/src/agent/background-review/prompts.js.map +1 -1
- package/dist/src/agent/background-review/run-background-review.d.ts +0 -2
- package/dist/src/agent/background-review/run-background-review.js +2 -4
- package/dist/src/agent/background-review/run-background-review.js.map +1 -1
- package/dist/src/agent/background-review/settings.d.ts +1 -1
- package/dist/src/agent/background-review/settings.js +8 -8
- package/dist/src/agent/background-review/settings.js.map +1 -1
- package/dist/src/agent/bootstrap/bootstrap-cache.d.ts +1 -0
- package/dist/src/agent/bootstrap/bootstrap-cache.js +4 -3
- package/dist/src/agent/bootstrap/bootstrap-cache.js.map +1 -1
- package/dist/src/agent/bootstrap/bootstrap-context.d.ts +2 -2
- package/dist/src/agent/bootstrap/bootstrap-context.js +4 -4
- package/dist/src/agent/bootstrap/bootstrap-context.js.map +1 -1
- package/dist/src/agent/bootstrap/bootstrap-files.d.ts +4 -0
- package/dist/src/agent/bootstrap/bootstrap-files.js +4 -3
- package/dist/src/agent/bootstrap/bootstrap-files.js.map +1 -1
- package/dist/src/agent/bootstrap/filter-bootstrap-files.js +4 -2
- package/dist/src/agent/bootstrap/filter-bootstrap-files.js.map +1 -1
- package/dist/src/agent/bootstrap/load-bootstrap-files.d.ts +2 -1
- package/dist/src/agent/bootstrap/load-bootstrap-files.js +18 -17
- package/dist/src/agent/bootstrap/load-bootstrap-files.js.map +1 -1
- package/dist/src/agent/bootstrap/project-agents-context.js +1 -1
- package/dist/src/agent/bootstrap/types.d.ts +1 -1
- package/dist/src/agent/context/workspace-seed.js +3 -3
- package/dist/src/agent/context/workspace-state.js +1 -1
- package/dist/src/agent/context/workspace-templates/AGENTS.md +1 -1
- package/dist/src/agent/context/workspace.d.ts +4 -2
- package/dist/src/agent/context/workspace.js +6 -5
- package/dist/src/agent/context/workspace.js.map +1 -1
- package/dist/src/agent/embedded/run-for-session.js +4 -1
- package/dist/src/agent/embedded/run-for-session.js.map +1 -1
- package/dist/src/agent/fallback/candidates.js +11 -9
- package/dist/src/agent/fallback/candidates.js.map +1 -1
- package/dist/src/agent/goals/goal-locale.js +2 -2
- package/dist/src/agent/goals/post-turn.js +3 -3
- package/dist/src/agent/image/generation/runtime-types.d.ts +2 -0
- package/dist/src/agent/image/generation/runtime.js +1 -1
- package/dist/src/agent/image/generation/runtime.js.map +1 -1
- package/dist/src/agent/image/image-helpers.d.ts +1 -1
- package/dist/src/agent/image/image-helpers.js +4 -17
- package/dist/src/agent/image/image-helpers.js.map +1 -1
- package/dist/src/agent/image/image-model-fallback.js +1 -1
- package/dist/src/agent/image/image-model-fallback.js.map +1 -1
- package/dist/src/agent/image/inbound-image-handling.js +1 -1
- package/dist/src/agent/image/inbound-image-handling.js.map +1 -1
- package/dist/src/agent/image/load-image-media.js +2 -2
- package/dist/src/agent/image/tool-model-config.d.ts +1 -1
- package/dist/src/agent/image/tool-model-config.js +2 -2
- package/dist/src/agent/image/tool-model-config.js.map +1 -1
- package/dist/src/agent/ipc/inbox.js +3 -3
- package/dist/src/agent/ipc/socket.js +1 -1
- package/dist/src/agent/mcp/bundle-mcp-materialize.js +1 -1
- package/dist/src/agent/mcp/bundle-mcp-runtime.js +1 -1
- package/dist/src/agent/mcp/mcp-transport-config.js +1 -1
- package/dist/src/agent/mcp/mcp-transport.js +1 -1
- package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js +1 -1
- package/dist/src/agent/mcp/resolve-embedded-mcp-tools.js.map +1 -1
- package/dist/src/agent/media-generation/runtime-shared.d.ts +5 -2
- package/dist/src/agent/media-generation/runtime-shared.js +1 -1
- package/dist/src/agent/media-generation/runtime-shared.js.map +1 -1
- package/dist/src/agent/memory/builtin-memory-store.d.ts +6 -2
- package/dist/src/agent/memory/builtin-memory-store.js +15 -6
- package/dist/src/agent/memory/builtin-memory-store.js.map +1 -1
- package/dist/src/agent/memory/builtin-provider.d.ts +31 -9
- package/dist/src/agent/memory/builtin-provider.js +290 -11
- package/dist/src/agent/memory/builtin-provider.js.map +1 -1
- package/dist/src/agent/memory/candidate-extractor.d.ts +6 -0
- package/dist/src/agent/memory/candidate-extractor.js +60 -0
- package/dist/src/agent/memory/candidate-extractor.js.map +1 -0
- package/dist/src/agent/memory/context-assembler.d.ts +10 -0
- package/dist/src/agent/memory/context-assembler.js +26 -0
- package/dist/src/agent/memory/context-assembler.js.map +1 -0
- package/dist/src/agent/memory/create-memory-manager.js +25 -7
- package/dist/src/agent/memory/create-memory-manager.js.map +1 -1
- package/dist/src/agent/memory/dreaming/config.d.ts +1 -6
- package/dist/src/agent/memory/dreaming/config.js +8 -8
- package/dist/src/agent/memory/dreaming/config.js.map +1 -1
- package/dist/src/agent/memory/dreaming/deep-promotion.d.ts +2 -0
- package/dist/src/agent/memory/dreaming/deep-promotion.js +25 -1
- package/dist/src/agent/memory/dreaming/deep-promotion.js.map +1 -1
- package/dist/src/agent/memory/dreaming/events.js +1 -1
- package/dist/src/agent/memory/dreaming/last-run.js +1 -1
- package/dist/src/agent/memory/dreaming/light-sweep.js +1 -1
- package/dist/src/agent/memory/dreaming/preview.js +1 -1
- package/dist/src/agent/memory/dreaming/rem-patterns.js +1 -1
- package/dist/src/agent/memory/dreaming/short-term-store.js +1 -1
- package/dist/src/agent/memory/dreaming/utils.js +1 -1
- package/dist/src/agent/memory/index.d.ts +1 -0
- package/dist/src/agent/memory/index.js +4 -3
- package/dist/src/agent/memory/inject-prefetch.js +6 -2
- package/dist/src/agent/memory/inject-prefetch.js.map +1 -1
- package/dist/src/agent/memory/manager.d.ts +39 -2
- package/dist/src/agent/memory/manager.js +355 -39
- package/dist/src/agent/memory/manager.js.map +1 -1
- package/dist/src/agent/memory/memory-config.js +15 -15
- package/dist/src/agent/memory/memory-config.js.map +1 -1
- package/dist/src/agent/memory/memory-flush.js +1 -1
- package/dist/src/agent/memory/plugin-discovery.d.ts +19 -5
- package/dist/src/agent/memory/plugin-discovery.js +97 -31
- package/dist/src/agent/memory/plugin-discovery.js.map +1 -1
- package/dist/src/agent/memory/prefetch-coordinator.js.map +1 -1
- package/dist/src/agent/memory/provider.d.ts +20 -15
- package/dist/src/agent/memory/stub-memory-provider.d.ts +17 -2
- package/dist/src/agent/memory/stub-memory-provider.js +20 -3
- package/dist/src/agent/memory/stub-memory-provider.js.map +1 -1
- package/dist/src/agent/memory/types.d.ts +162 -3
- package/dist/src/agent/models/manager.d.ts +1 -1
- package/dist/src/agent/models/manager.js +2 -2
- package/dist/src/agent/models/manager.js.map +1 -1
- package/dist/src/agent/orchestration/agent-orchestrator.d.ts +1 -1
- package/dist/src/agent/orchestration/agent-orchestrator.js +2 -1
- package/dist/src/agent/orchestration/agent-orchestrator.js.map +1 -1
- package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.d.ts +2 -2
- package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.js +1 -1
- package/dist/src/agent/orchestration/run-agent-turn-with-fallbacks.js.map +1 -1
- package/dist/src/agent/orchestration/run-agent-turn-with-timeout.d.ts +2 -6
- package/dist/src/agent/orchestration/run-agent-turn-with-timeout.js +2 -8
- package/dist/src/agent/orchestration/run-agent-turn-with-timeout.js.map +1 -1
- package/dist/src/agent/prompt/memory/index.d.ts +4 -2
- package/dist/src/agent/prompt/memory/index.js +19 -13
- package/dist/src/agent/prompt/memory/index.js.map +1 -1
- package/dist/src/agent/prompt/sections/memory-skills.js +1 -1
- package/dist/src/agent/prompt/sections/memory-skills.js.map +1 -1
- package/dist/src/agent/prompt/service-prompt-builder.js +5 -20
- package/dist/src/agent/prompt/service-prompt-builder.js.map +1 -1
- package/dist/src/agent/reply/post-compaction-context.js +10 -7
- package/dist/src/agent/reply/post-compaction-context.js.map +1 -1
- package/dist/src/agent/reply/startup-context.js +7 -12
- package/dist/src/agent/reply/startup-context.js.map +1 -1
- package/dist/src/agent/reply/workspace-boundary-read.js +1 -1
- package/dist/src/agent/sandbox/path-policy.js +2 -2
- package/dist/src/agent/service/process-direct-streaming.js +1 -4
- package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
- package/dist/src/agent/service/session-context-report.js +1 -1
- package/dist/src/agent/service/session-context-report.js.map +1 -1
- package/dist/src/agent/service.d.ts +3 -3
- package/dist/src/agent/service.js +30 -35
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/service.types.d.ts +1 -2
- package/dist/src/agent/session/session-hydrator.js +1 -2
- package/dist/src/agent/session/session-hydrator.js.map +1 -1
- package/dist/src/agent/session/session-inspector.d.ts +1 -1
- package/dist/src/agent/session/session-inspector.js +10 -15
- package/dist/src/agent/session/session-inspector.js.map +1 -1
- package/dist/src/agent/skills/config.js +2 -2
- package/dist/src/agent/skills/filesystem-watcher.js +1 -1
- package/dist/src/agent/skills/hub-hash.js +2 -2
- package/dist/src/agent/skills/hub-lock.js +1 -1
- package/dist/src/agent/skills/hub-pull.js +3 -3
- package/dist/src/agent/skills/index.js +2 -2
- package/dist/src/agent/skills/installer.js +2 -2
- package/dist/src/agent/skills/managed-store.js +1 -1
- package/dist/src/agent/skills/skill-manage-ops.js +1 -1
- package/dist/src/agent/skills/skill-manager.js +1 -1
- package/dist/src/agent/skills/skill-view-path.js +1 -1
- package/dist/src/agent/skills/test-framework.js +1 -1
- package/dist/src/agent/starter-agents.d.ts +1 -3
- package/dist/src/agent/starter-agents.js +14 -22
- package/dist/src/agent/starter-agents.js.map +1 -1
- package/dist/src/agent/tools/browser/tool/browser-use-tool.js +1 -2
- package/dist/src/agent/tools/browser/tool/browser-use-tool.js.map +1 -1
- package/dist/src/agent/tools/curated-memory-tool.d.ts +2 -5
- package/dist/src/agent/tools/curated-memory-tool.js +77 -18
- package/dist/src/agent/tools/curated-memory-tool.js.map +1 -1
- package/dist/src/agent/tools/dreaming-tool.js +1 -1
- package/dist/src/agent/tools/factory.d.ts +0 -4
- package/dist/src/agent/tools/factory.js +19 -58
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/find.js +1 -1
- package/dist/src/agent/tools/grep.js +1 -1
- package/dist/src/agent/tools/image-generate-tool.d.ts +1 -1
- package/dist/src/agent/tools/image-generate-tool.js +20 -15
- package/dist/src/agent/tools/image-generate-tool.js.map +1 -1
- package/dist/src/agent/tools/image-tool.js +1 -3
- package/dist/src/agent/tools/image-tool.js.map +1 -1
- package/dist/src/agent/tools/memory-tool.d.ts +2 -2
- package/dist/src/agent/tools/memory-tool.js +39 -14
- package/dist/src/agent/tools/memory-tool.js.map +1 -1
- package/dist/src/agent/tools/session-search-tool.js +1 -3
- package/dist/src/agent/tools/session-search-tool.js.map +1 -1
- package/dist/src/agent/tools/skill-manage-tool.js +1 -1
- package/dist/src/agent/tools/web-extract.js +8 -9
- package/dist/src/agent/tools/web-extract.js.map +1 -1
- package/dist/src/agent/tools/workflow-tool.js +1 -1
- package/dist/src/agent/workflow/catalog.js +1 -1
- package/dist/src/agent/workflow/subagent-runner.js +1 -3
- package/dist/src/agent/workflow/subagent-runner.js.map +1 -1
- package/dist/src/agent-manifest/index.d.ts +4 -0
- package/dist/src/agent-manifest/index.js +10 -0
- package/dist/src/agent-manifest/index.js.map +1 -0
- package/dist/src/agent-manifest/prompt.d.ts +2 -0
- package/dist/src/agent-manifest/prompt.js +57 -0
- package/dist/src/agent-manifest/prompt.js.map +1 -0
- package/dist/src/agent-manifest/resolver.d.ts +12 -0
- package/dist/src/agent-manifest/resolver.js +95 -0
- package/dist/src/agent-manifest/resolver.js.map +1 -0
- package/dist/src/agent-manifest/schema.d.ts +1010 -0
- package/dist/src/agent-manifest/schema.js +269 -0
- package/dist/src/agent-manifest/schema.js.map +1 -0
- package/dist/src/agent-manifest/validator.d.ts +25 -0
- package/dist/src/agent-manifest/validator.js +88 -0
- package/dist/src/agent-manifest/validator.js.map +1 -0
- package/dist/src/agent-runtime/boundary-guard.d.ts +12 -0
- package/dist/src/agent-runtime/boundary-guard.js +23 -0
- package/dist/src/agent-runtime/boundary-guard.js.map +1 -0
- package/dist/src/agent-runtime/index.d.ts +7 -0
- package/dist/src/agent-runtime/index.js +8 -0
- package/dist/src/agent-runtime/memory-runtime.d.ts +21 -0
- package/dist/src/agent-runtime/memory-runtime.js +50 -0
- package/dist/src/agent-runtime/memory-runtime.js.map +1 -0
- package/dist/src/agent-runtime/model-router.d.ts +11 -0
- package/dist/src/agent-runtime/model-router.js +16 -0
- package/dist/src/agent-runtime/model-router.js.map +1 -0
- package/dist/src/agent-runtime/run-trace.d.ts +27 -0
- package/dist/src/agent-runtime/run-trace.js +53 -0
- package/dist/src/agent-runtime/run-trace.js.map +1 -0
- package/dist/src/agent-runtime/runtime-profile.d.ts +24 -0
- package/dist/src/agent-runtime/runtime-profile.js +44 -0
- package/dist/src/agent-runtime/runtime-profile.js.map +1 -0
- package/dist/src/agent-runtime/tool-registry.d.ts +28 -0
- package/dist/src/agent-runtime/tool-registry.js +52 -0
- package/dist/src/agent-runtime/tool-registry.js.map +1 -0
- package/dist/src/agent-runtime/workflow-runtime.d.ts +31 -0
- package/dist/src/agent-runtime/workflow-runtime.js +34 -0
- package/dist/src/agent-runtime/workflow-runtime.js.map +1 -0
- package/dist/src/ai-assist/text-assist.js +1 -1
- package/dist/src/auth/credentials.js +2 -2
- package/dist/src/auth/profiles/store.js +2 -2
- package/dist/src/auth/sync-provider-auth.js +1 -1
- package/dist/src/browser/actions/extension-registry-bridge.js +1 -1
- package/dist/src/browser/actions/extension-registry-bridge.js.map +1 -1
- package/dist/src/browser/actions/registry.js +5 -8
- package/dist/src/browser/actions/registry.js.map +1 -1
- package/dist/src/browser/backend-from-config.d.ts +1 -1
- package/dist/src/browser/backend-from-config.js +50 -71
- package/dist/src/browser/backend-from-config.js.map +1 -1
- package/dist/src/browser/browser-command-timeout.d.ts +0 -1
- package/dist/src/browser/browser-command-timeout.js +3 -7
- package/dist/src/browser/browser-command-timeout.js.map +1 -1
- package/dist/src/browser/cache-dir-policy.js +1 -1
- package/dist/src/browser/cdp-local-launcher.js +2 -2
- package/dist/src/browser/pipeline/source.js +1 -1
- package/dist/src/browser/providers/browser-ext-install.d.ts +2 -12
- package/dist/src/browser/providers/browser-ext-install.js +7 -12
- package/dist/src/browser/providers/browser-ext-install.js.map +1 -1
- package/dist/src/browser/providers/cloakbrowser.js +5 -5
- package/dist/src/browser/providers/playwright-doctor.js +1 -1
- package/dist/src/browser/readiness.js +16 -16
- package/dist/src/browser/readiness.js.map +1 -1
- package/dist/src/browser/schemas.js +1 -1
- package/dist/src/browser/schemas.js.map +1 -1
- package/dist/src/browser/stealth.js +1 -1
- package/dist/src/channels/catalog/channel-catalog-service.js +1 -1
- package/dist/src/channels/outbound/persist-store.js +1 -1
- package/dist/src/channels/pairing/allow-from-file.js +1 -1
- package/dist/src/channels/pairing/pairing-store.js +2 -2
- package/dist/src/channels/pipeline.d.ts +1 -1
- package/dist/src/channels/pipeline.js.map +1 -1
- package/dist/src/chat-commands/agent-edit.js +2 -3
- package/dist/src/chat-commands/agent-edit.js.map +1 -1
- package/dist/src/chat-commands/builtins/config.js +6 -6
- package/dist/src/chat-commands/builtins/config.js.map +1 -1
- package/dist/src/chat-commands/builtins/model.js +2 -2
- package/dist/src/chat-commands/builtins/model.js.map +1 -1
- package/dist/src/chat-commands/builtins/thinking.js +16 -42
- package/dist/src/chat-commands/builtins/thinking.js.map +1 -1
- package/dist/src/chat-commands/config-paths.js +1 -1
- package/dist/src/chat-commands/config-paths.js.map +1 -1
- package/dist/src/chat-commands/context.js +3 -4
- package/dist/src/chat-commands/context.js.map +1 -1
- package/dist/src/cli/command-manifest.d.ts +1 -1
- package/dist/src/cli/command-manifest.js +2 -2
- package/dist/src/cli/command-manifest.js.map +1 -1
- package/dist/src/cli/commands/agent.js +3 -1
- package/dist/src/cli/commands/agent.js.map +1 -1
- package/dist/src/cli/commands/agents.js +3 -6
- package/dist/src/cli/commands/agents.js.map +1 -1
- package/dist/src/cli/commands/browser-cli-helpers.js +9 -11
- package/dist/src/cli/commands/browser-cli-helpers.js.map +1 -1
- package/dist/src/cli/commands/config.js +6 -6
- package/dist/src/cli/commands/config.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/config-health.js +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/doctor/checks/provider-auth.js +3 -18
- package/dist/src/cli/commands/doctor/checks/provider-auth.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/state-integrity.js +1 -1
- package/dist/src/cli/commands/doctor/checks/workspace-status.js +1 -2
- package/dist/src/cli/commands/doctor/checks/workspace-status.js.map +1 -1
- package/dist/src/cli/commands/extension-create.js +1 -1
- package/dist/src/cli/commands/extension-dev.js +2 -2
- package/dist/src/cli/commands/extension-marketplace.js +2 -2
- package/dist/src/cli/commands/extension-pack.js +2 -2
- package/dist/src/cli/commands/extension.js +3 -3
- package/dist/src/cli/commands/gateway/logs.js +1 -1
- package/dist/src/cli/commands/goal.js +1 -1
- package/dist/src/cli/commands/image.js +13 -372
- package/dist/src/cli/commands/image.js.map +1 -1
- package/dist/src/cli/commands/init.js +7 -6
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/models.js +14 -16
- package/dist/src/cli/commands/models.js.map +1 -1
- package/dist/src/cli/commands/onboard/channels/registry.js.map +1 -1
- package/dist/src/cli/commands/onboard/model.js +28 -23
- package/dist/src/cli/commands/onboard/model.js.map +1 -1
- package/dist/src/cli/commands/onboard.js +3 -3
- package/dist/src/cli/commands/onboard.js.map +1 -1
- package/dist/src/cli/commands/skills-test.js +1 -1
- package/dist/src/cli/commands/tui.js +2 -2
- package/dist/src/cli/commands/tui.js.map +1 -1
- package/dist/src/cli/index.d.ts +1 -0
- package/dist/src/cli/index.js +10 -5
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/registry.js +1 -1
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/cli/templates.d.ts +1 -1
- package/dist/src/cli/templates.js +2 -12
- package/dist/src/cli/templates.js.map +1 -1
- package/dist/src/cli/utils/gateway-client.js +1 -1
- package/dist/src/cli/utils/init-workspace-core.d.ts +1 -4
- package/dist/src/cli/utils/init-workspace-core.js +9 -8
- package/dist/src/cli/utils/init-workspace-core.js.map +1 -1
- package/dist/src/commands/agents.config.d.ts +0 -1
- package/dist/src/commands/agents.config.js +59 -13
- package/dist/src/commands/agents.config.js.map +1 -1
- package/dist/src/config/agent-profile.d.ts +5 -17
- package/dist/src/config/agent-profile.js +32 -64
- package/dist/src/config/agent-profile.js.map +1 -1
- package/dist/src/config/agent-typed-models.d.ts +1 -1
- package/dist/src/config/agent-typed-models.js +3 -6
- package/dist/src/config/agent-typed-models.js.map +1 -1
- package/dist/src/config/gateway-bind.js +1 -1
- package/dist/src/config/index.js +9 -9
- package/dist/src/config/integration.d.ts +1 -1
- package/dist/src/config/loader.js +4 -4
- package/dist/src/config/models-json.js +2 -2
- package/dist/src/config/paths-state.js +1 -1
- package/dist/src/config/paths.d.ts +8 -1
- package/dist/src/config/paths.js +17 -4
- package/dist/src/config/paths.js.map +1 -1
- package/dist/src/config/profile.js +1 -1
- package/dist/src/config/reload.js +2 -2
- package/dist/src/config/reload.js.map +1 -1
- package/dist/src/config/rules.js +6 -56
- package/dist/src/config/rules.js.map +1 -1
- package/dist/src/config/schema.d.ts +916 -779
- package/dist/src/config/schema.js +174 -423
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/config/workspace-path.js +1 -1
- package/dist/src/connectors/composio-triggers.js +1 -1
- package/dist/src/cron/executor.js +1 -1
- package/dist/src/cron/index.js +1 -1
- package/dist/src/cron/service.js +2 -2
- package/dist/src/cron/validation.d.ts +3 -3
- package/dist/src/daemon/constants.js +1 -1
- package/dist/src/daemon/install-plan.js +2 -2
- package/dist/src/daemon/launchd.js +2 -2
- package/dist/src/daemon/schtasks.js +2 -2
- package/dist/src/daemon/systemd.js +2 -2
- package/dist/src/extensions/activation-context.js +13 -7
- package/dist/src/extensions/activation-context.js.map +1 -1
- package/dist/src/extensions/bundle-mcp.js +1 -1
- package/dist/src/extensions/discover-extensions.js +2 -2
- package/dist/src/extensions/health.js +1 -1
- package/dist/src/extensions/install.js +2 -2
- package/dist/src/extensions/loader.js +2 -2
- package/dist/src/extensions/lockfile.js +3 -3
- package/dist/src/extensions/security.js +1 -1
- package/dist/src/extensions/update.js +2 -2
- package/dist/src/gateway/agents-admin.d.ts +24 -18
- package/dist/src/gateway/agents-admin.js +158 -92
- package/dist/src/gateway/agents-admin.js.map +1 -1
- package/dist/src/gateway/capability-presets-admin.d.ts +56 -0
- package/dist/src/gateway/capability-presets-admin.js +214 -0
- package/dist/src/gateway/capability-presets-admin.js.map +1 -0
- package/dist/src/gateway/chat-stream/mapper.js +9 -2
- package/dist/src/gateway/chat-stream/mapper.js.map +1 -1
- package/dist/src/gateway/file-path-classifier.js +2 -2
- package/dist/src/gateway/global-defaults-admin.d.ts +36 -0
- package/dist/src/gateway/global-defaults-admin.js +146 -0
- package/dist/src/gateway/global-defaults-admin.js.map +1 -0
- package/dist/src/gateway/hono/lib/agent-model.d.ts +1 -1
- package/dist/src/gateway/hono/lib/agent-model.js +1 -1
- package/dist/src/gateway/hono/lib/agent-model.js.map +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +234 -127
- package/dist/src/gateway/hono/lib/config-payload.js +14 -38
- package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
- package/dist/src/gateway/hono/lib/extension-store.js +2 -2
- package/dist/src/gateway/hono/lib/static-ui.js +2 -2
- package/dist/src/gateway/hono/routes/agents.js +88 -33
- package/dist/src/gateway/hono/routes/agents.js.map +1 -1
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
- package/dist/src/gateway/hono/routes/browser.js +8 -15
- package/dist/src/gateway/hono/routes/browser.js.map +1 -1
- package/dist/src/gateway/hono/routes/capability-presets.d.ts +3 -0
- package/dist/src/gateway/hono/routes/capability-presets.js +145 -0
- package/dist/src/gateway/hono/routes/capability-presets.js.map +1 -0
- package/dist/src/gateway/hono/routes/commands-skills.js +4 -5
- package/dist/src/gateway/hono/routes/commands-skills.js.map +1 -1
- package/dist/src/gateway/hono/routes/config-patch/agents.d.ts +1 -17
- package/dist/src/gateway/hono/routes/config-patch/agents.js +2 -443
- package/dist/src/gateway/hono/routes/config-patch/agents.js.map +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +7 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js.map +1 -1
- package/dist/src/gateway/hono/routes/config.js +1 -1
- package/dist/src/gateway/hono/routes/config.js.map +1 -1
- package/dist/src/gateway/hono/routes/dreaming.js +8 -1
- package/dist/src/gateway/hono/routes/dreaming.js.map +1 -1
- package/dist/src/gateway/hono/routes/global-defaults.d.ts +3 -0
- package/dist/src/gateway/hono/routes/global-defaults.js +61 -0
- package/dist/src/gateway/hono/routes/global-defaults.js.map +1 -0
- package/dist/src/gateway/hono/routes/host-fs.js +2 -2
- package/dist/src/gateway/hono/routes/index.js +2 -0
- package/dist/src/gateway/hono/routes/index.js.map +1 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js +17 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
- package/dist/src/gateway/hono/routes/memory.d.ts +3 -0
- package/dist/src/gateway/hono/routes/memory.js +361 -0
- package/dist/src/gateway/hono/routes/memory.js.map +1 -0
- package/dist/src/gateway/hono/routes/models.js +2 -2
- package/dist/src/gateway/hono/routes/shares.js +1 -1
- package/dist/src/gateway/hono/routes/workflows.js +1 -1
- package/dist/src/gateway/hono/routes/workspace.js +2 -2
- package/dist/src/gateway/lock.js +3 -3
- package/dist/src/gateway/ports.js +1 -1
- package/dist/src/gateway/service/config-coordinator.js +1 -1
- package/dist/src/gateway/service/marketplace-service.d.ts +4 -4
- package/dist/src/gateway/service/marketplace-service.js +13 -9
- package/dist/src/gateway/service/marketplace-service.js.map +1 -1
- package/dist/src/gateway/service.d.ts +1 -1
- package/dist/src/gateway/service.js +15 -16
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/workspace-fs-file-list.js +1 -1
- package/dist/src/goals/goal-workflow-judge.js +2 -2
- package/dist/src/i18n/goals-bundle.js +1 -1
- package/dist/src/i18n/index.js +1 -1
- package/dist/src/i18n/share-tool-bundle.js +2 -2
- package/dist/src/infra/brew.js +1 -1
- package/dist/src/infra/package-json.js +1 -1
- package/dist/src/infra/package-update-steps.js +1 -1
- package/dist/src/infra/path-env.js +2 -2
- package/dist/src/infra/restart.js +1 -1
- package/dist/src/infra/stable-node-path.js +1 -1
- package/dist/src/infra/update-check.js +1 -1
- package/dist/src/infra/update-global.js +1 -1
- package/dist/src/infra/update-lock.js +2 -2
- package/dist/src/infra/update-restart.js +1 -1
- package/dist/src/infra/update-runner.js +1 -1
- package/dist/src/infra/update-startup.js +1 -1
- package/dist/src/infra/write-file-atomic.js +2 -2
- package/dist/src/media/store.js +1 -1
- package/dist/src/notes/agent-context.js +3 -3
- package/dist/src/notes/service.js +4 -2
- package/dist/src/notes/service.js.map +1 -1
- package/dist/src/notes/store.js +2 -2
- package/dist/src/project-trust/trust-store.js +2 -2
- package/dist/src/providers/auth-runtime/auth-profile-store.js +1 -1
- package/dist/src/providers/index.d.ts +5 -6
- package/dist/src/providers/index.js +26 -30
- package/dist/src/providers/index.js.map +1 -1
- package/dist/src/providers/model-registry.js +4 -4
- package/dist/src/session/index.js +1 -1
- package/dist/src/session/init-session-turn.js +1 -1
- package/dist/src/session/resolve-session.js +1 -1
- package/dist/src/session/session-title.js +2 -2
- package/dist/src/session/store.js +1 -1
- package/dist/src/session/thinking-resolve.d.ts +1 -1
- package/dist/src/session/thinking-resolve.js +1 -1
- package/dist/src/session/thinking-resolve.js.map +1 -1
- package/dist/src/share/share-auto.js +2 -2
- package/dist/src/share/share-store.js +3 -3
- package/dist/src/share/share-thumbnail.js +2 -2
- package/dist/src/share/share-zip.js +1 -1
- package/dist/src/share/site-share-store.js +3 -3
- package/dist/src/share/site-static-serve.js +1 -1
- package/dist/src/storage/sqlite/connection.js +2 -2
- package/dist/src/storage/sqlite/index.d.ts +1 -0
- package/dist/src/storage/sqlite/index.js +2 -1
- package/dist/src/storage/sqlite/memory-index-repository.d.ts +1 -0
- package/dist/src/storage/sqlite/memory-index-repository.js +17 -16
- package/dist/src/storage/sqlite/memory-index-repository.js.map +1 -1
- package/dist/src/storage/sqlite/memory-records-repository.d.ts +144 -0
- package/dist/src/storage/sqlite/memory-records-repository.js +453 -0
- package/dist/src/storage/sqlite/memory-records-repository.js.map +1 -0
- package/dist/src/storage/sqlite/migrations/012_memory_records.sql +63 -0
- package/dist/src/storage/sqlite/migrations/013_memory_trace_events.sql +21 -0
- package/dist/src/storage/sqlite/migrations/014_memory_record_governance.sql +10 -0
- package/dist/src/storage/sqlite/migrations/015_memory_trace_feedback.sql +4 -0
- package/dist/src/storage/sqlite/migrations/discover.js +1 -1
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +4 -4
- package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
- package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
- package/dist/src/storage/sqlite/schema.js +2 -2
- package/dist/src/storage/sqlite/schema.sql +86 -0
- package/dist/src/tui/backends/embedded-backend.d.ts +3 -0
- package/dist/src/tui/backends/embedded-backend.js +43 -24
- package/dist/src/tui/backends/embedded-backend.js.map +1 -1
- package/dist/src/tui/backends/gateway-sse-backend.d.ts +1 -0
- package/dist/src/tui/backends/gateway-sse-backend.js +16 -3
- package/dist/src/tui/backends/gateway-sse-backend.js.map +1 -1
- package/dist/src/tui/clipboard-image.js +3 -3
- package/dist/src/tui/components/tui-header.d.ts +0 -1
- package/dist/src/tui/components/tui-header.js +3 -8
- package/dist/src/tui/components/tui-header.js.map +1 -1
- package/dist/src/tui/extension-host/load-extensions.js +1 -1
- package/dist/src/tui/extension-host/load-extensions.js.map +1 -1
- package/dist/src/tui/theme-manager.js +1 -1
- package/dist/src/tui/tui-command-formatters.js +4 -4
- package/dist/src/tui/tui-commands.js +2 -2
- package/dist/src/tui/tui-keybindings-file.js +1 -1
- package/dist/src/tui/tui-scoped-models.js +2 -2
- package/dist/src/tui/tui-settings.js +1 -1
- package/dist/src/tui/tui-startup-resources.js +2 -1
- package/dist/src/tui/tui-startup-resources.js.map +1 -1
- package/dist/src/tui/tui-startup-text.js +12 -12
- package/dist/src/tui/tui-startup-text.js.map +1 -1
- package/dist/src/tui/tui.js +10 -7
- package/dist/src/tui/tui.js.map +1 -1
- package/dist/src/tunnel/frpc-binary.js +4 -4
- package/dist/src/tunnel/frpc-config.js +1 -1
- package/dist/src/tunnel/frpc-extract.js +1 -1
- package/dist/src/tunnel/tunnel-state.js +1 -1
- package/dist/src/utils/logger/audit.js +1 -1
- package/dist/src/utils/logger/log-store.js +1 -1
- package/dist/src/utils/logger/rotation.js +1 -1
- package/dist/src/utils/logger/streams.js +1 -1
- package/dist/src/voice/tts/audio.js +1 -1
- package/dist/src/voice/tts/providers/edge-speech.js +2 -2
- package/dist/src/workflows/draft/workflow-draft-service.js +1 -1
- package/dist/src/workflows/service/workflow-run-service.js +4 -5
- package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
- package/dist/src/workflows/service/workflow-session-bridge.js +1 -1
- package/dist/src/workflows/store/event-store.js +1 -1
- package/dist/src/workflows/store/run-store.js +1 -1
- package/package.json +3 -2
- package/dist/gateway/static/root/assets/agent-browser-settings-page-D1SyFYeh.js +0 -6
- package/dist/gateway/static/root/assets/agent-defaults-tabbed-page-C9YxgvuI.js +0 -1
- package/dist/gateway/static/root/assets/agents-CteVs3UO.js +0 -71
- package/dist/gateway/static/root/assets/apps-page-CVQ1M8Ax.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-Cd3JbeQ1.js +0 -1
- package/dist/gateway/static/root/assets/config-api-C4RAtTKW.js +0 -3
- package/dist/gateway/static/root/assets/connectors-page-MsMa5qBr.js +0 -2
- package/dist/gateway/static/root/assets/cron-api-sJNMqB6P.js +0 -1
- package/dist/gateway/static/root/assets/cron-page-D30CSwkn.js +0 -3
- package/dist/gateway/static/root/assets/dreaming-settings-6fCUWRQf.js +0 -1
- package/dist/gateway/static/root/assets/gateway-config-api-C6989a-W.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-BpF26t91.js +0 -1
- package/dist/gateway/static/root/assets/goal-detail-page-DOjhmRyf.js +0 -1
- package/dist/gateway/static/root/assets/goals-page-Xl9_wrFc.js +0 -2
- package/dist/gateway/static/root/assets/heartbeat-settings-DN9vEj9P.js +0 -1
- package/dist/gateway/static/root/assets/index-C8ytlAF2.js +0 -122
- package/dist/gateway/static/root/assets/index-CVpJW2NS.css +0 -1
- package/dist/gateway/static/root/assets/messages-BqzIDrlr.js +0 -3
- package/dist/gateway/static/root/assets/models-hub-panel-BO4o-GmO.js +0 -2
- package/dist/gateway/static/root/assets/note-detail-page-DLV_XDmT.js +0 -2
- package/dist/gateway/static/root/assets/notes-page-ycsDlkFA.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-DQpnE8K9.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-BZui7iAY.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-DEfzZ1ax.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-CLuSsu1-.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-Cq4qpXLi.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-B9F3HyYQ.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-Bp9UPPwm.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-BIoBsfSV.js +0 -2
- package/dist/gateway/static/root/assets/use-agent-defaults-form-Cz2_pPzu.js +0 -1
- package/dist/gateway/static/root/assets/use-settings-tab-guard-nuHMmZQv.js +0 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-BUIrKb8s.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-qE3SexnO.js +0 -18
- package/dist/src/agent/context/workspace-templates/USER.md +0 -24
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-B1iSKjiw.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{i as s}from"./theme-store-CD2wtgZV.js";import{c,i as l,n as u,t as d}from"./fetch-B7xDPu-R.js";import{r as f}from"./toast-z0toXu32.js";import{i as p}from"./vendor-swr-BIWyz7Rc.js";import{$i as m,$o as h,$r as g,A as _,Ci as v,Cs as y,Di as b,Ds as x,Ea as S,Ei as C,Eo as w,Es as T,Fa as E,Fi as D,Gs as O,Ho as k,Jr as A,K as j,Ki as M,Mo as N,Ni as P,Oa as F,Oi as I,Qa as L,Qi as R,Ra as z,Si as B,Ti as V,Ts as H,Wa as U,Xa as W,Xi as G,Xo as K,Xr as q,Xs as ee,Yr as te,_o as ne,at as J,ea as re,ei as ie,et as ae,fo as oe,ha as se,ia as ce,it as le,k as ue,l as de,ls as fe,mr as pe,na as Y,ot as me,qr as he,rs as ge,rt as _e,sn as ve,ta as ye,w as be,wi as xe,xi as Se,xr as Ce}from"./index-Cc41r16l.js";import{t as X}from"./markdown-editor-AssmZFx4.js";import{t as we}from"./settings-advanced-gate-5re5gAnP.js";import{n as Te,t as Ee}from"./settings-form-section-dmyaPOTG.js";import{C as De,S as Oe,T as ke,_ as Ae,a as je,b as Me,c as Ne,d as Pe,f as Fe,g as Ie,h as Le,i as Re,l as ze,m as Be,n as Ve,o as He,p as Ue,r as We,s as Ge,t as Ke,u as qe,v as Je,w as Ye,x as Xe,y as Ze}from"./cron-api-qGwmL-24.js";import{t as Qe}from"./cron-dreaming-jobs-nCMWCf0p.js";import{r as $e}from"./interval-presets-DFPCKW_W.js";import{t as et}from"./format-interval-label-BzxafKxR.js";import{t as tt}from"./heartbeat-config-api-DriO_CN9.js";import{i as nt,n as rt,o as it,r as at,t as ot}from"./dist-By6Rh2ee.js";var Z=e(t(),1),Q=n(),$=r();function st(e){let t=(0,Q.c)(25),{open:n,onOpenChange:r,action:i,c:a,onDismiss:o,onConfirm:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(V,{className:`xopc-dialog-overlay fixed inset-0 z-[70] bg-scrim`}),t[0]=c):c=t[0];let l=i===`delete`?a.delete:a.runNow,u;t[1]===l?u=t[2]:(u=(0,$.jsx)(I,{className:`text-base font-semibold text-fg`,children:l}),t[1]=l,t[2]=u);let d=i===`delete`?a.confirmDelete:a.confirmRun,f;t[3]===d?f=t[4]:(f=(0,$.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:d}),t[3]=d,t[4]=f);let p;t[5]!==a.cancel||t[6]!==o?(p=(0,$.jsx)(Y,{type:`button`,variant:`secondary`,onClick:o,children:a.cancel}),t[5]=a.cancel,t[6]=o,t[7]=p):p=t[7];let m=i===`delete`?`bg-red-600 hover:bg-red-700`:void 0,h;t[8]===s?h=t[9]:(h=()=>void s(),t[8]=s,t[9]=h);let g=i===`delete`?a.delete:a.runNow,_;t[10]!==m||t[11]!==h||t[12]!==g?(_=(0,$.jsx)(Y,{type:`button`,variant:`primary`,className:m,onClick:h,children:g}),t[10]=m,t[11]=h,t[12]=g,t[13]=_):_=t[13];let y;t[14]!==_||t[15]!==p?(y=(0,$.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[p,_]}),t[14]=_,t[15]=p,t[16]=y):y=t[16];let x;t[17]!==y||t[18]!==u||t[19]!==f?(x=(0,$.jsxs)(C,{children:[c,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[70] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(v,{className:`xopc-dialog-content-pane pointer-events-auto relative w-full max-w-md rounded-xl border border-edge bg-surface-panel p-4 shadow-popover dark:border-edge`,children:[u,f,y]})})]}),t[17]=y,t[18]=u,t[19]=f,t[20]=x):x=t[20];let S;return t[21]!==r||t[22]!==n||t[23]!==x?(S=(0,$.jsx)(b,{open:n,onOpenChange:r,children:x}),t[21]=r,t[22]=n,t[23]=x,t[24]=S):S=t[24],S}var ct={enabled:!0,maxConcurrentJobs:5,historyRetentionDays:7,enableMetrics:!0};function lt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ut(e){let t=lt(e)?e:{},n=lt(t.cron)?t.cron:{};return{enabled:n.enabled!==!1,maxConcurrentJobs:typeof n.maxConcurrentJobs==`number`&&Number.isFinite(n.maxConcurrentJobs)?Math.max(1,Math.min(100,Math.floor(n.maxConcurrentJobs))):ct.maxConcurrentJobs,historyRetentionDays:typeof n.historyRetentionDays==`number`&&Number.isFinite(n.historyRetentionDays)?Math.max(1,Math.min(365,Math.floor(n.historyRetentionDays))):ct.historyRetentionDays,enableMetrics:n.enableMetrics!==!1}}async function dt(e){await u(l(`/api/config`),{method:`PATCH`,body:JSON.stringify({cron:e})}),te()}function ft(){return i(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,ye,`dark:border-edge`)}function pt(){return{form:null,baseline:null,saving:!1,error:null,saveOk:!1,dirty:!1}}function mt(e,t){switch(t.type){case`sync`:return{...e,form:structuredClone(t.parsed),baseline:structuredClone(t.parsed),saveOk:!1,dirty:!1};case`patch`:return e.form?{...e,form:{...e.form,...t.patch},dirty:!0,saveOk:!1}:e;case`discard`:return e.baseline?{...e,form:structuredClone(e.baseline),dirty:!1}:e;case`saveStart`:return{...e,saving:!0,error:null};case`saveSuccess`:return e.form?{...e,saving:!1,baseline:structuredClone(e.form),dirty:!1,saveOk:!0}:{...e,saving:!1};case`saveError`:return{...e,saving:!1,error:t.error};case`clearSaveOk`:return{...e,saveOk:!1}}}function ht({hasToken:e}){let t=a(o(e=>e.language)).cron.globals,{data:n,isLoading:r}=q(e),i=(0,Z.useMemo)(()=>n?.payload?.config===void 0?null:structuredClone(ut(n.payload.config)),[n]),[s,c]=(0,Z.useReducer)(mt,void 0,pt),l=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{!e||i===null||s.dirty||l.current===i||(l.current=i,c({type:`sync`,parsed:i}))},[e,i,s.dirty]);let u=(0,Z.useMemo)(()=>!!(s.form&&s.baseline&&JSON.stringify(s.form)!==JSON.stringify(s.baseline)),[s.form,s.baseline]),d=(0,Z.useCallback)(e=>{c({type:`patch`,patch:e})},[]),p=(0,Z.useCallback)(async()=>{if(!(!s.form||s.saving)){c({type:`saveStart`});try{await dt(s.form),c({type:`saveSuccess`}),f({type:`success`,title:t.saved})}catch(e){c({type:`saveError`,error:e instanceof Error?e.message:t.saveError})}}},[t.saveError,s.form,s.saving]);return!e||!s.form?r?(0,$.jsx)(Ee,{children:(0,$.jsxs)(`p`,{className:`flex items-center gap-2 text-sm text-fg-muted`,children:[(0,$.jsx)(ne,{className:`size-4 animate-spin`}),t.loading]})}):null:(0,$.jsxs)(Ee,{children:[(0,$.jsx)(Te,{icon:fe,title:t.title,subtitle:t.hint}),(0,$.jsxs)(`div`,{className:`mb-4 flex flex-wrap items-center justify-end gap-2`,children:[(0,$.jsx)(Y,{type:`button`,variant:`secondary`,disabled:!u||s.saving,onClick:()=>c({type:`discard`}),children:t.discard}),(0,$.jsx)(Y,{type:`button`,variant:`primary`,disabled:!u||s.saving,onClick:()=>void p(),children:s.saving?t.saving:t.save})]}),s.error?(0,$.jsx)(`p`,{className:`mb-3 text-sm text-red-600 dark:text-red-400`,children:s.error}):null,(0,$.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm text-fg sm:col-span-2`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:s.form.enabled,onChange:e=>d({enabled:e.target.checked})}),t.enabled]}),(0,$.jsxs)(we,{children:[(0,$.jsx)(gt,{label:t.maxConcurrent,value:s.form.maxConcurrentJobs,min:1,max:100,disabled:!s.form.enabled,onChange:e=>d({maxConcurrentJobs:e})}),(0,$.jsx)(gt,{label:t.retentionDays,value:s.form.historyRetentionDays,min:1,max:365,disabled:!s.form.enabled,onChange:e=>d({historyRetentionDays:e})}),(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-sm text-fg`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:s.form.enableMetrics,disabled:!s.form.enabled,onChange:e=>d({enableMetrics:e.target.checked})}),t.metrics]})]})]})]})}function gt(e){let t=(0,Q.c)(13),{label:n,value:r,min:a,max:o,disabled:s,text:c,onChange:l,onTextChange:u}=e,d;t[0]===n?d=t[1]:(d=(0,$.jsx)(`label`,{className:`mb-1 block text-sm font-medium text-fg`,children:n}),t[0]=n,t[1]=d);let f;t[2]!==s||t[3]!==o||t[4]!==a||t[5]!==l||t[6]!==u||t[7]!==c||t[8]!==r?(f=c?(0,$.jsx)(`input`,{className:i(ft(),`font-mono text-xs`),value:String(r),disabled:s,onChange:e=>u?.(e.target.value)}):(0,$.jsx)(`input`,{type:`number`,min:a,max:o,disabled:s,className:i(ft(),`max-w-xs font-mono text-xs`),value:typeof r==`number`?r:0,onChange:e=>{let t=Number(e.target.value);Number.isFinite(t)&&l&&a!==void 0&&o!==void 0&&l(Math.max(a,Math.min(o,Math.floor(t))))}}),t[2]=s,t[3]=o,t[4]=a,t[5]=l,t[6]=u,t[7]=c,t[8]=r,t[9]=f):f=t[9];let p;return t[10]!==d||t[11]!==f?(p=(0,$.jsxs)(`div`,{children:[d,f]}),t[10]=d,t[11]=f,t[12]=p):p=t[12],p}var _t=`*/5 * * * *`;function vt(e){let t=new Date(e);return t.setHours(0,0,0,0),t}function yt(e){let t=vt(e),n=t.getDay(),r=n===0?-6:1-n;return t.setDate(t.getDate()+r),t}function bt(e){return new Date(e.getFullYear(),e.getMonth(),1,0,0,0,0)}function xt(e){let t=e?.trim();t&&window.dispatchEvent(new CustomEvent(`navigate-to-chat`,{detail:{sessionKey:t},bubbles:!0}))}function St(e){let t=e?.trim();t&&(window.location.hash=`/workflows?run=${encodeURIComponent(t)}`)}function Ct(e){return i(`w-full rounded-md border border-edge bg-surface-base px-3 py-2 text-sm text-fg placeholder:text-fg-disabled`,R,e&&`cursor-not-allowed opacity-60`)}function wt(){return i(re,m)}var Tt=i(re,`w-full text-xs sm:w-auto sm:min-w-[11rem] sm:max-w-[17rem] sm:shrink-0`),Et=i(re,`w-auto min-w-[9rem] max-w-[14rem] shrink-0 text-xs`);function Dt(e){return e===`settings`?`settings`:e===`system`||e===`systemTasks`?`systemTasks`:e===`history`?`history`:`myTasks`}function Ot(e){return e===`myTasks`?null:e===`systemTasks`?`system`:e===`history`?`history`:`settings`}var kt=34,At=62,jt=46;function Mt(e){return Math.max(kt,Math.min(At,e))}function Nt(e){switch(e){case`success`:return`bg-emerald-500/15 text-emerald-800 dark:text-emerald-300`;case`failed`:return`bg-red-500/15 text-red-800 dark:text-red-300`;case`running`:return`bg-accent/15 text-accent`;case`cancelled`:return`bg-surface-hover text-fg-muted`;default:return`bg-surface-hover text-fg-muted`}}function Pt(e,t){return e.payload.kind===`workflowRun`?t.taskKindWorkflowRun:e.payload.kind===`agentTurn`?t.taskKindMessage:t.modeDirectOption}function Ft(e){return e.length===0?null:e.find(e=>e.status===`failed`)?.id??e[0]?.id??null}function It(e){let t=(0,Q.c)(56),{row:n,expanded:r,onToggle:a,c:o,statusLabels:s}=e,c=n.error||n.summary||n.output||``,l;t[0]===c?l=t[1]:(l=c.trim(),t[0]=c,t[1]=l);let u=l,d=u.length>0,f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`div`,{className:`mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-lg bg-surface-hover`,children:(0,$.jsx)(fe,{className:`size-4 text-fg-muted`,strokeWidth:1.75,"aria-hidden":!0})}),t[2]=f):f=t[2];let p=n.startedAt,m;t[3]===n.startedAt?m=t[4]:(m=De(n.startedAt),t[3]=n.startedAt,t[4]=m);let h;t[5]!==n.startedAt||t[6]!==m?(h=(0,$.jsx)(`time`,{className:`text-sm font-medium text-fg`,dateTime:p,children:m}),t[5]=n.startedAt,t[6]=m,t[7]=h):h=t[7];let g;t[8]===n.status?g=t[9]:(g=i(`inline-flex rounded-md px-2 py-0.5 text-xs font-medium`,Nt(n.status)),t[8]=n.status,t[9]=g);let _;t[10]!==n.status||t[11]!==s?(_=Ae(n.status,s),t[10]=n.status,t[11]=s,t[12]=_):_=t[12];let v;t[13]!==g||t[14]!==_?(v=(0,$.jsx)(`span`,{className:g,children:_}),t[13]=g,t[14]=_,t[15]=v):v=t[15];let y;t[16]===n.duration?y=t[17]:(y=Ze(n.duration),t[16]=n.duration,t[17]=y);let b;t[18]===y?b=t[19]:(b=(0,$.jsx)(`span`,{className:`text-xs text-fg-muted`,children:y}),t[18]=y,t[19]=b);let x;t[20]!==b||t[21]!==h||t[22]!==v?(x=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[h,v,b]}),t[20]=b,t[21]=h,t[22]=v,t[23]=x):x=t[23];let S;t[24]!==u||t[25]!==r||t[26]!==d?(S=!r&&d?(0,$.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-relaxed text-fg-muted`,children:u}):null,t[24]=u,t[25]=r,t[26]=d,t[27]=S):S=t[27];let C;t[28]!==u||t[29]!==r||t[30]!==d?(C=r&&d?(0,$.jsx)(`pre`,{className:`mt-2 max-h-40 overflow-y-auto whitespace-pre-wrap break-words rounded-lg border border-edge-subtle bg-surface-panel/80 p-2.5 font-mono text-xs leading-relaxed text-fg-muted`,children:u}):null,t[28]=u,t[29]=r,t[30]=d,t[31]=C):C=t[31];let w;t[32]!==x||t[33]!==S||t[34]!==C?(w=(0,$.jsxs)(`div`,{className:`flex items-start gap-3 px-3 py-3`,children:[f,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[x,S,C]})]}),t[32]=x,t[33]=S,t[34]=C,t[35]=w):w=t[35];let T;t[36]!==o||t[37]!==r||t[38]!==d||t[39]!==a?(T=d?(0,$.jsxs)(Y,{type:`button`,variant:`ghost`,className:`h-8 px-2 text-xs`,onClick:a,children:[(0,$.jsx)(H,{className:i(`size-3.5 transition-transform`,r&&`rotate-180`),strokeWidth:1.75,"aria-hidden":!0}),r?o.detailCollapseRun:o.detailExpandRun]}):null,t[36]=o,t[37]=r,t[38]=d,t[39]=a,t[40]=T):T=t[40];let E;t[41]!==o||t[42]!==n.workflowRunId?(E=n.workflowRunId?.trim()?(0,$.jsxs)(Y,{type:`button`,variant:`secondary`,className:`h-8 gap-1.5 px-2.5 text-xs`,title:o.openWorkflowTitle,onClick:()=>St(n.workflowRunId),children:[(0,$.jsx)(k,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0}),o.openWorkflow]}):null,t[41]=o,t[42]=n.workflowRunId,t[43]=E):E=t[43];let D;t[44]!==o||t[45]!==n.sessionKey?(D=n.sessionKey?.trim()?(0,$.jsxs)(Y,{type:`button`,variant:`secondary`,className:`h-8 gap-1.5 px-2.5 text-xs`,title:o.openChatTitle,onClick:()=>xt(n.sessionKey),children:[(0,$.jsx)(oe,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0}),o.openChat]}):null,t[44]=o,t[45]=n.sessionKey,t[46]=D):D=t[46];let O;t[47]!==E||t[48]!==D?(O=(0,$.jsxs)(`div`,{className:`ml-auto flex flex-wrap items-center gap-2`,children:[E,D]}),t[47]=E,t[48]=D,t[49]=O):O=t[49];let A;t[50]!==T||t[51]!==O?(A=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-t border-edge-subtle px-3 py-2 dark:border-edge-subtle`,children:[T,O]}),t[50]=T,t[51]=O,t[52]=A):A=t[52];let j;return t[53]!==w||t[54]!==A?(j=(0,$.jsxs)(`article`,{className:`rounded-xl border border-edge-subtle bg-surface-base dark:border-edge-subtle`,children:[w,A]}),t[53]=w,t[54]=A,t[55]=j):j=t[55],j}function Lt(e){let t=(0,Q.c)(13),{icon:n,label:r,value:a,valueClassName:o}=e,s;t[0]===n?s=t[1]:(s=(0,$.jsx)(n,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[0]=n,t[1]=s);let c;t[2]!==r||t[3]!==s?(c=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[11px] font-medium uppercase tracking-wide text-fg-subtle`,children:[s,r]}),t[2]=r,t[3]=s,t[4]=c):c=t[4];let l;t[5]===o?l=t[6]:(l=i(`mt-1 truncate text-sm font-medium text-fg`,o),t[5]=o,t[6]=l);let u;t[7]!==l||t[8]!==a?(u=(0,$.jsx)(`p`,{className:l,children:a}),t[7]=l,t[8]=a,t[9]=u):u=t[9];let d;return t[10]!==c||t[11]!==u?(d=(0,$.jsxs)(`div`,{className:`min-w-0 rounded-xl border border-edge-subtle bg-surface-base/80 px-3 py-2.5 dark:border-edge-subtle`,children:[c,u]}),t[10]=c,t[11]=u,t[12]=d):d=t[12],d}function Rt({open:e,onDismiss:t,detailJob:n,detailLoading:r,actionNotice:a,detailHistory:o,c:s,localeTag:c,scheduleBadgeLabels:l,chatWorkingDirNotSet:u,statusLabels:d,onEdit:f,onRunNow:p,onToggle:m,onDelete:h}){let[g,_]=(0,Z.useState)(null),[y,S]=(0,Z.useState)(!1),[w,D]=(0,Z.useState)(jt),[O,k]=(0,Z.useState)(!1),A=(0,Z.useRef)(null),j=(0,Z.useMemo)(()=>{let e=0,t=0;for(let n of o)n.status===`success`&&(e+=1),n.status===`failed`&&(t+=1);return{success:e,failed:t}},[o]),N=o[0]??null;(0,Z.useEffect)(()=>{if(!e){_(null),S(!1);return}_(Ft(o))},[e,n?.id,o]);let P=(0,Z.useCallback)(async()=>{n?.schedule&&await M(Ye(n.schedule))&&(S(!0),window.setTimeout(()=>S(!1),1500))},[n?.schedule]),F=n?Oe(n,c,l):`—`,R=(0,Z.useCallback)(e=>{e.preventDefault();let t=A.current;if(!t)return;let n=t.getBoundingClientRect(),r=e.currentTarget,i=e.pointerId;r.setPointerCapture(i),k(!0);let a=e=>{D(Mt((e-n.left)/n.width*100))};a(e.clientX);let o=e=>{a(e.clientX)},s=()=>{try{r.releasePointerCapture(i)}catch{}k(!1),window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,s)};window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,s),window.addEventListener(`pointercancel`,s)},[]),z=(0,Z.useCallback)(e=>{e.key===`ArrowLeft`?(e.preventDefault(),D(e=>Mt(e-4))):e.key===`ArrowRight`?(e.preventDefault(),D(e=>Mt(e+4))):e.key===`Home`?(e.preventDefault(),D(kt)):e.key===`End`&&(e.preventDefault(),D(At))},[]);return(0,$.jsx)(b,{open:e,onOpenChange:e=>{e||t()},children:(0,$.jsxs)(C,{children:[(0,$.jsx)(V,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim backdrop-blur-[1px]`}),(0,$.jsx)(`div`,{className:`fixed inset-0 z-[60] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(v,{className:i(`xopc-dialog-content-pane pointer-events-auto relative flex h-[min(86vh,46rem)] w-full max-w-6xl flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,`dark:border-edge`),"aria-describedby":void 0,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(I,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:n?.name?.trim()||n?.id||`—`}),n?(0,$.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs text-fg-muted`,children:F}):null]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[n?(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":n.enabled,"aria-label":n.enabled?s.enabled:s.disabled,className:i(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,n.enabled?`justify-end bg-accent`:`justify-start bg-surface-hover`),onClick:()=>m(n,!n.enabled),children:(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`})}):null,(0,$.jsx)(B,{asChild:!0,children:(0,$.jsx)(Y,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":s.close,children:(0,$.jsx)(ce,{className:`size-5`,strokeWidth:1.75})})})]})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4 lg:overflow-hidden`,children:r?(0,$.jsx)(`div`,{className:`flex justify-center py-16`,children:(0,$.jsx)(ne,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):n?(0,$.jsxs)(`div`,{className:`flex min-h-full flex-col gap-4 lg:h-full lg:min-h-0`,children:[a?(0,$.jsx)(`div`,{className:i(`rounded-xl border px-3 py-2 text-sm`,a.kind===`error`?`border-amber-200 bg-amber-50 text-amber-900 dark:border-amber-900/50 dark:bg-amber-950/40 dark:text-amber-100`:`border-accent/25 bg-accent/5 text-fg dark:border-accent/30 dark:bg-accent/10`),role:`alert`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,$.jsx)(`p`,{children:a.message}),a.sessionKey?(0,$.jsxs)(Y,{type:`button`,variant:`secondary`,className:`h-8 shrink-0 gap-1.5 px-2.5 text-xs`,onClick:()=>xt(a.sessionKey),children:[(0,$.jsx)(oe,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0}),s.openChat]}):null]})}):null,(0,$.jsxs)(`div`,{ref:A,className:`grid min-h-0 grid-cols-1 gap-4 lg:flex-1 lg:[grid-template-columns:minmax(0,var(--cron-detail-config-pane))_0.75rem_minmax(23rem,1fr)] lg:gap-0`,style:{"--cron-detail-config-pane":`${w}%`},children:[(0,$.jsx)(`div`,{className:`rounded-2xl border border-edge bg-surface-base/35 p-4 lg:min-h-0 lg:overflow-y-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:s.scheduleLabel}),(0,$.jsxs)(`div`,{className:`mt-2 rounded-xl border border-edge-subtle bg-surface-base/80 px-3 py-3 dark:border-edge-subtle`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,$.jsx)(`p`,{className:`min-w-0 flex-1 text-sm font-medium leading-relaxed text-fg`,children:F}),(0,$.jsx)(Y,{type:`button`,variant:`secondary`,className:`size-8 shrink-0 p-0`,title:s.detailCopySchedule,"aria-label":s.detailCopySchedule,onClick:()=>void P(),children:y?(0,$.jsx)(T,{className:`size-3.5 text-emerald-600 dark:text-emerald-400`,strokeWidth:1.75}):(0,$.jsx)(ge,{className:`size-3.5`,strokeWidth:1.75})})]}),(0,$.jsxs)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:[(0,$.jsxs)(`span`,{className:`font-medium text-fg-subtle`,children:[s.detailCronTechnical,`: `]}),(0,$.jsx)(`code`,{className:`font-mono`,children:Ye(n.schedule)})]})]})]}),(0,$.jsxs)(`section`,{"aria-label":s.statsRegion,children:[(0,$.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,$.jsx)(Lt,{icon:x,label:s.nextRun,value:n.nextRunAtMs?Me(new Date(n.nextRunAtMs).toISOString(),s.timeLabels):`—`}),(0,$.jsx)(Lt,{icon:fe,label:s.detailLastRun,value:N?Ae(N.status,d):s.detailNoRecentRuns,valueClassName:N?.status===`failed`?`text-red-700 dark:text-red-300`:N?.status===`success`?`text-emerald-800 dark:text-emerald-300`:void 0})]}),o.length>0?(0,$.jsx)(`p`,{className:`mt-2 text-xs text-fg-muted`,children:s.detailRunCount.replace(`{{success}}`,String(j.success)).replace(`{{failed}}`,String(j.failed))}):null]}),(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:s.detailWhatItDoes}),(0,$.jsxs)(`div`,{className:`mt-2 rounded-xl border border-edge-subtle bg-surface-base/80 p-3 dark:border-edge-subtle`,children:[(0,$.jsx)(`div`,{className:`mb-2 inline-flex rounded-md bg-surface-hover px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:Pt(n,s)}),(0,$.jsx)(`div`,{className:`min-w-0 break-words text-fg [&_.markdown-body]:text-sm [&_.markdown-body]:leading-relaxed`,children:(0,$.jsx)(pe,{content:Re(n),compact:!0,className:`text-sm`})})]})]}),(0,$.jsxs)(`section`,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(E,{className:`size-4 shrink-0 text-fg-subtle`,strokeWidth:1.75,"aria-hidden":!0}),(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:s.detailRunSettings})]}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:s.detailRunSettingsHint}),(0,$.jsxs)(`dl`,{className:`mt-3 grid gap-3 rounded-xl border border-edge-subtle bg-surface-base/80 px-3 py-3 text-sm dark:border-edge-subtle`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.mode}),(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:n.sessionTarget===`isolated`?s.modeAgentOption:s.modeDirectOption})]}),n.sessionTarget===`isolated`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.agentProfile}),(0,$.jsx)(`dd`,{className:`mt-1 font-mono text-sm text-fg`,children:n.agentId?.trim()?n.agentId.trim():s.agentProfileDefault})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.workingDirectoryLabel}),(0,$.jsx)(`dd`,{className:`mt-1 break-all font-mono text-xs text-fg`,children:n.workingDirectory?.trim()?n.workingDirectory.trim():u})]})]}):null,n.delivery?.channel===`local`||n.sessionTarget===`isolated`&&!n.delivery?.to?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.deliveryTarget}),(0,$.jsx)(`dd`,{className:`mt-1 text-fg`,children:n.delivery?.channel===`local`?s.deliveryTargetLocalChannel:s.deliveryLocalOnly})]}):n.delivery?.to?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.deliveryTarget}),(0,$.jsxs)(`dd`,{className:`mt-1 break-words text-fg`,children:[(0,$.jsx)(`code`,{className:`text-xs`,children:n.delivery?.channel??``}),` → `,Je(n,s.channelLocal)]})]}):null,n.model?.trim()?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:s.model}),(0,$.jsx)(`dd`,{className:`mt-1 font-mono text-sm text-fg`,children:n.model.trim()})]}):null]})]})]})}),(0,$.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":s.detailResizeColumns,"aria-valuemin":kt,"aria-valuemax":At,"aria-valuenow":Math.round(w),tabIndex:0,onPointerDown:R,onKeyDown:z,className:i(`group hidden h-full cursor-col-resize touch-none select-none items-stretch justify-center rounded-lg outline-none lg:flex`,`focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`),children:(0,$.jsx)(`span`,{className:i(`h-full w-px bg-edge-subtle transition-colors duration-150`,`group-hover:bg-edge`,O&&`bg-edge`)})}),(0,$.jsxs)(`section`,{className:`rounded-2xl border border-edge bg-surface-base/35 p-4 lg:min-h-0 lg:overflow-y-auto`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:s.detailRunHistory}),o.length>0?(0,$.jsx)(`span`,{className:`text-xs text-fg-muted`,children:o.length}):null]}),o.length===0?(0,$.jsxs)(`div`,{className:`mt-2 rounded-xl border border-dashed border-edge-subtle px-4 py-8 text-center dark:border-edge-subtle`,children:[(0,$.jsx)(fe,{className:`mx-auto size-8 text-fg-disabled`,strokeWidth:1.25,"aria-hidden":!0}),(0,$.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:s.noRunsYet})]}):(0,$.jsx)(`ul`,{className:`mt-2 space-y-2`,children:o.map(e=>(0,$.jsx)(`li`,{children:(0,$.jsx)(It,{row:e,expanded:g===e.id,onToggle:()=>_(t=>t===e.id?null:e.id),c:s,statusLabels:d})},e.id))})]})]})]}):null}),n&&!r?(0,$.jsx)(`div`,{className:`shrink-0 border-t border-edge px-4 py-3`,children:(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsxs)(Y,{type:`button`,className:`gap-1.5`,onClick:()=>p(n),children:[(0,$.jsx)(L,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),s.runNow]}),(0,$.jsx)(Y,{type:`button`,variant:`secondary`,onClick:()=>f(n),children:s.edit}),(0,$.jsxs)(Y,{type:`button`,variant:`secondary`,className:`ml-auto text-red-600 hover:bg-red-50 dark:text-red-400 dark:hover:bg-red-950/40`,onClick:()=>h(n),children:[(0,$.jsx)(se,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),s.delete]})]})}):null]})})]})})}function zt(e){if(!e.trim())return null;try{return JSON.parse(e)}catch{return null}}function Bt(e){return typeof e.message==`string`&&e.message.trim()?e.message:typeof e.error==`string`&&e.error.trim()?e.error:e.error&&typeof e.error==`object`&&typeof e.error.message==`string`?e.error.message:`AI suggestion failed`}function Vt(e,t={}){let n=zt(e.split(`
|
|
2
|
+
`).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trimStart()).join(`
|
|
3
|
+
`));if(!n)return null;if(n.type===`text_delta`&&typeof n.delta==`string`)return t.onDelta?.(n.delta),null;if(n.type===`thinking_delta`&&typeof n.delta==`string`)return t.onThinkingDelta?.(n.delta),null;if(n.type===`done`&&typeof n.text==`string`)return n.text;if(n.type===`error`)throw Error(Bt(n));return null}async function Ht(e,t={}){let n=await d(l(`/api/ai/text-assist`),{method:`POST`,headers:{Accept:`text/event-stream`},body:JSON.stringify(e)});if(!n.ok){let e=await n.json().catch(()=>({})),t=typeof e.error==`string`?e.error:e.error?.message;throw Error(t||`AI suggestion failed (${n.status})`)}if(!n.body){let e=await n.json().catch(()=>null);if(e?.text)return e;throw Error(`AI suggestion stream is empty`)}let r=n.body.getReader(),i=new TextDecoder,a=``,o=``,s=``;for(;;){let{done:e,value:n}=await r.read();if(n){a+=i.decode(n,{stream:!e});let r=a.split(/\r?\n\r?\n/);a=r.pop()??``;for(let e of r){let n=Vt(e,{onDelta:e=>{o+=e,t.onDelta?.(e)},onThinkingDelta:e=>{s+=e,t.onThinkingDelta?.(e)}});n!==null&&(o=n)}}if(e)break}if(a.trim()){let e=Vt(a,{onDelta:e=>{o+=e,t.onDelta?.(e)},onThinkingDelta:e=>{s+=e,t.onThinkingDelta?.(e)}});e!==null&&(o=e)}let c=o.trim();if(!c)throw Error(`AI returned an empty suggestion`);return{text:c,thinking:s.trim()||void 0}}function Ut(){let[e,t]=(0,Z.useState)(``),[n,r]=(0,Z.useState)(``),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(null);return{suggestion:e,thinking:n,loading:i,error:o,generate:(0,Z.useCallback)(async e=>{a(!0),s(null),t(``),r(``);try{let n=await Ht(e,{onDelta:e=>{t(t=>t+e)},onThinkingDelta:e=>{r(t=>t+e)}});return t(n.text),r(n.thinking??``),n.text}catch(e){return s(e instanceof Error?e.message:`AI suggestion failed`),null}finally{a(!1)}},[]),reset:(0,Z.useCallback)(()=>{t(``),r(``),s(null),a(!1)},[])}}var Wt=5;function Gt(e){return e.startsWith(`zh`)?{title:`AI 优化文案`,buttonTitle:`优化文案`,current:`当前内容`,suggestion:`AI 建议`,editedSuggestion:`审核并编辑建议`,thinking:`模型思考`,thinkingLoading:`思考中`,edit:`编辑`,preview:`预览`,loading:`正在生成建议...`,empty:`暂无内容`,regenerate:`重新生成`,applyCurrent:`应用当前内容`,replace:`替换`,append:`追加`,cancel:`取消`,close:`关闭`}:{title:`AI text assist`,buttonTitle:`Improve text`,current:`Current`,suggestion:`Suggestion`,editedSuggestion:`Review and edit suggestion`,thinking:`Model thinking`,thinkingLoading:`Thinking`,edit:`Edit`,preview:`Preview`,loading:`Generating suggestion...`,empty:`No content`,regenerate:`Regenerate`,applyCurrent:`Apply current`,replace:`Replace`,append:`Append`,cancel:`Cancel`,close:`Close`}}function Kt(e){let t=(0,Q.c)(228),{value:n,onApply:r,fieldId:a,fieldLabel:o,scenario:s,format:c,intent:l,locale:u,context:d,disabled:f,className:p,showLabel:m}=e,h=s===void 0?`generic.text`:s,g=c===void 0?`plain`:c,_=l===void 0?`improve`:l,y=m===void 0?!0:m,[x,w]=(0,Z.useState)(!1),[T,E]=(0,Z.useState)(n),[D,O]=(0,Z.useState)(`preview`),[k,A]=(0,Z.useState)(``),[j,M]=(0,Z.useState)(`edit`),[N,P]=(0,Z.useState)(!0),L=(0,Z.useRef)(null),R=(0,Z.useRef)(!0),{suggestion:z,thinking:W,loading:G,error:q,generate:ee,reset:te}=Ut(),ne;t[0]===u?ne=t[1]:(ne=Gt(u),t[0]=u,t[1]=ne);let J=ne,re;t[2]!==G||t[3]!==W?(re=G&&W.trim().length>0,t[2]=G,t[3]=W,t[4]=re):re=t[4];let ie=re,ae,oe;t[5]!==x||t[6]!==n?(ae=()=>{x||E(n)},oe=[x,n],t[5]=x,t[6]=n,t[7]=ae,t[8]=oe):(ae=t[7],oe=t[8]),(0,Z.useEffect)(ae,oe);let se,le;t[9]===z?(se=t[10],le=t[11]):(le=()=>{A(z)},se=[z],t[9]=z,t[10]=se,t[11]=le),(0,Z.useEffect)(le,se);let ue,de;t[12]===W?(ue=t[13],de=t[14]):(ue=()=>{W.trim()&&P(!0)},de=[W],t[12]=W,t[13]=ue,t[14]=de),(0,Z.useEffect)(ue,de);let fe;t[15]!==ie||t[16]!==N?(fe=()=>{let e=L.current;!e||!ie||!N||R.current&&(e.scrollTop=e.scrollHeight)},t[15]=ie,t[16]=N,t[17]=fe):fe=t[17];let me;t[18]!==ie||t[19]!==W||t[20]!==N?(me=[ie,W,N],t[18]=ie,t[19]=W,t[20]=N,t[21]=me):me=t[21],(0,Z.useLayoutEffect)(fe,me);let he;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(he=()=>{let e=L.current;e&&(R.current=e.scrollHeight-e.scrollTop-e.clientHeight<=Wt)},t[22]=he):he=t[22];let ge=he,_e;t[23]!==d||t[24]!==a||t[25]!==o||t[26]!==g||t[27]!==ee||t[28]!==_||t[29]!==u||t[30]!==h?(_e=async e=>{M(`edit`),P(!0),R.current=!0,await ee({intent:_,scenario:h,input:e,locale:u,field:{id:a,label:o,format:g},context:d})},t[23]=d,t[24]=a,t[25]=o,t[26]=g,t[27]=ee,t[28]=_,t[29]=u,t[30]=h,t[31]=_e):_e=t[31];let ve=_e,ye;t[32]!==ve||t[33]!==n?(ye=async()=>{E(n),O(`preview`),w(!0),await ve(n)},t[32]=ve,t[33]=n,t[34]=ye):ye=t[34];let be=ye,xe;t[35]!==T||t[36]!==ve?(xe=async()=>{await ve(T)},t[35]=T,t[36]=ve,t[37]=xe):xe=t[37];let Se=xe,Ce;t[38]!==te||t[39]!==n?(Ce=()=>{w(!1),E(n),O(`preview`),A(``),M(`edit`),P(!0),te()},t[38]=te,t[39]=n,t[40]=Ce):Ce=t[40];let X=Ce,we;t[41]!==X||t[42]!==T||t[43]!==r?(we=()=>{r(T),X()},t[41]=X,t[42]=T,t[43]=r,t[44]=we):we=t[44];let Te=we,Ee;t[45]!==X||t[46]!==k||t[47]!==r?(Ee=()=>{k.trim()&&(r(k),X())},t[45]=X,t[46]=k,t[47]=r,t[48]=Ee):Ee=t[48];let De=Ee,Oe;t[49]!==X||t[50]!==T||t[51]!==k||t[52]!==r?(Oe=()=>{if(!k.trim())return;let e=T.trimEnd();r(e?`${e}\n\n${k}`:k),X()},t[49]=X,t[50]=T,t[51]=k,t[52]=r,t[53]=Oe):Oe=t[53];let ke=Oe,Ae;t[54]!==k||t[55]!==q||t[56]!==G?(Ae=!G&&!q&&k.trim().length>0,t[54]=k,t[55]=q,t[56]=G,t[57]=Ae):Ae=t[57];let je=Ae,Me=T!==n,Ne=!y&&`size-7 p-0`,Pe;t[58]!==p||t[59]!==Ne?(Pe=i(`h-7 gap-1 px-2 text-xs`,Ne,p),t[58]=p,t[59]=Ne,t[60]=Pe):Pe=t[60];let Fe=f||G,Ie;t[61]===be?Ie=t[62]:(Ie=()=>void be(),t[61]=be,t[62]=Ie);let Le;t[63]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,$.jsx)(F,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":!0}),t[63]=Le):Le=t[63];let Re=y?J.buttonTitle:null,ze;t[64]!==J.buttonTitle||t[65]!==Pe||t[66]!==Fe||t[67]!==Ie||t[68]!==Re?(ze=(0,$.jsxs)(Y,{type:`button`,variant:`ghost`,className:Pe,title:J.buttonTitle,"aria-label":J.buttonTitle,disabled:Fe,onClick:Ie,children:[Le,Re]}),t[64]=J.buttonTitle,t[65]=Pe,t[66]=Fe,t[67]=Ie,t[68]=Re,t[69]=ze):ze=t[69];let Be;t[70]===X?Be=t[71]:(Be=e=>e?w(!0):X(),t[70]=X,t[71]=Be);let Ve;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=(0,$.jsx)(V,{className:`xopc-dialog-overlay fixed inset-0 z-[80] bg-scrim`}),t[72]=Ve):Ve=t[72];let He;t[73]===J.title?He=t[74]:(He=(0,$.jsx)(I,{className:`text-base font-semibold text-fg`,children:J.title}),t[73]=J.title,t[74]=He);let Ue;t[75]===Symbol.for(`react.memo_cache_sentinel`)?(Ue=(0,$.jsx)(ce,{className:`size-5`,strokeWidth:1.75}),t[75]=Ue):Ue=t[75];let We;t[76]===J.close?We=t[77]:(We=(0,$.jsx)(B,{asChild:!0,children:(0,$.jsx)(Y,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":J.close,children:Ue})}),t[76]=J.close,t[77]=We);let Ge;t[78]!==He||t[79]!==We?(Ge=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[He,We]}),t[78]=He,t[79]=We,t[80]=Ge):Ge=t[80];let Ke;t[81]===J.current?Ke=t[82]:(Ke=(0,$.jsx)(`div`,{className:`min-w-0 text-xs font-medium text-fg-muted`,children:J.current}),t[81]=J.current,t[82]=Ke);let qe=D===`edit`?`bg-surface-panel text-fg shadow-surface`:`text-fg-muted hover:bg-surface-hover`,Je;t[83]===qe?Je=t[84]:(Je=i(`inline-flex h-7 items-center gap-1.5 rounded-md px-2 text-xs font-medium`,qe),t[83]=qe,t[84]=Je);let Ye,Xe;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=()=>O(`edit`),Xe=(0,$.jsx)(S,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[85]=Ye,t[86]=Xe):(Ye=t[85],Xe=t[86]);let Ze;t[87]!==J.edit||t[88]!==Je?(Ze=(0,$.jsxs)(`button`,{type:`button`,className:Je,onClick:Ye,children:[Xe,J.edit]}),t[87]=J.edit,t[88]=Je,t[89]=Ze):Ze=t[89];let Qe=D===`preview`?`bg-surface-panel text-fg shadow-surface`:`text-fg-muted hover:bg-surface-hover`,$e;t[90]===Qe?$e=t[91]:($e=i(`inline-flex h-7 items-center gap-1.5 rounded-md px-2 text-xs font-medium`,Qe),t[90]=Qe,t[91]=$e);let et,tt;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(et=()=>O(`preview`),tt=(0,$.jsx)(K,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[92]=et,t[93]=tt):(et=t[92],tt=t[93]);let nt;t[94]!==J.preview||t[95]!==$e?(nt=(0,$.jsxs)(`button`,{type:`button`,className:$e,onClick:et,children:[tt,J.preview]}),t[94]=J.preview,t[95]=$e,t[96]=nt):nt=t[96];let rt;t[97]!==Ze||t[98]!==nt?(rt=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 rounded-lg border border-edge bg-surface-muted p-0.5`,children:[Ze,nt]}),t[97]=Ze,t[98]=nt,t[99]=rt):rt=t[99];let it;t[100]!==Ke||t[101]!==rt?(it=(0,$.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-2`,children:[Ke,rt]}),t[100]=Ke,t[101]=rt,t[102]=it):it=t[102];let at;t[103]!==T||t[104]!==D||t[105]!==g||t[106]!==J.current||t[107]!==J.empty?(at=D===`preview`?(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto rounded-lg border border-edge bg-surface-base p-3 text-sm leading-6 text-fg`,children:g===`markdown`?(0,$.jsx)(pe,{content:T||J.empty,compact:!0,className:`text-sm`}):(0,$.jsx)(`pre`,{className:`whitespace-pre-wrap text-sm leading-6 text-fg`,children:T||J.empty})}):(0,$.jsx)(`textarea`,{className:`min-h-0 flex-1 resize-none overflow-auto rounded-lg border border-edge bg-surface-base p-3 text-sm leading-6 text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/25`,value:T,onChange:e=>E(e.currentTarget.value),placeholder:J.empty,"aria-label":J.current}),t[103]=T,t[104]=D,t[105]=g,t[106]=J.current,t[107]=J.empty,t[108]=at):at=t[108];let ot;t[109]!==it||t[110]!==at?(ot=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-col overflow-hidden`,children:[it,at]}),t[109]=it,t[110]=at,t[111]=ot):ot=t[111];let st;t[112]===J.editedSuggestion?st=t[113]:(st=(0,$.jsx)(`span`,{children:J.editedSuggestion}),t[112]=J.editedSuggestion,t[113]=st);let ct;t[114]!==J.loading||t[115]!==G?(ct=G?(0,$.jsx)(`span`,{className:`ml-2 font-normal`,children:J.loading}):null,t[114]=J.loading,t[115]=G,t[116]=ct):ct=t[116];let lt;t[117]!==st||t[118]!==ct?(lt=(0,$.jsxs)(`div`,{className:`min-w-0 text-xs font-medium text-fg-muted`,children:[st,ct]}),t[117]=st,t[118]=ct,t[119]=lt):lt=t[119];let ut=j===`edit`?`bg-surface-panel text-fg shadow-surface`:`text-fg-muted hover:bg-surface-hover`,dt;t[120]===ut?dt=t[121]:(dt=i(`inline-flex h-7 items-center gap-1.5 rounded-md px-2 text-xs font-medium`,ut),t[120]=ut,t[121]=dt);let ft,pt;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(ft=()=>M(`edit`),pt=(0,$.jsx)(S,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[122]=ft,t[123]=pt):(ft=t[122],pt=t[123]);let mt;t[124]!==J.edit||t[125]!==dt?(mt=(0,$.jsxs)(`button`,{type:`button`,className:dt,onClick:ft,children:[pt,J.edit]}),t[124]=J.edit,t[125]=dt,t[126]=mt):mt=t[126];let ht=j===`preview`?`bg-surface-panel text-fg shadow-surface`:`text-fg-muted hover:bg-surface-hover`,gt;t[127]===ht?gt=t[128]:(gt=i(`inline-flex h-7 items-center gap-1.5 rounded-md px-2 text-xs font-medium`,ht),t[127]=ht,t[128]=gt);let _t,vt;t[129]===Symbol.for(`react.memo_cache_sentinel`)?(_t=()=>M(`preview`),vt=(0,$.jsx)(K,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[129]=_t,t[130]=vt):(_t=t[129],vt=t[130]);let yt;t[131]!==J.preview||t[132]!==gt?(yt=(0,$.jsxs)(`button`,{type:`button`,className:gt,onClick:_t,children:[vt,J.preview]}),t[131]=J.preview,t[132]=gt,t[133]=yt):yt=t[133];let bt;t[134]!==mt||t[135]!==yt?(bt=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 rounded-lg border border-edge bg-surface-muted p-0.5`,children:[mt,yt]}),t[134]=mt,t[135]=yt,t[136]=bt):bt=t[136];let xt;t[137]!==lt||t[138]!==bt?(xt=(0,$.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-2`,children:[lt,bt]}),t[137]=lt,t[138]=bt,t[139]=xt):xt=t[139];let St=ie?`opacity-100`:`pointer-events-none opacity-0`,Ct;t[140]===St?Ct=t[141]:(Ct=i(`absolute inset-0 min-h-0 transition-opacity duration-200 ease-out motion-reduce:transition-none`,St),t[140]=St,t[141]=Ct);let wt=!ie,Tt;t[142]===Symbol.for(`react.memo_cache_sentinel`)?(Tt=()=>P(qt),t[142]=Tt):Tt=t[142];let Et;t[143]!==J.thinkingLoading||t[144]!==G?(Et=G?(0,$.jsxs)(`span`,{className:`ml-1 font-normal`,children:[`· `,J.thinkingLoading]}):null,t[143]=J.thinkingLoading,t[144]=G,t[145]=Et):Et=t[145];let Dt;t[146]!==J.thinking||t[147]!==Et?(Dt=(0,$.jsxs)(`span`,{className:`min-w-0 truncate`,children:[J.thinking,Et]}),t[146]=J.thinking,t[147]=Et,t[148]=Dt):Dt=t[148];let Ot=N&&`rotate-180`,kt;t[149]===Ot?kt=t[150]:(kt=i(`size-3.5 shrink-0 transition-transform`,Ot),t[149]=Ot,t[150]=kt);let At;t[151]===kt?At=t[152]:(At=(0,$.jsx)(H,{className:kt,strokeWidth:1.75,"aria-hidden":!0}),t[151]=kt,t[152]=At);let jt;t[153]!==Dt||t[154]!==At?(jt=(0,$.jsxs)(`button`,{type:`button`,className:`flex shrink-0 items-center justify-between gap-2 px-2.5 py-2 text-left text-xs font-medium text-fg-muted hover:text-fg`,onClick:Tt,children:[Dt,At]}),t[153]=Dt,t[154]=At,t[155]=jt):jt=t[155];let Mt;t[156]!==W||t[157]!==N?(Mt=N?(0,$.jsx)(`pre`,{ref:L,className:`min-h-0 flex-1 overflow-auto border-t border-edge px-2.5 py-2 whitespace-pre-wrap text-xs leading-5 text-fg-muted`,onScroll:ge,children:W}):null,t[156]=W,t[157]=N,t[158]=Mt):Mt=t[158];let Nt;t[159]!==jt||t[160]!==Mt?(Nt=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col rounded-lg border border-edge bg-surface-muted/70`,children:[jt,Mt]}),t[159]=jt,t[160]=Mt,t[161]=Nt):Nt=t[161];let Pt;t[162]!==Ct||t[163]!==wt||t[164]!==Nt?(Pt=(0,$.jsx)(`div`,{className:Ct,"aria-hidden":wt,children:Nt}),t[162]=Ct,t[163]=wt,t[164]=Nt,t[165]=Pt):Pt=t[165];let Ft=ie?`pointer-events-none opacity-0`:`opacity-100`,It;t[166]===Ft?It=t[167]:(It=i(`absolute inset-0 min-h-0 transition-opacity duration-200 ease-out motion-reduce:transition-none`,Ft),t[166]=Ft,t[167]=It);let Lt;t[168]!==k||t[169]!==q||t[170]!==g||t[171]!==J.empty||t[172]!==J.loading||t[173]!==J.suggestion||t[174]!==G||t[175]!==j?(Lt=q?(0,$.jsx)(`pre`,{className:`h-full min-h-0 overflow-auto whitespace-pre-wrap rounded-lg border border-edge bg-surface-base p-3 text-sm leading-6 text-fg-muted`,children:q}):j===`preview`?(0,$.jsx)(`div`,{className:`h-full min-h-0 overflow-auto rounded-lg border border-edge bg-surface-base p-3 text-sm leading-6 text-fg`,children:G&&!k.trim()?(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:J.loading}):g===`markdown`?(0,$.jsx)(pe,{content:k||J.empty,compact:!0,className:`text-sm`}):(0,$.jsx)(`pre`,{className:`whitespace-pre-wrap text-sm leading-6 text-fg`,children:k||J.empty})}):(0,$.jsx)(`textarea`,{className:`h-full min-h-0 w-full resize-none overflow-auto rounded-lg border border-edge bg-surface-base p-3 text-sm leading-6 text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/25 disabled:text-fg-muted`,value:k,onChange:e=>A(e.currentTarget.value),disabled:G,placeholder:G?J.loading:J.empty,"aria-label":J.suggestion}),t[168]=k,t[169]=q,t[170]=g,t[171]=J.empty,t[172]=J.loading,t[173]=J.suggestion,t[174]=G,t[175]=j,t[176]=Lt):Lt=t[176];let Rt;t[177]!==It||t[178]!==Lt?(Rt=(0,$.jsx)(`div`,{className:It,children:Lt}),t[177]=It,t[178]=Lt,t[179]=Rt):Rt=t[179];let zt;t[180]!==Pt||t[181]!==Rt?(zt=(0,$.jsxs)(`div`,{className:`relative min-h-0 flex-1 overflow-hidden`,children:[Pt,Rt]}),t[180]=Pt,t[181]=Rt,t[182]=zt):zt=t[182];let Bt;t[183]!==xt||t[184]!==zt?(Bt=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-col overflow-hidden`,children:[xt,zt]}),t[183]=xt,t[184]=zt,t[185]=Bt):Bt=t[185];let Vt;t[186]!==ot||t[187]!==Bt?(Vt=(0,$.jsxs)(`div`,{className:`grid min-h-0 flex-1 grid-cols-1 gap-3 overflow-hidden p-4 md:grid-cols-2`,children:[ot,Bt]}),t[186]=ot,t[187]=Bt,t[188]=Vt):Vt=t[188];let Ht;t[189]!==X||t[190]!==J.cancel?(Ht=(0,$.jsx)(Y,{type:`button`,variant:`secondary`,onClick:X,children:J.cancel}),t[189]=X,t[190]=J.cancel,t[191]=Ht):Ht=t[191];let Kt=!Me,Yt;t[192]!==Te||t[193]!==J.applyCurrent||t[194]!==Kt?(Yt=(0,$.jsx)(Y,{type:`button`,variant:`secondary`,disabled:Kt,onClick:Te,children:J.applyCurrent}),t[192]=Te,t[193]=J.applyCurrent,t[194]=Kt,t[195]=Yt):Yt=t[195];let Xt;t[196]===Se?Xt=t[197]:(Xt=()=>void Se(),t[196]=Se,t[197]=Xt);let Zt;t[198]===Symbol.for(`react.memo_cache_sentinel`)?(Zt=(0,$.jsx)(U,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),t[198]=Zt):Zt=t[198];let Qt;t[199]!==J.regenerate||t[200]!==G||t[201]!==Xt?(Qt=(0,$.jsxs)(Y,{type:`button`,variant:`secondary`,disabled:G,onClick:Xt,children:[Zt,J.regenerate]}),t[199]=J.regenerate,t[200]=G,t[201]=Xt,t[202]=Qt):Qt=t[202];let $t=!je,en;t[203]!==ke||t[204]!==J.append||t[205]!==$t?(en=(0,$.jsx)(Y,{type:`button`,variant:`secondary`,disabled:$t,onClick:ke,children:J.append}),t[203]=ke,t[204]=J.append,t[205]=$t,t[206]=en):en=t[206];let tn=!je,nn;t[207]!==De||t[208]!==J.replace||t[209]!==tn?(nn=(0,$.jsx)(Y,{type:`button`,variant:`primary`,disabled:tn,onClick:De,children:J.replace}),t[207]=De,t[208]=J.replace,t[209]=tn,t[210]=nn):nn=t[210];let rn;t[211]!==Ht||t[212]!==Yt||t[213]!==Qt||t[214]!==en||t[215]!==nn?(rn=(0,$.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-4 py-3`,children:[Ht,Yt,Qt,en,nn]}),t[211]=Ht,t[212]=Yt,t[213]=Qt,t[214]=en,t[215]=nn,t[216]=rn):rn=t[216];let an;t[217]!==Ge||t[218]!==Vt||t[219]!==rn?(an=(0,$.jsxs)(C,{children:[Ve,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[80] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(v,{className:`xopc-dialog-content-pane pointer-events-auto flex h-[min(78vh,38rem)] w-full max-w-4xl flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,onOpenAutoFocus:Jt,children:[Ge,Vt,rn]})})]}),t[217]=Ge,t[218]=Vt,t[219]=rn,t[220]=an):an=t[220];let on;t[221]!==x||t[222]!==Be||t[223]!==an?(on=(0,$.jsx)(b,{open:x,onOpenChange:Be,children:an}),t[221]=x,t[222]=Be,t[223]=an,t[224]=on):on=t[224];let sn;return t[225]!==ze||t[226]!==on?(sn=(0,$.jsxs)($.Fragment,{children:[ze,on]}),t[225]=ze,t[226]=on,t[227]=sn):sn=t[227],sn}function qt(e){return!e}function Jt(e){return e.preventDefault()}function Yt(e){let t=(0,Q.c)(31),{value:n,onChange:r,disabled:i,wd:a,placeholder:o,title:s,maxWidthClass:c,clearLabel:l,onClear:u}=e,d;t[0]!==r||t[1]!==n?(d={initialPath:n,onPicked:r},t[0]=r,t[1]=n,t[2]=d):d=t[2];let f=le(d),p;t[3]===n?p=t[4]:(p=n.trim(),t[3]=n,t[4]=p);let m=p,h=s??(m?`${m}\n${a.chooseFolder}`:`${o??a.notSet}\n${a.selectWorkingDirectory}`),g=i||f.picking,_=o??a.notSet,v;t[5]!==c||t[6]!==f.pick||t[7]!==h||t[8]!==g||t[9]!==_||t[10]!==n?(v=(0,$.jsx)(J,{value:n,onPick:f.pick,disabled:g,placeholder:_,title:h,maxWidthClass:c}),t[5]=c,t[6]=f.pick,t[7]=h,t[8]=g,t[9]=_,t[10]=n,t[11]=v):v=t[11];let y;t[12]!==l||t[13]!==i||t[14]!==u||t[15]!==f.picking||t[16]!==m?(y=l&&m&&u?(0,$.jsx)(`button`,{type:`button`,disabled:i||f.picking,className:`text-xs font-medium text-accent hover:underline disabled:opacity-50`,onClick:u,children:l}):null,t[12]=l,t[13]=i,t[14]=u,t[15]=f.picking,t[16]=m,t[17]=y):y=t[17];let b;t[18]!==v||t[19]!==y?(b=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[v,y]}),t[18]=v,t[19]=y,t[20]=b):b=t[20];let x;t[21]!==f.confirmPick||t[22]!==f.hasNativePicker||t[23]!==f.modalOpen||t[24]!==f.setModalOpen||t[25]!==m||t[26]!==a?(x=f.hasNativePicker?null:(0,$.jsx)(ae,{open:f.modalOpen,onOpenChange:f.setModalOpen,initialAbsolutePath:m||void 0,onConfirm:f.confirmPick,wd:a}),t[21]=f.confirmPick,t[22]=f.hasNativePicker,t[23]=f.modalOpen,t[24]=f.setModalOpen,t[25]=m,t[26]=a,t[27]=x):x=t[27];let S;return t[28]!==b||t[29]!==x?(S=(0,$.jsxs)($.Fragment,{children:[b,x]}),t[28]=b,t[29]=x,t[30]=S):S=t[30],S}function Xt(e,t){return e[t]??t}function Zt(e,t){let n=be[e]??[];if(n.length===0)return{};let r=t&&typeof t==`object`&&!Array.isArray(t)?t:{},i={};for(let e of n){let t=r[e.key];t!=null&&(i[e.key]=String(t))}return i}function Qt(e,t){return(be[e]??[]).every(e=>!e.required||!!t[e.key]?.trim())}function $t(e){let t=(0,Q.c)(12),{examples:n,labels:r,onSelect:i}=e;if(n.length===0)return null;let a;t[0]===r.examplePrompts?a=t[1]:(a=(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:r.examplePrompts}),t[0]=r.examplePrompts,t[1]=a);let o;if(t[2]!==n||t[3]!==i){let e;t[5]===i?e=t[6]:(e=e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`rounded-lg border border-edge bg-surface-base/50 px-3 py-2 text-left text-xs text-fg-muted hover:bg-surface-hover`,children:e.text},`${e.field}:${e.text}`),t[5]=i,t[6]=e),o=n.map(e),t[2]=n,t[3]=i,t[4]=o}else o=t[4];let s;t[7]===o?s=t[8]:(s=(0,$.jsx)(`div`,{className:`mt-2 flex flex-col gap-1.5`,children:o}),t[7]=o,t[8]=s);let c;return t[9]!==a||t[10]!==s?(c=(0,$.jsxs)(`div`,{children:[a,s]}),t[9]=a,t[10]=s,t[11]=c):c=t[11],c}function en(e){let t=(0,Q.c)(34),{workflowName:n,language:r,argValues:o,onArgValuesChange:s,goal:c,onGoalChange:l,examplePrompts:u,showGoal:d,inputClassName:f,aiAssist:p}=e,m;t[0]===u?m=t[1]:(m=u===void 0?[]:u,t[0]=u,t[1]=m);let h=m,g=d===void 0?!0:d,_,v,y,b,x,S,C;if(t[2]!==p||t[3]!==o||t[4]!==h||t[5]!==c||t[6]!==f||t[7]!==r||t[8]!==s||t[9]!==l||t[10]!==g||t[11]!==n){y=a(r).workflows;let e=be[n]??[];v=e.length>0;let u=i(`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`,f),d;t[19]!==o||t[20]!==s||t[21]!==l?(d=e=>{ue(e,l,e=>{s(e(o))})},t[19]=o,t[20]=s,t[21]=l,t[22]=d):d=t[22],_=d,b=`flex flex-col gap-3`,x=e.map(e=>{let t=Xt(y.args,e.labelKey),a=Xt(y.args,e.placeholderKey),c=o[e.key]??``;return(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`span`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsxs)(`span`,{className:`text-xs font-medium text-fg-muted`,children:[t,e.required?` *`:``]}),e.multiline&&p?(0,$.jsx)(Kt,{value:c,onApply:t=>s({...o,[e.key]:t}),fieldId:`workflow.arg.${e.key}`,fieldLabel:t,scenario:`workflow.arg`,locale:r,context:{...p.context,workflowName:n,workflowArgs:o,fieldKey:e.key},disabled:p.disabled,showLabel:!1}):null]}),e.multiline?(0,$.jsx)(`textarea`,{value:c,onChange:t=>s({...o,[e.key]:t.target.value}),placeholder:a,className:i(u,`min-h-20 resize-y`)}):(0,$.jsx)(`input`,{value:c,onChange:t=>s({...o,[e.key]:t.target.value}),placeholder:a,className:u})]},e.key)}),S=v&&h.length>0?(0,$.jsx)($t,{examples:h,labels:y,onSelect:_}):null,C=g?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`span`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:y.goalLabel}),p?(0,$.jsx)(Kt,{value:c,onApply:l,fieldId:`workflow.goal`,fieldLabel:y.goalLabel,scenario:`cron.workflowGoal`,locale:r,context:{...p.context,workflowName:n,workflowArgs:o},disabled:p.disabled,showLabel:!1}):null]}),(0,$.jsx)(`textarea`,{value:c,onChange:e=>l(e.target.value),placeholder:y.goalPlaceholder,className:i(u,`min-h-20 resize-y`)})]}):null,t[2]=p,t[3]=o,t[4]=h,t[5]=c,t[6]=f,t[7]=r,t[8]=s,t[9]=l,t[10]=g,t[11]=n,t[12]=_,t[13]=v,t[14]=y,t[15]=b,t[16]=x,t[17]=S,t[18]=C}else _=t[12],v=t[13],y=t[14],b=t[15],x=t[16],S=t[17],C=t[18];let w;t[23]!==_||t[24]!==h||t[25]!==v||t[26]!==y?(w=!v&&h.length>0?(0,$.jsx)($t,{examples:h,labels:y,onSelect:_}):null,t[23]=_,t[24]=h,t[25]=v,t[26]=y,t[27]=w):w=t[27];let T;return t[28]!==b||t[29]!==x||t[30]!==S||t[31]!==C||t[32]!==w?(T=(0,$.jsxs)(`div`,{className:b,children:[x,S,C,w]}),t[28]=b,t[29]=x,t[30]=S,t[31]=C,t[32]=w,t[33]=T):T=t[33],T}var tn=42,nn=68,rn=56;function an(e){return Math.max(tn,Math.min(nn,e))}function on(e){let t=(0,Q.c)(10),{title:n,children:r,className:a}=e,o;t[0]===a?o=t[1]:(o=i(`rounded-2xl border border-edge bg-surface-base/35 p-4`,a),t[0]=a,t[1]=o);let s;t[2]===n?s=t[3]:(s=n?(0,$.jsx)(`h3`,{className:`mb-3 text-sm font-semibold text-fg`,children:n}):null,t[2]=n,t[3]=s);let c;t[4]===r?c=t[5]:(c=(0,$.jsx)(`div`,{className:`flex flex-col gap-3`,children:r}),t[4]=r,t[5]=c);let l;return t[6]!==o||t[7]!==s||t[8]!==c?(l=(0,$.jsxs)(`section`,{className:o,children:[s,c]}),t[6]=o,t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function sn(e){let t=(0,Q.c)(301),{open:n,onRequestClose:r,c:a,chatM:s,agentsMessages:c,isDark:l,channels:u,sessionChatIds:d,cronAgentSelectOptions:f,defaultModelResolver:p,formMode:m,formJobId:h,formName:g,onFormNameChange:y,formSchedule:x,onFormScheduleChange:w,formSubmitting:T,formTaskKind:E,onFormTaskKindChange:D,workflowDefinitions:O,workflowDefinitionsLoading:k,formWorkflowDefinitionId:A,onFormWorkflowDefinitionIdChange:j,formWorkflowGoal:M,onFormWorkflowGoalChange:N,formWorkflowArgValues:P,onFormWorkflowArgValuesChange:F,formSessionTarget:L,onFormSessionTargetChange:R,formAgentLocalOnly:z,onFormAgentLocalOnlyChange:H,formModel:W,onFormModelUserChange:G,formAgentId:q,onFormAgentIdChange:ee,formWorkingDirectory:te,onFormWorkingDirectoryChange:ne,formChannel:J,onFormChannelChange:re,formChatId:ie,onFormChatIdChange:ae,formMessage:oe,onFormMessageChange:se,formMessageMdMode:le,onSetMessageMdMode:ue,messageEditorNonce:de,needsDeliveryChat:fe,showChannelPicker:he,canSubmit:ge,onSubmit:_e,onRefreshRecipients:ye}=e,be=o(pn),[xe,Se]=(0,Z.useState)(rn),[Ce,we]=(0,Z.useState)(!1),[Te,Ee]=(0,Z.useState)(0),De=(0,Z.useRef)(null),Oe,ke;if(t[0]!==A||t[1]!==be||t[2]!==O){let e;t[5]===A?e=t[6]:(e=e=>e.id===A.trim(),t[5]=A,t[6]=e),Oe=O.find(e),ke=Oe?_(Oe,be):null,t[0]=A,t[1]=be,t[2]=O,t[3]=Oe,t[4]=ke}else Oe=t[3],ke=t[4];let Ae=ke,je;t[7]!==x.everyMs||t[8]!==x.kind?(je=x.kind===`every`?Math.max(1,Math.round(x.everyMs/6e4)):60,t[7]=x.everyMs,t[8]=x.kind,t[9]=je):je=t[9];let Me=je,Ne;t[10]!==x.at||t[11]!==x.kind?(Ne=x.kind===`at`&&x.at?new Date(x.at).toISOString().slice(0,16):``,t[10]=x.at,t[11]=x.kind,t[12]=Ne):Ne=t[12];let Pe=Ne,Fe;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=e=>{e.preventDefault();let t=De.current;if(!t)return;let n=t.getBoundingClientRect(),r=e.currentTarget,i=e.pointerId;r.setPointerCapture(i),we(!0);let a=e=>{Se(an((e-n.left)/n.width*100))};a(e.clientX);let o=e=>{a(e.clientX)},s=()=>{try{r.releasePointerCapture(i)}catch{}we(!1),window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,s)};window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,s),window.addEventListener(`pointercancel`,s)},t[13]=Fe):Fe=t[13];let Ie=Fe,Le;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(Le=e=>{e.key===`ArrowLeft`?(e.preventDefault(),Se(fn)):e.key===`ArrowRight`?(e.preventDefault(),Se(dn)):e.key===`Home`?(e.preventDefault(),Se(tn)):e.key===`End`&&(e.preventDefault(),Se(nn))},t[14]=Le):Le=t[14];let Re=Le,ze;t[15]===a.agentProfile?ze=t[16]:(ze=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.agentProfile}),t[15]=a.agentProfile,t[16]=ze);let Be;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(Be=wt(),t[17]=Be):Be=t[17];let Ve;t[18]===ee?Ve=t[19]:(Ve=e=>ee(e.target.value),t[18]=ee,t[19]=Ve);let He;t[20]===a.agentProfileDefault?He=t[21]:(He=(0,$.jsx)(`option`,{value:``,children:a.agentProfileDefault}),t[20]=a.agentProfileDefault,t[21]=He);let Ue;if(t[22]!==c||t[23]!==f){let e;t[25]===c?e=t[26]:(e=e=>(0,$.jsx)(`option`,{value:e.id,children:`${e.id} - ${ve(e,c)}`},e.id),t[25]=c,t[26]=e),Ue=f.map(e),t[22]=c,t[23]=f,t[24]=Ue}else Ue=t[24];let We;t[27]!==q||t[28]!==T||t[29]!==Ve||t[30]!==He||t[31]!==Ue?(We=(0,$.jsxs)(`select`,{className:Be,value:q,disabled:T,onChange:Ve,children:[He,Ue]}),t[27]=q,t[28]=T,t[29]=Ve,t[30]=He,t[31]=Ue,t[32]=We):We=t[32];let Ge;t[33]===a.agentProfileHint?Ge=t[34]:(Ge=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:a.agentProfileHint}),t[33]=a.agentProfileHint,t[34]=Ge);let Ke;t[35]!==We||t[36]!==Ge||t[37]!==ze?(Ke=(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[ze,We,Ge]}),t[35]=We,t[36]=Ge,t[37]=ze,t[38]=Ke):Ke=t[38];let qe=Ke,Je;t[39]!==a.channel||t[40]!==a.channelLocal||t[41]!==a.enterManuallyOrSelect||t[42]!==a.lastActiveLabels||t[43]!==a.noRecentChats||t[44]!==a.noRecentChatsOption||t[45]!==a.recipient||t[46]!==a.recipientPlaceholder||t[47]!==a.refreshList||t[48]!==a.refreshRecipientHint||t[49]!==a.selectRecipient||t[50]!==a.workflowDeliveryHint||t[51]!==u||t[52]!==J||t[53]!==ie||t[54]!==E||t[55]!==fe||t[56]!==re||t[57]!==ae||t[58]!==ye||t[59]!==d||t[60]!==he?(Je=he?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.channel}),(0,$.jsxs)(`select`,{className:wt(),value:J,onChange:e=>re(e.target.value),children:[(0,$.jsx)(`option`,{value:`local`,children:a.channelLocal}),u.map(un)]})]}),fe?(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.recipient}),(0,$.jsxs)(Y,{type:`button`,variant:`ghost`,className:`h-7 gap-1 px-2 text-xs`,title:a.refreshRecipientHint,onClick:()=>void ye(),children:[(0,$.jsx)(U,{className:`size-3.5`,strokeWidth:1.75}),a.refreshList]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-stretch sm:gap-2`,children:[(0,$.jsx)(`input`,{type:`text`,className:i(Ct(),`min-w-0 w-full sm:flex-1`),value:ie,onChange:e=>ae(e.target.value),placeholder:a.recipientPlaceholder}),(0,$.jsxs)(`select`,{className:Tt,value:ie,onChange:e=>{let t=e.target.value;t&&ae(t)},children:[(0,$.jsx)(`option`,{value:``,children:a.selectRecipient}),d.length>0?d.map(e=>(0,$.jsx)(`option`,{value:e.chatId,children:Xe(e,a.lastActiveLabels)},`${e.channel}-${e.chatId}`)):(0,$.jsx)(`option`,{value:``,disabled:!0,children:a.noRecentChatsOption})]})]}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:E===`workflowRun`?a.workflowDeliveryHint:d.length>0?a.enterManuallyOrSelect:a.noRecentChats})]}):null]}):null,t[39]=a.channel,t[40]=a.channelLocal,t[41]=a.enterManuallyOrSelect,t[42]=a.lastActiveLabels,t[43]=a.noRecentChats,t[44]=a.noRecentChatsOption,t[45]=a.recipient,t[46]=a.recipientPlaceholder,t[47]=a.refreshList,t[48]=a.refreshRecipientHint,t[49]=a.selectRecipient,t[50]=a.workflowDeliveryHint,t[51]=u,t[52]=J,t[53]=ie,t[54]=E,t[55]=fe,t[56]=re,t[57]=ae,t[58]=ye,t[59]=d,t[60]=he,t[61]=Je):Je=t[61];let Ze=Je,Qe;t[62]===a.schedule?Qe=t[63]:(Qe=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.schedule}),t[62]=a.schedule,t[63]=Qe);let et;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(et=wt(),t[64]=et):et=t[64];let tt;t[65]===w?tt=t[66]:(tt=e=>{let t=e.target.value;w(t===`cron`?{kind:`cron`,expr:`*/5 * * * *`}:t===`at`?{kind:`at`,at:new Date(Date.now()+36e5).toISOString()}:{kind:`every`,everyMs:36e5})},t[65]=w,t[66]=tt);let nt,rt,it;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(nt=(0,$.jsx)(`option`,{value:`cron`,children:`Cron`}),rt=(0,$.jsx)(`option`,{value:`at`,children:`One-time`}),it=(0,$.jsx)(`option`,{value:`every`,children:`Interval`}),t[67]=nt,t[68]=rt,t[69]=it):(nt=t[67],rt=t[68],it=t[69]);let at;t[70]!==x.kind||t[71]!==T||t[72]!==tt?(at=(0,$.jsxs)(`select`,{className:et,value:x.kind,disabled:T,onChange:tt,children:[nt,rt,it]}),t[70]=x.kind,t[71]=T,t[72]=tt,t[73]=at):at=t[73];let ot;t[74]!==Qe||t[75]!==at?(ot=(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[Qe,at]}),t[74]=Qe,t[75]=at,t[76]=ot):ot=t[76];let st;t[77]!==Pe||t[78]!==a.nextRun||t[79]!==a.scheduleBadge||t[80]!==a.schedulePicker||t[81]!==x||t[82]!==T||t[83]!==Me||t[84]!==w?(st=x.kind===`cron`?(0,$.jsx)($e,{value:x.expr,onChange:e=>w({...x,expr:e}),disabled:T,labels:a.schedulePicker}):x.kind===`at`?(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.nextRun}),(0,$.jsx)(`input`,{type:`datetime-local`,className:Ct(T),value:Pe,disabled:T,onChange:e=>{let t=new Date(e.target.value).getTime();w({kind:`at`,at:Number.isFinite(t)?new Date(t).toISOString():``})}})]}):(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.scheduleBadge.everyNMinutes.replace(`{{n}}`,``)}),(0,$.jsx)(`input`,{type:`number`,min:1,step:1,className:Ct(T),value:Me,disabled:T,onChange:e=>{let t=Number.parseInt(e.target.value,10);w({kind:`every`,everyMs:Math.max(1,Number.isFinite(t)?t:1)*6e4})}})]}),t[77]=Pe,t[78]=a.nextRun,t[79]=a.scheduleBadge,t[80]=a.schedulePicker,t[81]=x,t[82]=T,t[83]=Me,t[84]=w,t[85]=st):st=t[85];let ct;t[86]!==ot||t[87]!==st?(ct=(0,$.jsxs)($.Fragment,{children:[ot,st]}),t[86]=ot,t[87]=st,t[88]=ct):ct=t[88];let lt=ct,ut;t[89]===a.message?ut=t[90]:(ut=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.message}),t[89]=a.message,t[90]=ut);let dt;t[91]!==se||t[92]!==ue?(dt=e=>{se(e),Ee(ln),ue(`edit`)},t[91]=se,t[92]=ue,t[93]=dt):dt=t[93];let ft=a.message,pt;t[94]===x?pt=t[95]:(pt=Ye(x),t[94]=x,t[95]=pt);let mt;t[96]!==J||t[97]!==g||t[98]!==L||t[99]!==E||t[100]!==pt?(mt={page:`cron`,taskKind:E,cronName:g,scheduleSummary:pt,sessionTarget:L,deliveryChannel:J},t[96]=J,t[97]=g,t[98]=L,t[99]=E,t[100]=pt,t[101]=mt):mt=t[101];let ht;t[102]!==a.message||t[103]!==oe||t[104]!==T||t[105]!==be||t[106]!==dt||t[107]!==mt?(ht=(0,$.jsx)(Kt,{value:oe,onApply:dt,fieldId:`cron.message`,fieldLabel:ft,scenario:`cron.message`,format:`markdown`,locale:be,context:mt,disabled:T}),t[102]=a.message,t[103]=oe,t[104]=T,t[105]=be,t[106]=dt,t[107]=mt,t[108]=ht):ht=t[108];let gt=le===`edit`?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover`,_t;t[109]===gt?_t=t[110]:(_t=i(`inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium`,gt),t[109]=gt,t[110]=_t);let vt;t[111]===ue?vt=t[112]:(vt=()=>ue(`edit`),t[111]=ue,t[112]=vt);let yt;t[113]===Symbol.for(`react.memo_cache_sentinel`)?(yt=(0,$.jsx)(S,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[113]=yt):yt=t[113];let bt;t[114]!==a.messageEdit||t[115]!==_t||t[116]!==vt?(bt=(0,$.jsxs)(`button`,{type:`button`,className:_t,onClick:vt,children:[yt,a.messageEdit]}),t[114]=a.messageEdit,t[115]=_t,t[116]=vt,t[117]=bt):bt=t[117];let xt=le===`preview`?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover`,St;t[118]===xt?St=t[119]:(St=i(`inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs font-medium`,xt),t[118]=xt,t[119]=St);let Et;t[120]===ue?Et=t[121]:(Et=()=>ue(`preview`),t[120]=ue,t[121]=Et);let Dt;t[122]===Symbol.for(`react.memo_cache_sentinel`)?(Dt=(0,$.jsx)(K,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[122]=Dt):Dt=t[122];let Ot;t[123]!==a.messagePreview||t[124]!==St||t[125]!==Et?(Ot=(0,$.jsxs)(`button`,{type:`button`,className:St,onClick:Et,children:[Dt,a.messagePreview]}),t[123]=a.messagePreview,t[124]=St,t[125]=Et,t[126]=Ot):Ot=t[126];let kt;t[127]!==bt||t[128]!==Ot?(kt=(0,$.jsxs)(`div`,{className:`inline-flex rounded-lg border border-edge bg-surface-base p-0.5 dark:border-edge`,children:[bt,Ot]}),t[127]=bt,t[128]=Ot,t[129]=kt):kt=t[129];let At;t[130]!==ht||t[131]!==kt?(At=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[ht,kt]}),t[130]=ht,t[131]=kt,t[132]=At):At=t[132];let jt;t[133]!==ut||t[134]!==At?(jt=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[ut,At]}),t[133]=ut,t[134]=At,t[135]=jt):jt=t[135];let Mt=T&&`pointer-events-none opacity-60`,Nt;t[136]===Mt?Nt=t[137]:(Nt=i(`overflow-hidden rounded-md border border-edge bg-surface-base dark:border-edge`,Mt),t[136]=Mt,t[137]=Nt);let Pt;t[138]!==Te||t[139]!==a.messagePlaceholder||t[140]!==h||t[141]!==oe||t[142]!==le||t[143]!==l||t[144]!==de||t[145]!==se?(Pt=le===`edit`?(0,$.jsx)(X,{initialContent:oe,onChange:se,isDark:l,className:`h-[min(22rem,44vh)] min-h-[16rem]`},`cron-msg-${h??`new`}-${de}-${Te}`):(0,$.jsx)(`div`,{className:`h-[min(22rem,44vh)] min-h-[16rem] max-h-[min(26rem,52vh)] overflow-y-auto px-3 py-2`,children:oe.trim()?(0,$.jsx)(pe,{content:oe,compact:!0,className:`text-sm`}):(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:a.messagePlaceholder})}),t[138]=Te,t[139]=a.messagePlaceholder,t[140]=h,t[141]=oe,t[142]=le,t[143]=l,t[144]=de,t[145]=se,t[146]=Pt):Pt=t[146];let Ft;t[147]!==Nt||t[148]!==Pt?(Ft=(0,$.jsx)(`div`,{className:Nt,children:Pt}),t[147]=Nt,t[148]=Pt,t[149]=Ft):Ft=t[149];let It;t[150]===a.messageMarkdownHint?It=t[151]:(It=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:a.messageMarkdownHint}),t[150]=a.messageMarkdownHint,t[151]=It);let Lt;t[152]!==jt||t[153]!==Ft||t[154]!==It?(Lt=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[jt,Ft,It]}),t[152]=jt,t[153]=Ft,t[154]=It,t[155]=Lt):Lt=t[155];let Rt=Lt,zt;t[156]===r?zt=t[157]:(zt=e=>!e&&r(),t[156]=r,t[157]=zt);let Bt;t[158]===Symbol.for(`react.memo_cache_sentinel`)?(Bt=(0,$.jsx)(V,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[158]=Bt):Bt=t[158];let Vt=m===`edit`?a.editJob:a.addJob,Ht;t[159]===Vt?Ht=t[160]:(Ht=(0,$.jsx)(I,{className:`text-base font-semibold text-fg`,children:Vt}),t[159]=Vt,t[160]=Ht);let Ut;t[161]===Symbol.for(`react.memo_cache_sentinel`)?(Ut=(0,$.jsx)(ce,{className:`size-5`,strokeWidth:1.75}),t[161]=Ut):Ut=t[161];let Wt;t[162]===a.close?Wt=t[163]:(Wt=(0,$.jsx)(B,{asChild:!0,children:(0,$.jsx)(Y,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":a.close,children:Ut})}),t[162]=a.close,t[163]=Wt);let Gt;t[164]!==Ht||t[165]!==Wt?(Gt=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-4 py-3`,children:[Ht,Wt]}),t[164]=Ht,t[165]=Wt,t[166]=Gt):Gt=t[166];let qt=!Ce&&`lg:transition-[grid-template-columns] lg:duration-200 lg:ease-out`,Jt;t[167]===qt?Jt=t[168]:(Jt=i(`grid min-h-full grid-cols-1 gap-4 lg:h-full lg:min-h-0 lg:[grid-template-columns:minmax(0,var(--cron-form-primary-pane))_0.75rem_minmax(22rem,1fr)] lg:gap-0`,qt),t[167]=qt,t[168]=Jt);let Xt=`${xe}%`,Zt;t[169]===Xt?Zt=t[170]:(Zt={"--cron-form-primary-pane":Xt},t[169]=Xt,t[170]=Zt);let Qt=Zt,$t;t[171]===a.name?$t=t[172]:($t=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.name}),t[171]=a.name,t[172]=$t);let sn;t[173]===Symbol.for(`react.memo_cache_sentinel`)?(sn=Ct(),t[173]=sn):sn=t[173];let mn;t[174]===y?mn=t[175]:(mn=e=>y(e.target.value),t[174]=y,t[175]=mn);let hn;t[176]!==a.namePlaceholder||t[177]!==g||t[178]!==mn?(hn=(0,$.jsx)(`input`,{type:`text`,className:sn,value:g,onChange:mn,placeholder:a.namePlaceholder}),t[176]=a.namePlaceholder,t[177]=g,t[178]=mn,t[179]=hn):hn=t[179];let gn;t[180]!==$t||t[181]!==hn?(gn=(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[$t,hn]}),t[180]=$t,t[181]=hn,t[182]=gn):gn=t[182];let _n;t[183]===a.taskKind?_n=t[184]:(_n=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.taskKind}),t[183]=a.taskKind,t[184]=_n);let vn;t[185]===Symbol.for(`react.memo_cache_sentinel`)?(vn=wt(),t[185]=vn):vn=t[185];let yn;t[186]===D?yn=t[187]:(yn=e=>D(e.target.value),t[186]=D,t[187]=yn);let bn;t[188]===a.taskKindMessage?bn=t[189]:(bn=(0,$.jsx)(`option`,{value:`message`,children:a.taskKindMessage}),t[188]=a.taskKindMessage,t[189]=bn);let xn;t[190]===a.taskKindWorkflowRun?xn=t[191]:(xn=(0,$.jsx)(`option`,{value:`workflowRun`,children:a.taskKindWorkflowRun}),t[190]=a.taskKindWorkflowRun,t[191]=xn);let Sn;t[192]!==T||t[193]!==E||t[194]!==yn||t[195]!==bn||t[196]!==xn?(Sn=(0,$.jsxs)(`select`,{className:vn,value:E,disabled:T,onChange:yn,children:[bn,xn]}),t[192]=T,t[193]=E,t[194]=yn,t[195]=bn,t[196]=xn,t[197]=Sn):Sn=t[197];let Cn;t[198]!==_n||t[199]!==Sn?(Cn=(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[_n,Sn]}),t[198]=_n,t[199]=Sn,t[200]=Cn):Cn=t[200];let wn;t[201]!==lt||t[202]!==gn||t[203]!==Cn?(wn=(0,$.jsxs)(on,{children:[gn,lt,Cn]}),t[201]=lt,t[202]=gn,t[203]=Cn,t[204]=wn):wn=t[204];let Tn;t[205]!==a.message||t[206]!==a.workflowDefinition||t[207]!==a.workflowDefinitionCustom||t[208]!==a.workflowDefinitionMissing||t[209]!==a.workflowDefinitionPlaceholder||t[210]!==a.workflowDefinitionsEmpty||t[211]!==a.workflowDefinitionsLoading||t[212]!==g||t[213]!==x||t[214]!==T||t[215]!==E||t[216]!==P||t[217]!==A||t[218]!==M||t[219]!==be||t[220]!==Rt||t[221]!==F||t[222]!==j||t[223]!==N||t[224]!==Oe||t[225]!==Ae||t[226]!==O||t[227]!==k?(Tn=E===`workflowRun`?(0,$.jsxs)(on,{title:a.workflowDefinition,children:[(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.workflowDefinition}),(0,$.jsxs)(`select`,{className:wt(),value:A,disabled:T||k,onChange:e=>j(e.target.value),children:[(0,$.jsx)(`option`,{value:``,children:k?a.workflowDefinitionsLoading:a.workflowDefinitionPlaceholder}),A.trim()&&!O.some(e=>e.id===A.trim())?(0,$.jsx)(`option`,{value:A,children:A}):null,O.map(e=>(0,$.jsxs)(`option`,{value:e.id,children:[e.title,e.metadata.source===`user`?` (${a.workflowDefinitionCustom})`:``]},e.id))]}),!k&&O.length===0?(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:a.workflowDefinitionsEmpty}):null,Ae?(0,$.jsx)(`p`,{className:`text-xs leading-5 text-fg-muted`,children:Ae.description}):A.trim()&&!Oe?(0,$.jsx)(`p`,{className:`text-xs text-amber-700 dark:text-amber-300`,children:a.workflowDefinitionMissing}):null]}),A.trim()?(0,$.jsx)(en,{workflowName:A.trim(),language:be,argValues:P,onArgValuesChange:F,goal:M,onGoalChange:N,examplePrompts:Ae?.examplePrompts??[],inputClassName:Ct(),aiAssist:{disabled:T,context:{page:`cron`,taskKind:E,cronName:g,scheduleSummary:Ye(x),workflowDefinitionId:A.trim(),workflowDescription:Ae?.description??``}}}):null]}):(0,$.jsx)(on,{title:a.message,children:Rt}),t[205]=a.message,t[206]=a.workflowDefinition,t[207]=a.workflowDefinitionCustom,t[208]=a.workflowDefinitionMissing,t[209]=a.workflowDefinitionPlaceholder,t[210]=a.workflowDefinitionsEmpty,t[211]=a.workflowDefinitionsLoading,t[212]=g,t[213]=x,t[214]=T,t[215]=E,t[216]=P,t[217]=A,t[218]=M,t[219]=be,t[220]=Rt,t[221]=F,t[222]=j,t[223]=N,t[224]=Oe,t[225]=Ae,t[226]=O,t[227]=k,t[228]=Tn):Tn=t[228];let En;t[229]!==wn||t[230]!==Tn?(En=(0,$.jsx)(`div`,{className:`lg:min-h-0 lg:overflow-y-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[wn,Tn]})}),t[229]=wn,t[230]=Tn,t[231]=En):En=t[231];let Dn=a.detailResizeColumns,On;t[232]===xe?On=t[233]:(On=Math.round(xe),t[232]=xe,t[233]=On);let kn;t[234]===Symbol.for(`react.memo_cache_sentinel`)?(kn=i(`group hidden h-full cursor-col-resize touch-none select-none items-stretch justify-center rounded-lg outline-none lg:flex`,`focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`),t[234]=kn):kn=t[234];let An=Ce&&`bg-edge`,jn;t[235]===An?jn=t[236]:(jn=i(`h-full w-px bg-edge-subtle transition-colors duration-150`,`group-hover:bg-edge`,An),t[235]=An,t[236]=jn);let Mn;t[237]===jn?Mn=t[238]:(Mn=(0,$.jsx)(`span`,{className:jn}),t[237]=jn,t[238]=Mn);let Nn;t[239]!==a.detailResizeColumns||t[240]!==On||t[241]!==Mn?(Nn=(0,$.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":Dn,"aria-valuemin":tn,"aria-valuemax":nn,"aria-valuenow":On,tabIndex:0,onPointerDown:Ie,onKeyDown:Re,className:kn,children:Mn}),t[239]=a.detailResizeColumns,t[240]=On,t[241]=Mn,t[242]=Nn):Nn=t[242];let Pn;t[243]!==qe||t[244]!==a.agentLocalOnly||t[245]!==a.agentLocalOnlyHint||t[246]!==a.detailRunSettings||t[247]!==a.mode||t[248]!==a.modeAgent||t[249]!==a.modeAgentOption||t[250]!==a.modeDirect||t[251]!==a.modeDirectOption||t[252]!==a.model||t[253]!==a.workflowLocalOnly||t[254]!==a.workflowLocalOnlyHint||t[255]!==a.workingDirectoryHint||t[256]!==a.workingDirectoryLabel||t[257]!==a.workingDirectoryReset||t[258]!==s||t[259]!==p||t[260]!==z||t[261]!==W||t[262]!==L||t[263]!==T||t[264]!==E||t[265]!==te||t[266]!==H||t[267]!==G||t[268]!==R||t[269]!==ne?(Pn=E===`message`?(0,$.jsxs)(on,{title:a.detailRunSettings,children:[(0,$.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.mode}),(0,$.jsxs)(`select`,{className:wt(),value:L,onChange:e=>{let t=e.target.value;R(t,p,W.trim())},children:[(0,$.jsx)(`option`,{value:`main`,children:a.modeDirectOption}),(0,$.jsx)(`option`,{value:`isolated`,children:a.modeAgentOption})]}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:L===`main`?a.modeDirect:a.modeAgent})]}),L===`isolated`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.model}),(0,$.jsx)(me,{value:W,placeholder:s.modelPlaceholder,searchPlaceholder:s.modelSearchPlaceholder,noMatches:s.modelNoMatches,className:`w-full max-w-none min-w-0`,popoverContentClassName:`z-[70]`,onChange:G})]}),qe,(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:a.workingDirectoryLabel}),(0,$.jsx)(Yt,{value:te,onChange:ne,disabled:T,wd:s.workingDirectory,placeholder:s.workingDirectory.notSet,maxWidthClass:`max-w-[min(18rem,52vw)]`,clearLabel:a.workingDirectoryReset,onClear:()=>ne(``)}),(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:a.workingDirectoryHint})]}),(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 rounded-md bg-surface-hover/45 px-3 py-2 dark:bg-surface-hover/30`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:i(`ui-checkbox`,`mt-0.5`),checked:z,onChange:e=>H(e.target.checked),"aria-label":a.agentLocalOnly}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:a.agentLocalOnly}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:a.agentLocalOnlyHint})]})]})]}):null]}):(0,$.jsxs)(on,{title:a.detailRunSettings,children:[qe,(0,$.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 rounded-md bg-surface-hover/45 px-3 py-2 dark:bg-surface-hover/30`,children:[(0,$.jsx)(`input`,{type:`checkbox`,className:i(`ui-checkbox`,`mt-0.5`),checked:z,onChange:e=>H(e.target.checked),"aria-label":a.workflowLocalOnly}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:a.workflowLocalOnly}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:a.workflowLocalOnlyHint})]})]})]}),t[243]=qe,t[244]=a.agentLocalOnly,t[245]=a.agentLocalOnlyHint,t[246]=a.detailRunSettings,t[247]=a.mode,t[248]=a.modeAgent,t[249]=a.modeAgentOption,t[250]=a.modeDirect,t[251]=a.modeDirectOption,t[252]=a.model,t[253]=a.workflowLocalOnly,t[254]=a.workflowLocalOnlyHint,t[255]=a.workingDirectoryHint,t[256]=a.workingDirectoryLabel,t[257]=a.workingDirectoryReset,t[258]=s,t[259]=p,t[260]=z,t[261]=W,t[262]=L,t[263]=T,t[264]=E,t[265]=te,t[266]=H,t[267]=G,t[268]=R,t[269]=ne,t[270]=Pn):Pn=t[270];let Fn;t[271]!==a.deliveryTarget||t[272]!==Ze?(Fn=Ze?(0,$.jsx)(on,{title:a.deliveryTarget,children:Ze}):null,t[271]=a.deliveryTarget,t[272]=Ze,t[273]=Fn):Fn=t[273];let In;t[274]!==Pn||t[275]!==Fn?(In=(0,$.jsx)(`aside`,{className:`lg:min-h-0 lg:overflow-y-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[Pn,Fn]})}),t[274]=Pn,t[275]=Fn,t[276]=In):In=t[276];let Ln;t[277]!==Jt||t[278]!==Qt||t[279]!==En||t[280]!==Nn||t[281]!==In?(Ln=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4 lg:overflow-hidden`,children:(0,$.jsxs)(`div`,{ref:De,className:Jt,style:Qt,children:[En,Nn,In]})}),t[277]=Jt,t[278]=Qt,t[279]=En,t[280]=Nn,t[281]=In,t[282]=Ln):Ln=t[282];let Rn;t[283]!==a.cancel||t[284]!==r?(Rn=(0,$.jsx)(Y,{type:`button`,variant:`secondary`,onClick:r,children:a.cancel}),t[283]=a.cancel,t[284]=r,t[285]=Rn):Rn=t[285];let zn=T||!ge,Bn=T?a.loading:m===`edit`?a.save:a.create,Vn;t[286]!==_e||t[287]!==zn||t[288]!==Bn?(Vn=(0,$.jsx)(Y,{type:`button`,variant:`primary`,disabled:zn,onClick:_e,children:Bn}),t[286]=_e,t[287]=zn,t[288]=Bn,t[289]=Vn):Vn=t[289];let Hn;t[290]!==Rn||t[291]!==Vn?(Hn=(0,$.jsxs)(`div`,{className:`flex shrink-0 justify-end gap-2 border-t border-edge px-4 py-3`,children:[Rn,Vn]}),t[290]=Rn,t[291]=Vn,t[292]=Hn):Hn=t[292];let Un;t[293]!==Gt||t[294]!==Ln||t[295]!==Hn?(Un=(0,$.jsxs)(C,{children:[Bt,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[60] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(v,{className:`xopc-dialog-content-pane pointer-events-auto relative flex h-[min(86vh,46rem)] w-full max-w-6xl flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none dark:border-edge`,onOpenAutoFocus:cn,children:[Gt,Ln,Hn]})})]}),t[293]=Gt,t[294]=Ln,t[295]=Hn,t[296]=Un):Un=t[296];let Wn;return t[297]!==n||t[298]!==zt||t[299]!==Un?(Wn=(0,$.jsx)(b,{open:n,onOpenChange:zt,children:Un}),t[297]=n,t[298]=zt,t[299]=Un,t[300]=Wn):Wn=t[300],Wn}function cn(e){return e.preventDefault()}function ln(e){return e+1}function un(e){return(0,$.jsxs)(`option`,{value:e.name,disabled:!e.enabled,children:[e.name,` `,e.enabled?``:`(disabled)`]},e.name)}function dn(e){return an(e+4)}function fn(e){return an(e-4)}function pn(e){return e.language}function mn(e){let t=(0,Q.c)(76),{c:n,mainTab:r,onMainTabChange:a,jobSort:o,onJobSortChange:s,historyRange:c,onHistoryRangeChange:l,historyJobFilter:u,onHistoryJobFilterChange:d,historyStatusFilter:f,onHistoryStatusFilterChange:p,jobs:m}=e,h=n.title,_=r===`myTasks`,v=r===`myTasks`?`text-fg`:`text-fg-muted hover:text-fg`,y;t[0]===v?y=t[1]:(y=i(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,v),t[0]=v,t[1]=y);let b;t[2]===a?b=t[3]:(b=()=>a(`myTasks`),t[2]=a,t[3]=b);let x;t[4]!==n.tabMyTasks||t[5]!==_||t[6]!==y||t[7]!==b?(x=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":_,className:y,onClick:b,children:n.tabMyTasks}),t[4]=n.tabMyTasks,t[5]=_,t[6]=y,t[7]=b,t[8]=x):x=t[8];let S=r===`systemTasks`,C=r===`systemTasks`?`text-fg`:`text-fg-muted hover:text-fg`,w;t[9]===C?w=t[10]:(w=i(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,C),t[9]=C,t[10]=w);let T;t[11]===a?T=t[12]:(T=()=>a(`systemTasks`),t[11]=a,t[12]=T);let E;t[13]!==n.tabSystemTasks||t[14]!==T||t[15]!==S||t[16]!==w?(E=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":S,className:w,onClick:T,children:n.tabSystemTasks}),t[13]=n.tabSystemTasks,t[14]=T,t[15]=S,t[16]=w,t[17]=E):E=t[17];let D=r===`history`,O=r===`history`?`text-fg`:`text-fg-muted hover:text-fg`,k;t[18]===O?k=t[19]:(k=i(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,O),t[18]=O,t[19]=k);let A;t[20]===a?A=t[21]:(A=()=>a(`history`),t[20]=a,t[21]=A);let j;t[22]!==n.tabRunHistory||t[23]!==D||t[24]!==k||t[25]!==A?(j=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":D,className:k,onClick:A,children:n.tabRunHistory}),t[22]=n.tabRunHistory,t[23]=D,t[24]=k,t[25]=A,t[26]=j):j=t[26];let M=r===`settings`,N=r===`settings`?`text-fg`:`text-fg-muted hover:text-fg`,P;t[27]===N?P=t[28]:(P=i(`rounded-md px-3 py-2 text-sm font-medium transition-colors`,N),t[27]=N,t[28]=P);let F;t[29]===a?F=t[30]:(F=()=>a(`settings`),t[29]=a,t[30]=F);let I;t[31]!==n.globals.title||t[32]!==M||t[33]!==P||t[34]!==F?(I=(0,$.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":M,className:P,onClick:F,children:n.globals.title}),t[31]=n.globals.title,t[32]=M,t[33]=P,t[34]=F,t[35]=I):I=t[35];let L;t[36]!==n.title||t[37]!==E||t[38]!==j||t[39]!==I||t[40]!==x?(L=(0,$.jsxs)(`div`,{className:`flex gap-1`,role:`tablist`,"aria-label":h,children:[x,E,j,I]}),t[36]=n.title,t[37]=E,t[38]=j,t[39]=I,t[40]=x,t[41]=L):L=t[41];let R=r===`history`?`flex-nowrap overflow-x-auto pb-0.5 sm:justify-end`:`flex-wrap sm:justify-end`,z;t[42]===R?z=t[43]:(z=i(`flex min-w-0 items-center gap-2`,R),t[42]=R,t[43]=z);let B;t[44]!==n.sortCreatedAsc||t[45]!==n.sortCreatedDesc||t[46]!==o||t[47]!==r||t[48]!==s?(B=r===`myTasks`||r===`systemTasks`?(0,$.jsxs)(`select`,{className:Et,value:o,onChange:e=>s(e.target.value),"aria-label":n.sortCreatedDesc,children:[(0,$.jsx)(`option`,{value:`created_desc`,children:n.sortCreatedDesc}),(0,$.jsx)(`option`,{value:`created_asc`,children:n.sortCreatedAsc})]}):null,t[44]=n.sortCreatedAsc,t[45]=n.sortCreatedDesc,t[46]=o,t[47]=r,t[48]=s,t[49]=B):B=t[49];let V;t[50]!==n.execStatusCancelled||t[51]!==n.execStatusFailed||t[52]!==n.execStatusRunning||t[53]!==n.execStatusSuccess||t[54]!==n.filterAllStatuses||t[55]!==n.filterAllTasks||t[56]!==n.historyRangeDay||t[57]!==n.historyRangeMonth||t[58]!==n.historyRangeWeek||t[59]!==n.runHistoryTitle||t[60]!==u||t[61]!==c||t[62]!==f||t[63]!==m||t[64]!==r||t[65]!==d||t[66]!==l||t[67]!==p?(V=r===`history`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:i(ie,`shrink-0`),role:`group`,"aria-label":n.runHistoryTitle,children:[`day`,`week`,`month`].map(e=>(0,$.jsx)(`button`,{type:`button`,className:i(g,`px-2.5 py-1`,c===e&&`bg-surface-panel shadow-sm dark:bg-surface-panel dark:shadow-sm dark:ring-1 dark:ring-edge-strong/40`,c===e&&`text-fg`),onClick:()=>l(e),children:e===`day`?n.historyRangeDay:e===`week`?n.historyRangeWeek:n.historyRangeMonth},e))}),(0,$.jsxs)(`select`,{className:Et,value:u,onChange:e=>d(e.target.value),"aria-label":n.filterAllTasks,children:[(0,$.jsx)(`option`,{value:``,children:n.filterAllTasks}),m.map(hn)]}),(0,$.jsxs)(`select`,{className:Et,value:f,onChange:e=>p(e.target.value),"aria-label":n.filterAllStatuses,children:[(0,$.jsx)(`option`,{value:``,children:n.filterAllStatuses}),(0,$.jsx)(`option`,{value:`success`,children:n.execStatusSuccess}),(0,$.jsx)(`option`,{value:`failed`,children:n.execStatusFailed}),(0,$.jsx)(`option`,{value:`cancelled`,children:n.execStatusCancelled}),(0,$.jsx)(`option`,{value:`running`,children:n.execStatusRunning})]})]}):null,t[50]=n.execStatusCancelled,t[51]=n.execStatusFailed,t[52]=n.execStatusRunning,t[53]=n.execStatusSuccess,t[54]=n.filterAllStatuses,t[55]=n.filterAllTasks,t[56]=n.historyRangeDay,t[57]=n.historyRangeMonth,t[58]=n.historyRangeWeek,t[59]=n.runHistoryTitle,t[60]=u,t[61]=c,t[62]=f,t[63]=m,t[64]=r,t[65]=d,t[66]=l,t[67]=p,t[68]=V):V=t[68];let H;t[69]!==z||t[70]!==B||t[71]!==V?(H=(0,$.jsxs)(`div`,{className:z,children:[B,V]}),t[69]=z,t[70]=B,t[71]=V,t[72]=H):H=t[72];let U;return t[73]!==L||t[74]!==H?(U=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 border-b border-edge-subtle pb-3 sm:flex-row sm:items-center sm:justify-between dark:border-edge-subtle`,children:[L,H]}),t[73]=L,t[74]=H,t[75]=U):U=t[75],U}function hn(e){return(0,$.jsx)(`option`,{value:e.id,children:e.name||e.id},e.id)}function gn(e){let t=(0,Q.c)(16),{c:n,loading:r,runHistoryLoading:i,onRefresh:a,onOpenTemplatePicker:o,onAddJob:s}=e,c=r||i,l;t[0]!==c||t[1]!==n.refresh||t[2]!==a?(l=(0,$.jsx)(Ce,{className:`size-9 shrink-0 p-0`,loading:c,label:n.refresh,onClick:a}),t[0]=c,t[1]=n.refresh,t[2]=a,t[3]=l):l=t[3];let u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(w,{className:`size-4`,strokeWidth:1.75}),t[4]=u):u=t[4];let d;t[5]!==n.fromTemplate||t[6]!==o?(d=(0,$.jsxs)(Y,{type:`button`,variant:`secondary`,className:`gap-2`,onClick:o,children:[u,n.fromTemplate]}),t[5]=n.fromTemplate,t[6]=o,t[7]=d):d=t[7];let f;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(W,{className:`size-4`,strokeWidth:1.75}),t[8]=f):f=t[8];let p;t[9]!==n.addJob||t[10]!==s?(p=(0,$.jsxs)(Y,{type:`button`,variant:`primary`,className:`gap-2`,onClick:s,children:[f,n.addJob]}),t[9]=n.addJob,t[10]=s,t[11]=p):p=t[11];let m;return t[12]!==l||t[13]!==d||t[14]!==p?(m=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-wrap items-center justify-end gap-2`,children:[l,d,p]}),t[12]=l,t[13]=d,t[14]=p,t[15]=m):m=t[15],m}function _n(e){let t=(0,Q.c)(39),{c:n,runHistoryLoading:r,runHistory:a,filteredRunHistory:o,jobs:s,onRefreshHistory:c,onOpenJobDetail:l,statusLabels:u}=e,d;t[0]===n.tabRunHistory?d=t[1]:(d=(0,$.jsx)(`h2`,{id:`cron-history-panel`,className:`sr-only`,children:n.tabRunHistory}),t[0]=n.tabRunHistory,t[1]=d);let f;t[2]===n.runHistoryHint?f=t[3]:(f=(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.runHistoryHint}),t[2]=n.runHistoryHint,t[3]=f);let p;t[4]!==d||t[5]!==f?(p=(0,$.jsxs)(`div`,{children:[d,f]}),t[4]=d,t[5]=f,t[6]=p):p=t[6];let m;t[7]!==n.refresh||t[8]!==c||t[9]!==r?(m=(0,$.jsx)(Ce,{className:`size-9 shrink-0 p-0`,loading:r,label:n.refresh,onClick:c}),t[7]=n.refresh,t[8]=c,t[9]=r,t[10]=m):m=t[10];let h;t[11]!==p||t[12]!==m?(h=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[p,m]}),t[11]=p,t[12]=m,t[13]=h):h=t[13];let g;t[14]!==n.colChat||t[15]!==n.colDetail||t[16]!==n.colDuration||t[17]!==n.colJob||t[18]!==n.colStarted||t[19]!==n.colWorkflow||t[20]!==n.emptyHistoryHint||t[21]!==n.emptyHistoryTitle||t[22]!==n.noRunsYet||t[23]!==n.openChat||t[24]!==n.openChatTitle||t[25]!==n.openWorkflow||t[26]!==n.openWorkflowTitle||t[27]!==n.runHistoryHint||t[28]!==n.status||t[29]!==o||t[30]!==s||t[31]!==l||t[32]!==a||t[33]!==r||t[34]!==u?(g=r&&a.length===0?(0,$.jsx)(`div`,{className:`flex justify-center py-16`,children:(0,$.jsx)(ne,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):o.length===0?(0,$.jsxs)(`div`,{className:`flex flex-col items-center rounded-2xl border border-dashed border-edge-subtle px-6 py-16 text-center dark:border-edge-subtle`,children:[(0,$.jsx)(fe,{className:`mb-4 size-14 text-fg-disabled`,strokeWidth:1.1,"aria-hidden":!0}),(0,$.jsx)(`h3`,{className:`text-base font-semibold text-fg`,children:a.length===0?n.emptyHistoryTitle:n.noRunsYet}),(0,$.jsx)(`p`,{className:`mt-2 max-w-sm text-sm text-fg-muted`,children:a.length===0?n.emptyHistoryHint:n.runHistoryHint})]}):(0,$.jsx)(`div`,{className:`overflow-x-auto rounded-xl border border-edge-subtle bg-surface-base dark:border-edge-subtle`,children:(0,$.jsxs)(`table`,{className:`w-full min-w-[700px] border-collapse text-left text-sm`,children:[(0,$.jsx)(`thead`,{children:(0,$.jsxs)(`tr`,{className:`border-b border-edge text-xs font-medium text-fg-muted`,children:[(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colStarted}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colJob}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.status}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colDuration}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colDetail}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colWorkflow}),(0,$.jsx)(`th`,{className:`px-3 py-2.5 font-medium`,children:n.colChat})]})}),(0,$.jsx)(`tbody`,{children:o.map(e=>(0,$.jsxs)(`tr`,{className:`border-b border-edge/60 last:border-0`,children:[(0,$.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2.5 text-fg`,children:(0,$.jsx)(`time`,{dateTime:e.startedAt,children:De(e.startedAt)})}),(0,$.jsx)(`td`,{className:`max-w-[10rem] truncate px-3 py-2.5`,children:s.some(t=>t.id===e.jobId)?(0,$.jsx)(`button`,{type:`button`,className:`text-left text-accent hover:underline`,onClick:()=>{let t=s.find(t=>t.id===e.jobId);t&&l(t)},children:e.jobName||e.jobId}):(0,$.jsx)(`span`,{className:`text-fg-muted`,children:e.jobName||e.jobId})}),(0,$.jsx)(`td`,{className:`px-3 py-2.5`,children:(0,$.jsx)(`span`,{className:i(`inline-flex rounded-md px-2 py-0.5 text-xs font-medium`,e.status===`success`&&`bg-emerald-500/15 text-emerald-800 dark:text-emerald-300`,e.status===`failed`&&`bg-red-500/15 text-red-800 dark:text-red-300`,e.status===`running`&&`bg-accent/15 text-accent`,e.status===`cancelled`&&`bg-surface-hover text-fg-muted`),children:Ae(e.status,u)})}),(0,$.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2.5 text-fg-muted`,children:Ze(e.duration)}),(0,$.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2.5 text-fg-muted`,title:e.summary||e.error||``,children:ke(e.summary||e.error,96)}),(0,$.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2.5`,children:e.workflowRunId?.trim()?(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent hover:underline`,title:n.openWorkflowTitle,"aria-label":n.openWorkflowTitle,onClick:()=>St(e.workflowRunId),children:n.openWorkflow}):(0,$.jsx)(`span`,{className:`text-fg-disabled`,children:`—`})}),(0,$.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2.5`,children:e.sessionKey?.trim()?(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent hover:underline`,title:n.openChatTitle,"aria-label":n.openChatTitle,onClick:()=>xt(e.sessionKey),children:n.openChat}):(0,$.jsx)(`span`,{className:`text-fg-disabled`,children:`—`})})]},e.id))})]})}),t[14]=n.colChat,t[15]=n.colDetail,t[16]=n.colDuration,t[17]=n.colJob,t[18]=n.colStarted,t[19]=n.colWorkflow,t[20]=n.emptyHistoryHint,t[21]=n.emptyHistoryTitle,t[22]=n.noRunsYet,t[23]=n.openChat,t[24]=n.openChatTitle,t[25]=n.openWorkflow,t[26]=n.openWorkflowTitle,t[27]=n.runHistoryHint,t[28]=n.status,t[29]=o,t[30]=s,t[31]=l,t[32]=a,t[33]=r,t[34]=u,t[35]=g):g=t[35];let _;return t[36]!==h||t[37]!==g?(_=(0,$.jsxs)(`section`,{"aria-labelledby":`cron-history-panel`,className:`flex flex-col gap-3`,children:[h,g]}),t[36]=h,t[37]=g,t[38]=_):_=t[38],_}function vn(e){let t=(0,Q.c)(77),{job:n,c:r,localeTag:a,scheduleBadgeLabels:o,absorbCardClickJobIdRef:s,scheduleAbsorbNextMenuCardClick:c,onOpenDetail:l,onToggle:u,onEdit:d,onRunNow:f,onDelete:p}=e,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=i(`flex h-full min-h-0 cursor-pointer flex-col rounded-xl border border-edge-subtle bg-surface-base text-left transition-colors duration-150 ease-out dark:border-edge-subtle`,`hover:bg-surface-hover`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`),t[0]=m):m=t[0];let g,_;t[1]!==s||t[2]!==n||t[3]!==l?(g=()=>{if(s.current===n.id){s.current=null;return}l(n)},_=e=>{if(e.key===`Enter`||e.key===` `){if(e.preventDefault(),s.current===n.id){s.current=null;return}l(n)}},t[1]=s,t[2]=n,t[3]=l,t[4]=g,t[5]=_):(g=t[4],_=t[5]);let v=n.enabled,y=n.enabled?`justify-end bg-accent`:`justify-start bg-surface-hover`,b;t[6]===y?b=t[7]:(b=i(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,y),t[6]=y,t[7]=b);let x;t[8]!==n||t[9]!==u?(x=e=>{e.stopPropagation(),u(n,!n.enabled)},t[8]=n,t[9]=u,t[10]=x):x=t[10];let S;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`}),t[11]=S):S=t[11];let C;t[12]!==n.enabled||t[13]!==b||t[14]!==x?(C=(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":v,className:b,onClick:x,children:S}),t[12]=n.enabled,t[13]=b,t[14]=x,t[15]=C):C=t[15];let w;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,$.jsx)(h,{className:`size-4`,strokeWidth:1.75}),t[16]=w):w=t[16];let T;t[17]===r.jobCardMenuAria?T=t[18]:(T=(0,$.jsx)(it,{asChild:!0,children:(0,$.jsx)(Y,{type:`button`,variant:`ghost`,className:`size-8 shrink-0 p-0`,"aria-label":r.jobCardMenuAria,onClick:bn,children:w})}),t[17]=r.jobCardMenuAria,t[18]=T);let E;t[19]!==n||t[20]!==d||t[21]!==c?(E=()=>{c(n.id),d(n)},t[19]=n,t[20]=d,t[21]=c,t[22]=E):E=t[22];let D;t[23]!==r.edit||t[24]!==E?(D=(0,$.jsx)(rt,{className:`cursor-pointer select-none rounded-lg px-2 py-1.5 text-sm text-fg outline-none data-highlighted:bg-surface-hover`,onSelect:E,children:r.edit}),t[23]=r.edit,t[24]=E,t[25]=D):D=t[25];let O;t[26]!==n||t[27]!==f||t[28]!==c?(O=()=>{c(n.id),f(n)},t[26]=n,t[27]=f,t[28]=c,t[29]=O):O=t[29];let k;t[30]!==r.runNow||t[31]!==O?(k=(0,$.jsx)(rt,{className:`cursor-pointer select-none rounded-lg px-2 py-1.5 text-sm text-fg outline-none data-highlighted:bg-surface-hover`,onSelect:O,children:r.runNow}),t[30]=r.runNow,t[31]=O,t[32]=k):k=t[32];let A;t[33]!==n||t[34]!==p||t[35]!==c?(A=()=>{c(n.id),p(n)},t[33]=n,t[34]=p,t[35]=c,t[36]=A):A=t[36];let j;t[37]!==r.delete||t[38]!==A?(j=(0,$.jsx)(rt,{className:`cursor-pointer select-none rounded-lg px-2 py-1.5 text-sm text-red-600 outline-none data-highlighted:bg-red-500/10 dark:text-red-400`,onSelect:A,children:r.delete}),t[37]=r.delete,t[38]=A,t[39]=j):j=t[39];let M;t[40]!==D||t[41]!==k||t[42]!==j?(M=(0,$.jsx)(at,{children:(0,$.jsxs)(ot,{className:`z-50 min-w-[10rem] rounded-xl border border-edge-subtle bg-surface-panel p-1 shadow-elevated dark:border-edge-subtle`,sideOffset:4,align:`end`,onCloseAutoFocus:yn,children:[D,k,j]})}),t[40]=D,t[41]=k,t[42]=j,t[43]=M):M=t[43];let N;t[44]!==T||t[45]!==M?(N=(0,$.jsxs)(nt,{children:[T,M]}),t[44]=T,t[45]=M,t[46]=N):N=t[46];let P;t[47]!==N||t[48]!==C?(P=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2 px-4 pt-3`,children:[C,N]}),t[47]=N,t[48]=C,t[49]=P):P=t[49];let F=n.name||n.id,I;t[50]===F?I=t[51]:(I=(0,$.jsx)(`h3`,{className:`line-clamp-2 font-semibold text-fg`,children:F}),t[50]=F,t[51]=I);let L;t[52]===n?L=t[53]:(L=Re(n),t[52]=n,t[53]=L);let R;t[54]===n?R=t[55]:(R=Re(n),t[54]=n,t[55]=R);let z;t[56]===R?z=t[57]:(z=(0,$.jsx)(pe,{content:R,compact:!0}),t[56]=R,t[57]=z);let B;t[58]!==L||t[59]!==z?(B=(0,$.jsx)(`div`,{className:`max-h-[4.5rem] overflow-hidden text-sm text-fg-muted [&_.markdown-body]:text-sm [&_.markdown-body]:leading-snug`,title:L,children:z}),t[58]=L,t[59]=z,t[60]=B):B=t[60];let V;t[61]!==I||t[62]!==B?(V=(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col gap-2 px-4 pb-3 pt-2`,children:[I,B]}),t[61]=I,t[62]=B,t[63]=V):V=t[63];let H;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(fe,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),t[64]=H):H=t[64];let U;t[65]!==n||t[66]!==a||t[67]!==o?(U=Oe(n,a,o),t[65]=n,t[66]=a,t[67]=o,t[68]=U):U=t[68];let W;t[69]===U?W=t[70]:(W=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 border-t border-edge-subtle/90 px-4 py-2.5 text-xs text-fg-muted dark:border-edge-subtle`,children:[H,(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:U})]}),t[69]=U,t[70]=W);let G;return t[71]!==g||t[72]!==P||t[73]!==V||t[74]!==_||t[75]!==W?(G=(0,$.jsxs)(`article`,{role:`button`,tabIndex:0,className:m,onClick:g,onKeyDown:_,children:[P,V,W]}),t[71]=g,t[72]=P,t[73]=V,t[74]=_,t[75]=W,t[76]=G):G=t[76],G}function yn(e){return e.preventDefault()}function bn(e){return e.stopPropagation()}function xn(e){let t=(0,Q.c)(134),{c:n,language:r,localeTag:o,scheduleBadgeLabels:s,loading:c,sortedSystemJobs:l,heartbeat:u,keepAwake:d,wakeSupported:f,onWakeUnsupportedClick:p,onKeepAwakeToggle:m,absorbCardClickJobIdRef:h,scheduleAbsorbNextMenuCardClick:g,onOpenDetail:_,onToggle:v,onEdit:b,onRunNow:x,onDelete:S}=e,C,w,T,E,D,k,A,j,M,P,F,I;if(t[0]!==n.disabled||t[1]!==n.enabled||t[2]!==n.keepAwake||t[3]!==n.systemHeartbeatEvery||t[4]!==n.systemHeartbeatHint||t[5]!==n.systemHeartbeatInterval||t[6]!==n.systemHeartbeatSettingsLink||t[7]!==n.systemHeartbeatStatus||t[8]!==n.systemHeartbeatTitle||t[9]!==n.systemTasksIntro||t[10]!==n.tabSystemTasks||t[11]!==n.wakeBanner||t[12]!==n.wakeLockUnavailable||t[13]!==u.enabled||t[14]!==u.intervalMs||t[15]!==d||t[16]!==r||t[17]!==o||t[18]!==m||t[19]!==p||t[20]!==f){let e=et(u.intervalMs,o,a(r).heartbeatSettings.intervalPresets);F=`cron-system-tasks-panel`,I=`flex flex-col gap-4`,t[33]===n.tabSystemTasks?w=t[34]:(w=(0,$.jsx)(`h2`,{id:`cron-system-tasks-panel`,className:`sr-only`,children:n.tabSystemTasks}),t[33]=n.tabSystemTasks,t[34]=w),t[35]===n.systemTasksIntro?T=t[36]:(T=(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.systemTasksIntro}),t[35]=n.systemTasksIntro,t[36]=T);let s;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,$.jsx)(N,{className:`mt-0.5 size-4 shrink-0 text-accent`,strokeWidth:1.75,"aria-hidden":!0}),t[37]=s):s=t[37];let c;t[38]===n.wakeBanner?c=t[39]:(c=(0,$.jsxs)(`div`,{className:`flex gap-3 text-sm text-fg`,children:[s,(0,$.jsx)(`p`,{className:`text-pretty text-fg-muted`,children:n.wakeBanner})]}),t[38]=n.wakeBanner,t[39]=c);let l;t[40]===n.keepAwake?l=t[41]:(l=(0,$.jsx)(`span`,{className:`text-sm text-fg`,children:n.keepAwake}),t[40]=n.keepAwake,t[41]=l);let h=!f,g=f?void 0:n.wakeLockUnavailable,_=d?`justify-end bg-accent`:`justify-start bg-surface-hover`,v=!f&&`cursor-not-allowed opacity-50`,b;t[42]!==_||t[43]!==v?(b=i(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,_,v),t[42]=_,t[43]=v,t[44]=b):b=t[44];let x;t[45]!==m||t[46]!==p||t[47]!==f?(x=()=>{f?m():p()},t[45]=m,t[46]=p,t[47]=f,t[48]=x):x=t[48];let S;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`}),t[49]=S):S=t[49];let L;t[50]!==d||t[51]!==h||t[52]!==g||t[53]!==b||t[54]!==x?(L=(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":d,disabled:h,title:g,className:b,onClick:x,children:S}),t[50]=d,t[51]=h,t[52]=g,t[53]=b,t[54]=x,t[55]=L):L=t[55];let R;t[56]!==l||t[57]!==L?(R=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 sm:pl-4`,children:[l,L]}),t[56]=l,t[57]=L,t[58]=R):R=t[58],t[59]!==c||t[60]!==R?(E=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl border border-accent/25 bg-accent/5 px-4 py-3 dark:border-accent/30 dark:bg-accent/10 sm:flex-row sm:items-center sm:justify-between`,children:[c,R]}),t[59]=c,t[60]=R,t[61]=E):E=t[61],M=`rounded-xl border border-edge bg-surface-base p-4 dark:bg-surface-hover/20`;let z;t[62]===n.systemHeartbeatTitle?z=t[63]:(z=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.systemHeartbeatTitle}),t[62]=n.systemHeartbeatTitle,t[63]=z);let B;t[64]===n.systemHeartbeatHint?B=t[65]:(B=(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:n.systemHeartbeatHint}),t[64]=n.systemHeartbeatHint,t[65]=B);let V;t[66]!==z||t[67]!==B?(V=(0,$.jsxs)(`div`,{children:[z,B]}),t[66]=z,t[67]=B,t[68]=V):V=t[68];let H;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(y,{className:`size-3.5 opacity-70`,"aria-hidden":!0}),t[69]=H):H=t[69];let U;t[70]===n.systemHeartbeatSettingsLink?U=t[71]:(U=(0,$.jsx)(Y,{type:`button`,variant:`ghost`,className:`shrink-0 gap-1 self-start px-2 py-1.5 text-xs`,asChild:!0,children:(0,$.jsxs)(O,{to:`/settings/heartbeat`,children:[n.systemHeartbeatSettingsLink,H]})}),t[70]=n.systemHeartbeatSettingsLink,t[71]=U),t[72]!==V||t[73]!==U?(P=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 sm:flex-row sm:items-start sm:justify-between`,children:[V,U]}),t[72]=V,t[73]=U,t[74]=P):P=t[74],A=`mt-3 grid gap-2 text-sm sm:grid-cols-2`;let W;t[75]===n.systemHeartbeatStatus?W=t[76]:(W=(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:n.systemHeartbeatStatus}),t[75]=n.systemHeartbeatStatus,t[76]=W);let G=u.enabled?n.enabled:n.disabled,K;t[77]===G?K=t[78]:(K=(0,$.jsx)(`dd`,{className:`text-fg`,children:G}),t[77]=G,t[78]=K),t[79]!==W||t[80]!==K?(j=(0,$.jsxs)(`div`,{children:[W,K]}),t[79]=W,t[80]=K,t[81]=j):j=t[81],t[82]===n.systemHeartbeatInterval?k=t[83]:(k=(0,$.jsx)(`dt`,{className:`text-xs font-medium text-fg-muted`,children:n.systemHeartbeatInterval}),t[82]=n.systemHeartbeatInterval,t[83]=k),C=`text-fg`;let q;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(q=/\{\{value\}\}/g,t[84]=q):q=t[84],D=n.systemHeartbeatEvery.replace(q,e),t[0]=n.disabled,t[1]=n.enabled,t[2]=n.keepAwake,t[3]=n.systemHeartbeatEvery,t[4]=n.systemHeartbeatHint,t[5]=n.systemHeartbeatInterval,t[6]=n.systemHeartbeatSettingsLink,t[7]=n.systemHeartbeatStatus,t[8]=n.systemHeartbeatTitle,t[9]=n.systemTasksIntro,t[10]=n.tabSystemTasks,t[11]=n.wakeBanner,t[12]=n.wakeLockUnavailable,t[13]=u.enabled,t[14]=u.intervalMs,t[15]=d,t[16]=r,t[17]=o,t[18]=m,t[19]=p,t[20]=f,t[21]=C,t[22]=w,t[23]=T,t[24]=E,t[25]=D,t[26]=k,t[27]=A,t[28]=j,t[29]=M,t[30]=P,t[31]=F,t[32]=I}else C=t[21],w=t[22],T=t[23],E=t[24],D=t[25],k=t[26],A=t[27],j=t[28],M=t[29],P=t[30],F=t[31],I=t[32];let L;t[85]!==C||t[86]!==D?(L=(0,$.jsx)(`dd`,{className:C,children:D}),t[85]=C,t[86]=D,t[87]=L):L=t[87];let R;t[88]!==L||t[89]!==k?(R=(0,$.jsxs)(`div`,{children:[k,L]}),t[88]=L,t[89]=k,t[90]=R):R=t[90];let z;t[91]!==R||t[92]!==A||t[93]!==j?(z=(0,$.jsxs)(`dl`,{className:A,children:[j,R]}),t[91]=R,t[92]=A,t[93]=j,t[94]=z):z=t[94];let B;t[95]!==z||t[96]!==M||t[97]!==P?(B=(0,$.jsxs)(`div`,{className:M,children:[P,z]}),t[95]=z,t[96]=M,t[97]=P,t[98]=B):B=t[98];let V;t[99]===n.systemDreamingTitle?V=t[100]:(V=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:n.systemDreamingTitle}),t[99]=n.systemDreamingTitle,t[100]=V);let H;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(y,{className:`size-3.5 opacity-70`,"aria-hidden":!0}),t[101]=H):H=t[101];let U;t[102]===n.systemDreamingSettingsLink?U=t[103]:(U=(0,$.jsx)(Y,{type:`button`,variant:`ghost`,className:`shrink-0 gap-1 self-start px-2 py-1.5 text-xs`,asChild:!0,children:(0,$.jsxs)(O,{to:`/settings/dreams`,children:[n.systemDreamingSettingsLink,H]})}),t[102]=n.systemDreamingSettingsLink,t[103]=U);let W;t[104]!==V||t[105]!==U?(W=(0,$.jsxs)(`div`,{className:`mb-2 flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between`,children:[V,U]}),t[104]=V,t[105]=U,t[106]=W):W=t[106];let G;t[107]===n.systemDreamingHint?G=t[108]:(G=(0,$.jsx)(`p`,{className:`mb-3 text-xs text-fg-muted`,children:n.systemDreamingHint}),t[107]=n.systemDreamingHint,t[108]=G);let K;t[109]!==h||t[110]!==n||t[111]!==c||t[112]!==o||t[113]!==S||t[114]!==b||t[115]!==_||t[116]!==x||t[117]!==v||t[118]!==g||t[119]!==s||t[120]!==l?(K=c&&l.length===0?(0,$.jsx)(`div`,{className:`flex justify-center py-12`,"aria-busy":`true`,children:(0,$.jsx)(ne,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):l.length===0?(0,$.jsx)(`p`,{className:`rounded-lg border border-edge-subtle bg-surface-hover/30 px-3 py-4 text-sm text-fg-muted dark:border-edge-subtle`,children:n.systemDreamingEmpty}):(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-[repeat(auto-fill,minmax(280px,1fr))]`,children:l.map(e=>(0,$.jsx)(vn,{job:e,c:n,localeTag:o,scheduleBadgeLabels:s,absorbCardClickJobIdRef:h,scheduleAbsorbNextMenuCardClick:g,onOpenDetail:_,onToggle:v,onEdit:b,onRunNow:x,onDelete:S},e.id))}),t[109]=h,t[110]=n,t[111]=c,t[112]=o,t[113]=S,t[114]=b,t[115]=_,t[116]=x,t[117]=v,t[118]=g,t[119]=s,t[120]=l,t[121]=K):K=t[121];let q;t[122]!==W||t[123]!==G||t[124]!==K?(q=(0,$.jsxs)(`div`,{children:[W,G,K]}),t[122]=W,t[123]=G,t[124]=K,t[125]=q):q=t[125];let ee;return t[126]!==w||t[127]!==T||t[128]!==E||t[129]!==B||t[130]!==q||t[131]!==F||t[132]!==I?(ee=(0,$.jsxs)(`section`,{"aria-labelledby":F,className:I,children:[w,T,E,B,q]}),t[126]=w,t[127]=T,t[128]=E,t[129]=B,t[130]=q,t[131]=F,t[132]=I,t[133]=ee):ee=t[133],ee}function Sn(e,t){let n=e.templates;if(!n||typeof n!=`object`)return;let r=n[t];if(!r||typeof r!=`object`)return;let i=r.title?.trim(),a=r.prompt?.trim();if(!(!i||!a))return{title:i,description:(r.description??``).trim(),prompt:a}}var Cn=[`daily`,`monitoring`,`reports`,`automation`],wn=[{templateId:`morning_briefing`,category:`daily`,defaultSchedule:`0 7 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`standup_prep`,category:`daily`,defaultSchedule:`0 8 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`meeting_prep`,category:`daily`,defaultSchedule:`0 9 * * 1-5`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`meeting_prep`},{templateId:`end_of_day_wrap_up`,category:`daily`,defaultSchedule:`0 18 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`inbox_triage`,category:`daily`,defaultSchedule:`30 8 * * 1-5`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`inbox_triage`},{templateId:`competitor_watch`,category:`monitoring`,defaultSchedule:`0 9 * * 1`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`competitor_scan`},{templateId:`trending_topics_monitor`,category:`monitoring`,defaultSchedule:`0 10 * * 1-5`,defaultSessionTarget:`isolated`},{templateId:`tech_radar_stack`,category:`monitoring`,defaultSchedule:`0 11 * * 3`,defaultSessionTarget:`isolated`},{templateId:`dependency_check_audit`,category:`monitoring`,defaultSchedule:`0 9 * * 0`,defaultSessionTarget:`isolated`},{templateId:`weekly_review`,category:`reports`,defaultSchedule:`0 17 * * 5`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`weekly_review`},{templateId:`code_quality_report`,category:`reports`,defaultSchedule:`0 14 * * 1`,defaultSessionTarget:`isolated`},{templateId:`git_activity_summary`,category:`reports`,defaultSchedule:`0 9 * * 1`,defaultSessionTarget:`isolated`},{templateId:`user_feedback_digest`,category:`reports`,defaultSchedule:`0 16 * * 5`,defaultSessionTarget:`isolated`},{templateId:`content_repurpose`,category:`reports`,defaultSchedule:`0 11 * * 4`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`content_repurpose`},{templateId:`stale_todo_or_issue_sweep`,category:`automation`,defaultSchedule:`0 10 * * 2`,defaultSessionTarget:`isolated`},{templateId:`release_notes_or_changelog_draft`,category:`automation`,defaultSchedule:`0 10 * * 4`,defaultSessionTarget:`isolated`},{templateId:`client_proposal`,category:`automation`,defaultSchedule:`0 10 * * 2`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`client_proposal`},{templateId:`offer_design`,category:`automation`,defaultSchedule:`0 14 1 * *`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`offer_design`},{templateId:`decision_compare`,category:`automation`,defaultSchedule:`0 15 * * 3`,defaultSessionTarget:`isolated`,taskKind:`workflowRun`,workflowDefinitionId:`decision_compare`},{templateId:`workspace_cleanup_suggestions`,category:`automation`,defaultSchedule:`30 18 * * 5`,defaultSessionTarget:`isolated`},{templateId:`smoke_or_ci_health_reminder`,category:`automation`,defaultSchedule:`0 8 * * 1`,defaultSessionTarget:`isolated`}];function Tn(e){return wn.find(t=>t.templateId===e)}function En(e,t,n){let r=t.trim().toLowerCase();return wn.filter(t=>{if(n!==`all`&&t.category!==n)return!1;if(!r)return!0;let i=Sn(e,t.templateId);return[t.templateId,i?.title,i?.description,e.templateCategories[t.category]].filter(Boolean).join(` `).toLowerCase().includes(r)})}function Dn(e){let t=new Map;for(let n of e){let e=t.get(n.category)??[];e.push(n),t.set(n.category,e)}return Cn.flatMap(e=>{let n=t.get(e);return n?.length?[{category:e,items:n}]:[]})}function On(e){let t=(0,Q.c)(23),{template:n,cron:r,localeTag:a,scheduleBadgeLabels:o,onSelectTemplate:s}=e,c;t[0]!==r||t[1]!==n.templateId?(c=Sn(r,n.templateId),t[0]=r,t[1]=n.templateId,t[2]=c):c=t[2];let l=c;if(!l)return null;let u;t[3]!==a||t[4]!==o||t[5]!==n.defaultSchedule?(u=Oe({schedule:We(n.defaultSchedule),nextRunAtMs:void 0},a,o),t[3]=a,t[4]=o,t[5]=n.defaultSchedule,t[6]=u):u=t[6];let d=u,f;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(f=i(`flex h-full flex-col gap-1.5 rounded-xl border border-edge-subtle bg-surface-base p-4 text-left transition-colors`,`hover:border-accent/40 hover:bg-surface-hover`,G.focusRingPanel),t[7]=f):f=t[7];let p;t[8]!==s||t[9]!==n.templateId?(p=()=>s(n.templateId),t[8]=s,t[9]=n.templateId,t[10]=p):p=t[10];let m=`${r.templateCategories[n.category]} — ${l.title}`,h;t[11]===l.title?h=t[12]:(h=(0,$.jsx)(`span`,{className:`font-semibold text-fg`,children:l.title}),t[11]=l.title,t[12]=h);let g;t[13]===l.description?g=t[14]:(g=(0,$.jsx)(`span`,{className:`line-clamp-2 text-sm text-fg-muted`,children:l.description}),t[13]=l.description,t[14]=g);let _;t[15]===d?_=t[16]:(_=(0,$.jsx)(`span`,{className:`mt-auto flex items-center gap-1 pt-1 text-xs text-fg-muted`,children:(0,$.jsx)(`span`,{className:`tabular-nums`,children:d})}),t[15]=d,t[16]=_);let v;return t[17]!==p||t[18]!==m||t[19]!==h||t[20]!==g||t[21]!==_?(v=(0,$.jsxs)(`button`,{type:`button`,className:f,onClick:p,"aria-label":m,children:[h,g,_]}),t[17]=p,t[18]=m,t[19]=h,t[20]=g,t[21]=_,t[22]=v):v=t[22],v}function kn(e){let t=(0,Q.c)(49),{cron:n,localeTag:r,scheduleBadgeLabels:a,categoryFilter:o,onCategoryFilterChange:s,onSelectTemplate:c,variant:l}=e,u=l===void 0?`embedded`:l,[d,f]=(0,Z.useState)(``),p;t[0]!==o||t[1]!==n||t[2]!==d?(p=En(n,d,o),t[0]=o,t[1]=n,t[2]=d,t[3]=p):p=t[3];let m=p,h;t[4]===m?h=t[5]:(h=Dn(m),t[4]=m,t[5]=h);let g=h,_;t[6]!==o||t[7]!==d?(_=o===`all`&&!d.trim(),t[6]=o,t[7]=d,t[8]=_):_=t[8];let v=_,y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(z,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[9]=y):y=t[9];let b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>f(e.target.value),t[10]=b):b=t[10];let x=n.templateSearchPlaceholder,S;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=i(`h-10 w-full rounded-xl border border-edge bg-surface-base py-2 pl-10 pr-3 text-sm text-fg`,`placeholder:text-fg-subtle`,G.focusRingPanel),t[11]=S):S=t[11];let C;t[12]!==n.templateSearchPlaceholder||t[13]!==d?(C=(0,$.jsxs)(`div`,{className:`relative`,children:[y,(0,$.jsx)(`input`,{value:d,onChange:b,placeholder:x,className:S})]}),t[12]=n.templateSearchPlaceholder,t[13]=d,t[14]=C):C=t[14];let w=n.fromTemplate,T=o===`all`?`secondary`:`ghost`,E;t[15]===s?E=t[16]:(E=()=>s(`all`),t[15]=s,t[16]=E);let D;t[17]!==n.templateFilterAll||t[18]!==T||t[19]!==E?(D=(0,$.jsx)(Y,{type:`button`,variant:T,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:E,children:n.templateFilterAll}),t[17]=n.templateFilterAll,t[18]=T,t[19]=E,t[20]=D):D=t[20];let O;t[21]!==o||t[22]!==n.templateCategories||t[23]!==s?(O=Cn.map(e=>(0,$.jsx)(Y,{type:`button`,variant:o===e?`secondary`:`ghost`,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:()=>s(e),children:n.templateCategories[e]},e)),t[21]=o,t[22]=n.templateCategories,t[23]=s,t[24]=O):O=t[24];let k;t[25]!==n.fromTemplate||t[26]!==D||t[27]!==O?(k=(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,role:`group`,"aria-label":w,children:[D,O]}),t[25]=n.fromTemplate,t[26]=D,t[27]=O,t[28]=k):k=t[28];let A;t[29]!==k||t[30]!==C?(A=(0,$.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-4`,children:[C,k]}),t[29]=k,t[30]=C,t[31]=A):A=t[31];let j=A,M;t[32]!==n||t[33]!==m||t[34]!==g||t[35]!==r||t[36]!==c||t[37]!==a||t[38]!==v||t[39]!==u?(M=m.length===0?(0,$.jsx)(`div`,{className:i(`text-center text-sm text-fg-muted`,u===`dialog`&&`flex h-full flex-col items-center justify-center px-4 py-12`),children:n.templatesEmptyHint}):v?(0,$.jsx)(`div`,{className:`flex flex-col gap-6 pb-1`,children:g.map(e=>(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`mb-3 text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:n.templateCategories[e.category]}),(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-3`,children:e.items.map(e=>(0,$.jsx)(On,{template:e,cron:n,localeTag:r,scheduleBadgeLabels:a,onSelectTemplate:c},e.templateId))})]},e.category))}):(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 pb-1 sm:grid-cols-2 xl:grid-cols-3`,children:m.map(e=>(0,$.jsx)(On,{template:e,cron:n,localeTag:r,scheduleBadgeLabels:a,onSelectTemplate:c},e.templateId))}),t[32]=n,t[33]=m,t[34]=g,t[35]=r,t[36]=c,t[37]=a,t[38]=v,t[39]=u,t[40]=M):M=t[40];let N=M;if(u===`dialog`){let e;t[41]===N?e=t[42]:(e=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:N}),t[41]=N,t[42]=e);let n;return t[43]!==j||t[44]!==e?(n=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4`,children:[j,e]}),t[43]=j,t[44]=e,t[45]=n):n=t[45],n}let P;return t[46]!==j||t[47]!==N?(P=(0,$.jsxs)(`div`,{className:`flex w-full flex-col gap-4`,children:[j,N]}),t[46]=j,t[47]=N,t[48]=P):P=t[48],P}function An(e){let t=(0,Q.c)(49),{c:n,localeTag:r,scheduleBadgeLabels:a,loading:o,jobsCount:s,sortedJobs:c,templateCategoryFilter:l,onTemplateCategoryFilterChange:u,onSelectTemplate:d,keepAwake:f,wakeSupported:p,onWakeUnsupportedClick:m,onKeepAwakeToggle:h,absorbCardClickJobIdRef:g,scheduleAbsorbNextMenuCardClick:_,onOpenDetail:v,onToggle:y,onEdit:b,onAddJob:x,onRunNow:S,onDelete:C}=e,w;t[0]===n.tabMyTasks?w=t[1]:(w=(0,$.jsx)(`h2`,{id:`cron-tasks-panel`,className:`sr-only`,children:n.tabMyTasks}),t[0]=n.tabMyTasks,t[1]=w);let T;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(N,{className:`mt-0.5 size-4 shrink-0 text-accent`,strokeWidth:1.75,"aria-hidden":!0}),t[2]=T):T=t[2];let E;t[3]===n.wakeBanner?E=t[4]:(E=(0,$.jsxs)(`div`,{className:`flex gap-3 text-sm text-fg`,children:[T,(0,$.jsx)(`p`,{className:`text-pretty text-fg-muted`,children:n.wakeBanner})]}),t[3]=n.wakeBanner,t[4]=E);let D;t[5]===n.keepAwake?D=t[6]:(D=(0,$.jsx)(`span`,{className:`text-sm text-fg`,children:n.keepAwake}),t[5]=n.keepAwake,t[6]=D);let O=!p,k=p?void 0:n.wakeLockUnavailable,A=f?`justify-end bg-accent`:`justify-start bg-surface-hover`,j=!p&&`cursor-not-allowed opacity-50`,M;t[7]!==A||t[8]!==j?(M=i(`inline-flex h-6 w-10 shrink-0 items-center rounded-full border border-edge p-0.5 transition-colors`,A,j),t[7]=A,t[8]=j,t[9]=M):M=t[9];let P;t[10]!==h||t[11]!==m||t[12]!==p?(P=()=>{p?h():m()},t[10]=h,t[11]=m,t[12]=p,t[13]=P):P=t[13];let F;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(`span`,{className:`size-4 rounded-full bg-surface-panel shadow-surface ring-1 ring-edge/40 dark:ring-edge/55`}),t[14]=F):F=t[14];let I;t[15]!==f||t[16]!==P||t[17]!==O||t[18]!==k||t[19]!==M?(I=(0,$.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":f,disabled:O,title:k,className:M,onClick:P,children:F}),t[15]=f,t[16]=P,t[17]=O,t[18]=k,t[19]=M,t[20]=I):I=t[20];let L;t[21]!==I||t[22]!==D?(L=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 sm:pl-4`,children:[D,I]}),t[21]=I,t[22]=D,t[23]=L):L=t[23];let R;t[24]!==L||t[25]!==E?(R=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl border border-accent/25 bg-accent/5 px-4 py-3 dark:border-accent/30 dark:bg-accent/10 sm:flex-row sm:items-center sm:justify-between`,children:[E,L]}),t[24]=L,t[25]=E,t[26]=R):R=t[26];let z;t[27]!==g||t[28]!==n||t[29]!==s||t[30]!==o||t[31]!==r||t[32]!==x||t[33]!==C||t[34]!==b||t[35]!==v||t[36]!==S||t[37]!==d||t[38]!==u||t[39]!==y||t[40]!==_||t[41]!==a||t[42]!==c||t[43]!==l?(z=o&&s===0?(0,$.jsx)(`div`,{className:`flex justify-center py-16`,"aria-busy":`true`,children:(0,$.jsx)(ne,{className:`size-8 animate-spin text-accent`,strokeWidth:1.75})}):s===0?(0,$.jsxs)(`div`,{className:`flex flex-col gap-6 rounded-2xl bg-surface-base px-4 py-8 dark:bg-surface-hover/25 sm:px-6 sm:py-10`,children:[(0,$.jsx)(`div`,{className:`w-full max-w-6xl`,children:(0,$.jsx)(kn,{cron:n,localeTag:r,scheduleBadgeLabels:a,categoryFilter:l,onCategoryFilterChange:u,onSelectTemplate:d})}),(0,$.jsx)(`div`,{className:`flex justify-center`,children:(0,$.jsx)(Y,{type:`button`,variant:`primary`,onClick:x,children:n.emptyStateCta})})]}):(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-[repeat(auto-fill,minmax(280px,1fr))]`,children:c.map(e=>(0,$.jsx)(vn,{job:e,c:n,localeTag:r,scheduleBadgeLabels:a,absorbCardClickJobIdRef:g,scheduleAbsorbNextMenuCardClick:_,onOpenDetail:e=>void v(e),onToggle:(e,t)=>void y(e,t),onEdit:b,onRunNow:S,onDelete:C},e.id))}),t[27]=g,t[28]=n,t[29]=s,t[30]=o,t[31]=r,t[32]=x,t[33]=C,t[34]=b,t[35]=v,t[36]=S,t[37]=d,t[38]=u,t[39]=y,t[40]=_,t[41]=a,t[42]=c,t[43]=l,t[44]=z):z=t[44];let B;return t[45]!==w||t[46]!==R||t[47]!==z?(B=(0,$.jsxs)(`section`,{"aria-labelledby":`cron-tasks-panel`,className:`flex flex-col gap-4`,children:[w,R,z]}),t[45]=w,t[46]=R,t[47]=z,t[48]=B):B=t[48],B}function jn(e){let t=(0,Q.c)(29),{open:n,onOpenChange:r,c:a,localeTag:o,scheduleBadgeLabels:s,categoryFilter:c,onCategoryFilterChange:l,onSelectTemplate:u}=e,d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(V,{className:`xopc-dialog-overlay fixed inset-0 z-[62] bg-scrim`}),t[0]=d):d=t[0];let f;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=i(`xopc-dialog-content-pane pointer-events-auto relative flex h-[min(90vh,840px)] w-full max-w-5xl flex-col`,`rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none dark:border-edge`,G.focusRingPanel),t[1]=f):f=t[1];let p;t[2]===a.fromTemplate?p=t[3]:(p=(0,$.jsx)(I,{className:`text-lg font-semibold text-fg`,children:a.fromTemplate}),t[2]=a.fromTemplate,t[3]=p);let m;t[4]===a.templatePickerHint?m=t[5]:(m=(0,$.jsx)(xe,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:a.templatePickerHint}),t[4]=a.templatePickerHint,t[5]=m);let h;t[6]!==p||t[7]!==m?(h=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[p,m]}),t[6]=p,t[7]=m,t[8]=h):h=t[8];let g;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(ce,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[9]=g):g=t[9];let _;t[10]===a.close?_=t[11]:(_=(0,$.jsx)(B,{asChild:!0,children:(0,$.jsx)(Y,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":a.close,children:g})}),t[10]=a.close,t[11]=_);let y;t[12]!==h||t[13]!==_?(y=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-4 border-b border-edge-subtle px-6 py-5`,children:[h,_]}),t[12]=h,t[13]=_,t[14]=y):y=t[14];let x;t[15]!==a||t[16]!==c||t[17]!==o||t[18]!==l||t[19]!==u||t[20]!==s?(x=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-6 py-5`,children:(0,$.jsx)(kn,{variant:`dialog`,cron:a,localeTag:o,scheduleBadgeLabels:s,categoryFilter:c,onCategoryFilterChange:l,onSelectTemplate:u})}),t[15]=a,t[16]=c,t[17]=o,t[18]=l,t[19]=u,t[20]=s,t[21]=x):x=t[21];let S;t[22]!==y||t[23]!==x?(S=(0,$.jsxs)(C,{children:[d,(0,$.jsx)(`div`,{className:`fixed inset-0 z-[62] flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(v,{className:f,onOpenAutoFocus:Mn,children:[y,x]})})]}),t[22]=y,t[23]=x,t[24]=S):S=t[24];let w;return t[25]!==r||t[26]!==n||t[27]!==S?(w=(0,$.jsx)(b,{open:n,onOpenChange:r,children:S}),t[25]=r,t[26]=n,t[27]=S,t[28]=w):w=t[28],w}function Mn(e){return e.preventDefault()}function Nn(){return{formOpen:!1,formMode:`add`,formJobId:null,formName:``,formSchedule:We(_t),formChannel:`local`,formChatId:``,formMessage:``,formMessageMdMode:`edit`,formTaskKind:`message`,formWorkflowDefinitionId:``,formWorkflowGoal:``,formWorkflowArgValues:{},messageEditorNonce:0,formSessionTarget:`main`,formAgentId:``,formAgentLocalOnly:!1,formWorkingDirectory:``,formModel:``,formSubmitting:!1}}function Pn(e,t){switch(t.type){case`patch`:return{...e,...t.patch};case`replace`:return t.state;case`setMessageMdMode`:return{...e,formMessageMdMode:t.mode,messageEditorNonce:t.mode===`edit`?e.messageEditorNonce+1:e.messageEditorNonce}}}function Fn(e,t){let n=Nn();if(n.formOpen=!0,n.formMode=e?`edit`:`add`,n.formJobId=e?.id??null,!e)return n.formModel=t(),n;if(n.formName=e.name||``,n.formSchedule=e.schedule,n.formMessage=Re(e)??``,e.payload.kind===`workflowRun`){n.formTaskKind=`workflowRun`,n.formWorkflowDefinitionId=e.payload.definitionId,n.formWorkflowGoal=e.payload.goal||``,n.formWorkflowArgValues=Zt(e.payload.definitionId,e.payload.inputEnvelope?.payload??e.payload.input??{});let t=e.payload.agentId?.trim().toLowerCase();t&&(n.formAgentId=t)}n.formSessionTarget=e.sessionTarget===`isolated`?`isolated`:`main`,n.formAgentId=(e.sessionTarget||`main`)===`isolated`&&e.agentId?.trim()?e.agentId.trim().toLowerCase():``,n.formWorkingDirectory=(e.sessionTarget||`main`)===`isolated`&&e.workingDirectory?.trim()?e.workingDirectory.trim():``;let r=e.payload?.kind===`agentTurn`&&e.payload.model?.trim()?e.payload.model.trim():``;n.formModel=e.model?.trim()||r||t();let i=e.delivery?.channel===`local`;return n.formAgentLocalOnly=(e.sessionTarget||`main`)===`isolated`&&!i&&(!e.delivery?.to||e.delivery.mode===`none`),i?(n.formChannel=`local`,n.formChatId=``):e.delivery&&e.delivery.mode!==`none`&&e.delivery.to?(n.formChannel=e.delivery.channel||`telegram`,n.formChatId=e.delivery.to||``):(n.formChannel=`telegram`,n.formChatId=``),n.formMessageMdMode=`edit`,n.messageEditorNonce=1,n}function In(e){let{m:t,defaultModelForForm:n,channels:r,chatAgents:i}=e,[a,o]=(0,Z.useReducer)(Pn,void 0,Nn),s=(0,Z.useRef)(!1),c=(0,Z.useMemo)(()=>new Set([`local`,...r.map(e=>e.name)]),[r]);if(a.formOpen&&a.formMode===`add`&&!c.has(a.formChannel)&&o({type:`patch`,patch:{formChannel:`local`}}),a.formOpen&&a.formMode===`add`&&!s.current){let e=n();e&&e!==a.formModel&&o({type:`patch`,patch:{formModel:e}})}let l=Se(()=>Pe(a.formChannel),[a.formChannel],{enabled:a.formOpen&&a.formChannel!==`local`,initial:[],errorData:[]}),u=a.formChannel===`local`?[]:l.data,d=(0,Z.useMemo)(()=>{let e=new Set(i.map(e=>e.id)),t=[...i],n=a.formAgentId.trim().toLowerCase();return n&&!e.has(n)&&t.push({id:n}),t},[i,a.formAgentId]),f=a.formChannel!==`local`&&(a.formTaskKind===`message`&&(a.formSessionTarget===`main`||a.formSessionTarget===`isolated`&&!a.formAgentLocalOnly)||a.formTaskKind===`workflowRun`&&!a.formAgentLocalOnly),p=a.formTaskKind===`workflowRun`?!a.formAgentLocalOnly:a.formTaskKind===`message`&&(a.formSessionTarget===`main`||a.formSessionTarget===`isolated`&&!a.formAgentLocalOnly),m=a.formTaskKind===`workflowRun`?!!a.formWorkflowDefinitionId.trim()&&Qt(a.formWorkflowDefinitionId.trim(),a.formWorkflowArgValues):!!a.formMessage.trim(),h=a.formSchedule.kind===`cron`?!!a.formSchedule.expr.trim():a.formSchedule.kind===`at`?!!a.formSchedule.at.trim():Number.isFinite(a.formSchedule.everyMs)&&a.formSchedule.everyMs>0,g=!!a.formName.trim()&&h&&m&&(!f||!!a.formChatId.trim()),_=(0,Z.useCallback)(e=>{s.current=!1,o({type:`replace`,state:Fn(e,n)})},[n]),v=(0,Z.useCallback)(e=>{o({type:`setMessageMdMode`,mode:e})},[]),y=(0,Z.useCallback)(e=>{let r=Tn(e),i=r?Sn(t.cron,e):void 0;if(!r||!i)return!1;let a=r.taskKind===`workflowRun`&&!!r.workflowDefinitionId;return s.current=!1,o({type:`replace`,state:{...Nn(),formOpen:!0,formMode:`add`,formName:i.title,formSchedule:We(r.defaultSchedule),formMessage:a?``:i.prompt,formTaskKind:a?`workflowRun`:`message`,formWorkflowDefinitionId:a?r.workflowDefinitionId:``,formWorkflowGoal:a?i.description:``,formSessionTarget:r.defaultSessionTarget,formModel:n(),formAgentLocalOnly:a,messageEditorNonce:1}}),!0},[n,t.cron]),b=(0,Z.useCallback)(()=>{s.current=!1,o({type:`replace`,state:Nn()})},[]),x=(0,Z.useCallback)((e,t,n)=>{let r={formSessionTarget:e};e===`main`?(r.formAgentLocalOnly=!1,r.formAgentId=``,r.formWorkingDirectory=``):e===`isolated`&&!n&&(r.formModel=t()),o({type:`patch`,patch:r})},[]),S=(0,Z.useCallback)(e=>{o({type:`patch`,patch:{formChannel:e,formChatId:``,...e===`local`?{formAgentLocalOnly:!1}:{}}})},[]),C=(0,Z.useCallback)(e=>{s.current=!0,o({type:`patch`,patch:{formModel:e}})},[]),w=(0,Z.useCallback)(()=>{Pe(a.formChannel).then(l.setData)},[a.formChannel,l.setData]),T=(0,Z.useCallback)(e=>{o({type:`patch`,patch:e})},[]);return{formOpen:a.formOpen,formMode:a.formMode,formJobId:a.formJobId,formName:a.formName,formSchedule:a.formSchedule,formChannel:a.formChannel,formChatId:a.formChatId,formMessage:a.formMessage,formMessageMdMode:a.formMessageMdMode,formTaskKind:a.formTaskKind,formWorkflowDefinitionId:a.formWorkflowDefinitionId,formWorkflowGoal:a.formWorkflowGoal,formWorkflowArgValues:a.formWorkflowArgValues,messageEditorNonce:a.messageEditorNonce,formSessionTarget:a.formSessionTarget,formAgentId:a.formAgentId,formAgentLocalOnly:a.formAgentLocalOnly,formWorkingDirectory:a.formWorkingDirectory,formModel:a.formModel,formSubmitting:a.formSubmitting,sessionChatIds:u,setFormName:e=>T({formName:e}),setFormSchedule:e=>T({formSchedule:e}),setFormChatId:e=>T({formChatId:e}),setFormMessage:e=>T({formMessage:e}),setFormTaskKind:e=>T(e===`workflowRun`?{formTaskKind:e,formSessionTarget:`isolated`,formAgentLocalOnly:!1}:{formTaskKind:e}),setFormWorkflowDefinitionId:e=>T({formWorkflowDefinitionId:e,formWorkflowArgValues:{}}),setFormWorkflowGoal:e=>T({formWorkflowGoal:e}),setFormWorkflowArgValues:e=>T({formWorkflowArgValues:e}),setFormAgentId:e=>T({formAgentId:e}),setFormAgentLocalOnly:e=>T({formAgentLocalOnly:e}),setFormWorkingDirectory:e=>T({formWorkingDirectory:e}),setFormSubmitting:e=>T({formSubmitting:e}),canSubmit:g,needsDeliveryChat:f,showChannelPicker:p,cronAgentSelectOptions:d,openForm:_,closeForm:b,applyCronTemplate:y,setMessageMdMode:v,handleFormSessionTargetChange:x,handleFormChannelChange:S,handleFormModelUserChange:C,refreshRecipientsList:w}}function Ln(e){let{onUnavailable:t}=e,[n,r]=(0,Z.useState)(!1),i=(0,Z.useRef)(null),a=(0,Z.useRef)(`none`),o=(0,Z.useRef)(n),s=typeof navigator<`u`&&`wakeLock`in navigator,c=s||D(),l=(0,Z.useCallback)(async()=>{if(a.current===`electron`){try{await window.electronAPI?.cron?.setDisplaySleepPrevented?.(!1)}catch{}a.current=`none`;return}try{await i.current?.release()}catch{}i.current=null,a.current=`none`},[]),u=(0,Z.useCallback)(async()=>{let e=typeof window<`u`?window.electronAPI?.cron?.setDisplaySleepPrevented:void 0;if(e)try{await e(!0),a.current=`electron`;return}catch{t(),r(!1);return}if(s)try{let e=await navigator.wakeLock.request(`screen`);i.current=e,a.current=`navigator`,e.addEventListener(`release`,()=>{i.current=null,a.current=`none`})}catch{t(),r(!1)}},[t,s]);return o.current=n,(0,Z.useEffect)(()=>{if(!n){l();return}u();let e=()=>{document.visibilityState===`visible`&&o.current&&u()};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e),l()}},[n,u,l]),{keepAwake:n,setKeepAwake:r,featureAvailable:c}}function Rn(e){let{hasToken:t,failMessages:n,isHistoryTab:r}=e,[i,a]=(0,Z.useState)([]),[o,s]=(0,Z.useState)([]),[c,l]=(0,Z.useState)([]),[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)([]),[m,h]=(0,Z.useState)(null),[g,_]=(0,Z.useState)([]),[v,y]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(!1),[S,C]=(0,Z.useState)(null),w=(0,Z.useCallback)(async()=>{x(!0),C(null);try{a(await Fe())}catch(e){C(e instanceof Error?e.message:n.failedToLoadJobs)}finally{x(!1)}},[n.failedToLoadJobs]),T=(0,Z.useCallback)(async()=>{try{let[e,t,n,r,i]=await Promise.all([He(),qe(),Ge(),A(),he().catch(()=>null)]);s(e),l(t),d(n.model||``),h(r.payload?.config??null),i&&p(i.items)}catch{}},[]),E=(0,Z.useCallback)(async()=>{y(!0);try{_(await je(400))}catch{}finally{y(!1)}},[]);return(0,Z.useEffect)(()=>{t&&(w(),T())},[t,w,T]),(0,Z.useEffect)(()=>{if(!t)return;let e=()=>{A().then(e=>{h(e.payload?.config??null)})};return window.addEventListener(`config-reload`,e),()=>window.removeEventListener(`config-reload`,e)},[t]),(0,Z.useEffect)(()=>{!t||!r||E()},[t,r,E]),{jobs:i,channels:o,availableModels:c,defaultModel:u,chatAgents:f,gatewayConfigRaw:m,runHistory:g,runHistoryLoading:v,loading:b,error:S,setError:C,userCronJobs:(0,Z.useMemo)(()=>i.filter(e=>!Qe(e)),[i]),systemCronJobs:(0,Z.useMemo)(()=>i.filter(e=>Qe(e)),[i]),heartbeatFromConfig:(0,Z.useMemo)(()=>tt(m),[m]),loadJobs:w,loadAux:T,loadRunHistoryOnly:E,refreshAll:(0,Z.useCallback)(()=>{w(),T(),E()},[w,T,E])}}function zn(e,t){let n=[...e];return n.sort((e,n)=>{let r=e.createdAtMs,i=n.createdAtMs;return t===`created_desc`?i-r:r-i}),n}function Bn(e,t,n,r){let i=new Date,a=t===`day`?vt(i):t===`week`?yt(i):bt(i);return e.filter(e=>!(new Date(e.startedAt)<a||n&&e.jobId!==n||r&&e.status!==r))}var Vn={mainTab:`myTasks`,jobSort:`created_desc`,historyRange:`day`,historyJobFilter:``,historyStatusFilter:``,detailOpen:!1,detailJob:null,detailHistory:[],detailLoading:!1,detailActionNotice:null,confirmOpen:!1,templatePickerOpen:!1,templateCategoryFilter:`all`};function Hn(){let e=o(e=>e.language),t=a(e),n=t.cron,r=t.chat,i=c(e=>e.token),l=!!i,u=s(e=>e.resolved)===`dark`,d=e===`zh`?`zh-CN`:`en-US`,[f,m]=ee(),[h,g]=(0,Z.useReducer)(_e,f,e=>({...Vn,mainTab:Dt(e.get(`tab`))})),{mainTab:_,jobSort:v,historyRange:y,historyJobFilter:b,historyStatusFilter:x,detailOpen:S,detailJob:C,detailHistory:w,detailLoading:T,detailActionNotice:E,confirmOpen:D,templatePickerOpen:O,templateCategoryFilter:k}=h,A=Dt(f.get(`tab`));(0,Z.useEffect)(()=>{A!==_&&g({type:`patch`,patch:{mainTab:A}})},[A,_]);let M=(0,Z.useCallback)(e=>{g({type:`patch`,patch:{mainTab:e}}),m(t=>{let n=new URLSearchParams(t),r=Ot(e);return r?n.set(`tab`,r):n.delete(`tab`),n},{replace:!0})},[m]),N=Rn({hasToken:l,failMessages:{failedToLoadJobs:n.failedToLoadJobs},isHistoryTab:_===`history`}),{setError:P}=N,F=Ln({onUnavailable:()=>P(n.wakeLockUnavailable)}),I=(0,Z.useCallback)(()=>N.defaultModel||(N.availableModels.length>0?N.availableModels[0].id:``),[N.defaultModel,N.availableModels]),L=In({m:t,defaultModelForForm:I,channels:N.channels,chatAgents:N.chatAgents}),R=p(l&&L.formOpen?[`workflow-definitions-cron`,i]:null,j,{revalidateOnFocus:!1}),z=R.data??[],B=(0,Z.useRef)(null),V=(0,Z.useRef)(null),H=(0,Z.useCallback)((e,t)=>{B.current=e,V.current=t,g({type:`patch`,patch:{confirmOpen:!0}})},[]),U=(0,Z.useCallback)(()=>{g({type:`patch`,patch:{confirmOpen:!1}}),V.current=null,B.current=null},[]),W=(0,Z.useRef)(null),G=(0,Z.useCallback)(e=>{W.current=e,window.setTimeout(()=>{W.current===e&&(W.current=null)},400)},[]),K=(0,Z.useCallback)(e=>{L.applyCronTemplate(e)&&g({type:`patch`,patch:{templatePickerOpen:!1}})},[L]),q=async()=>{if(!L.formName.trim()){P(n.nameRequired);return}if(L.formSchedule.kind===`cron`&&!L.formSchedule.expr.trim()||L.formSchedule.kind===`at`&&!L.formSchedule.at.trim()||L.formSchedule.kind===`every`&&(!Number.isFinite(L.formSchedule.everyMs)||L.formSchedule.everyMs<=0)){P(n.scheduleRequired);return}if(L.formTaskKind===`message`&&!L.formMessage.trim()){P(n.scheduleRequired);return}if(L.formTaskKind===`workflowRun`&&!L.formWorkflowDefinitionId.trim()){P(n.workflowDefinitionRequired);return}if(L.formTaskKind===`workflowRun`&&!Qt(L.formWorkflowDefinitionId.trim(),L.formWorkflowArgValues)){P(n.workflowArgsRequired);return}if(L.needsDeliveryChat&&!L.formChatId.trim()){P(n.chatIdRequired);return}L.setFormSubmitting(!0),P(null);try{let e=L.formMessage.trim(),t=L.formModel.trim(),n=L.formAgentId.trim().toLowerCase(),r=L.formWorkingDirectory.trim(),i=L.formTaskKind===`workflowRun`,a=L.formTaskKind===`message`&&L.formSessionTarget===`isolated`,o=i?`isolated`:L.formSessionTarget,s;s=i?L.formAgentLocalOnly?{mode:`none`}:L.formChannel===`local`?{mode:`announce`,channel:`local`}:{mode:`announce`,channel:L.formChannel,to:L.formChatId.trim()}:L.formSessionTarget===`isolated`&&L.formAgentLocalOnly?{mode:`none`}:L.formChannel===`local`?{mode:`announce`,channel:`local`}:{mode:`announce`,channel:L.formChannel,to:L.formChatId.trim()};let c;if(i){let e=L.formWorkflowDefinitionId.trim(),t=de(L.formWorkflowArgValues);c={kind:`workflowRun`,definitionId:e,...t===void 0?{}:{inputEnvelope:{payload:t}},...L.formWorkflowGoal.trim()?{goal:L.formWorkflowGoal.trim()}:{},...n?{agentId:n}:{}}}else c=a?{kind:`agentTurn`,message:e,...t?{model:t}:{}}:{kind:`systemEvent`,text:e};let l=o===`main`?null:n||null,u={name:L.formName.trim(),schedule:L.formSchedule,sessionTarget:o,delivery:s,payload:c,...L.formMode===`edit`?{...l?{agentId:l}:{},...a&&r?{workingDirectory:r}:{}}:{...o===`isolated`&&n?{agentId:n}:{},...a&&r?{workingDirectory:r}:{}}};if(L.formMode===`edit`&&L.formJobId)await Ie(L.formJobId,u);else{let{schedule:e,agentId:t,workingDirectory:n,...r}=u;await Ve(e,{...r,...t==null?{}:{agentId:t},...n?{workingDirectory:n}:{}})}L.closeForm(),await N.loadJobs()}catch(e){P(e instanceof Error?e.message:L.formMode===`edit`?n.failedToUpdateJob:n.failedToCreateJob)}finally{L.setFormSubmitting(!1)}},te=async e=>{g({type:`patch`,patch:{detailOpen:!0,detailJob:e,detailLoading:!0,detailHistory:[],detailActionNotice:null}});try{let t=await ze(e.id);t&&g({type:`patch`,patch:{detailJob:t,detailHistory:await Ne(e.id,20)}})}catch{}finally{g({type:`patch`,patch:{detailLoading:!1}})}},ne=(0,Z.useCallback)(()=>{g({type:`patch`,patch:{detailOpen:!1,detailJob:null,detailActionNotice:null}})},[]),J=(0,Z.useCallback)(()=>{g({type:`patch`,patch:{templateCategoryFilter:`all`,templatePickerOpen:!0}})},[]),re=async(e,t)=>{try{await Le(e.id,t),C?.id===e.id&&g({type:`patch`,patch:{detailJob:{...C,enabled:t}}}),await Promise.all([N.loadJobs(),N.loadAux()])}catch(e){P(e instanceof Error?e.message:n.failedToToggleJob)}},ie=async()=>{let e=V.current,t=B.current;if(!(!e||!t)){U();try{if(t===`run`){let t=await Be(e);C?.id===e&&g({type:`patch`,patch:{detailJob:t.job??await ze(e),detailHistory:t.history??await Ne(e,20),detailActionNotice:{kind:`info`,message:n.runStarted}}})}else await Ue(e),C?.id===e&&g({type:`patch`,patch:{detailOpen:!1,detailJob:null}});await Promise.all([N.loadJobs(),N.loadAux(),N.loadRunHistoryOnly()])}catch(r){let i=r instanceof Error?r.message:n.actionFailed;if(t===`run`&&C?.id===e){let t=await ze(e).catch(()=>null),a=await Ne(e,20).catch(()=>w),o=r instanceof Ke&&r.code===`job_already_running`?r.runningSessionKey||t?.state?.runningSessionKey||a.find(e=>e.status===`running`)?.sessionKey:t?.state?.runningSessionKey||a.find(e=>e.status===`running`)?.sessionKey;g({type:`patch`,patch:{...t?{detailJob:t}:{},detailHistory:a,detailActionNotice:{kind:`error`,message:i.includes(`already running`)?n.jobAlreadyRunning:i,...o?{sessionKey:o}:{}}}})}else P(i)}}};(0,Z.useEffect)(()=>{let e=e=>{e.key===`Escape`&&(L.formOpen?L.closeForm():S&&g({type:`patch`,patch:{detailOpen:!1,detailJob:null}}))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[L,S]);let ae=(0,Z.useMemo)(()=>({running:n.execStatusRunning,success:n.execStatusSuccess,failed:n.execStatusFailed,cancelled:n.execStatusCancelled}),[n.execStatusCancelled,n.execStatusFailed,n.execStatusRunning,n.execStatusSuccess]),oe=(0,Z.useMemo)(()=>zn(N.userCronJobs,v),[N.userCronJobs,v]),se=(0,Z.useMemo)(()=>zn(N.systemCronJobs,v),[N.systemCronJobs,v]),ce=(0,Z.useMemo)(()=>Bn(N.runHistory,y,b,x),[N.runHistory,y,b,x]),le=n.scheduleBadge;return l?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Un,{hasToken:l,c:n,loading:N.loading,runHistoryLoading:N.runHistoryLoading,onRefresh:N.refreshAll,onOpenTemplatePicker:J,onAddJob:()=>L.openForm()}),(0,$.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:[(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-6 px-4 py-6 sm:px-8`,children:[N.error?(0,$.jsx)(`div`,{className:`rounded-xl border border-red-200 bg-red-50 px-3 py-2 text-sm text-red-800 dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-200`,role:`alert`,children:N.error}):null,(0,$.jsx)(mn,{c:n,mainTab:_,onMainTabChange:M,jobSort:v,onJobSortChange:e=>g({type:`patch`,patch:{jobSort:e}}),historyRange:y,onHistoryRangeChange:e=>g({type:`patch`,patch:{historyRange:e}}),historyJobFilter:b,onHistoryJobFilterChange:e=>g({type:`patch`,patch:{historyJobFilter:e}}),historyStatusFilter:x,onHistoryStatusFilterChange:e=>g({type:`patch`,patch:{historyStatusFilter:e}}),jobs:N.jobs}),_===`myTasks`?(0,$.jsx)(An,{c:n,localeTag:d,scheduleBadgeLabels:le,loading:N.loading,jobsCount:N.userCronJobs.length,sortedJobs:oe,templateCategoryFilter:k,onTemplateCategoryFilterChange:e=>g({type:`patch`,patch:{templateCategoryFilter:e}}),onSelectTemplate:K,keepAwake:F.keepAwake,wakeSupported:F.featureAvailable,onWakeUnsupportedClick:()=>P(n.wakeLockUnavailable),onKeepAwakeToggle:()=>F.setKeepAwake(e=>!e),absorbCardClickJobIdRef:W,scheduleAbsorbNextMenuCardClick:G,onOpenDetail:e=>void te(e),onToggle:(e,t)=>void re(e,t),onEdit:e=>L.openForm(e),onAddJob:()=>L.openForm(),onRunNow:e=>H(`run`,e.id),onDelete:e=>H(`delete`,e.id)}):_===`systemTasks`?(0,$.jsx)(xn,{c:n,language:e,localeTag:d,scheduleBadgeLabels:le,loading:N.loading,sortedSystemJobs:se,heartbeat:N.heartbeatFromConfig,keepAwake:F.keepAwake,wakeSupported:F.featureAvailable,onWakeUnsupportedClick:()=>P(n.wakeLockUnavailable),onKeepAwakeToggle:()=>F.setKeepAwake(e=>!e),absorbCardClickJobIdRef:W,scheduleAbsorbNextMenuCardClick:G,onOpenDetail:e=>void te(e),onToggle:(e,t)=>void re(e,t),onEdit:e=>L.openForm(e),onRunNow:e=>H(`run`,e.id),onDelete:e=>H(`delete`,e.id)}):_===`history`?(0,$.jsx)(_n,{c:n,runHistoryLoading:N.runHistoryLoading,runHistory:N.runHistory,filteredRunHistory:ce,jobs:N.jobs,onRefreshHistory:()=>void N.loadRunHistoryOnly(),onOpenJobDetail:e=>void te(e),statusLabels:ae}):(0,$.jsx)(ht,{hasToken:l})]}),(0,$.jsx)(sn,{open:L.formOpen,onRequestClose:L.closeForm,c:n,chatM:r,agentsMessages:t.agentsSettings,isDark:u,channels:N.channels,sessionChatIds:L.sessionChatIds,cronAgentSelectOptions:L.cronAgentSelectOptions,defaultModelResolver:I,formMode:L.formMode,formJobId:L.formJobId,formName:L.formName,onFormNameChange:L.setFormName,formSchedule:L.formSchedule,onFormScheduleChange:L.setFormSchedule,formSubmitting:L.formSubmitting,formTaskKind:L.formTaskKind,onFormTaskKindChange:L.setFormTaskKind,workflowDefinitions:z,workflowDefinitionsLoading:R.isLoading,formWorkflowDefinitionId:L.formWorkflowDefinitionId,onFormWorkflowDefinitionIdChange:L.setFormWorkflowDefinitionId,formWorkflowGoal:L.formWorkflowGoal,onFormWorkflowGoalChange:L.setFormWorkflowGoal,formWorkflowArgValues:L.formWorkflowArgValues,onFormWorkflowArgValuesChange:L.setFormWorkflowArgValues,formSessionTarget:L.formSessionTarget,onFormSessionTargetChange:L.handleFormSessionTargetChange,formAgentLocalOnly:L.formAgentLocalOnly,onFormAgentLocalOnlyChange:L.setFormAgentLocalOnly,formModel:L.formModel,onFormModelUserChange:L.handleFormModelUserChange,formAgentId:L.formAgentId,onFormAgentIdChange:L.setFormAgentId,formWorkingDirectory:L.formWorkingDirectory,onFormWorkingDirectoryChange:L.setFormWorkingDirectory,formChannel:L.formChannel,onFormChannelChange:L.handleFormChannelChange,formChatId:L.formChatId,onFormChatIdChange:L.setFormChatId,formMessage:L.formMessage,onFormMessageChange:L.setFormMessage,formMessageMdMode:L.formMessageMdMode,onSetMessageMdMode:L.setMessageMdMode,messageEditorNonce:L.messageEditorNonce,needsDeliveryChat:L.needsDeliveryChat,showChannelPicker:L.showChannelPicker,canSubmit:L.canSubmit,onSubmit:()=>void q(),onRefreshRecipients:L.refreshRecipientsList}),(0,$.jsx)(jn,{open:O,onOpenChange:e=>{g({type:`patch`,patch:{templatePickerOpen:e,...e?{templateCategoryFilter:`all`}:{}}})},c:n,localeTag:d,scheduleBadgeLabels:le,categoryFilter:k,onCategoryFilterChange:e=>g({type:`patch`,patch:{templateCategoryFilter:e}}),onSelectTemplate:K}),(0,$.jsx)(Rt,{open:S,onDismiss:ne,detailJob:C,detailLoading:T,actionNotice:E,detailHistory:w,c:n,localeTag:d,scheduleBadgeLabels:le,chatWorkingDirNotSet:r.workingDirectory.notSet,statusLabels:ae,onEdit:e=>{L.openForm(e),window.requestAnimationFrame(()=>ne())},onRunNow:e=>H(`run`,e.id),onToggle:(e,t)=>void re(e,t),onDelete:e=>H(`delete`,e.id)}),(0,$.jsx)(st,{open:D,onOpenChange:e=>g({type:`patch`,patch:{confirmOpen:e}}),action:B.current,c:n,onDismiss:U,onConfirm:ie})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Un,{hasToken:l,c:n,loading:N.loading,runHistoryLoading:N.runHistoryLoading,onRefresh:N.refreshAll,onOpenTemplatePicker:J,onAddJob:()=>L.openForm()}),(0,$.jsx)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-16 text-center text-sm text-fg-muted sm:px-8`,children:n.needToken})]})}function Un(e){let t=(0,Q.c)(14),{hasToken:n,c:r,loading:i,runHistoryLoading:a,onRefresh:o,onOpenTemplatePicker:s,onAddJob:c}=e,l=P(Gn),u=P(Wn),d;t[0]!==r||t[1]!==i||t[2]!==c||t[3]!==s||t[4]!==o||t[5]!==a?(d=(0,$.jsx)(gn,{c:r,loading:i,runHistoryLoading:a,onRefresh:o,onOpenTemplatePicker:s,onAddJob:c}),t[0]=r,t[1]=i,t[2]=c,t[3]=s,t[4]=o,t[5]=a,t[6]=d):d=t[6];let f=d,p,m;return t[7]!==r.title||t[8]!==u||t[9]!==f||t[10]!==n||t[11]!==l?(p=()=>n?(l({startExtra:null,main:(0,$.jsx)(`div`,{className:`min-w-0`,children:(0,$.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:r.title})}),end:f}),()=>u()):(u(),()=>u()),m=[r.title,u,f,n,l],t[7]=r.title,t[8]=u,t[9]=f,t[10]=n,t[11]=l,t[12]=p,t[13]=m):(p=t[12],m=t[13]),(0,Z.useLayoutEffect)(p,m),null}function Wn(e){return e.clearPageHeader}function Gn(e){return e.setPageHeader}export{Hn as CronPage};
|
|
@@ -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{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-B1iSKjiw.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{c as s,i as c,n as l}from"./fetch-B7xDPu-R.js";import{i as u}from"./vendor-swr-BIWyz7Rc.js";import{Ba as d,Fa as f,Oa as p,Qa as m,Qi as h,Wa as g,Ws as _,Xi as v,Xs as y,Yr as b,_o as x,aa as S,ba as C,co as w,go as T,ha as E,na as D,rt as O}from"./index-Cc41r16l.js";import{n as k,t as ee}from"./settings-form-section-dmyaPOTG.js";import{t as A}from"./format-cron-label-BsotZDO5.js";import{t as j}from"./schedule-field-CUCKODde.js";import{t as M}from"./format-interval-label-BzxafKxR.js";var N=e(t(),1),P=n();function F(){return c(`/api/dreaming`)}async function te(){let e=await l(F());if(!e.payload)throw Error(`Missing payload`);return e.payload}async function ne(e){await l(c(`/api/dreaming/action`),{method:`POST`,body:JSON.stringify({action:e})})}async function re(e=`deep`){let t=await l(c(`/api/dreaming/run`),{method:`POST`,body:JSON.stringify({phase:e})}),n=!!t.payload?.triggered,r=typeof t.payload?.jobId==`string`?t.payload.jobId:``;if(!n||!r)throw Error(`Failed to trigger`);return{triggered:n,jobId:r,phase:e}}async function ie(e){let t=await l(c(`/api/dreaming/preview${typeof e==`number`&&Number.isFinite(e)?`?limit=${encodeURIComponent(String(e))}`:``}`));if(!t.payload)throw Error(`Missing payload`);return t.payload}async function ae(e=50){return(await l(c(`/api/dreaming/events${`?limit=${encodeURIComponent(String(e))}`}`))).payload?.events??[]}function I(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var L={enabled:!0,cron:`0 */6 * * *`,lookbackDays:1,limit:50,dedupeSimilarity:.85},R={enabled:!0,cron:`0 3 * * *`,minScore:.8,minRecallCount:3,limit:10,recencyHalfLifeDays:14,maxAgeDays:30},z={enabled:!0,cron:`0 5 * * 0`,lookbackDays:7,limit:20,minPatternStrength:.6},B={enabled:!1,frequency:`0 3 * * *`,timezone:``,deepEnabled:!0,minScore:.8,minRecallCount:3,limit:10,light:L,deep:R,rem:z};function V(e,t){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):t}function H(e,t){let n=typeof e==`string`?Number(e):e;return Number.isFinite(n)?Math.max(0,Math.floor(n)):t}function U(e,t){let n=typeof e==`string`?Number(e):e;return Number.isFinite(n)?n:t}function oe(e){let t=I(e)?e:{},n=I(t.memory)?t.memory:{},r=I(t.dreaming)?t.dreaming:{},i=I(n.dreaming)?n.dreaming:r,a=I(i.phases)?i.phases:{},o=I(a.light)?a.light:{},s=I(a.deep)?a.deep:{},c=I(a.rem)?a.rem:{};return{enabled:i.enabled===!0,frequency:typeof i.frequency==`string`&&i.frequency.trim()?i.frequency.trim():B.frequency,timezone:typeof i.timezone==`string`?i.timezone:``,deepEnabled:s.enabled!==!1,minScore:V(typeof s.minScore==`number`?s.minScore:Number(s.minScore),B.minScore),minRecallCount:Math.max(1,H(s.minRecallCount,B.minRecallCount)),limit:H(s.limit,B.limit),light:{enabled:o.enabled!==!1,cron:typeof o.cron==`string`&&o.cron.trim()?o.cron.trim():L.cron,lookbackDays:Math.max(1,H(o.lookbackDays,L.lookbackDays)),limit:H(o.limit,L.limit),dedupeSimilarity:V(U(o.dedupeSimilarity,L.dedupeSimilarity),L.dedupeSimilarity)},deep:{enabled:s.enabled!==!1,cron:typeof s.cron==`string`&&s.cron.trim()?s.cron.trim():R.cron,minScore:V(U(s.minScore,R.minScore),R.minScore),minRecallCount:Math.max(1,H(s.minRecallCount,R.minRecallCount)),limit:H(s.limit,R.limit),recencyHalfLifeDays:Math.max(1,U(s.recencyHalfLifeDays,R.recencyHalfLifeDays)),maxAgeDays:Math.max(1,U(s.maxAgeDays,R.maxAgeDays))},rem:{enabled:c.enabled!==!1,cron:typeof c.cron==`string`&&c.cron.trim()?c.cron.trim():z.cron,lookbackDays:Math.max(1,H(c.lookbackDays,z.lookbackDays)),limit:H(c.limit,z.limit),minPatternStrength:V(U(c.minPatternStrength,z.minPatternStrength),z.minPatternStrength)}}}async function W(e,t,n){let r=t.frequency.trim(),i=t.timezone.trim();await l(c(`/api/agents/${encodeURIComponent(e)}`),{method:`PATCH`,body:JSON.stringify({memory:{...n??{},mode:t.enabled?`confirmWrite`:typeof n?.mode==`string`?n.mode:`off`,sources:Array.isArray(n?.sources)?n.sources:[`session`,`curated`,`workspace`],writePolicy:I(n?.writePolicy)?n.writePolicy:{curated:`confirm`,workspace:`confirm`},dreaming:{enabled:!!t.enabled,...r?{frequency:r}:{},...i?{timezone:i}:{},phases:{light:{enabled:!!t.light.enabled,...t.light.cron.trim()?{cron:t.light.cron.trim()}:{},lookbackDays:Math.max(1,Math.floor(t.light.lookbackDays)),limit:Math.max(0,Math.floor(t.light.limit)),dedupeSimilarity:V(t.light.dedupeSimilarity,L.dedupeSimilarity)},deep:{enabled:!!t.deep.enabled,...t.deep.cron.trim()?{cron:t.deep.cron.trim()}:{},minScore:V(t.deep.minScore,R.minScore),minRecallCount:Math.max(1,Math.floor(t.deep.minRecallCount)),limit:Math.max(0,Math.floor(t.deep.limit)),recencyHalfLifeDays:Math.max(1,t.deep.recencyHalfLifeDays),maxAgeDays:Math.max(1,t.deep.maxAgeDays)},rem:{enabled:!!t.rem.enabled,...t.rem.cron.trim()?{cron:t.rem.cron.trim()}:{},lookbackDays:Math.max(1,Math.floor(t.rem.lookbackDays)),limit:Math.max(0,Math.floor(t.rem.limit)),minPatternStrength:V(t.rem.minPatternStrength,z.minPatternStrength)}}}}})}),b()}var se=`p-4 sm:px-5`,G=`mb-3`,K=`rounded-xl border border-edge-subtle bg-surface-panel/30 p-3 sm:p-4`,q=i(`mt-1 w-full rounded-lg border border-edge-subtle bg-surface-panel px-2.5 py-1.5 text-sm text-fg`,h);function ce(e){return e?e.replace(`T`,` `).replace(`Z`,``):`—`}function J(e){return e===void 0||!Number.isFinite(e)||e<0?`—`:e<1e3?`${Math.round(e)} ms`:`${(e/1e3).toFixed(2)} s`}function le(e,t){return e.locked?{text:t.lockValueLocked,className:`text-amber-600 dark:text-amber-400`}:{text:t.lockValueUnlocked,className:`text-emerald-600 dark:text-emerald-400`}}var Y=r(),ue=`text-xs font-medium text-fg-muted`,de=`text-sm font-medium text-fg`;function X(e){let t=(0,P.c)(6),{label:n,children:r,className:i}=e,a;t[0]===n?a=t[1]:(a=(0,Y.jsx)(`span`,{className:ue,children:n}),t[0]=n,t[1]=a);let o;return t[2]!==r||t[3]!==i||t[4]!==a?(o=(0,Y.jsxs)(`div`,{className:i,children:[a,r]}),t[2]=r,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function Z(e){let t=(0,P.c)(11),{label:n,children:r,className:a}=e,o;t[0]===a?o=t[1]:(o=i(`min-w-0`,a),t[0]=a,t[1]=o);let s;t[2]===n?s=t[3]:(s=(0,Y.jsx)(`dt`,{className:ue,children:n}),t[2]=n,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=i(de,`mt-0.5`),t[4]=c):c=t[4];let l;t[5]===r?l=t[6]:(l=(0,Y.jsx)(`dd`,{className:c,children:r}),t[5]=r,t[6]=l);let u;return t[7]!==o||t[8]!==s||t[9]!==l?(u=(0,Y.jsxs)(`div`,{className:o,children:[s,l]}),t[7]=o,t[8]=s,t[9]=l,t[10]=u):u=t[10],u}function Q(e){let t=(0,P.c)(5),{label:n,className:r}=e,a;t[0]===r?a=t[1]:(a=i(`text-[0.7rem] font-semibold uppercase tracking-wider text-fg-muted`,r),t[0]=r,t[1]=a);let o;return t[2]!==n||t[3]!==a?(o=(0,Y.jsx)(`h3`,{className:a,children:n}),t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function $(e){let t=(0,P.c)(38),{icon:n,title:r,hint:i,enabled:a,onEnabledChange:o,cron:s,onCronChange:c,scheduleLabels:l,disabled:u,onLabel:d,offLabel:f,cronLabel:p,children:m}=e,h;t[0]===n?h=t[1]:(h=(0,Y.jsx)(`span`,{className:`mt-0.5 shrink-0`,children:n}),t[0]=n,t[1]=h);let g;t[2]===r?g=t[3]:(g=(0,Y.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:r}),t[2]=r,t[3]=g);let _;t[4]===i?_=t[5]:(_=(0,Y.jsx)(`p`,{className:`mt-0.5 text-xs leading-snug text-fg-muted`,children:i}),t[4]=i,t[5]=_);let v;t[6]!==g||t[7]!==_?(v=(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[g,_]}),t[6]=g,t[7]=_,t[8]=v):v=t[8];let y;t[9]!==h||t[10]!==v?(y=(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2`,children:[h,v]}),t[9]=h,t[10]=v,t[11]=y):y=t[11];let b;t[12]===o?b=t[13]:(b=e=>o(e.target.checked),t[12]=o,t[13]=b);let x;t[14]!==u||t[15]!==a||t[16]!==b?(x=(0,Y.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:a,disabled:u,onChange:b}),t[14]=u,t[15]=a,t[16]=b,t[17]=x):x=t[17];let S=a?d:f,C;t[18]===S?C=t[19]:(C=(0,Y.jsx)(`span`,{children:S}),t[18]=S,t[19]=C);let w;t[20]!==x||t[21]!==C?(w=(0,Y.jsxs)(`label`,{className:`inline-flex shrink-0 items-center gap-2 text-xs text-fg`,children:[x,C]}),t[20]=x,t[21]=C,t[22]=w):w=t[22];let T;t[23]!==w||t[24]!==y?(T=(0,Y.jsxs)(`div`,{className:`mb-2.5 flex flex-wrap items-start justify-between gap-2 border-b border-edge-subtle/80 pb-2.5`,children:[y,w]}),t[23]=w,t[24]=y,t[25]=T):T=t[25];let E;t[26]!==s||t[27]!==p||t[28]!==u||t[29]!==c||t[30]!==l?(E=(0,Y.jsx)(j,{kind:`cron`,className:`mb-2.5`,label:p,value:s,onChange:c,labels:l,disabled:u}),t[26]=s,t[27]=p,t[28]=u,t[29]=c,t[30]=l,t[31]=E):E=t[31];let D;t[32]===m?D=t[33]:(D=(0,Y.jsx)(`div`,{className:`grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4`,children:m}),t[32]=m,t[33]=D);let O;return t[34]!==T||t[35]!==E||t[36]!==D?(O=(0,Y.jsxs)(`div`,{className:K,children:[T,E,D]}),t[34]=T,t[35]=E,t[36]=D,t[37]=O):O=t[37],O}function fe(e){let t=(0,P.c)(23),{icon:n,label:r,enabled:a,cron:o,scheduleSummary:s,details:c,t:l}=e,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=i(K,`space-y-1`),t[0]=u):u=t[0];let d;t[1]===r?d=t[2]:(d=(0,Y.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:r}),t[1]=r,t[2]=d);let f=a?`text-emerald-600 dark:text-emerald-400`:`text-fg-muted`,p;t[3]===f?p=t[4]:(p=i(`ml-auto text-xs font-medium`,f),t[3]=f,t[4]=p);let m=a?l.on:l.off,h;t[5]!==p||t[6]!==m?(h=(0,Y.jsx)(`span`,{className:p,children:m}),t[5]=p,t[6]=m,t[7]=h):h=t[7];let g;t[8]!==n||t[9]!==d||t[10]!==h?(g=(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n,d,h]}),t[8]=n,t[9]=d,t[10]=h,t[11]=g):g=t[11];let _;t[12]===s?_=t[13]:(_=(0,Y.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:s}),t[12]=s,t[13]=_);let v;t[14]===o?v=t[15]:(v=(0,Y.jsx)(`p`,{className:`truncate font-mono text-[0.65rem] text-fg-subtle`,title:o,children:o}),t[14]=o,t[15]=v);let y;t[16]===c?y=t[17]:(y=(0,Y.jsx)(`p`,{className:`text-[0.65rem] leading-snug text-fg-muted`,children:c}),t[16]=c,t[17]=y);let b;return t[18]!==y||t[19]!==g||t[20]!==_||t[21]!==v?(b=(0,Y.jsxs)(`div`,{className:u,children:[g,_,v,y]}),t[18]=y,t[19]=g,t[20]=_,t[21]=v,t[22]=b):b=t[22],b}function pe(e){let t=(0,P.c)(9),{label:n,lastRun:r,t:i}=e,a;t[0]===n?a=t[1]:(a=(0,Y.jsx)(Q,{label:n,className:`mb-2`}),t[0]=n,t[1]=a);let o;t[2]!==r||t[3]!==i.lastRunRaw||t[4]!==i.phaseLastRunEmpty?(o=r?.exists?(0,Y.jsxs)(`details`,{className:`group rounded-lg border border-edge-subtle`,children:[(0,Y.jsx)(`summary`,{className:`cursor-pointer list-none px-2.5 py-1.5 text-xs font-medium text-fg-muted marker:hidden [&::-webkit-details-marker]:hidden`,children:(0,Y.jsx)(`span`,{className:`underline decoration-edge underline-offset-2 group-open:text-fg`,children:i.lastRunRaw})}),(0,Y.jsx)(`pre`,{className:`max-h-40 overflow-auto border-t border-edge-subtle p-2.5 text-xs text-fg-muted`,children:JSON.stringify(r.raw,null,2)})]}):(0,Y.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.phaseLastRunEmpty}),t[2]=r,t[3]=i.lastRunRaw,t[4]=i.phaseLastRunEmpty,t[5]=o):o=t[5];let s;return t[6]!==a||t[7]!==o?(s=(0,Y.jsxs)(`div`,{className:`border-t border-edge-subtle/80 pt-3`,children:[a,o]}),t[6]=a,t[7]=o,t[8]=s):s=t[8],s}function me(e){let t=(0,P.c)(39),{t:n,r}=e,i=r.deep?.skipped,a=r.ok?`text-emerald-600 dark:text-emerald-400`:`text-amber-600 dark:text-amber-400`,o=r.ok?n.lastRunSuccess:n.lastRunFailure,s;t[0]!==a||t[1]!==o?(s=(0,Y.jsx)(`span`,{className:a,children:o}),t[0]=a,t[1]=o,t[2]=s):s=t[2];let c;t[3]!==n.lastRunStatus||t[4]!==s?(c=(0,Y.jsx)(Z,{label:n.lastRunStatus,children:s}),t[3]=n.lastRunStatus,t[4]=s,t[5]=c):c=t[5];let l=n.lastRunDuration,u;t[6]===r.durationMs?u=t[7]:(u=J(r.durationMs),t[6]=r.durationMs,t[7]=u);let d;t[8]!==n.lastRunDuration||t[9]!==u?(d=(0,Y.jsx)(Z,{label:l,children:u}),t[8]=n.lastRunDuration,t[9]=u,t[10]=d):d=t[10];let f=n.lastRunRanked,p=String(r.deep?.candidatesRanked??`—`),m;t[11]!==n.lastRunRanked||t[12]!==p?(m=(0,Y.jsx)(Z,{label:f,children:p}),t[11]=n.lastRunRanked,t[12]=p,t[13]=m):m=t[13];let h=n.lastRunApplied,g=String(r.deep?.applied??`—`),_;t[14]!==n.lastRunApplied||t[15]!==g?(_=(0,Y.jsx)(Z,{label:h,children:g}),t[14]=n.lastRunApplied,t[15]=g,t[16]=_):_=t[16];let v;t[17]===r.reason?v=t[18]:(v=(0,Y.jsx)(`span`,{className:`block text-pretty`,children:r.reason}),t[17]=r.reason,t[18]=v);let y;t[19]!==r.errorMessage||t[20]!==n.lastRunError?(y=r.errorMessage?(0,Y.jsx)(`span`,{className:`mt-1 block text-xs text-amber-600 dark:text-amber-400`,children:`${n.lastRunError}: ${r.errorMessage}`}):null,t[19]=r.errorMessage,t[20]=n.lastRunError,t[21]=y):y=t[21];let b;t[22]!==n.lastRunReason||t[23]!==v||t[24]!==y?(b=(0,Y.jsxs)(Z,{label:n.lastRunReason,className:`col-span-2 sm:col-span-3 lg:col-span-4`,children:[v,y]}),t[22]=n.lastRunReason,t[23]=v,t[24]=y,t[25]=b):b=t[25];let x;t[26]!==i||t[27]!==n.lastRunSkipContaminated||t[28]!==n.lastRunSkipHash||t[29]!==n.lastRunSkipKey||t[30]!==n.lastRunSkipRehydrate?(x=i?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Z,{label:n.lastRunSkipKey,children:String(i.alreadyPromotedKey)}),(0,Y.jsx)(Z,{label:n.lastRunSkipRehydrate,children:String(i.rehydrateFailed)}),(0,Y.jsx)(Z,{label:n.lastRunSkipContaminated,children:String(i.contaminated)}),(0,Y.jsx)(Z,{label:n.lastRunSkipHash,children:String(i.hashDuplicate)})]}):null,t[26]=i,t[27]=n.lastRunSkipContaminated,t[28]=n.lastRunSkipHash,t[29]=n.lastRunSkipKey,t[30]=n.lastRunSkipRehydrate,t[31]=x):x=t[31];let S;return t[32]!==m||t[33]!==_||t[34]!==b||t[35]!==x||t[36]!==c||t[37]!==d?(S=(0,Y.jsxs)(`dl`,{className:`grid grid-cols-2 gap-x-3 gap-y-2 sm:grid-cols-3 lg:grid-cols-4`,children:[c,d,m,_,b,x]}),t[32]=m,t[33]=_,t[34]=b,t[35]=x,t[36]=c,t[37]=d,t[38]=S):S=t[38],S}function he(e){let t=(0,P.c)(58),{t:n,schedulePickerLabels:r,hasToken:a,cfgForm:o,cfgBaseline:s,cfgSaving:c,cfgDirty:l,setCfgForm:u,setCfgOk:d,setCfgError:m,saveConfig:h}=e,g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=i(`min-w-0`,se),t[0]=g):g=t[0];let _=!a||!o||c||!l,v;t[1]===h?v=t[2]:(v=()=>void h(),t[1]=h,t[2]=v);let y;t[3]===c?y=t[4]:(y=c?(0,Y.jsx)(x,{className:`mr-2 size-4 animate-spin`,"aria-hidden":!0}):null,t[3]=c,t[4]=y);let b;t[5]!==n.saveConfig||t[6]!==_||t[7]!==v||t[8]!==y?(b=(0,Y.jsxs)(D,{variant:`secondary`,className:`px-2.5 py-1.5 text-xs`,disabled:_,onClick:v,children:[y,n.saveConfig]}),t[5]=n.saveConfig,t[6]=_,t[7]=v,t[8]=y,t[9]=b):b=t[9];let S=!a||!o||c||!l,T;t[10]!==s||t[11]!==m||t[12]!==u||t[13]!==d?(T=()=>{d(!1),m(null),u(s)},t[10]=s,t[11]=m,t[12]=u,t[13]=d,t[14]=T):T=t[14];let E;t[15]!==n.resetConfig||t[16]!==S||t[17]!==T?(E=(0,Y.jsx)(D,{variant:`secondary`,className:`px-2.5 py-1.5 text-xs`,disabled:S,onClick:T,children:n.resetConfig}),t[15]=n.resetConfig,t[16]=S,t[17]=T,t[18]=E):E=t[18];let O;t[19]!==b||t[20]!==E?(O=(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[b,E]}),t[19]=b,t[20]=E,t[21]=O):O=t[21];let A;t[22]!==n.configHint||t[23]!==n.configTitle||t[24]!==O?(A=(0,Y.jsx)(k,{className:G,icon:f,title:n.configTitle,subtitle:n.configHint,trailing:O}),t[22]=n.configHint,t[23]=n.configTitle,t[24]=O,t[25]=A):A=t[25];let M;t[26]!==o||t[27]!==c||t[28]!==a||t[29]!==r||t[30]!==u||t[31]!==n.configDeepHalfLife||t[32]!==n.configDeepLimit||t[33]!==n.configDeepMaxAge||t[34]!==n.configDeepMinRecallCount||t[35]!==n.configDeepMinScore||t[36]!==n.configFrequency||t[37]!==n.configLightDedupe||t[38]!==n.configLightLimit||t[39]!==n.configLightLookbackDays||t[40]!==n.configLoading||t[41]!==n.configPhaseCron||t[42]!==n.configPhaseDeep||t[43]!==n.configPhaseDeepHint||t[44]!==n.configPhaseLight||t[45]!==n.configPhaseLightHint||t[46]!==n.configPhaseRem||t[47]!==n.configPhaseRemHint||t[48]!==n.configRemLimit||t[49]!==n.configRemLookbackDays||t[50]!==n.configRemMinStrength||t[51]!==n.configTimezone||t[52]!==n.off||t[53]!==n.on?(M=o?(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsx)(`div`,{className:K,children:(0,Y.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 lg:grid-cols-12`,children:[(0,Y.jsx)(`div`,{className:`lg:col-span-9`,children:(0,Y.jsx)(j,{kind:`cron`,label:n.configFrequency,value:o.frequency,onChange:e=>u(t=>t&&{...t,frequency:e}),labels:r,disabled:!a||c})}),(0,Y.jsx)(X,{label:n.configTimezone,className:`lg:col-span-3`,children:(0,Y.jsx)(`input`,{className:q,value:o.timezone,disabled:!a||c,onChange:e=>u(t=>t&&{...t,timezone:e.target.value}),placeholder:`Asia/Shanghai`})})]})}),(0,Y.jsxs)($,{icon:(0,Y.jsx)(C,{className:`size-4 text-amber-500`}),title:n.configPhaseLight,hint:n.configPhaseLightHint,enabled:o.light.enabled,onEnabledChange:e=>u(t=>t&&{...t,light:{...t.light,enabled:e}}),cron:o.light.cron,onCronChange:e=>u(t=>t&&{...t,light:{...t.light,cron:e}}),scheduleLabels:r,disabled:!a||c,onLabel:n.on,offLabel:n.off,cronLabel:n.configPhaseCron,children:[(0,Y.jsx)(X,{label:n.configLightLookbackDays,children:(0,Y.jsx)(`input`,{type:`number`,step:`1`,min:1,className:q,value:o.light.lookbackDays,disabled:!a||c,onChange:e=>u(t=>t&&{...t,light:{...t.light,lookbackDays:Number(e.target.value)}})})}),(0,Y.jsx)(X,{label:n.configLightLimit,children:(0,Y.jsx)(`input`,{type:`number`,step:`1`,min:0,className:q,value:o.light.limit,disabled:!a||c,onChange:e=>u(t=>t&&{...t,light:{...t.light,limit:Number(e.target.value)}})})}),(0,Y.jsx)(X,{label:n.configLightDedupe,children:(0,Y.jsx)(`input`,{type:`number`,step:`0.01`,min:0,max:1,className:q,value:o.light.dedupeSimilarity,disabled:!a||c,onChange:e=>u(t=>t&&{...t,light:{...t.light,dedupeSimilarity:Number(e.target.value)}})})})]}),(0,Y.jsxs)($,{icon:(0,Y.jsx)(w,{className:`size-4 text-indigo-500`}),title:n.configPhaseDeep,hint:n.configPhaseDeepHint,enabled:o.deep.enabled,onEnabledChange:e=>u(t=>t&&{...t,deep:{...t.deep,enabled:e}}),cron:o.deep.cron,onCronChange:e=>u(t=>t&&{...t,deep:{...t.deep,cron:e}}),scheduleLabels:r,disabled:!a||c,onLabel:n.on,offLabel:n.off,cronLabel:n.configPhaseCron,children:[(0,Y.jsx)(X,{label:n.configDeepMinScore,children:(0,Y.jsx)(`input`,{type:`number`,step:`0.01`,min:0,max:1,className:q,value:o.deep.minScore,disabled:!a||c,onChange:e=>u(t=>t&&{...t,deep:{...t.deep,minScore:Number(e.target.value)}})})}),(0,Y.jsx)(X,{label:n.configDeepMinRecallCount,children:(0,Y.jsx)(`input`,{type:`number`,step:`1`,min:1,className:q,value:o.deep.minRecallCount,disabled:!a||c,onChange:e=>u(t=>t&&{...t,deep:{...t.deep,minRecallCount:Number(e.target.value)}})})}),(0,Y.jsx)(X,{label:n.configDeepLimit,children:(0,Y.jsx)(`input`,{type:`number`,step:`1`,min:0,className:q,value:o.deep.limit,disabled:!a||c,onChange:e=>u(t=>t&&{...t,deep:{...t.deep,limit:Number(e.target.value)}})})}),(0,Y.jsx)(X,{label:n.configDeepHalfLife,children:(0,Y.jsx)(`input`,{type:`number`,step:`1`,min:1,className:q,value:o.deep.recencyHalfLifeDays,disabled:!a||c,onChange:e=>u(t=>t&&{...t,deep:{...t.deep,recencyHalfLifeDays:Number(e.target.value)}})})}),(0,Y.jsx)(X,{label:n.configDeepMaxAge,children:(0,Y.jsx)(`input`,{type:`number`,step:`1`,min:1,className:q,value:o.deep.maxAgeDays,disabled:!a||c,onChange:e=>u(t=>t&&{...t,deep:{...t.deep,maxAgeDays:Number(e.target.value)}})})})]}),(0,Y.jsxs)($,{icon:(0,Y.jsx)(p,{className:`size-4 text-purple-500`}),title:n.configPhaseRem,hint:n.configPhaseRemHint,enabled:o.rem.enabled,onEnabledChange:e=>u(t=>t&&{...t,rem:{...t.rem,enabled:e}}),cron:o.rem.cron,onCronChange:e=>u(t=>t&&{...t,rem:{...t.rem,cron:e}}),scheduleLabels:r,disabled:!a||c,onLabel:n.on,offLabel:n.off,cronLabel:n.configPhaseCron,children:[(0,Y.jsx)(X,{label:n.configRemLookbackDays,children:(0,Y.jsx)(`input`,{type:`number`,step:`1`,min:1,className:q,value:o.rem.lookbackDays,disabled:!a||c,onChange:e=>u(t=>t&&{...t,rem:{...t.rem,lookbackDays:Number(e.target.value)}})})}),(0,Y.jsx)(X,{label:n.configRemLimit,children:(0,Y.jsx)(`input`,{type:`number`,step:`1`,min:0,className:q,value:o.rem.limit,disabled:!a||c,onChange:e=>u(t=>t&&{...t,rem:{...t.rem,limit:Number(e.target.value)}})})}),(0,Y.jsx)(X,{label:n.configRemMinStrength,children:(0,Y.jsx)(`input`,{type:`number`,step:`0.01`,min:0,max:1,className:q,value:o.rem.minPatternStrength,disabled:!a||c,onChange:e=>u(t=>t&&{...t,rem:{...t.rem,minPatternStrength:Number(e.target.value)}})})})]})]}):(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.configLoading}),t[26]=o,t[27]=c,t[28]=a,t[29]=r,t[30]=u,t[31]=n.configDeepHalfLife,t[32]=n.configDeepLimit,t[33]=n.configDeepMaxAge,t[34]=n.configDeepMinRecallCount,t[35]=n.configDeepMinScore,t[36]=n.configFrequency,t[37]=n.configLightDedupe,t[38]=n.configLightLimit,t[39]=n.configLightLookbackDays,t[40]=n.configLoading,t[41]=n.configPhaseCron,t[42]=n.configPhaseDeep,t[43]=n.configPhaseDeepHint,t[44]=n.configPhaseLight,t[45]=n.configPhaseLightHint,t[46]=n.configPhaseRem,t[47]=n.configPhaseRemHint,t[48]=n.configRemLimit,t[49]=n.configRemLookbackDays,t[50]=n.configRemMinStrength,t[51]=n.configTimezone,t[52]=n.off,t[53]=n.on,t[54]=M):M=t[54];let N;return t[55]!==A||t[56]!==M?(N=(0,Y.jsxs)(ee,{className:g,children:[A,M]}),t[55]=A,t[56]=M,t[57]=N):N=t[57],N}function ge(e){let t=(0,P.c)(20),{t:n,hasToken:r,eventsLoading:i,events:a,loadEvents:o}=e,s=!r||i,c;t[0]===o?c=t[1]:(c=()=>void o(),t[0]=o,t[1]=c);let l;t[2]===i?l=t[3]:(l=i?(0,Y.jsx)(x,{className:`mr-2 size-4 animate-spin`,"aria-hidden":!0}):null,t[2]=i,t[3]=l);let u;t[4]!==n.eventsLoad||t[5]!==s||t[6]!==c||t[7]!==l?(u=(0,Y.jsxs)(D,{variant:`secondary`,className:`px-2.5 py-1.5 text-xs`,disabled:s,onClick:c,children:[l,n.eventsLoad]}),t[4]=n.eventsLoad,t[5]=s,t[6]=c,t[7]=l,t[8]=u):u=t[8];let d;t[9]!==n.eventsHint||t[10]!==n.eventsTitle||t[11]!==u?(d=(0,Y.jsx)(k,{className:G,icon:_,title:n.eventsTitle,subtitle:n.eventsHint,trailing:u}),t[9]=n.eventsHint,t[10]=n.eventsTitle,t[11]=u,t[12]=d):d=t[12];let f;t[13]!==a||t[14]!==n.eventsEmpty||t[15]!==n.eventsNotLoaded?(f=a?a.length>0?(0,Y.jsx)(`div`,{className:`space-y-1.5`,children:a.map(_e)}):(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.eventsEmpty}):(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.eventsNotLoaded}),t[13]=a,t[14]=n.eventsEmpty,t[15]=n.eventsNotLoaded,t[16]=f):f=t[16];let p;return t[17]!==d||t[18]!==f?(p=(0,Y.jsxs)(ee,{className:se,children:[d,f]}),t[17]=d,t[18]=f,t[19]=p):p=t[19],p}function _e(e){let t=e.phase===`light`?`☀️`:e.phase===`rem`?`✨`:`🌙`,n=e.phase===`light`?`scanned=${e.scannedEntries??0} new=${e.newSignals??0} deduped=${e.deduped??0}`:e.phase===`rem`?`patterns=${e.patternsDiscovered??0} analyzed=${e.entriesAnalyzed??0}`:`candidates=${e.candidates??0} applied=${e.applied??0}`;return(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 rounded-lg border border-edge-subtle bg-surface-panel/60 px-3 py-2 text-xs`,children:[(0,Y.jsx)(`span`,{children:t}),(0,Y.jsx)(`span`,{className:`font-medium text-fg`,children:e.phase}),(0,Y.jsx)(`span`,{className:i(`font-medium`,e.ok?`text-emerald-600 dark:text-emerald-400`:`text-amber-600 dark:text-amber-400`),children:e.ok?`OK`:`FAIL`}),(0,Y.jsx)(`span`,{className:`text-fg-muted`,children:n}),(0,Y.jsx)(`span`,{className:`text-fg-muted`,children:J(e.durationMs)}),(0,Y.jsx)(`span`,{className:`ml-auto text-fg-subtle`,children:ce(e.timestamp)})]},`${e.timestamp}:${e.phase}`)}function ve(e){let t=(0,P.c)(40),{t:n,cfgForm:r,dreamingEnabled:a,hasToken:o,cfgSaving:s,enableSaving:c,runPhase:l,setRunPhase:u,runBusy:d,doRunNow:f,doRefresh:p,setDreamingEnabled:h}=e,_;t[0]===n.title?_=t[1]:(_=(0,Y.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:n.title}),t[0]=n.title,t[1]=_);let v;t[2]===n.subtitle?v=t[3]:(v=(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:n.subtitle}),t[2]=n.subtitle,t[3]=v);let y;t[4]!==_||t[5]!==v?(y=(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[_,v]}),t[4]=_,t[5]=v,t[6]=y):y=t[6];let b;t[7]!==r||t[8]!==s||t[9]!==a||t[10]!==c||t[11]!==o||t[12]!==h||t[13]!==n.configEnabled||t[14]!==n.off||t[15]!==n.on?(b=r?(0,Y.jsxs)(`label`,{className:i(`inline-flex cursor-pointer items-center gap-2 rounded-xl border px-3 py-1.5 text-sm transition-colors`,a?`border-emerald-500/30 bg-emerald-500/5 text-fg`:`border-edge-subtle bg-surface-panel/50 text-fg-muted`),children:[(0,Y.jsx)(`span`,{className:`text-xs font-medium`,children:n.configEnabled}),(0,Y.jsx)(`input`,{type:`checkbox`,className:`ui-checkbox`,checked:r.enabled,disabled:!o||s||c,onChange:e=>void h(e.target.checked)}),c?(0,Y.jsx)(x,{className:`size-3.5 animate-spin text-fg-muted`,"aria-hidden":!0}):(0,Y.jsx)(`span`,{className:i(`text-xs font-semibold`,a?`text-emerald-600 dark:text-emerald-400`:``),children:r.enabled?n.on:n.off})]}):null,t[7]=r,t[8]=s,t[9]=a,t[10]=c,t[11]=o,t[12]=h,t[13]=n.configEnabled,t[14]=n.off,t[15]=n.on,t[16]=b):b=t[16];let S;t[17]!==f||t[18]!==a||t[19]!==o||t[20]!==d||t[21]!==l||t[22]!==u||t[23]!==n.runNow||t[24]!==n.runNowHint?(S=a?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`select`,{className:`rounded-lg border border-edge bg-surface-panel px-2 py-1.5 text-xs text-fg`,value:l,onChange:e=>u(e.target.value),disabled:!o||d,children:[(0,Y.jsx)(`option`,{value:`light`,children:`Light`}),(0,Y.jsx)(`option`,{value:`deep`,children:`Deep`}),(0,Y.jsx)(`option`,{value:`rem`,children:`REM`})]}),(0,Y.jsxs)(D,{variant:`secondary`,className:`px-2.5 py-1.5 text-xs`,disabled:!o||d,onClick:()=>void f(l),title:n.runNowHint,children:[d?(0,Y.jsx)(x,{className:`mr-2 size-4 animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(m,{className:`mr-2 size-4`,"aria-hidden":!0}),n.runNow]})]}):null,t[17]=f,t[18]=a,t[19]=o,t[20]=d,t[21]=l,t[22]=u,t[23]=n.runNow,t[24]=n.runNowHint,t[25]=S):S=t[25];let C=!o,w;t[26]===p?w=t[27]:(w=()=>void p(),t[26]=p,t[27]=w);let T;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Y.jsx)(g,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),t[28]=T):T=t[28];let E;t[29]!==n.refresh||t[30]!==C||t[31]!==w?(E=(0,Y.jsx)(D,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,disabled:C,title:n.refresh,"aria-label":n.refresh,onClick:w,children:T}),t[29]=n.refresh,t[30]=C,t[31]=w,t[32]=E):E=t[32];let O;t[33]!==b||t[34]!==S||t[35]!==E?(O=(0,Y.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-2`,children:[b,S,E]}),t[33]=b,t[34]=S,t[35]=E,t[36]=O):O=t[36];let k;return t[37]!==O||t[38]!==y?(k=(0,Y.jsxs)(`header`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[y,O]}),t[37]=O,t[38]=y,t[39]=k):k=t[39],k}function ye(e){let t=(0,P.c)(30),{t:n,disabled:r,actionBusy:a,doAction:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=i(`max-w-2xl`,se),t[0]=s):s=t[0];let c;t[1]!==n.maintenanceHint||t[2]!==n.maintenanceTitle?(c=(0,Y.jsx)(k,{className:G,icon:S,title:n.maintenanceTitle,subtitle:n.maintenanceHint}),t[1]=n.maintenanceHint,t[2]=n.maintenanceTitle,t[3]=c):c=t[3];let l;t[4]!==o||t[5]!==n.confirmResetStore?(l=()=>{confirm(n.confirmResetStore)&&o(`reset_store`)},t[4]=o,t[5]=n.confirmResetStore,t[6]=l):l=t[6];let u;t[7]===a?u=t[8]:(u=a===`reset_store`?(0,Y.jsx)(x,{className:`mr-2 size-4 animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(E,{className:`mr-2 size-4`,"aria-hidden":!0}),t[7]=a,t[8]=u);let d;t[9]!==r||t[10]!==n.resetStore||t[11]!==l||t[12]!==u?(d=(0,Y.jsxs)(D,{variant:`secondary`,disabled:r,onClick:l,children:[u,n.resetStore]}),t[9]=r,t[10]=n.resetStore,t[11]=l,t[12]=u,t[13]=d):d=t[13];let f;t[14]!==o||t[15]!==n.confirmClearLock?(f=()=>{confirm(n.confirmClearLock)&&o(`clear_lock`)},t[14]=o,t[15]=n.confirmClearLock,t[16]=f):f=t[16];let p;t[17]===a?p=t[18]:(p=a===`clear_lock`?(0,Y.jsx)(x,{className:`mr-2 size-4 animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(T,{className:`mr-2 size-4`,"aria-hidden":!0}),t[17]=a,t[18]=p);let m;t[19]!==r||t[20]!==n.clearLock||t[21]!==f||t[22]!==p?(m=(0,Y.jsxs)(D,{variant:`secondary`,disabled:r,onClick:f,children:[p,n.clearLock]}),t[19]=r,t[20]=n.clearLock,t[21]=f,t[22]=p,t[23]=m):m=t[23];let h;t[24]!==d||t[25]!==m?(h=(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[d,m]}),t[24]=d,t[25]=m,t[26]=h):h=t[26];let g;return t[27]!==c||t[28]!==h?(g=(0,Y.jsxs)(ee,{className:s,children:[c,h]}),t[27]=c,t[28]=h,t[29]=g):g=t[29],g}function be(e){let t=(0,P.c)(21),{t:n,hasToken:r,previewLoading:i,previewItems:a,loadPreview:o}=e,s=!r||i,c;t[0]===o?c=t[1]:(c=()=>void o(),t[0]=o,t[1]=c);let l;t[2]===i?l=t[3]:(l=i?(0,Y.jsx)(x,{className:`mr-2 size-4 animate-spin`,"aria-hidden":!0}):null,t[2]=i,t[3]=l);let u;t[4]!==n.previewLoad||t[5]!==s||t[6]!==c||t[7]!==l?(u=(0,Y.jsxs)(D,{variant:`secondary`,className:`px-2.5 py-1.5 text-xs`,disabled:s,onClick:c,children:[l,n.previewLoad]}),t[4]=n.previewLoad,t[5]=s,t[6]=c,t[7]=l,t[8]=u):u=t[8];let f;t[9]!==n.previewHint||t[10]!==n.previewTitle||t[11]!==u?(f=(0,Y.jsx)(k,{className:G,icon:d,title:n.previewTitle,subtitle:n.previewHint,trailing:u}),t[9]=n.previewHint,t[10]=n.previewTitle,t[11]=u,t[12]=f):f=t[12];let p;t[13]!==a||t[14]!==n.previewEligible||t[15]!==n.previewEmpty||t[16]!==n.previewNotLoaded?(p=a?a.length>0?(0,Y.jsx)(`div`,{className:`space-y-2`,children:a.map(e=>{let t=`${e.path}:${e.startLine}-${e.endLine}`,r=e.skippedReason;return(0,Y.jsxs)(`div`,{className:`rounded-lg border border-edge-subtle bg-surface-panel/60 px-2.5 py-2`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-fg-muted`,children:[(0,Y.jsx)(`span`,{className:`font-medium text-fg`,children:t}),(0,Y.jsxs)(`span`,{children:[`score=`,e.score.toFixed(3)]}),(0,Y.jsxs)(`span`,{children:[`recalls=`,e.recallCount]}),(0,Y.jsxs)(`span`,{children:[`avg=`,e.avgScore.toFixed(3)]}),(0,Y.jsxs)(`span`,{children:[`decay=`,e.recencyDecay?.toFixed(3)??`—`]}),r?(0,Y.jsx)(`span`,{className:`text-amber-600 dark:text-amber-400`,children:r}):(0,Y.jsx)(`span`,{className:`text-emerald-600 dark:text-emerald-400`,children:n.previewEligible})]}),e.snippet?(0,Y.jsx)(`div`,{className:`mt-2 text-sm text-fg`,children:e.snippet}):null]},`${e.key}:${e.hash}:${t}`)})}):(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.previewEmpty}):(0,Y.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n.previewNotLoaded}),t[13]=a,t[14]=n.previewEligible,t[15]=n.previewEmpty,t[16]=n.previewNotLoaded,t[17]=p):p=t[17];let m;return t[18]!==f||t[19]!==p?(m=(0,Y.jsxs)(ee,{className:se,children:[f,p]}),t[18]=f,t[19]=p,t[20]=m):m=t[20],m}function xe(e){let t=(0,P.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`?A(e.expression,e.locale,e.labels,{timezone:e.timezone,nextRun:e.nextRun}):M(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,Y.jsx)(`span`,{className:e.className,children:r}),t[9]=e.className,t[10]=r,t[11]=i):i=t[11],i}function Se(e){let t=(0,P.c)(100),{t:n,data:r,isLoading:a,localeTag:o,scheduleBadgeLabels:s}=e,c;t[0]!==r||t[1]!==n?(c=r?le(r.lock,n):null,t[0]=r,t[1]=n,t[2]=c):c=t[2];let l=c,u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=i(`min-w-0`,se),t[3]=u):u=t[3];let d;t[4]===a?d=t[5]:(d=a?(0,Y.jsx)(x,{className:`size-4 shrink-0 animate-spin text-fg-muted`,"aria-hidden":!0}):null,t[4]=a,t[5]=d);let f;t[6]!==n.runtimeHint||t[7]!==n.runtimeTitle||t[8]!==d?(f=(0,Y.jsx)(k,{className:G,icon:_,title:n.runtimeTitle,subtitle:n.runtimeHint,trailing:d}),t[6]=n.runtimeHint,t[7]=n.runtimeTitle,t[8]=d,t[9]=f):f=t[9];let m;t[10]===n.subsectionSchedule?m=t[11]:(m=(0,Y.jsx)(Q,{label:n.subsectionSchedule,className:`mb-2`}),t[10]=n.subsectionSchedule,t[11]=m);let h=r?r.config.enabled?n.on:n.off:`—`,g;t[12]!==n.enabled||t[13]!==h?(g=(0,Y.jsx)(Z,{label:n.enabled,children:h}),t[12]=n.enabled,t[13]=h,t[14]=g):g=t[14];let v=l?.className,y=l?l.text:`—`,b;t[15]!==v||t[16]!==y?(b=(0,Y.jsx)(`span`,{className:v,children:y}),t[15]=v,t[16]=y,t[17]=b):b=t[17];let S;t[18]!==n.lock||t[19]!==b?(S=(0,Y.jsx)(Z,{label:n.lock,children:b}),t[18]=n.lock,t[19]=b,t[20]=S):S=t[20];let T=r&&r.config.timezone||`—`,E;t[21]!==n.timezone||t[22]!==T?(E=(0,Y.jsx)(Z,{label:n.timezone,children:T}),t[21]=n.timezone,t[22]=T,t[23]=E):E=t[23];let D;t[24]!==r||t[25]!==o||t[26]!==s?(D=r?(0,Y.jsx)(xe,{kind:`cron`,expression:r.config.frequency,locale:o,labels:s,timezone:r.config.timezone||void 0}):`—`,t[24]=r,t[25]=o,t[26]=s,t[27]=D):D=t[27];let O;t[28]===r?O=t[29]:(O=r?.config.frequency?(0,Y.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-[0.65rem] text-fg-subtle`,title:r.config.frequency,children:r.config.frequency}):null,t[28]=r,t[29]=O);let j;t[30]!==n.schedule||t[31]!==D||t[32]!==O?(j=(0,Y.jsxs)(Z,{label:n.schedule,className:`col-span-2 sm:col-span-2`,children:[D,O]}),t[30]=n.schedule,t[31]=D,t[32]=O,t[33]=j):j=t[33];let M;t[34]!==S||t[35]!==E||t[36]!==j||t[37]!==g?(M=(0,Y.jsxs)(`dl`,{className:`grid grid-cols-2 gap-x-3 gap-y-2 sm:grid-cols-4`,children:[g,S,E,j]}),t[34]=S,t[35]=E,t[36]=j,t[37]=g,t[38]=M):M=t[38];let N;t[39]!==M||t[40]!==m?(N=(0,Y.jsxs)(`div`,{className:K,children:[m,M]}),t[39]=M,t[40]=m,t[41]=N):N=t[41];let F;t[42]===n.subsectionStore?F=t[43]:(F=(0,Y.jsx)(Q,{label:n.subsectionStore,className:`mb-2`}),t[42]=n.subsectionStore,t[43]=F);let te=r?String(r.store.entryCount):`—`,ne;t[44]!==n.storeEntries||t[45]!==te?(ne=(0,Y.jsx)(Z,{label:n.storeEntries,children:te}),t[44]=n.storeEntries,t[45]=te,t[46]=ne):ne=t[46];let re=r?String(r.store.promotedCount):`—`,ie;t[47]!==n.storePromoted||t[48]!==re?(ie=(0,Y.jsx)(Z,{label:n.storePromoted,children:re}),t[47]=n.storePromoted,t[48]=re,t[49]=ie):ie=t[49];let ae;t[50]===r?ae=t[51]:(ae=r?ce(r.store.updatedAt):`—`,t[50]=r,t[51]=ae);let I;t[52]!==n.storeUpdatedAt||t[53]!==ae?(I=(0,Y.jsx)(Z,{label:n.storeUpdatedAt,children:ae}),t[52]=n.storeUpdatedAt,t[53]=ae,t[54]=I):I=t[54];let L;t[55]===r?L=t[56]:(L=r?ce(r.store.lastPromotedAt):`—`,t[55]=r,t[56]=L);let R;t[57]!==n.storeLastPromotedAt||t[58]!==L?(R=(0,Y.jsx)(Z,{label:n.storeLastPromotedAt,children:L}),t[57]=n.storeLastPromotedAt,t[58]=L,t[59]=R):R=t[59];let z;t[60]!==ne||t[61]!==ie||t[62]!==I||t[63]!==R?(z=(0,Y.jsxs)(`dl`,{className:`grid grid-cols-2 gap-x-3 gap-y-2 sm:grid-cols-4`,children:[ne,ie,I,R]}),t[60]=ne,t[61]=ie,t[62]=I,t[63]=R,t[64]=z):z=t[64];let B;t[65]!==F||t[66]!==z?(B=(0,Y.jsxs)(`div`,{className:K,children:[F,z]}),t[65]=F,t[66]=z,t[67]=B):B=t[67];let V;t[68]!==r||t[69]!==o||t[70]!==s||t[71]!==n?(V=r?.config?.phases?(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(Q,{label:n.subsectionPhases,className:`mb-2`}),(0,Y.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-3`,children:[(0,Y.jsx)(fe,{icon:(0,Y.jsx)(C,{className:`size-4 text-amber-500`}),label:`Light`,enabled:r.config.phases.light.enabled,cron:r.config.phases.light.cron,scheduleSummary:A(r.config.phases.light.cron,o,s,{timezone:r.config.timezone||void 0}),details:`lookback=${r.config.phases.light.lookbackDays}d, limit=${r.config.phases.light.limit}, dedupe=${r.config.phases.light.dedupeSimilarity}`,t:n}),(0,Y.jsx)(fe,{icon:(0,Y.jsx)(w,{className:`size-4 text-indigo-500`}),label:`Deep`,enabled:r.config.phases.deep.enabled,cron:r.config.phases.deep.cron,scheduleSummary:A(r.config.phases.deep.cron,o,s,{timezone:r.config.timezone||void 0}),details:`minScore=${r.config.phases.deep.minScore}, recalls≥${r.config.phases.deep.minRecallCount}, limit=${r.config.phases.deep.limit}, halfLife=${r.config.phases.deep.recencyHalfLifeDays}d`,t:n}),(0,Y.jsx)(fe,{icon:(0,Y.jsx)(p,{className:`size-4 text-purple-500`}),label:`REM`,enabled:r.config.phases.rem.enabled,cron:r.config.phases.rem.cron,scheduleSummary:A(r.config.phases.rem.cron,o,s,{timezone:r.config.timezone||void 0}),details:`lookback=${r.config.phases.rem.lookbackDays}d, limit=${r.config.phases.rem.limit}, strength≥${r.config.phases.rem.minPatternStrength}`,t:n})]})]}):null,t[68]=r,t[69]=o,t[70]=s,t[71]=n,t[72]=V):V=t[72];let H;t[73]===n.subsectionLastRun?H=t[74]:(H=(0,Y.jsx)(Q,{label:n.subsectionLastRun,className:`mb-2`}),t[73]=n.subsectionLastRun,t[74]=H);let U;t[75]===n.lastRunBlockHint?U=t[76]:(U=(0,Y.jsx)(`p`,{className:`mb-2 text-xs text-fg-muted`,children:n.lastRunBlockHint}),t[75]=n.lastRunBlockHint,t[76]=U);let oe;t[77]!==r||t[78]!==n?(oe=r?.lastRun?.exists?(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[r.lastRun.parseError?(0,Y.jsxs)(`p`,{className:`text-sm text-amber-600 dark:text-amber-400`,role:`alert`,children:[n.lastRunParseError,`: `,r.lastRun.parseError]}):null,r.lastRun.record?(0,Y.jsx)(`div`,{className:`rounded-lg border border-edge-subtle/80 bg-surface-panel/50 p-2.5`,children:(0,Y.jsx)(me,{t:n,r:r.lastRun.record})}):null,r.lastRun.raw!==void 0&&r.lastRun.raw!==null?(0,Y.jsxs)(`details`,{className:`group rounded-lg border border-edge-subtle`,children:[(0,Y.jsx)(`summary`,{className:`cursor-pointer list-none px-2.5 py-1.5 text-xs font-medium text-fg-muted marker:hidden [&::-webkit-details-marker]:hidden`,children:(0,Y.jsx)(`span`,{className:`underline decoration-edge underline-offset-2 group-open:text-fg`,children:n.lastRunRaw})}),(0,Y.jsx)(`pre`,{className:`max-h-40 overflow-auto border-t border-edge-subtle p-2.5 text-xs text-fg-muted`,children:JSON.stringify(r.lastRun.raw,null,2)})]}):null]}):(0,Y.jsx)(`p`,{className:`text-xs text-fg-muted`,children:n.lastRunEmpty}),t[77]=r,t[78]=n,t[79]=oe):oe=t[79];let W;t[80]!==H||t[81]!==U||t[82]!==oe?(W=(0,Y.jsxs)(`div`,{className:K,children:[H,U,oe]}),t[80]=H,t[81]=U,t[82]=oe,t[83]=W):W=t[83];let q=r?.lightLastRun,J;t[84]!==n||t[85]!==q?(J=(0,Y.jsx)(pe,{label:n.subsectionLightLastRun,lastRun:q,t:n}),t[84]=n,t[85]=q,t[86]=J):J=t[86];let ue=r?.remLastRun,de;t[87]!==n||t[88]!==ue?(de=(0,Y.jsx)(pe,{label:n.subsectionRemLastRun,lastRun:ue,t:n}),t[87]=n,t[88]=ue,t[89]=de):de=t[89];let X;t[90]!==N||t[91]!==B||t[92]!==V||t[93]!==W||t[94]!==J||t[95]!==de?(X=(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[N,B,V,W,J,de]}),t[90]=N,t[91]=B,t[92]=V,t[93]=W,t[94]=J,t[95]=de,t[96]=X):X=t[96];let $;return t[97]!==X||t[98]!==f?($=(0,Y.jsxs)(ee,{className:u,children:[f,X]}),t[97]=X,t[98]=f,t[99]=$):$=t[99],$}var Ce=[`config`,`runtime`,`insights`,`maintenance`],we={config:f,runtime:_,insights:d,maintenance:S};function Te(e){return e&&Ce.includes(e)?e:`config`}function Ee(e,t){return t===`config`?e.tabConfig:t===`runtime`?e.tabRuntime:t===`insights`?e.tabInsights:e.tabMaintenance}function De(e,t){return t===`config`?e.configTabHint:t===`runtime`?e.runtimeTabHint:t===`insights`?e.insightsTabHint:e.maintenanceTabHint}function Oe(e,t){switch(t.type){case`reset`:return{form:null,baseline:null};case`sync`:return{form:t.value,baseline:t.value};case`set`:return{...e,form:t.value};case`saved`:return{form:t.value,baseline:t.value}}}var ke={actionBusy:null,actionError:null,actionOk:!1,runBusy:!1,runOk:!1,runError:null,runPhase:`deep`,cfgSaving:!1,enableSaving:!1,cfgOk:!1,cfgError:null,previewLoading:!1,previewError:null,previewItems:null,eventsLoading:!1,eventsError:null,events:null};function Ae(){let e=o(e=>e.language),t=a(e),n=t.dreamingSettings,r=t.cron.schedulePicker,i=t.cron.scheduleBadge,c=e===`zh`?`zh-CN`:`en-US`,l=!!s(e=>e.token),[d,f]=y(),p=Te(d.get(`tab`)),m=(0,N.useCallback)(e=>{f(t=>{let n=new URLSearchParams(t);return e===`config`?n.delete(`tab`):n.set(`tab`,e),n},{replace:!0})},[f]),[h,g]=(0,N.useReducer)(O,ke),{actionBusy:_,actionError:v,actionOk:b,runBusy:x,runOk:S,runError:C,runPhase:w,cfgSaving:T,enableSaving:E,cfgOk:D,cfgError:k,previewLoading:ee,previewError:A,previewItems:j,eventsLoading:M,eventsError:P,events:I}=h,[L,R]=(0,N.useReducer)(Oe,{form:null,baseline:null}),z=L.form,B=L.baseline,V=(0,N.useRef)(!1),{data:H,error:U,isLoading:se,mutate:G}=u(l?F():null,te,{revalidateOnFocus:!1}),K=(0,N.useMemo)(()=>{let e=[];return U&&e.push(U instanceof Error?U.message:String(U)),v&&e.push(v),C&&e.push(C),A&&e.push(A),P&&e.push(P),k&&e.push(k),e},[U,v,C,A,P,k]),q=(0,N.useMemo)(()=>{let e=[];return D&&e.push(n.configSaved),S&&e.push(n.runQueued),b&&e.push(n.actionOk),e},[D,S,b,n]),ce=(0,N.useCallback)(async()=>{g({type:`patch`,patch:{actionOk:!1,actionError:null,runOk:!1,runError:null,cfgOk:!1,cfgError:null,previewError:null}}),await G()},[G]),J=(0,N.useCallback)(async()=>{g({type:`patch`,patch:{previewLoading:!0,previewError:null}});try{g({type:`patch`,patch:{previewItems:(await ie(20)).items??[]}})}catch(e){g({type:`patch`,patch:{previewError:e instanceof Error?e.message:String(e)}})}finally{g({type:`patch`,patch:{previewLoading:!1}})}},[]),le=(0,N.useCallback)(async()=>{g({type:`patch`,patch:{eventsLoading:!0,eventsError:null}});try{g({type:`patch`,patch:{events:await ae(50)}})}catch(e){g({type:`patch`,patch:{eventsError:e instanceof Error?e.message:String(e)}})}finally{g({type:`patch`,patch:{eventsLoading:!1}})}},[]),ue=(0,N.useCallback)(async(e=`deep`)=>{g({type:`patch`,patch:{runBusy:!0,runOk:!1,runError:null}});try{await re(e),g({type:`patch`,patch:{runOk:!0}}),await G()}catch(e){g({type:`patch`,patch:{runError:e instanceof Error?e.message:String(e)}})}finally{g({type:`patch`,patch:{runBusy:!1}})}},[G]),de=(0,N.useCallback)(async e=>{g({type:`patch`,patch:{actionBusy:e,actionError:null,actionOk:!1}});try{await ne(e),g({type:`patch`,patch:{actionOk:!0}}),await G()}catch(e){g({type:`patch`,patch:{actionError:e instanceof Error?e.message:String(e)}})}finally{g({type:`patch`,patch:{actionBusy:null}})}},[G]),X=!l||se||!!_,Z=(0,N.useMemo)(()=>{let e=H?.config;return oe(e??{})},[H]),Q=H?.agentId??`main`,$=H?.memory;(0,N.useEffect)(()=>{if(!l){R({type:`reset`}),V.current=!1;return}V.current||R({type:`sync`,value:Z})},[Z,l]);let fe=(0,N.useMemo)(()=>!z||!B?!1:JSON.stringify(z)!==JSON.stringify(B),[z,B]),pe=(0,N.useCallback)(async()=>{if(z){g({type:`patch`,patch:{cfgSaving:!0,cfgOk:!1,cfgError:null}});try{await W(Q,z,$),R({type:`saved`,value:z}),V.current=!1,g({type:`patch`,patch:{cfgOk:!0}}),await G()}catch(e){g({type:`patch`,patch:{cfgError:e instanceof Error?e.message:String(e)}})}finally{g({type:`patch`,patch:{cfgSaving:!1}})}}},[Q,$,z,G]),me=(0,N.useCallback)(async e=>{if(!z||!l)return;let t={...z,enabled:e},n=z;V.current=!0,R({type:`set`,value:t}),g({type:`patch`,patch:{enableSaving:!0,cfgOk:!1,cfgError:null}});try{await W(Q,t,$),R({type:`saved`,value:t}),V.current=!1,g({type:`patch`,patch:{cfgOk:!0}}),await G()}catch(e){R({type:`set`,value:n}),g({type:`patch`,patch:{cfgError:e instanceof Error?e.message:String(e)}})}finally{g({type:`patch`,patch:{enableSaving:!1}})}},[Q,$,z,l,G]);return(0,Y.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-4 px-4 py-6`,children:[(0,Y.jsx)(ve,{t:n,cfgForm:z,dreamingEnabled:z?.enabled??Z.enabled,hasToken:l,cfgSaving:T,enableSaving:E,runPhase:w,setRunPhase:e=>g({type:`patch`,patch:{runPhase:e}}),runBusy:x,doRunNow:ue,doRefresh:ce,setDreamingEnabled:me}),K.length>0?(0,Y.jsx)(`div`,{className:`space-y-1.5 rounded-2xl border border-amber-500/20 bg-amber-500/5 px-4 py-3`,role:`alert`,children:K.map(e=>(0,Y.jsx)(`p`,{className:`text-sm text-amber-800 dark:text-amber-200/90`,children:e},e))}):null,q.length>0?(0,Y.jsx)(`div`,{className:`space-y-1.5 rounded-2xl border border-emerald-500/20 bg-emerald-500/5 px-4 py-3`,role:`status`,children:q.map(e=>(0,Y.jsx)(`p`,{className:`text-sm text-emerald-800 dark:text-emerald-200/90`,children:e},e))}):null,(0,Y.jsx)(je,{t:n,activeTab:p,onChange:m}),(0,Y.jsx)(Me,{t:n,id:`config`,activeTab:p,children:(0,Y.jsx)(he,{t:n,schedulePickerLabels:r,hasToken:l,cfgForm:z,cfgBaseline:B,cfgSaving:T,cfgDirty:fe,setCfgForm:e=>{V.current=!0;let t=typeof e==`function`?e(z):e;t&&R({type:`set`,value:t})},setCfgOk:e=>g({type:`patch`,patch:{cfgOk:e}}),setCfgError:e=>g({type:`patch`,patch:{cfgError:e}}),saveConfig:pe})}),(0,Y.jsx)(Me,{t:n,id:`runtime`,activeTab:p,children:(0,Y.jsx)(Se,{t:n,data:H,isLoading:se,localeTag:c,scheduleBadgeLabels:i})}),(0,Y.jsx)(Me,{t:n,id:`insights`,activeTab:p,children:(0,Y.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,Y.jsx)(be,{t:n,hasToken:l,previewLoading:ee,previewItems:j,loadPreview:J}),(0,Y.jsx)(ge,{t:n,hasToken:l,eventsLoading:M,events:I,loadEvents:le})]})}),(0,Y.jsx)(Me,{t:n,id:`maintenance`,activeTab:p,children:(0,Y.jsx)(ye,{t:n,disabled:X,actionBusy:_,doAction:de})})]})}function je(e){let t=(0,P.c)(11),{t:n,activeTab:r,onChange:a}=e,o=n.tabsAriaLabel,s;t[0]!==r||t[1]!==a?(s=e=>{e.key!==`ArrowLeft`&&e.key!==`ArrowRight`||(e.preventDefault(),a(Ce[(Ce.indexOf(r)+(e.key===`ArrowRight`?1:-1)+Ce.length)%Ce.length]))},t[0]=r,t[1]=a,t[2]=s):s=t[2];let c;t[3]!==r||t[4]!==a||t[5]!==n?(c=Ce.map(e=>{let t=we[e],o=e===r;return(0,Y.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":o,id:`dreaming-settings-tab-${e}`,"aria-controls":`dreaming-settings-panel-${e}`,className:i(`inline-flex shrink-0 items-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,v.press,o?`bg-accent-soft text-accent-fg`:`text-fg-muted hover:bg-surface-hover hover:text-fg`),onClick:()=>a(e),children:[(0,Y.jsx)(t,{className:`size-3.5 shrink-0`,strokeWidth:1.75,"aria-hidden":!0}),(0,Y.jsx)(`span`,{children:Ee(n,e)})]},e)}),t[3]=r,t[4]=a,t[5]=n,t[6]=c):c=t[6];let l;return t[7]!==n.tabsAriaLabel||t[8]!==s||t[9]!==c?(l=(0,Y.jsx)(`nav`,{"aria-label":o,className:`-mx-1 flex gap-1 overflow-x-auto px-1 pb-1`,role:`tablist`,onKeyDown:s,children:c}),t[7]=n.tabsAriaLabel,t[8]=s,t[9]=c,t[10]=l):l=t[10],l}function Me(e){let t=(0,P.c)(18),{t:n,id:r,activeTab:i,children:a}=e;if(i!==r)return null;let o=`dreaming-settings-panel-${r}`,s=`dreaming-settings-tab-${r}`,c;t[0]!==r||t[1]!==n?(c=Ee(n,r),t[0]=r,t[1]=n,t[2]=c):c=t[2];let l;t[3]===c?l=t[4]:(l=(0,Y.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:c}),t[3]=c,t[4]=l);let u;t[5]!==r||t[6]!==n?(u=De(n,r),t[5]=r,t[6]=n,t[7]=u):u=t[7];let d;t[8]===u?d=t[9]:(d=(0,Y.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:u}),t[8]=u,t[9]=d);let f;t[10]!==l||t[11]!==d?(f=(0,Y.jsxs)(`div`,{className:`mb-5`,children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12];let p;return t[13]!==a||t[14]!==o||t[15]!==s||t[16]!==f?(p=(0,Y.jsxs)(`section`,{id:o,role:`tabpanel`,"aria-labelledby":s,className:`rounded-2xl border border-edge bg-surface-base px-4 py-5 sm:px-5`,children:[f,a]}),t[13]=a,t[14]=o,t[15]=s,t[16]=f,t[17]=p):p=t[17],p}export{Ae as DreamingSettingsPanel};
|
|
@@ -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{t as i}from"./messages-
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./messages-B1iSKjiw.js";import{t as a}from"./locale-store-DjbfSsfA.js";import{ri as o}from"./index-Cc41r16l.js";var s=n(),c=e(t(),1),l=r(),u=`xopc.extensionUiGrants.v1`;function d(){let e=(0,s.c)(59),t=a(h),n;e[0]===t?n=e[1]:(n=i(t),e[0]=t,e[1]=n);let r=n.extensionDebug,u=o(),[d,_]=(0,c.useState)(m),v;e[2]===u?v=e[3]:(v=u.toSorted(p),e[2]=u,e[3]=v);let y=v,b;e[4]===r.title?b=e[5]:(b=(0,l.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:r.title}),e[4]=r.title,e[5]=b);let x;e[6]===r.subtitle?x=e[7]:(x=(0,l.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:r.subtitle}),e[6]=r.subtitle,e[7]=x);let S;e[8]!==b||e[9]!==x?(S=(0,l.jsxs)(`div`,{children:[b,x]}),e[8]=b,e[9]=x,e[10]=S):S=e[10];let C;e[11]===r.grantsHeading?C=e[12]:(C=(0,l.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:r.grantsHeading}),e[11]=r.grantsHeading,e[12]=C);let w;e[13]===r.grantsHint?w=e[14]:(w=(0,l.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:r.grantsHint}),e[13]=r.grantsHint,e[14]=w);let T;e[15]===d?T=e[16]:(T=(0,l.jsx)(`pre`,{className:`mt-3 max-h-48 overflow-auto rounded-lg border border-edge-subtle bg-surface-muted p-3 font-mono text-xs text-fg`,children:d}),e[15]=d,e[16]=T);let E;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(E=()=>_(g()),e[17]=E):E=e[17];let D;e[18]===r.refresh?D=e[19]:(D=(0,l.jsx)(`button`,{type:`button`,className:`mt-3 rounded-lg border border-edge px-3 py-1.5 text-xs font-medium text-fg hover:bg-surface-hover`,onClick:E,children:r.refresh}),e[18]=r.refresh,e[19]=D);let O;e[20]!==C||e[21]!==w||e[22]!==T||e[23]!==D?(O=(0,l.jsxs)(`section`,{className:`rounded-xl border border-edge bg-surface-base p-4`,children:[C,w,T,D]}),e[20]=C,e[21]=w,e[22]=T,e[23]=D,e[24]=O):O=e[24];let k;e[25]===r.listHeading?k=e[26]:(k=(0,l.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:r.listHeading}),e[25]=r.listHeading,e[26]=k);let A;e[27]===r.colId?A=e[28]:(A=(0,l.jsx)(`th`,{className:`py-2 pr-2`,children:r.colId}),e[27]=r.colId,e[28]=A);let j;e[29]===r.colName?j=e[30]:(j=(0,l.jsx)(`th`,{className:`py-2 pr-2`,children:r.colName}),e[29]=r.colName,e[30]=j);let M;e[31]===r.colPermissions?M=e[32]:(M=(0,l.jsx)(`th`,{className:`py-2`,children:r.colPermissions}),e[31]=r.colPermissions,e[32]=M);let N;e[33]!==A||e[34]!==j||e[35]!==M?(N=(0,l.jsx)(`thead`,{children:(0,l.jsxs)(`tr`,{className:`border-b border-edge text-xs uppercase text-fg-muted`,children:[A,j,M]})}),e[33]=A,e[34]=j,e[35]=M,e[36]=N):N=e[36];let P;e[37]===y?P=e[38]:(P=y.map(f),e[37]=y,e[38]=P);let F;e[39]===P?F=e[40]:(F=(0,l.jsx)(`tbody`,{children:P}),e[39]=P,e[40]=F);let I;e[41]!==N||e[42]!==F?(I=(0,l.jsx)(`div`,{className:`mt-3 overflow-x-auto`,children:(0,l.jsxs)(`table`,{className:`w-full min-w-[32rem] border-collapse text-left text-sm`,children:[N,F]})}),e[41]=N,e[42]=F,e[43]=I):I=e[43];let L;e[44]!==k||e[45]!==I?(L=(0,l.jsxs)(`section`,{className:`rounded-xl border border-edge bg-surface-base p-4`,children:[k,I]}),e[44]=k,e[45]=I,e[46]=L):L=e[46];let R;e[47]===r.futureHeading?R=e[48]:(R=(0,l.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:r.futureHeading}),e[47]=r.futureHeading,e[48]=R);let z;e[49]===r.futureBody?z=e[50]:(z=(0,l.jsx)(`p`,{className:`mt-2`,children:r.futureBody}),e[49]=r.futureBody,e[50]=z);let B;e[51]!==R||e[52]!==z?(B=(0,l.jsxs)(`section`,{className:`rounded-xl border border-dashed border-edge-subtle bg-surface-muted/50 p-4 text-sm text-fg-muted`,children:[R,z]}),e[51]=R,e[52]=z,e[53]=B):B=e[53];let V;return e[54]!==O||e[55]!==L||e[56]!==B||e[57]!==S?(V=(0,l.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-6 px-4 py-8`,children:[S,O,L,B]}),e[54]=O,e[55]=L,e[56]=B,e[57]=S,e[58]=V):V=e[58],V}function f(e){return(0,l.jsxs)(`tr`,{className:`border-b border-edge-subtle`,children:[(0,l.jsx)(`td`,{className:`py-2 pr-2 font-mono text-xs text-fg`,children:e.id}),(0,l.jsx)(`td`,{className:`py-2 pr-2 text-fg`,children:e.name}),(0,l.jsx)(`td`,{className:`py-2 font-mono text-xs text-fg-muted`,children:(e.ui?.permissions??[]).join(`, `)||`—`})]},e.id)}function p(e,t){return e.id.localeCompare(t.id)}function m(){return g()}function h(e){return e.language}function g(){try{let e=localStorage.getItem(u);if(!e)return`{}`;let t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(e){return e instanceof Error?e.message:String(e)}}export{d as ExtensionDebugPage};
|
package/dist/gateway/static/root/assets/{extension-page-DEhv2GpC.js → extension-page-B3W6QwlZ.js}
RENAMED
|
@@ -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{
|
|
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 as i,Ni as a,Ys as o,oi as s,ri as c}from"./index-Cc41r16l.js";var l=n(),u=e(t(),1),d=r();function f(){let e=(0,l.c)(26),{extensionId:t,pageId:n}=o(),r=c(),f=a(m),g=a(p),_,v,y;e[0]!==t||e[1]!==r||e[2]!==n?(_=t?r.find(e=>e.id===t&&s(e)):void 0,v=_?.ui?.contributions?.pages,y=t&&v?.length?n?v.find(e=>e.id===n||e.id===`${t}.${n}`):v[0]:void 0,e[0]=t,e[1]=r,e[2]=n,e[3]=_,e[4]=v,e[5]=y):(_=e[3],v=e[4],y=e[5]);let b=y,x,S;if(e[6]!==g||e[7]!==_||e[8]!==t||e[9]!==b||e[10]!==f?(x=()=>{if(!t||!_||!b)return g(),()=>g();let e=b.title?.trim()||_.name||t;return f({startExtra:null,main:(0,d.jsx)(`div`,{className:`w-full min-w-0 px-3 sm:px-5 xl:px-6`,children:(0,d.jsx)(`h1`,{className:`min-w-0 truncate text-base font-semibold tracking-tight text-fg`,title:e,children:e})}),end:null}),()=>g()},S=[g,_,t,b,f],e[6]=g,e[7]=_,e[8]=t,e[9]=b,e[10]=f,e[11]=x,e[12]=S):(x=e[11],S=e[12]),(0,u.useLayoutEffect)(x,S),!t){let t;return e[13]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,d.jsx)(h,{message:`No extension ID provided.`}),e[13]=t):t=e[13],t}if(!_){let n=`Extension "${t}" not found or has no UI.`,r;return e[14]===n?r=e[15]:(r=(0,d.jsx)(h,{message:n}),e[14]=n,e[15]=r),r}if(!v?.length){let n=`Extension "${t}" has no page contributions.`,r;return e[16]===n?r=e[17]:(r=(0,d.jsx)(h,{message:n}),e[16]=n,e[17]=r),r}if(!b){let r=`Page "${n}" not found in extension "${t}".`,i;return e[18]===r?i=e[19]:(i=(0,d.jsx)(h,{message:r}),e[18]=r,e[19]=i),i}let C=_.ui?.permissions,w;return e[20]!==_.name||e[21]!==t||e[22]!==b.entrypoint||e[23]!==b.title||e[24]!==C?(w=(0,d.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,d.jsx)(i,{extensionId:t,extensionName:_.name,entrypoint:b.entrypoint,permissions:C,title:b.title,className:`min-h-0 flex-1`,fixedHeight:void 0,maxHeight:99999})}),e[20]=_.name,e[21]=t,e[22]=b.entrypoint,e[23]=b.title,e[24]=C,e[25]=w):w=e[25],w}function p(e){return e.clearPageHeader}function m(e){return e.setPageHeader}function h(e){let t=(0,l.c)(2),{message:n}=e,r;return t[0]===n?r=t[1]:(r=(0,d.jsx)(`div`,{className:`flex min-h-[min(40vh,16rem)] flex-1 items-center justify-center`,children:(0,d.jsx)(`div`,{className:`text-center`,children:(0,d.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n})})}),t[0]=n,t[1]=r),r}export{f as ExtensionPage};
|
|
@@ -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{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-BqzIDrlr.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{c as s,i as c,n as l,t as u}from"./fetch-CTsREQIe.js";import{r as d}from"./toast-z0toXu32.js";import{i as f}from"./vendor-swr-BIWyz7Rc.js";import{Gi as p,Gs as m,I as h,Ki as g,Kr as _,Ui as v,Vs as y,do as b,qi as x}from"./index-C8ytlAF2.js";import{a as S,d as C,f as w,i as T,l as E,s as D,t as O,u as k}from"./voice-api-key-field-BUIrKb8s.js";import{t as A}from"./schema-form-BRAJgZQ2.js";var j=n(),M=e(t(),1),N=r(),P=()=>c(w);function F(e){return{credentialsIntro:e.credentialsIntro,regionHint:e.regionHint,endpointPresetsHint:e.endpointPresetsHint,apiKeyLabel:e.apiKeyLabel,optionalPlaceholder:e.optionalPlaceholder,regionLabel:e.regionLabel,baseUrlLabel:e.baseUrlLabel,imageBaseUrlLabel:e.imageBaseUrlLabel,saveCredentials:e.saveCredentials,savingCredentials:e.savingCredentials,credentialsSaved:e.credentialsSaved,discardCredentials:e.discardCredentials,credentialsNothingToSave:e.credentialsNothingToSave,credentialsSaveError:e.credentialsSaveError,regionPresetDefault:e.regionPresetDefault,regionPresetCustom:e.regionPresetCustom,baseUrlPresetDefault:e.baseUrlPresetDefault,baseUrlPresetCustom:e.baseUrlPresetCustom,openExtensionSettings:e.openExtensionSettings,openImageModelsPage:e.openImageModelsPage,extensionSettingsLinkTitle:e.extensionSettingsLinkTitle,imageModelsLinkTitle:e.imageModelsLinkTitle,configured:e.configured,missingKey:e.missingKey,unsavedChanges:e.unsavedChanges,expandProvider:e.expandProvider,collapseProvider:e.collapseProvider,defaultModel:e.defaultModel,modelsLabel:e.modelsLabel,modelCountOne:e.modelCountOne,modelCountMany:e.modelCountMany,imageBaseUrlPresetHint:e.imageBaseUrlPresetHint,dashscopeRegion_beijing:e.dashscopeRegion_beijing,dashscopeRegion_singapore:e.dashscopeRegion_singapore,dashscopeRegion_us:e.dashscopeRegion_us,apiKeyMaskedHelp:e.apiKeyMaskedHelp,apiKeyCopy:e.apiKeyCopy,apiKeyCopied:e.apiKeyCopied,apiKeyShow:e.apiKeyShow,apiKeyHide:e.apiKeyHide,apiKeyNotInConfigFile:e.apiKeyNotInConfigFile,apiKeyRevealFailed:e.apiKeyRevealFailed,minimaxClusterLabel:e.minimaxClusterLabel,minimaxClusterHint:e.minimaxClusterHint,falQueueBaseLabel:e.falQueueBaseLabel,falQueueBaseHint:e.falQueueBaseHint}}function I(e){let t=(0,j.c)(40),{extensionId:n}=e,r=o(L),i;t[0]===r?i=t[1]:(i=a(r),t[0]=r,t[1]=i);let c=i,l=c.imageModelsSettings,u=s(ee),d;t[2]===u?d=t[3]:(d=u?P():null,t[2]=u,t[3]=d);let p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p={revalidateOnFocus:!1},t[4]=p):p=t[4];let{data:m,isLoading:h}=f(d,C,p),g;t[5]===m?g=t[6]:(g=m===void 0?[]:m,t[5]=m,t[6]=g);let _=g,v;if(t[7]!==_||t[8]!==n){let e;t[10]===n?e=t[11]:(e=e=>e.id===n,t[10]=n,t[11]=e),v=_.filter(e),t[7]=_,t[8]=n,t[9]=v}else v=t[9];let y=v,x=E(y),S;t[12]===l?S=t[13]:(S=F(l),t[12]=l,t[13]=S);let w=S,T;t[14]!==c.providersSettings.getApiKey||t[15]!==c.providersSettings.getApiKeyCn||t[16]!==c.providersSettings.getApiKeyIntl?(T={getApiKey:c.providersSettings.getApiKey,getApiKeyIntl:c.providersSettings.getApiKeyIntl,getApiKeyCn:c.providersSettings.getApiKeyCn},t[14]=c.providersSettings.getApiKey,t[15]=c.providersSettings.getApiKeyCn,t[16]=c.providersSettings.getApiKeyIntl,t[17]=T):T=t[17];let D=T;if(!u)return null;if(h){let e;return t[18]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,N.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-sm text-fg-muted`,children:[(0,N.jsx)(b,{className:`size-4 animate-spin`}),`…`]}),t[18]=e):e=t[18],e}if(y.length===0){let e=r===`zh`?`网关未注册该图像 Provider,或扩展已被禁用。`:`This image provider is not registered on the gateway, or the extension is disabled.`,n;return t[19]===e?n=t[20]:(n=(0,N.jsx)(`p`,{className:`text-sm text-fg-muted`,children:e}),t[19]=e,t[20]=n),n}let O;t[21]!==x||t[22]!==l.credentialsSaveError?(O=()=>void x.saveCredentials(l.credentialsSaveError),t[21]=x,t[22]=l.credentialsSaveError,t[23]=O):O=t[23];let A;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(A=new Set,t[24]=A):A=t[24];let M;return t[25]!==D||t[26]!==x.credBaseline||t[27]!==x.credDirty||t[28]!==x.credDraft||t[29]!==x.credError||t[30]!==x.credNoopFlash||t[31]!==x.credSavedFlash||t[32]!==x.credSaving||t[33]!==x.onDiscardCredentials||t[34]!==x.updateCredRow||t[35]!==r||t[36]!==w||t[37]!==y||t[38]!==O?(M=(0,N.jsx)(k,{summaries:y,credDraft:x.credDraft,credBaseline:x.credBaseline,credDirty:x.credDirty,credSaving:x.credSaving,credError:x.credError,credSavedFlash:x.credSavedFlash,credNoopFlash:x.credNoopFlash,updateCredRow:x.updateCredRow,onDiscardCredentials:x.onDiscardCredentials,onSaveCredentials:O,extensionIds:A,showExtensionLinks:!1,showImageModelsLink:!1,language:r,apiKeyLinkLabels:D,messages:w}),t[25]=D,t[26]=x.credBaseline,t[27]=x.credDirty,t[28]=x.credDraft,t[29]=x.credError,t[30]=x.credNoopFlash,t[31]=x.credSavedFlash,t[32]=x.credSaving,t[33]=x.onDiscardCredentials,t[34]=x.updateCredRow,t[35]=r,t[36]=w,t[37]=y,t[38]=O,t[39]=M):M=t[39],M}function ee(e){return!!e.token}function L(e){return e.language}function R(e){let t=(0,j.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,N.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n}),t[0]=n,t[1]=r),r}var z=[{id:`whisper-large-v3-turbo`,name:`Whisper Large v3 Turbo`},{id:`whisper-large-v3`,name:`Whisper Large v3`}];function B(e){let t=e?.manifest?.mediaUnderstandingProviders?.[0];if(typeof t==`string`&&t.trim())return t.trim();let n=e?.manifest?.contracts?.mediaUnderstandingProviders?.[0];if(typeof n==`string`&&n.trim())return n.trim()}function V(){return i(p,v)}function H(){return i(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,g,`dark:border-edge`)}function U(e,t){if(!e||!t)return{apiKey:``,model:z[0].id};if(t===`alibaba`)return{apiKey:e.stt.alibaba?.apiKey??``,model:e.stt.alibaba?.model??`paraformer-v2`};if(t===`openai`)return{apiKey:e.stt.openai?.apiKey??``,model:e.stt.openai?.model??`whisper-1`};let n=e.stt.providers?.[t];return{apiKey:typeof n?.apiKey==`string`?n.apiKey:``,model:typeof n?.model==`string`?n.model:z[0].id}}function W({providerId:e,voiceSettings:t,mutateVoice:n}){let r=a(o(e=>e.language)),s=r.voiceSettings,l=r.extensionSttMedia,u={maskedHelp:s.apiKeyMaskedHelp,copy:s.apiKeyCopy,copied:s.apiKeyCopied,show:s.apiKeyShow,hide:s.apiKeyHide,notInConfigFile:s.apiKeyNotInConfigFile,loadFailed:s.apiKeyRevealFailed},{data:p}=f(c(`/api/voice/stt-providers`),S,{revalidateOnFocus:!1}),m=(0,M.useMemo)(()=>p?.providers.some(t=>t.id===e&&t.configured)??!1,[e,p]),h=(0,M.useMemo)(()=>U(t,e),[e,t]),g=(0,M.useRef)(!1),[_,y]=(0,M.useState)(null),[b,C]=(0,M.useState)(!1),[w,T]=(0,M.useState)(null),[E,k]=(0,M.useState)(!1),A=_??h,j=h,P=A.apiKey!==j.apiKey||A.model!==j.model,F=(0,M.useCallback)(async()=>{C(!0),T(null);try{let r=structuredClone(t);r.stt.enabled=!0,e===`alibaba`?(r.stt.provider=`alibaba`,r.stt.alibaba={...r.stt.alibaba,apiKey:A.apiKey,model:A.model}):e===`openai`?(r.stt.provider=`openai`,r.stt.openai={...r.stt.openai,apiKey:A.apiKey,model:A.model}):(r.stt.providers={...r.stt.providers??{},[e]:{...r.stt.providers?.[e]??{},apiKey:A.apiKey,model:A.model}},(!r.stt.provider||r.stt.provider===`alibaba`||r.stt.provider===`openai`)&&(r.stt.provider=e)),await D(r),await n(r,!1),g.current=!1,y(null),k(!0),d({type:`success`,title:s.saved})}catch(e){T(e instanceof Error?e.message:String(e))}finally{C(!1)}},[A.apiKey,A.model,n,e,t]),I=e===`groq`?z:[{id:A.model,name:A.model}];return(0,N.jsxs)(`div`,{className:`flex flex-col gap-4 rounded-xl border border-edge bg-surface-base p-4`,children:[(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:l.credentialsTitle}),(0,N.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:l.credentialsHint.replace(`{providerId}`,e)})]}),(0,N.jsx)(`span`,{className:i(`rounded-full px-2 py-0.5 text-xs font-medium`,m?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:`bg-amber-500/10 text-amber-800 dark:text-amber-200`),children:m?l.configured:l.notConfigured})]}),(0,N.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,N.jsxs)(`div`,{className:i(`flex flex-col gap-1.5`,v),children:[(0,N.jsx)(R,{children:s.stt.apiKey}),(0,N.jsx)(O,{kind:`stt`,providerId:e,fieldId:`ext-stt-${e}-api-key`,value:A.apiKey,onChange:e=>{g.current=!0,y(t=>({...t??h,apiKey:e})),T(null)},labels:u,placeholder:e===`groq`?`gsk_...`:`sk-...`}),(0,N.jsxs)(`p`,{className:`text-xs text-fg-subtle`,children:[s.stt.apiKeyDesc,e===`groq`?` (GROQ_API_KEY)`:``]})]}),(0,N.jsxs)(`div`,{className:i(`flex flex-col gap-1.5`,v),children:[(0,N.jsx)(R,{children:s.stt.model}),e===`groq`?(0,N.jsx)(`select`,{className:V(),value:A.model,onChange:e=>{g.current=!0,y(t=>({...t??h,model:e.target.value})),T(null)},children:I.map(e=>(0,N.jsx)(`option`,{value:e.id,children:e.name},e.id))}):(0,N.jsx)(`input`,{className:H(),value:A.model,onChange:e=>{g.current=!0,y(t=>({...t??h,model:e.target.value})),T(null)}})]})]}),(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[w?(0,N.jsx)(`span`,{className:`text-xs text-red-600 dark:text-red-400`,children:w}):null,(0,N.jsx)(x,{type:`button`,variant:`ghost`,className:`h-8 text-xs`,disabled:!P||b,onClick:()=>{g.current=!1,y(null),T(null)},children:s.discard}),(0,N.jsx)(x,{type:`button`,variant:`primary`,className:`h-8 text-xs`,disabled:!P||b,onClick:()=>void F(),children:b?s.saving:s.save})]})]})}function G(e){let t=(0,j.c)(13),{extensionId:n}=e,r=o(q),i=s(K),a;t[0]===n?a=t[1]:(a=()=>l(c(`/api/extensions/${encodeURIComponent(n)}`)),t[0]=n,t[1]=a);let{data:u,isLoading:d}=f(i&&n?`ext-stt-detail-${n}`:null,a),p;t[2]===u?p=t[3]:(p=B(u),t[2]=u,t[3]=p);let m=p,h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h={revalidateOnFocus:!1},t[4]=h):h=t[4];let{data:g,mutate:_,isLoading:v}=f(i?`voice-settings-ext-stt`:null,T,h);if(!i)return null;if(d||v){let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,N.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-sm text-fg-muted`,children:[(0,N.jsx)(b,{className:`size-4 animate-spin`}),`…`]}),t[5]=e):e=t[5],e}if(!m){let e=r===`zh`?`该扩展未声明 mediaUnderstandingProviders。`:`This extension does not declare mediaUnderstandingProviders.`,n;return t[6]===e?n=t[7]:(n=(0,N.jsx)(`p`,{className:`text-sm text-fg-muted`,children:e}),t[6]=e,t[7]=n),n}if(!g)return null;let y=`${n}:${m}`,x;return t[8]!==_||t[9]!==m||t[10]!==y||t[11]!==g?(x=(0,N.jsx)(W,{providerId:m,voiceSettings:g,mutateVoice:_},y),t[8]=_,t[9]=m,t[10]=y,t[11]=g,t[12]=x):x=t[12],x}function K(e){return!!e.token}function q(e){return e.language}function J(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Y(e){let t={};if(e.type!==`object`||!J(e.properties))return t;for(let[n,r]of Object.entries(e.properties))J(r)&&Object.prototype.hasOwnProperty.call(r,`default`)&&(t[n]=r.default);return t}function X(e,t){switch(t.type){case`sync`:return{...e,localValues:t.value,isDirty:!1,saveError:null};case`change`:return{...e,localValues:t.value,isDirty:!0,saveError:null,saveSuccess:!1};case`discard`:return{...e,localValues:t.value,isDirty:!1,saveError:null};case`reset-defaults`:return{...e,localValues:t.value,isDirty:!0,saveError:null,saveSuccess:!1};case`save-start`:return{...e,saving:!0,saveError:null};case`save-success`:return{...e,localValues:t.value,isDirty:!1,saving:!1,saveSuccess:!0,saveError:null};case`save-error`:return{...e,saving:!1,saveError:t.message}}}function Z({extensionId:e}){let t=a(o(e=>e.language)).agentSettings,n=s(e=>!!e.token),{data:r,error:i}=f(n&&e?`ext-detail-${e}`:null,()=>l(c(`/api/extensions/${encodeURIComponent(e)}`))),{data:p,mutate:m,error:h}=f(n&&e?`ext-cfg-${e}`:null,()=>l(c(`/api/extensions/${encodeURIComponent(e)}/config`))),g=r?.manifest?.configSchema,_=(0,M.useMemo)(()=>g&&g.type===`object`?Y(g):{},[g]),v=(0,M.useMemo)(()=>({..._,...p??{}}),[_,p]),[y,b]=(0,M.useReducer)(X,{localValues:{},isDirty:!1,saving:!1,saveError:null,saveSuccess:!1}),[S,C]=(0,M.useState)(!1),w=(0,M.useRef)(!1),T=(0,M.useRef)(v);!w.current&&T.current!==v&&(T.current=v,b({type:`sync`,value:v}));let E=(0,M.useCallback)(e=>{w.current=!0,b({type:`change`,value:e})},[]),D=(0,M.useCallback)(()=>{w.current=!1,b({type:`discard`,value:v})},[v]),O=(0,M.useCallback)(()=>{!g||g.type!==`object`||(w.current=!0,b({type:`reset-defaults`,value:{...Y(g)}}))},[g]),k=(0,M.useCallback)(async()=>{if(e){b({type:`save-start`});try{let n=await u(c(`/api/extensions/${encodeURIComponent(e)}/config`),{method:`PATCH`,body:JSON.stringify(y.localValues)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error?.message??n.statusText)}await m(y.localValues,!1),w.current=!1,b({type:`save-success`,value:y.localValues}),C(!0),d({type:`success`,title:t.saved})}catch(e){b({type:`save-error`,message:e instanceof Error?e.message:String(e)})}}},[y.localValues,e,m]);if(!n)return null;if(i||h){let e=i??h;return(0,N.jsxs)(`p`,{className:`text-sm text-fg-muted`,children:[`Could not load extension settings: `,e instanceof Error?e.message:String(e)]})}return!g||g.type!==`object`?null:(0,N.jsxs)(`div`,{className:`mb-6 flex flex-col gap-3 rounded-xl border border-edge bg-surface-base p-4`,children:[(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,N.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:`Configuration`}),(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[y.saveError?(0,N.jsx)(`span`,{className:`text-xs text-red-600 dark:text-red-400`,children:y.saveError}):null,(0,N.jsx)(x,{type:`button`,variant:`ghost`,className:`h-8 text-xs`,disabled:!y.isDirty,onClick:D,children:t.discard}),(0,N.jsx)(x,{type:`button`,variant:`ghost`,className:`h-8 text-xs`,onClick:O,children:`Reset to defaults`}),(0,N.jsx)(x,{type:`button`,variant:`primary`,className:`h-8 text-xs`,disabled:!y.isDirty||y.saving,onClick:()=>void k(),children:y.saving?t.saving:t.save})]})]}),(0,N.jsx)(A,{schema:g,values:y.localValues,onChange:E,disabled:y.saving})]})}function Q(){let e=(0,j.c)(47),t=o(te),n;e[0]===t?n=e[1]:(n=a(t),e[0]=t,e[1]=n);let r=n,i=r.extensionImageGen,s=r.extensionSttMedia,{extensionId:c,panelId:l}=m(),u=_();if(!c){let t;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,N.jsx)($,{message:`No extension ID provided.`}),e[2]=t):t=e[2],t}let d,f,p;if(e[3]!==c||e[4]!==u||e[5]!==l){p=Symbol.for(`react.early_return_sentinel`);bb0:{let t;if(e[9]===c?t=e[10]:(t=e=>e.id===c,e[9]=c,e[10]=t),d=u.find(t),!d){let t=`Extension "${c}" not found or is not available in this workspace.`,n;e[11]===t?n=e[12]:(n=(0,N.jsx)($,{message:t}),e[11]=t,e[12]=n),p=n;break bb0}let n=d.ui?.contributions?.settingsPanels;f=l?n?.find(e=>e.id===l||e.id===`${c}.${l}`):n?.[0]}e[3]=c,e[4]=u,e[5]=l,e[6]=d,e[7]=f,e[8]=p}else d=e[6],f=e[7],p=e[8];if(p!==Symbol.for(`react.early_return_sentinel`))return p;let g=f,v=!!(g&&d.ui),b=!!d.hasConfigSchema,x=d.kind===`image-generation`,S=d.kind===`media-provider`;if(!b&&!v&&!(x||S)){let t=`Extension "${c}" has no settings panels or config schema.`,n;return e[13]===t?n=e[14]:(n=(0,N.jsx)($,{message:t}),e[13]=t,e[14]=n),n}let C=g?.title??`${d.name} Settings`,w;e[15]===C?w=e[16]:(w=(0,N.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:C}),e[15]=C,e[16]=w);let T;e[17]!==x||e[18]!==r.imageModelsSettings||e[19]!==i?(T=x?(0,N.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-edge-subtle bg-surface-base px-4 py-3 text-sm`,children:[(0,N.jsx)(`p`,{className:`leading-relaxed text-fg-muted`,children:i.banner}),(0,N.jsx)(y,{to:`/settings/credentials?tab=image-models`,className:`w-fit font-medium text-accent hover:underline`,title:r.imageModelsSettings.imageModelsLinkTitle,children:i.openImageModels})]}):null,e[17]=x,e[18]=r.imageModelsSettings,e[19]=i,e[20]=T):T=e[20];let E;e[21]!==c||e[22]!==x?(E=x?(0,N.jsx)(I,{extensionId:c}):null,e[21]=c,e[22]=x,e[23]=E):E=e[23];let D;e[24]!==S||e[25]!==s?(D=S?(0,N.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-edge-subtle bg-surface-base px-4 py-3 text-sm`,children:[(0,N.jsx)(`p`,{className:`leading-relaxed text-fg-muted`,children:s.banner}),(0,N.jsx)(y,{to:`/settings/credentials?tab=voice`,className:`w-fit font-medium text-accent hover:underline`,children:s.openVoice})]}):null,e[24]=S,e[25]=s,e[26]=D):D=e[26];let O;e[27]!==c||e[28]!==S?(O=S?(0,N.jsx)(G,{extensionId:c}):null,e[27]=c,e[28]=S,e[29]=O):O=e[29];let k;e[30]!==c||e[31]!==b?(k=b?(0,N.jsx)(Z,{extensionId:c}):null,e[30]=c,e[31]=b,e[32]=k):k=e[32];let A;e[33]!==d.name||e[34]!==d.ui||e[35]!==c||e[36]!==v||e[37]!==g?(A=v&&g&&d.ui?(0,N.jsx)(`div`,{className:`overflow-hidden rounded-xl border border-edge bg-surface-base`,children:(0,N.jsx)(h,{extensionId:c,extensionName:d.name,entrypoint:g.entrypoint,permissions:d.ui?.permissions,title:g.title,className:`w-full`,minHeight:120,maxHeight:2e3})}):null,e[33]=d.name,e[34]=d.ui,e[35]=c,e[36]=v,e[37]=g,e[38]=A):A=e[38];let M;return e[39]!==w||e[40]!==T||e[41]!==E||e[42]!==D||e[43]!==O||e[44]!==k||e[45]!==A?(M=(0,N.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:[w,T,E,D,O,k,A]}),e[39]=w,e[40]=T,e[41]=E,e[42]=D,e[43]=O,e[44]=k,e[45]=A,e[46]=M):M=e[46],M}function te(e){return e.language}function $(e){let t=(0,j.c)(2),{message:n}=e,r;return t[0]===n?r=t[1]:(r=(0,N.jsx)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:(0,N.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n})}),t[0]=n,t[1]=r),r}export{Q as ExtensionSettingsPage};
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{t as a}from"./messages-B1iSKjiw.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{c as s,i as c,n as l,t as u}from"./fetch-B7xDPu-R.js";import{r as d}from"./toast-z0toXu32.js";import{i as f}from"./vendor-swr-BIWyz7Rc.js";import{$i as p,Gs as m,I as h,Ys as g,_o as _,ea as v,na as y,ri as b,ta as x}from"./index-Cc41r16l.js";import{a as S,d as C,f as w,i as T,l as E,s as D,t as O,u as k}from"./voice-api-key-field-C73IVZeC.js";import{t as A}from"./schema-form-Dub9sy8r.js";var j=n(),M=e(t(),1),N=r(),P=()=>c(w);function F(e){return{credentialsIntro:e.credentialsIntro,regionHint:e.regionHint,endpointPresetsHint:e.endpointPresetsHint,apiKeyLabel:e.apiKeyLabel,optionalPlaceholder:e.optionalPlaceholder,regionLabel:e.regionLabel,baseUrlLabel:e.baseUrlLabel,imageBaseUrlLabel:e.imageBaseUrlLabel,saveCredentials:e.saveCredentials,savingCredentials:e.savingCredentials,credentialsSaved:e.credentialsSaved,discardCredentials:e.discardCredentials,credentialsNothingToSave:e.credentialsNothingToSave,credentialsSaveError:e.credentialsSaveError,regionPresetDefault:e.regionPresetDefault,regionPresetCustom:e.regionPresetCustom,baseUrlPresetDefault:e.baseUrlPresetDefault,baseUrlPresetCustom:e.baseUrlPresetCustom,openExtensionSettings:e.openExtensionSettings,openImageModelsPage:e.openImageModelsPage,extensionSettingsLinkTitle:e.extensionSettingsLinkTitle,imageModelsLinkTitle:e.imageModelsLinkTitle,configured:e.configured,missingKey:e.missingKey,unsavedChanges:e.unsavedChanges,expandProvider:e.expandProvider,collapseProvider:e.collapseProvider,defaultModel:e.defaultModel,modelsLabel:e.modelsLabel,modelCountOne:e.modelCountOne,modelCountMany:e.modelCountMany,imageBaseUrlPresetHint:e.imageBaseUrlPresetHint,dashscopeRegion_beijing:e.dashscopeRegion_beijing,dashscopeRegion_singapore:e.dashscopeRegion_singapore,dashscopeRegion_us:e.dashscopeRegion_us,apiKeyMaskedHelp:e.apiKeyMaskedHelp,apiKeyCopy:e.apiKeyCopy,apiKeyCopied:e.apiKeyCopied,apiKeyShow:e.apiKeyShow,apiKeyHide:e.apiKeyHide,apiKeyNotInConfigFile:e.apiKeyNotInConfigFile,apiKeyRevealFailed:e.apiKeyRevealFailed,minimaxClusterLabel:e.minimaxClusterLabel,minimaxClusterHint:e.minimaxClusterHint,falQueueBaseLabel:e.falQueueBaseLabel,falQueueBaseHint:e.falQueueBaseHint}}function I(e){let t=(0,j.c)(40),{extensionId:n}=e,r=o(L),i;t[0]===r?i=t[1]:(i=a(r),t[0]=r,t[1]=i);let c=i,l=c.imageModelsSettings,u=s(ee),d;t[2]===u?d=t[3]:(d=u?P():null,t[2]=u,t[3]=d);let p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p={revalidateOnFocus:!1},t[4]=p):p=t[4];let{data:m,isLoading:h}=f(d,C,p),g;t[5]===m?g=t[6]:(g=m===void 0?[]:m,t[5]=m,t[6]=g);let v=g,y;if(t[7]!==v||t[8]!==n){let e;t[10]===n?e=t[11]:(e=e=>e.id===n,t[10]=n,t[11]=e),y=v.filter(e),t[7]=v,t[8]=n,t[9]=y}else y=t[9];let b=y,x=E(b),S;t[12]===l?S=t[13]:(S=F(l),t[12]=l,t[13]=S);let w=S,T;t[14]!==c.providersSettings.getApiKey||t[15]!==c.providersSettings.getApiKeyCn||t[16]!==c.providersSettings.getApiKeyIntl?(T={getApiKey:c.providersSettings.getApiKey,getApiKeyIntl:c.providersSettings.getApiKeyIntl,getApiKeyCn:c.providersSettings.getApiKeyCn},t[14]=c.providersSettings.getApiKey,t[15]=c.providersSettings.getApiKeyCn,t[16]=c.providersSettings.getApiKeyIntl,t[17]=T):T=t[17];let D=T;if(!u)return null;if(h){let e;return t[18]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,N.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-sm text-fg-muted`,children:[(0,N.jsx)(_,{className:`size-4 animate-spin`}),`…`]}),t[18]=e):e=t[18],e}if(b.length===0){let e=r===`zh`?`网关未注册该图像 Provider,或扩展已被禁用。`:`This image provider is not registered on the gateway, or the extension is disabled.`,n;return t[19]===e?n=t[20]:(n=(0,N.jsx)(`p`,{className:`text-sm text-fg-muted`,children:e}),t[19]=e,t[20]=n),n}let O;t[21]!==x||t[22]!==l.credentialsSaveError?(O=()=>void x.saveCredentials(l.credentialsSaveError),t[21]=x,t[22]=l.credentialsSaveError,t[23]=O):O=t[23];let A;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(A=new Set,t[24]=A):A=t[24];let M;return t[25]!==D||t[26]!==x.credBaseline||t[27]!==x.credDirty||t[28]!==x.credDraft||t[29]!==x.credError||t[30]!==x.credNoopFlash||t[31]!==x.credSavedFlash||t[32]!==x.credSaving||t[33]!==x.onDiscardCredentials||t[34]!==x.updateCredRow||t[35]!==r||t[36]!==w||t[37]!==b||t[38]!==O?(M=(0,N.jsx)(k,{summaries:b,credDraft:x.credDraft,credBaseline:x.credBaseline,credDirty:x.credDirty,credSaving:x.credSaving,credError:x.credError,credSavedFlash:x.credSavedFlash,credNoopFlash:x.credNoopFlash,updateCredRow:x.updateCredRow,onDiscardCredentials:x.onDiscardCredentials,onSaveCredentials:O,extensionIds:A,showExtensionLinks:!1,showImageModelsLink:!1,language:r,apiKeyLinkLabels:D,messages:w}),t[25]=D,t[26]=x.credBaseline,t[27]=x.credDirty,t[28]=x.credDraft,t[29]=x.credError,t[30]=x.credNoopFlash,t[31]=x.credSavedFlash,t[32]=x.credSaving,t[33]=x.onDiscardCredentials,t[34]=x.updateCredRow,t[35]=r,t[36]=w,t[37]=b,t[38]=O,t[39]=M):M=t[39],M}function ee(e){return!!e.token}function L(e){return e.language}function R(e){let t=(0,j.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,N.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:n}),t[0]=n,t[1]=r),r}var z=[{id:`whisper-large-v3-turbo`,name:`Whisper Large v3 Turbo`},{id:`whisper-large-v3`,name:`Whisper Large v3`}];function B(e){let t=e?.manifest?.mediaUnderstandingProviders?.[0];if(typeof t==`string`&&t.trim())return t.trim();let n=e?.manifest?.contracts?.mediaUnderstandingProviders?.[0];if(typeof n==`string`&&n.trim())return n.trim()}function V(){return i(v,p)}function H(){return i(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,x,`dark:border-edge`)}function U(e,t){if(!e||!t)return{apiKey:``,model:z[0].id};if(t===`alibaba`)return{apiKey:e.stt.alibaba?.apiKey??``,model:e.stt.alibaba?.model??`paraformer-v2`};if(t===`openai`)return{apiKey:e.stt.openai?.apiKey??``,model:e.stt.openai?.model??`whisper-1`};let n=e.stt.providers?.[t];return{apiKey:typeof n?.apiKey==`string`?n.apiKey:``,model:typeof n?.model==`string`?n.model:z[0].id}}function W({providerId:e,voiceSettings:t,mutateVoice:n}){let r=a(o(e=>e.language)),s=r.voiceSettings,l=r.extensionSttMedia,u={maskedHelp:s.apiKeyMaskedHelp,copy:s.apiKeyCopy,copied:s.apiKeyCopied,show:s.apiKeyShow,hide:s.apiKeyHide,notInConfigFile:s.apiKeyNotInConfigFile,loadFailed:s.apiKeyRevealFailed},{data:m}=f(c(`/api/voice/stt-providers`),S,{revalidateOnFocus:!1}),h=(0,M.useMemo)(()=>m?.providers.some(t=>t.id===e&&t.configured)??!1,[e,m]),g=(0,M.useMemo)(()=>U(t,e),[e,t]),_=(0,M.useRef)(!1),[v,b]=(0,M.useState)(null),[x,C]=(0,M.useState)(!1),[w,T]=(0,M.useState)(null),[E,k]=(0,M.useState)(!1),A=v??g,j=g,P=A.apiKey!==j.apiKey||A.model!==j.model,F=(0,M.useCallback)(async()=>{C(!0),T(null);try{let r=structuredClone(t);r.stt.enabled=!0,e===`alibaba`?(r.stt.provider=`alibaba`,r.stt.alibaba={...r.stt.alibaba,apiKey:A.apiKey,model:A.model}):e===`openai`?(r.stt.provider=`openai`,r.stt.openai={...r.stt.openai,apiKey:A.apiKey,model:A.model}):(r.stt.providers={...r.stt.providers??{},[e]:{...r.stt.providers?.[e]??{},apiKey:A.apiKey,model:A.model}},(!r.stt.provider||r.stt.provider===`alibaba`||r.stt.provider===`openai`)&&(r.stt.provider=e)),await D(r),await n(r,!1),_.current=!1,b(null),k(!0),d({type:`success`,title:s.saved})}catch(e){T(e instanceof Error?e.message:String(e))}finally{C(!1)}},[A.apiKey,A.model,n,e,t]),I=e===`groq`?z:[{id:A.model,name:A.model}];return(0,N.jsxs)(`div`,{className:`flex flex-col gap-4 rounded-xl border border-edge bg-surface-base p-4`,children:[(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:l.credentialsTitle}),(0,N.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:l.credentialsHint.replace(`{providerId}`,e)})]}),(0,N.jsx)(`span`,{className:i(`rounded-full px-2 py-0.5 text-xs font-medium`,h?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:`bg-amber-500/10 text-amber-800 dark:text-amber-200`),children:h?l.configured:l.notConfigured})]}),(0,N.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,N.jsxs)(`div`,{className:i(`flex flex-col gap-1.5`,p),children:[(0,N.jsx)(R,{children:s.stt.apiKey}),(0,N.jsx)(O,{kind:`stt`,providerId:e,fieldId:`ext-stt-${e}-api-key`,value:A.apiKey,onChange:e=>{_.current=!0,b(t=>({...t??g,apiKey:e})),T(null)},labels:u,placeholder:e===`groq`?`gsk_...`:`sk-...`}),(0,N.jsxs)(`p`,{className:`text-xs text-fg-subtle`,children:[s.stt.apiKeyDesc,e===`groq`?` (GROQ_API_KEY)`:``]})]}),(0,N.jsxs)(`div`,{className:i(`flex flex-col gap-1.5`,p),children:[(0,N.jsx)(R,{children:s.stt.model}),e===`groq`?(0,N.jsx)(`select`,{className:V(),value:A.model,onChange:e=>{_.current=!0,b(t=>({...t??g,model:e.target.value})),T(null)},children:I.map(e=>(0,N.jsx)(`option`,{value:e.id,children:e.name},e.id))}):(0,N.jsx)(`input`,{className:H(),value:A.model,onChange:e=>{_.current=!0,b(t=>({...t??g,model:e.target.value})),T(null)}})]})]}),(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[w?(0,N.jsx)(`span`,{className:`text-xs text-red-600 dark:text-red-400`,children:w}):null,(0,N.jsx)(y,{type:`button`,variant:`ghost`,className:`h-8 text-xs`,disabled:!P||x,onClick:()=>{_.current=!1,b(null),T(null)},children:s.discard}),(0,N.jsx)(y,{type:`button`,variant:`primary`,className:`h-8 text-xs`,disabled:!P||x,onClick:()=>void F(),children:x?s.saving:s.save})]})]})}function G(e){let t=(0,j.c)(13),{extensionId:n}=e,r=o(q),i=s(K),a;t[0]===n?a=t[1]:(a=()=>l(c(`/api/extensions/${encodeURIComponent(n)}`)),t[0]=n,t[1]=a);let{data:u,isLoading:d}=f(i&&n?`ext-stt-detail-${n}`:null,a),p;t[2]===u?p=t[3]:(p=B(u),t[2]=u,t[3]=p);let m=p,h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h={revalidateOnFocus:!1},t[4]=h):h=t[4];let{data:g,mutate:v,isLoading:y}=f(i?`voice-settings-ext-stt`:null,T,h);if(!i)return null;if(d||y){let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,N.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-sm text-fg-muted`,children:[(0,N.jsx)(_,{className:`size-4 animate-spin`}),`…`]}),t[5]=e):e=t[5],e}if(!m){let e=r===`zh`?`该扩展未声明 mediaUnderstandingProviders。`:`This extension does not declare mediaUnderstandingProviders.`,n;return t[6]===e?n=t[7]:(n=(0,N.jsx)(`p`,{className:`text-sm text-fg-muted`,children:e}),t[6]=e,t[7]=n),n}if(!g)return null;let b=`${n}:${m}`,x;return t[8]!==v||t[9]!==m||t[10]!==b||t[11]!==g?(x=(0,N.jsx)(W,{providerId:m,voiceSettings:g,mutateVoice:v},b),t[8]=v,t[9]=m,t[10]=b,t[11]=g,t[12]=x):x=t[12],x}function K(e){return!!e.token}function q(e){return e.language}function J(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Y(e){let t={};if(e.type!==`object`||!J(e.properties))return t;for(let[n,r]of Object.entries(e.properties))J(r)&&Object.prototype.hasOwnProperty.call(r,`default`)&&(t[n]=r.default);return t}function X(e,t){switch(t.type){case`sync`:return{...e,localValues:t.value,isDirty:!1,saveError:null};case`change`:return{...e,localValues:t.value,isDirty:!0,saveError:null,saveSuccess:!1};case`discard`:return{...e,localValues:t.value,isDirty:!1,saveError:null};case`reset-defaults`:return{...e,localValues:t.value,isDirty:!0,saveError:null,saveSuccess:!1};case`save-start`:return{...e,saving:!0,saveError:null};case`save-success`:return{...e,localValues:t.value,isDirty:!1,saving:!1,saveSuccess:!0,saveError:null};case`save-error`:return{...e,saving:!1,saveError:t.message}}}function Z({extensionId:e}){let t=a(o(e=>e.language)).agentSettings,n=s(e=>!!e.token),{data:r,error:i}=f(n&&e?`ext-detail-${e}`:null,()=>l(c(`/api/extensions/${encodeURIComponent(e)}`))),{data:p,mutate:m,error:h}=f(n&&e?`ext-cfg-${e}`:null,()=>l(c(`/api/extensions/${encodeURIComponent(e)}/config`))),g=r?.manifest?.configSchema,_=(0,M.useMemo)(()=>g&&g.type===`object`?Y(g):{},[g]),v=(0,M.useMemo)(()=>({..._,...p??{}}),[_,p]),[b,x]=(0,M.useReducer)(X,{localValues:{},isDirty:!1,saving:!1,saveError:null,saveSuccess:!1}),[S,C]=(0,M.useState)(!1),w=(0,M.useRef)(!1),T=(0,M.useRef)(v);!w.current&&T.current!==v&&(T.current=v,x({type:`sync`,value:v}));let E=(0,M.useCallback)(e=>{w.current=!0,x({type:`change`,value:e})},[]),D=(0,M.useCallback)(()=>{w.current=!1,x({type:`discard`,value:v})},[v]),O=(0,M.useCallback)(()=>{!g||g.type!==`object`||(w.current=!0,x({type:`reset-defaults`,value:{...Y(g)}}))},[g]),k=(0,M.useCallback)(async()=>{if(e){x({type:`save-start`});try{let n=await u(c(`/api/extensions/${encodeURIComponent(e)}/config`),{method:`PATCH`,body:JSON.stringify(b.localValues)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error?.message??n.statusText)}await m(b.localValues,!1),w.current=!1,x({type:`save-success`,value:b.localValues}),C(!0),d({type:`success`,title:t.saved})}catch(e){x({type:`save-error`,message:e instanceof Error?e.message:String(e)})}}},[b.localValues,e,m]);if(!n)return null;if(i||h){let e=i??h;return(0,N.jsxs)(`p`,{className:`text-sm text-fg-muted`,children:[`Could not load extension settings: `,e instanceof Error?e.message:String(e)]})}return!g||g.type!==`object`?null:(0,N.jsxs)(`div`,{className:`mb-6 flex flex-col gap-3 rounded-xl border border-edge bg-surface-base p-4`,children:[(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,N.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:`Configuration`}),(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[b.saveError?(0,N.jsx)(`span`,{className:`text-xs text-red-600 dark:text-red-400`,children:b.saveError}):null,(0,N.jsx)(y,{type:`button`,variant:`ghost`,className:`h-8 text-xs`,disabled:!b.isDirty,onClick:D,children:t.discard}),(0,N.jsx)(y,{type:`button`,variant:`ghost`,className:`h-8 text-xs`,onClick:O,children:`Reset to defaults`}),(0,N.jsx)(y,{type:`button`,variant:`primary`,className:`h-8 text-xs`,disabled:!b.isDirty||b.saving,onClick:()=>void k(),children:b.saving?t.saving:t.save})]})]}),(0,N.jsx)(A,{schema:g,values:b.localValues,onChange:E,disabled:b.saving})]})}function Q(){let e=(0,j.c)(47),t=o(te),n;e[0]===t?n=e[1]:(n=a(t),e[0]=t,e[1]=n);let r=n,i=r.extensionImageGen,s=r.extensionSttMedia,{extensionId:c,panelId:l}=g(),u=b();if(!c){let t;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,N.jsx)($,{message:`No extension ID provided.`}),e[2]=t):t=e[2],t}let d,f,p;if(e[3]!==c||e[4]!==u||e[5]!==l){p=Symbol.for(`react.early_return_sentinel`);bb0:{let t;if(e[9]===c?t=e[10]:(t=e=>e.id===c,e[9]=c,e[10]=t),d=u.find(t),!d){let t=`Extension "${c}" not found or is not available in this workspace.`,n;e[11]===t?n=e[12]:(n=(0,N.jsx)($,{message:t}),e[11]=t,e[12]=n),p=n;break bb0}let n=d.ui?.contributions?.settingsPanels;f=l?n?.find(e=>e.id===l||e.id===`${c}.${l}`):n?.[0]}e[3]=c,e[4]=u,e[5]=l,e[6]=d,e[7]=f,e[8]=p}else d=e[6],f=e[7],p=e[8];if(p!==Symbol.for(`react.early_return_sentinel`))return p;let _=f,v=!!(_&&d.ui),y=!!d.hasConfigSchema,x=d.kind===`image-generation`,S=d.kind===`media-provider`;if(!y&&!v&&!(x||S)){let t=`Extension "${c}" has no settings panels or config schema.`,n;return e[13]===t?n=e[14]:(n=(0,N.jsx)($,{message:t}),e[13]=t,e[14]=n),n}let C=_?.title??`${d.name} Settings`,w;e[15]===C?w=e[16]:(w=(0,N.jsx)(`h1`,{className:`text-lg font-semibold text-fg`,children:C}),e[15]=C,e[16]=w);let T;e[17]!==x||e[18]!==r.imageModelsSettings||e[19]!==i?(T=x?(0,N.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-edge-subtle bg-surface-base px-4 py-3 text-sm`,children:[(0,N.jsx)(`p`,{className:`leading-relaxed text-fg-muted`,children:i.banner}),(0,N.jsx)(m,{to:`/settings/credentials?tab=image-models`,className:`w-fit font-medium text-accent hover:underline`,title:r.imageModelsSettings.imageModelsLinkTitle,children:i.openImageModels})]}):null,e[17]=x,e[18]=r.imageModelsSettings,e[19]=i,e[20]=T):T=e[20];let E;e[21]!==c||e[22]!==x?(E=x?(0,N.jsx)(I,{extensionId:c}):null,e[21]=c,e[22]=x,e[23]=E):E=e[23];let D;e[24]!==S||e[25]!==s?(D=S?(0,N.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-edge-subtle bg-surface-base px-4 py-3 text-sm`,children:[(0,N.jsx)(`p`,{className:`leading-relaxed text-fg-muted`,children:s.banner}),(0,N.jsx)(m,{to:`/settings/credentials?tab=voice`,className:`w-fit font-medium text-accent hover:underline`,children:s.openVoice})]}):null,e[24]=S,e[25]=s,e[26]=D):D=e[26];let O;e[27]!==c||e[28]!==S?(O=S?(0,N.jsx)(G,{extensionId:c}):null,e[27]=c,e[28]=S,e[29]=O):O=e[29];let k;e[30]!==c||e[31]!==y?(k=y?(0,N.jsx)(Z,{extensionId:c}):null,e[30]=c,e[31]=y,e[32]=k):k=e[32];let A;e[33]!==d.name||e[34]!==d.ui||e[35]!==c||e[36]!==v||e[37]!==_?(A=v&&_&&d.ui?(0,N.jsx)(`div`,{className:`overflow-hidden rounded-xl border border-edge bg-surface-base`,children:(0,N.jsx)(h,{extensionId:c,extensionName:d.name,entrypoint:_.entrypoint,permissions:d.ui?.permissions,title:_.title,className:`w-full`,minHeight:120,maxHeight:2e3})}):null,e[33]=d.name,e[34]=d.ui,e[35]=c,e[36]=v,e[37]=_,e[38]=A):A=e[38];let M;return e[39]!==w||e[40]!==T||e[41]!==E||e[42]!==D||e[43]!==O||e[44]!==k||e[45]!==A?(M=(0,N.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:[w,T,E,D,O,k,A]}),e[39]=w,e[40]=T,e[41]=E,e[42]=D,e[43]=O,e[44]=k,e[45]=A,e[46]=M):M=e[46],M}function te(e){return e.language}function $(e){let t=(0,j.c)(2),{message:n}=e,r;return t[0]===n?r=t[1]:(r=(0,N.jsx)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-3 px-4 py-8`,children:(0,N.jsx)(`p`,{className:`text-sm text-fg-muted`,children:n})}),t[0]=n,t[1]=r),r}export{Q as ExtensionSettingsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./messages-
|
|
1
|
+
import{t as e}from"./messages-B1iSKjiw.js";import{a as t,i as n,n as r,s as i,t as a}from"./locale-store-DjbfSsfA.js";var o=i((e,n)=>({baseUrl:typeof window<`u`?window.location.origin:``,token:void 0,tokenDialogOpen:!1,tokenExpired:!1,setGatewayToken:n=>{t(n),e({token:n,tokenDialogOpen:!1,tokenExpired:!1}),window.dispatchEvent(new CustomEvent(`token-saved`,{detail:{token:n}}))},clearGatewayToken:()=>{r(),e({token:void 0})},openTokenDialog:()=>e({tokenDialogOpen:!0}),closeTokenDialog:()=>e({tokenDialogOpen:!1}),onUnauthorized:()=>{n().clearGatewayToken(),e({tokenDialogOpen:!1,tokenExpired:!0}),window.dispatchEvent(new CustomEvent(`token-expired`))}}));function s(){let e=new URLSearchParams(window.location.search).get(`token`);if(e){o.getState().setGatewayToken(e);let t=window.location.pathname+window.location.hash,n=window.history.state,r=n&&typeof n==`object`&&!Array.isArray(n)?{...n}:n;window.history.replaceState(r,``,t);return}let t=n();o.setState({token:t||void 0,tokenDialogOpen:!1})}function c(){return window.location.origin}function l(e){let t=e.startsWith(`/`)?e:`/${e}`;return`${c()}${t}`}function u(e){let t=e.baseUrl.trim().replace(/\/+$/,``),n=new URL(`xopc://gateway/mobile-connect`);return n.searchParams.set(`baseUrl`,t),e.lanUrl?.trim()&&n.searchParams.set(`lanUrl`,e.lanUrl.trim().replace(/\/+$/,``)),n.searchParams.set(`ps`,e.pairingSecret),n.toString()}function d(e){try{let t=new URL(e.trim());if(t.protocol!==`http:`&&t.protocol!==`https:`)return!1;let n=t.hostname.toLowerCase();return!!(n===`localhost`||n===`127.0.0.1`||n===`[::1]`||n===`::1`||/^127\.\d+\.\d+\.\d+$/.test(n))}catch{return!1}}function f(){return a.getState().language}function p(e,t,n){let r=e.trim().toLowerCase();return!!(!r||r===`http ${t}`||n&&r===n.trim().toLowerCase()||t===500&&r===`internal server error`)}function m(t,n,r){let i=r?.trim()??``;if(i&&!p(i,t,n))return i;let a=e(f()).api;return t>=500?t===502?a.errorBadGateway:t===503?a.errorServiceUnavailable:t===504?a.errorGatewayTimeout:t===500?a.errorInternal:a.errorServer.replace(`{{status}}`,String(t)):t===404?a.errorNotFound:t===403?a.errorForbidden:a.errorRequest.replace(`{{status}}`,String(t))}var h=null,g=null;function _(){h||=new Promise(e=>{g=e})}function v(){h&&(g?.(),h=null,g=null)}typeof window<`u`&&window.addEventListener(`token-saved`,v);async function y(e,t){h&&await h;let n=o.getState().token,r=new Headers(t?.headers),i=t?.body,a=typeof FormData<`u`&&i instanceof FormData;!r.has(`Content-Type`)&&!a&&r.set(`Content-Type`,`application/json`),n&&r.set(`Authorization`,`Bearer ${n}`);let s=await fetch(e,{...t,headers:r});return s.status===401&&(_(),o.getState().onUnauthorized()),s}async function b(e,t){let n=await y(e,t);if(!n.ok){let e=await n.json().catch(()=>({})),t=typeof e.error==`string`?e.error:e.error?.message,r=m(n.status,n.statusText,t);throw Error(r)}return n.json()}export{u as a,o as c,l as i,b as n,d as o,m as r,s,y as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./interval-presets-
|
|
1
|
+
import{t as e}from"./interval-presets-DFPCKW_W.js";function t(e,t){switch(e){case 3e4:return t.every30s;case 6e4:return t.every1min;case 3e5:return t.every5min;case 6e5:return t.every10min;case 9e5:return t.every15min;case 18e5:return t.every30min;case 36e5:return t.every1h;case 72e5:return t.every2h;default:return null}}var n={second:new Intl.NumberFormat(`en-US`,{style:`unit`,unit:`second`,unitDisplay:`long`}),minute:new Intl.NumberFormat(`en-US`,{style:`unit`,unit:`minute`,unitDisplay:`long`}),hour:new Intl.NumberFormat(`en-US`,{style:`unit`,unit:`hour`,unitDisplay:`long`})},r={second:new Intl.NumberFormat(`zh-CN`,{style:`unit`,unit:`second`,unitDisplay:`long`}),minute:new Intl.NumberFormat(`zh-CN`,{style:`unit`,unit:`minute`,unitDisplay:`long`}),hour:new Intl.NumberFormat(`zh-CN`,{style:`unit`,unit:`hour`,unitDisplay:`long`})};function i(e,t){return e.startsWith(`zh`)?r[t]:n[t]}function a(n,r,a){let o=Math.max(1e3,Math.round(n));if(a&&e.has(o)){let e=t(o,a);if(e)return e}let s=Math.max(1,Math.round(o/1e3));if(s<120)return i(r,`second`).format(s);let c=Math.round(s/60);if(c<120)return i(r,`minute`).format(c);let l=Math.round(c/60);return i(r,`hour`).format(l)}export{a as t};
|