@xopcai/xopc 0.0.391 → 0.0.393
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser-ext/dist/sidepanel.js +1 -1
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-CzS0TUv9.js → agent-avatar-dicebear-1AF2KGju.js} +1 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-CPJr7NRR.js +1 -0
- package/dist/gateway/static/root/assets/agent-plugin-dialog-cjJXJj_3.js +1 -0
- package/dist/gateway/static/root/assets/agents-DW3TlnIg.js +77 -0
- package/dist/gateway/static/root/assets/{agents-admin-api-Bb3Kvz3X.js → agents-admin-api-B5aykqg_.js} +1 -1
- package/dist/gateway/static/root/assets/app-link-BV_eGr7l.js +1 -0
- package/dist/gateway/static/root/assets/app-management-settings-panel-B_MFhXXU.js +1 -0
- package/dist/gateway/static/root/assets/appearance-settings-TYGidVnd.js +1 -0
- package/dist/gateway/static/root/assets/apps-page-DOkyvOF0.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-DFnHPNie.js → archive-plugin-BrFfEp0u.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-CnBLPVNh.js → automations-page-B7OofUPF.js} +1 -1
- package/dist/gateway/static/root/assets/automations-workspace-DIod-bfm.js +6 -0
- package/dist/gateway/static/root/assets/{binary-plugins-BQC0Tzoi.js → binary-plugins-BfAWnYG8.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-DSh5019z.js → block-editor-_Y-QwZ-3.js} +5 -5
- package/dist/gateway/static/root/assets/browser-automation-inputs-DH9QHI9m.js +1 -0
- package/dist/gateway/static/root/assets/browser-automations-page-B_SnD9B0.js +3 -0
- package/dist/gateway/static/root/assets/browser-settings-page-BPlqYpMM.js +3 -0
- package/dist/gateway/static/root/assets/capabilities-page-BtzZvMIK.js +2 -0
- package/dist/gateway/static/root/assets/capabilities-pt2M56-E.js +1 -0
- package/dist/gateway/static/root/assets/capabilities-settings-panel-WzoG3oBb.js +8 -0
- package/dist/gateway/static/root/assets/capability-header-actions-CFVx3iaZ.js +1 -0
- package/dist/gateway/static/root/assets/channels-BXA55GY2.js +1 -0
- package/dist/gateway/static/root/assets/chat-terminal-dock-D3GuiG3N.js +36 -0
- package/dist/gateway/static/root/assets/{chunk-KS7C4IRE--EKdQGRF.js → chunk-KS7C4IRE-B2HK1psj.js} +2 -2
- package/dist/gateway/static/root/assets/computer-settings-page-CIbHDlp8.js +1 -0
- package/dist/gateway/static/root/assets/connector-service-page-CDyCHkpK.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-DA2b6cJu.js +1 -0
- package/dist/gateway/static/root/assets/date-picker-C424c_g9.js +1 -0
- package/dist/gateway/static/root/assets/dependency-picker-BVJh9sYc.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-Q52A8vjp.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-settings-CZr1CXxu.js +1 -0
- package/dist/gateway/static/root/assets/desktop-pet-sprite-Bd-aOI7N.js +30 -0
- package/dist/gateway/static/root/assets/desktop-pet-sprite-BuB0g8zv.css +1 -0
- package/dist/gateway/static/root/assets/device-pairing-wizard-D_WWTsze.js +1 -0
- package/dist/gateway/static/root/assets/directory-picker-path-field-C6cUgrvg.js +1 -0
- package/dist/gateway/static/root/assets/echarts-runtime-tcHc9TOS.js +18 -0
- package/dist/gateway/static/root/assets/extension-debug-page-DyyfC4gA.js +1 -0
- package/dist/gateway/static/root/assets/extension-page-Dho9o3ZZ.js +1 -0
- package/dist/gateway/static/root/assets/extension-settings-page-CdnIGyCH.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-config-swr-Dv_A5FMu.js → gateway-config-swr-BEePO3Wl.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-DghCGfY_.js → gateway-realtime-Dng_VOvI.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-DtlBf7oH.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-D0KSQRNZ.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-CkTVSESs.js → gateway-startup-retry-CDCiy7Cd.js} +1 -1
- package/dist/gateway/static/root/assets/{highlighted-body-KQOG7T2V-DV2wNqBn.js → highlighted-body-KQOG7T2V-BNpj_mIM.js} +1 -1
- package/dist/gateway/static/root/assets/home-page-CH_A0W29.js +2 -0
- package/dist/gateway/static/root/assets/image-generation-api-DwkO2y46.js +1 -0
- package/dist/gateway/static/root/assets/imports-page-BrYvomnU.js +1 -0
- package/dist/gateway/static/root/assets/index-CKdOZoVu.js +260 -0
- package/dist/gateway/static/root/assets/index-Rxjt-jc3.css +1 -0
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-BveDYfYk.js +1 -0
- package/dist/gateway/static/root/assets/local-app-workbench-page-CcIi1BhT.js +1 -0
- package/dist/gateway/static/root/assets/local-apps-page-B1a69mlV.js +1 -0
- package/dist/gateway/static/root/assets/local-session-drafts-CYEDUPH7.js +1 -0
- package/dist/gateway/static/root/assets/{locale-store-BpK9AiDq.js → locale-store-CE7L6MlS.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-Us1jv3C4.js +2 -0
- package/dist/gateway/static/root/assets/management-settings-C9RAM7-s.js +1 -0
- package/dist/gateway/static/root/assets/markdown-view-PrKvVpRh.js +324 -0
- package/dist/gateway/static/root/assets/{media-plugins-oSChWbcP.js → media-plugins-CR1fp6IL.js} +1 -1
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-DQdcaMiu.js +1 -0
- package/dist/gateway/static/root/assets/messages-CaeL_miw.js +3 -0
- package/dist/gateway/static/root/assets/note-detail-panel-Q4yRx9iZ.js +5 -0
- package/dist/gateway/static/root/assets/notes-page-C9qu16IN.js +8 -0
- package/dist/gateway/static/root/assets/page-context-capture-button-Cn_WK68Y.js +1 -0
- package/dist/gateway/static/root/assets/personal-page-DrP6hEcg.js +1 -0
- package/dist/gateway/static/root/assets/preview-open-alternatives-3NbiWGRG.js +1 -0
- package/dist/gateway/static/root/assets/product-delivery-DwmnNJvk.js +1 -0
- package/dist/gateway/static/root/assets/product-open-page-KKE5-V8k.js +1 -0
- package/dist/gateway/static/root/assets/product-preview-content-BM0oqNxi.js +1 -0
- package/dist/gateway/static/root/assets/project-detail-page-CPZrwf8n.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-Besfx_07.js +1 -0
- package/dist/gateway/static/root/assets/{registry-api-Dsa2LvRt.js → registry-api-BO2Ck3aA.js} +1 -1
- package/dist/gateway/static/root/assets/remote-access-hub-CTDghL5L.js +1 -0
- package/dist/gateway/static/root/assets/{runtime-tools-api-C2Uw89eY.js → runtime-tools-api-B1sb8nlw.js} +1 -1
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-W0X_Fy7b.js +1 -0
- package/dist/gateway/static/root/assets/schema-form-DNM2Zdyr.js +1 -0
- package/dist/gateway/static/root/assets/{session-api-ga-SUOq_.js → session-api-CaAUJvu1.js} +1 -1
- package/dist/gateway/static/root/assets/session-manager-DoFTlgNz.js +16 -0
- package/dist/gateway/static/root/assets/sessions-page-Dxtablvd.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-C7zklouD.js +1 -0
- package/dist/gateway/static/root/assets/settings-form-section-DCSHPFAN.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-DPCgrICd.js → settings-page-B18UbbaJ.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-JoSfluza.js +1 -0
- package/dist/gateway/static/root/assets/share-preview-page-BLnS3hoH.js +2 -0
- package/dist/gateway/static/root/assets/shares-settings-DcIuPJK3.js +1 -0
- package/dist/gateway/static/root/assets/skill-api-CcYGkRPL.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-PnUZjoPK.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-D3JAw62U.js +2 -0
- package/dist/gateway/static/root/assets/style-BQqU-1pP.js +7 -0
- package/dist/gateway/static/root/assets/system-settings-panel-C974myUM.js +1 -0
- package/dist/gateway/static/root/assets/tab-completion-input-CxtEp0aP.js +1 -0
- package/dist/gateway/static/root/assets/task-detail-page-CiljFekC.js +2 -0
- package/dist/gateway/static/root/assets/{task-expandable-content-DAZGz5YC.js → task-expandable-content-DTEVoNrM.js} +1 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-DEE75MUn.js +1 -0
- package/dist/gateway/static/root/assets/tunnel-api-DWyI3uA3.js +1 -0
- package/dist/gateway/static/root/assets/usage-page-DJYvbxk7.js +1 -0
- package/dist/gateway/static/root/assets/use-autosave-CY0YuljR.js +1 -0
- package/dist/gateway/static/root/assets/user-model-page-eHZJD6Fw.js +2 -0
- package/dist/gateway/static/root/assets/voice-api-key-field-BNG4ixJE.js +1 -0
- package/dist/gateway/static/root/assets/{voice-config-api-Dl39b27p.js → voice-config-api-D0Wscn9W.js} +1 -1
- package/dist/gateway/static/root/assets/work-discovery-overlay-CohIoAre.js +1 -0
- package/dist/gateway/static/root/assets/workflow-run-setup-panel-BXI8eyYh.js +3 -0
- package/dist/gateway/static/root/assets/workflows-page-CVti0u-l.js +6 -0
- package/dist/gateway/static/root/assets/xopc-cloud-account-card-C_COnY_B.js +1 -0
- package/dist/gateway/static/root/index.html +22 -72
- package/dist/gateway/static/root/notification-sw.js +0 -15
- package/dist/package.js +1 -1
- package/dist/packages/computer-control-contract/src/index.js +8 -0
- package/dist/packages/gateway-contract/src/app-context.js +0 -1
- package/dist/packages/gateway-contract/src/capabilities.js +2 -249
- package/dist/packages/gateway-contract/src/home.js +0 -5
- package/dist/packages/gateway-contract/src/index.js +0 -4
- package/dist/packages/gateway-contract/src/notifications.js +0 -11
- package/dist/packages/gateway-contract/src/product-delivery.js +0 -2
- package/dist/src/agent/agent-instance-gateway.d.ts +2 -0
- package/dist/src/agent/agent-manager.d.ts +1 -3
- package/dist/src/agent/agent-manager.js +8 -18
- package/dist/src/agent/child-agent-factory.d.ts +2 -1
- package/dist/src/agent/child-agent-factory.js +2 -1
- package/dist/src/agent/coding/projectEvidence.d.ts +9 -0
- package/dist/src/agent/coding/projectEvidence.js +177 -0
- package/dist/src/agent/coding/repository-instructions.d.ts +8 -1
- package/dist/src/agent/coding/repository-instructions.js +9 -4
- package/dist/src/agent/coding/run-verification.d.ts +17 -2
- package/dist/src/agent/coding/run-verification.js +82 -12
- package/dist/src/agent/coding/workspace-revision.js +1 -1
- package/dist/src/agent/embedded/codemode-extension.js +1 -1
- package/dist/src/agent/embedded/execution-context.d.ts +1 -0
- package/dist/src/agent/embedded/execution-context.js +4 -1
- package/dist/src/agent/embedded/external-tool-discovery.js +1 -1
- package/dist/src/agent/embedded/run-for-session.js +1 -0
- package/dist/src/agent/embedded/run-turn.js +41 -5
- package/dist/src/agent/embedded/session-runner.js +1 -1
- package/dist/src/agent/embedded/session-tool-result-guard.js +5 -0
- package/dist/src/agent/embedded/types.d.ts +2 -0
- package/dist/src/agent/embedded/xopc-tools-bridge.js +2 -1
- package/dist/src/agent/external-tools/extension-provider.js +1 -1
- package/dist/src/agent/external-tools/gateway-tools.js +1 -1
- package/dist/src/agent/external-tools/memory-provider.js +1 -1
- package/dist/src/agent/independent-execution.d.ts +2 -0
- package/dist/src/agent/independent-execution.js +12 -0
- package/dist/src/agent/mcp/connection-drafts.js +15 -10
- package/dist/src/agent/memory/compaction.js +1 -1
- package/dist/src/agent/orchestration/delegation-scope.d.ts +1 -0
- package/dist/src/agent/orchestration/delegation-scope.js +4 -1
- package/dist/src/agent/orchestration/loop-guard.js +6 -2
- package/dist/src/agent/prompt/sections/agent-identity.js +3 -2
- package/dist/src/agent/prompt/sections/behavior.d.ts +3 -2
- package/dist/src/agent/prompt/sections/behavior.js +35 -25
- package/dist/src/agent/prompt/sections/memory-skills.d.ts +1 -1
- package/dist/src/agent/prompt/sections/memory-skills.js +10 -11
- package/dist/src/agent/prompt/sections/messaging-runtime.d.ts +3 -2
- package/dist/src/agent/prompt/sections/messaging-runtime.js +21 -24
- package/dist/src/agent/prompt/sections/response-language.js +7 -5
- package/dist/src/agent/prompt/sections/tooling.js +11 -10
- package/dist/src/agent/prompt/service-prompt-builder.js +3 -1
- package/dist/src/agent/prompt/system-prompt-params.d.ts +2 -1
- package/dist/src/agent/prompt/system-prompt-params.js +2 -0
- package/dist/src/agent/prompt/system-prompt.d.ts +2 -1
- package/dist/src/agent/prompt/system-prompt.js +21 -18
- package/dist/src/agent/prompt/types.d.ts +2 -0
- package/dist/src/agent/service.js +1 -1
- package/dist/src/agent/service.types.d.ts +0 -2
- package/dist/src/agent/skills/format-skills-prompt.js +5 -2
- package/dist/src/agent/tool-manuals/computer.d.ts +1 -1
- package/dist/src/agent/tool-manuals/computer.js +9 -1
- package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -1
- package/dist/src/agent/tool-manuals/xopc-use.js +6 -48
- package/dist/src/agent/tools/computer-use-tool.js +17 -3
- package/dist/src/agent/tools/dataBatch.d.ts +1 -0
- package/dist/src/agent/tools/dataBatch.js +4 -1
- package/dist/src/agent/tools/delegate-tool.d.ts +1 -0
- package/dist/src/agent/tools/delegate-tool.js +1 -0
- package/dist/src/agent/tools/error-tracker.js +4 -2
- package/dist/src/agent/tools/exec-command.js +4 -3
- package/dist/src/agent/tools/factory.d.ts +1 -2
- package/dist/src/agent/tools/factory.js +20 -22
- package/dist/src/agent/tools/{delegation-parent-policy.d.ts → noninteractive-tool-policy.d.ts} +1 -1
- package/dist/src/agent/tools/{delegation-parent-policy.js → noninteractive-tool-policy.js} +4 -4
- package/dist/src/agent/tools/personal-task-tool.js +1 -1
- package/dist/src/agent/tools/publish-artifacts.js +1 -1
- package/dist/src/agent/tools/search/cache.d.ts +3 -1
- package/dist/src/agent/tools/search/cache.js +4 -1
- package/dist/src/agent/tools/search/providers/deepseek-protocol.d.ts +9 -0
- package/dist/src/agent/tools/search/providers/deepseek-protocol.js +84 -0
- package/dist/src/agent/tools/search/providers/deepseek.d.ts +9 -0
- package/dist/src/agent/tools/search/providers/deepseek.js +55 -0
- package/dist/src/agent/tools/search/providers/xopc-cloud.d.ts +2 -1
- package/dist/src/agent/tools/search/providers/xopc-cloud.js +36 -1
- package/dist/src/agent/tools/search/registry.d.ts +1 -0
- package/dist/src/agent/tools/search/registry.js +32 -6
- package/dist/src/agent/tools/search/request-gate.d.ts +13 -0
- package/dist/src/agent/tools/search/request-gate.js +41 -0
- package/dist/src/agent/tools/search/resolve-config.js +1 -1
- package/dist/src/agent/tools/search/search-info.d.ts +8 -0
- package/dist/src/agent/tools/search/search-info.js +34 -0
- package/dist/src/agent/tools/search/types.d.ts +19 -1
- package/dist/src/agent/tools/toolExposure.d.ts +3 -0
- package/dist/src/agent/tools/toolExposure.js +25 -0
- package/dist/src/agent/tools/web.js +8 -1
- package/dist/src/agent/tools/xopc-use-tool.d.ts +2 -4
- package/dist/src/agent/tools/xopc-use-tool.js +11 -135
- package/dist/src/agent/workflow/builtins/index.js +98 -0
- package/dist/src/agent/workflow/subagent-runner.d.ts +1 -0
- package/dist/src/agent/workflow/subagent-runner.js +3 -3
- package/dist/src/agent/workflow/types.d.ts +3 -2
- package/dist/src/agent/workflow/workflow-child-tools.js +13 -8
- package/dist/src/agent-catalog/migrations/legacy-config-cutover.js +1 -2
- package/dist/src/automations/domain/validation.d.ts +8 -8
- package/dist/src/automations/draft/automation-draft-validator.d.ts +1 -1
- package/dist/src/automations/events/event-catalog.js +0 -18
- package/dist/src/backup/archive.js +1 -2
- package/dist/src/capabilities/runtime/app-context.js +2 -6
- package/dist/src/capabilities/runtime/product.d.ts +1 -3
- package/dist/src/capabilities/runtime/product.js +0 -6
- package/dist/src/cli/command-manifest.js +1 -1
- package/dist/src/cli/commands/search.d.ts +2 -2
- package/dist/src/cli/commands/search.js +8 -6
- package/dist/src/computer/config.d.ts +1 -0
- package/dist/src/computer/config.js +1 -0
- package/dist/src/computer/diagnostics.d.ts +223 -0
- package/dist/src/computer/diagnostics.js +360 -0
- package/dist/src/computer/errors.d.ts +1 -1
- package/dist/src/computer/errors.js +8 -1
- package/dist/src/computer/evaluation-comparison.d.ts +125 -0
- package/dist/src/computer/evaluation-comparison.js +65 -0
- package/dist/src/computer/evaluation-harness.d.ts +2 -1
- package/dist/src/computer/evaluation-harness.js +59 -8
- package/dist/src/computer/evaluation.d.ts +102 -7
- package/dist/src/computer/evaluation.js +64 -15
- package/dist/src/computer/flows.d.ts +62 -0
- package/dist/src/computer/flows.js +158 -0
- package/dist/src/computer/model-adapter.d.ts +11 -0
- package/dist/src/computer/model-adapter.js +156 -11
- package/dist/src/computer/model-policy.d.ts +1 -1
- package/dist/src/computer/model-policy.js +13 -6
- package/dist/src/computer/release-gate.d.ts +11 -0
- package/dist/src/computer/runtime.d.ts +27 -2
- package/dist/src/computer/runtime.js +261 -44
- package/dist/src/computer/semantic-actions.d.ts +3 -0
- package/dist/src/computer/semantic-actions.js +29 -0
- package/dist/src/config/index.js +2 -2
- package/dist/src/config/models-json.d.ts +14 -8
- package/dist/src/config/models-json.js +2 -0
- package/dist/src/config/outbound-proxy.d.ts +11 -0
- package/dist/src/config/outbound-proxy.js +30 -0
- package/dist/src/config/rules.js +5 -0
- package/dist/src/config/schema.d.ts +25 -10
- package/dist/src/config/schema.js +21 -10
- package/dist/src/connectors/cli/authorization.d.ts +1 -1
- package/dist/src/connectors/cli/store.d.ts +1 -1
- package/dist/src/endpoint-tools/invocation-service.js +5 -0
- package/dist/src/gateway/config-tools-web.js +15 -4
- package/dist/src/gateway/gateway-workflow-host.types.d.ts +3 -0
- package/dist/src/gateway/hono/app.d.ts +0 -2
- package/dist/src/gateway/hono/app.js +1 -2
- package/dist/src/gateway/hono/lib/config-payload.d.ts +6 -3
- package/dist/src/gateway/hono/lib/config-payload.js +5 -1
- package/dist/src/gateway/hono/routes/capability-operations.js +0 -7
- package/dist/src/gateway/hono/routes/config-patch/gateway.js +7 -0
- package/dist/src/gateway/hono/routes/deps.d.ts +0 -2
- package/dist/src/gateway/hono/routes/lazy-bundles.js +0 -8
- package/dist/src/gateway/hono/routes/models.js +5 -2
- package/dist/src/gateway/hono/routes/session-input-handler.d.ts +2 -2
- package/dist/src/gateway/service/config-coordinator.d.ts +8 -5
- package/dist/src/gateway/service/session-input-coordinator.js +1 -1
- package/dist/src/gateway/service.d.ts +0 -3
- package/dist/src/gateway/service.js +10 -44
- package/dist/src/home-intelligence/generator.js +1 -1
- package/dist/src/home-intelligence/policy.js +0 -5
- package/dist/src/home-intelligence/repository.d.ts +1 -1
- package/dist/src/infra/domain-outbox-dispatcher.js +1 -1
- package/dist/src/infra/http-proxy-env.d.ts +3 -0
- package/dist/src/infra/http-proxy-env.js +22 -2
- package/dist/src/notifications/service.d.ts +2 -18
- package/dist/src/notifications/service.js +8 -39
- package/dist/src/notifications/store.d.ts +0 -1
- package/dist/src/notifications/store.js +1 -4
- package/dist/src/personal-agent/communication.d.ts +2 -1
- package/dist/src/personal-agent/communication.js +11 -2
- package/dist/src/personal-agent/persona.d.ts +2 -1
- package/dist/src/personal-agent/persona.js +3 -2
- package/dist/src/personal-agent/prompts.d.ts +2 -0
- package/dist/src/personal-agent/prompts.js +69 -7
- package/dist/src/personal-agent/reply-composer.js +2 -2
- package/dist/src/personal-agent/reply-style.d.ts +4 -2
- package/dist/src/personal-agent/reply-style.js +19 -3
- package/dist/src/personal-agent/request-service.js +14 -9
- package/dist/src/pets/loopi-artwork.d.ts +2 -0
- package/dist/src/pets/loopi-artwork.js +36 -0
- package/dist/src/pets/pointer.d.ts +6 -0
- package/dist/src/pets/pointer.js +16 -0
- package/dist/src/platform/contracts.d.ts +3 -3
- package/dist/src/project-trust/trust-store.d.ts +5 -0
- package/dist/src/project-trust/trust-store.js +7 -1
- package/dist/src/providers/index.js +3 -3
- package/dist/src/providers/model-registry.js +2 -0
- package/dist/src/providers/model-supplements.d.ts +0 -2
- package/dist/src/providers/model-supplements.js +2 -18
- package/dist/src/providers/xopc-cloud-credit-budget.d.ts +1 -0
- package/dist/src/providers/xopc-cloud-credit-budget.js +4 -1
- package/dist/src/realtime/compact-run-event.js +17 -2
- package/dist/src/realtime/runtime.js +1 -1
- package/dist/src/routing/agent-session-key.js +1 -1
- package/dist/src/routing/resolve-route.js +1 -1
- package/dist/src/routing/session-key.js +1 -1
- package/dist/src/session/compact-history.js +16 -6
- package/dist/src/storage/sqlite/connection.js +2 -2
- package/dist/src/storage/sqlite/conversation-repository.js +1 -1
- package/dist/src/storage/sqlite/migrations/conversation-backup.d.ts +0 -2
- package/dist/src/storage/sqlite/migrations/conversation-backup.js +8 -18
- package/dist/src/storage/sqlite/migrations/conversation-windows-owners.js +28 -33
- package/dist/src/storage/sqlite/migrations/errors.js +1 -1
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +5 -40
- package/dist/src/storage/sqlite/migrations/types.d.ts +0 -2
- package/dist/src/storage/sqlite/schema.d.ts +1 -3
- package/dist/src/storage/sqlite/schema.js +4 -8
- package/dist/src/storage/sqlite/schema.sql +1356 -1282
- package/dist/src/tasks/capabilities/management.d.ts +2 -2
- package/dist/src/tasks/capabilities/relations.d.ts +4 -4
- package/dist/src/tasks/capabilities/write.d.ts +4 -4
- package/dist/src/tasks/task-allocation-service.js +51 -40
- package/dist/src/tasks/task-application-service.js +5 -1
- package/dist/src/tasks/task-contract-planner.js +21 -6
- package/dist/src/tasks/task-language.d.ts +2 -0
- package/dist/src/tasks/task-language.js +13 -2
- package/dist/src/tasks/task-research-result.d.ts +2 -2
- package/dist/src/tasks/task-run-coordinator.js +5 -1
- package/dist/src/tasks/task-run-dispatcher.js +2 -1
- package/dist/src/tui/tui.js +1 -1
- package/dist/src/usage/scenario-registry.js +0 -5
- package/dist/src/usage/types.d.ts +1 -1
- package/dist/src/work-discovery/probe.js +1 -1
- package/dist/src/workflows/domain/definition.d.ts +1 -0
- package/dist/src/workflows/service/workflow-run-service.js +2 -1
- package/package.json +10 -6
- package/skills/THIRD_PARTY_NOTICES.md +0 -6
- package/skills/creative/chat-charts/SKILL.md +26 -0
- package/skills/creative/chat-charts/references/bar-example.json +10 -0
- package/skills/creative/chat-charts/references/chart-spec.md +25 -0
- package/skills/creative/chat-charts/references/line-example.json +13 -0
- package/dist/gateway/static/root/assets/activity-YogQEteU.js +0 -1
- package/dist/gateway/static/root/assets/activity-store-DWQCDi8M.js +0 -1
- package/dist/gateway/static/root/assets/agent-defaults-settings-panel-DE910MyU.js +0 -1
- package/dist/gateway/static/root/assets/agent-plugin-dialog-0SlvsYl7.js +0 -1
- package/dist/gateway/static/root/assets/agents-BZh28Qn1.js +0 -77
- package/dist/gateway/static/root/assets/app-chrome-BeB4KgOf.js +0 -1
- package/dist/gateway/static/root/assets/app-link-4gpFbdsr.js +0 -1
- package/dist/gateway/static/root/assets/app-management-settings-panel-9A7JN5V5.js +0 -1
- package/dist/gateway/static/root/assets/appearance-settings-BPdLEo6L.js +0 -1
- package/dist/gateway/static/root/assets/apps-page-Cz7LypV9.js +0 -1
- package/dist/gateway/static/root/assets/automations-workspace-BBjS-sk-.js +0 -6
- package/dist/gateway/static/root/assets/browser-automation-inputs-C5tIrIRL.js +0 -1
- package/dist/gateway/static/root/assets/browser-automations-page-CFCMNfJN.js +0 -3
- package/dist/gateway/static/root/assets/browser-settings-page-C__tyPwu.js +0 -3
- package/dist/gateway/static/root/assets/button-aIC072nz.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-D6RJG4QY.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-DGEmBQnF.js +0 -1
- package/dist/gateway/static/root/assets/capabilities-page-B5AZa7ir.js +0 -2
- package/dist/gateway/static/root/assets/capabilities-settings-panel-Dskz2_bh.js +0 -8
- package/dist/gateway/static/root/assets/capability-header-actions-xzjWZVbg.js +0 -1
- package/dist/gateway/static/root/assets/channels-DRse_dD3.js +0 -1
- package/dist/gateway/static/root/assets/chat-terminal-dock-CQF0M4kE.js +0 -36
- package/dist/gateway/static/root/assets/chevron-left-DqFhpbvK.js +0 -1
- package/dist/gateway/static/root/assets/chevron-right-BweFrslA.js +0 -1
- package/dist/gateway/static/root/assets/circle-alert-BEjgurr2.js +0 -1
- package/dist/gateway/static/root/assets/circle-dashed-8qMD7gHf.js +0 -1
- package/dist/gateway/static/root/assets/circle-dot-BAseJTrF.js +0 -1
- package/dist/gateway/static/root/assets/cloud-C4-yfnnk.js +0 -1
- package/dist/gateway/static/root/assets/computer-settings-page-ZfzCTS0N.js +0 -1
- package/dist/gateway/static/root/assets/connector-service-page-CwAeWVLK.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-CanakKaj.js +0 -1
- package/dist/gateway/static/root/assets/copy-text-row-C7egVuKr.js +0 -1
- package/dist/gateway/static/root/assets/date-formatters-CUZAyDEg.js +0 -1
- package/dist/gateway/static/root/assets/date-picker-hmJlEAQZ.js +0 -1
- package/dist/gateway/static/root/assets/dependency-picker-Us_Juz6I.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-CvOTI4uw.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-settings-DYg-Gb8t.js +0 -1
- package/dist/gateway/static/root/assets/desktop-pet-sprite-BP6iMVw1.js +0 -1
- package/dist/gateway/static/root/assets/device-pairing-wizard-B1FbZ8C1.js +0 -1
- package/dist/gateway/static/root/assets/directory-picker-path-field-DZN9EDvM.js +0 -1
- package/dist/gateway/static/root/assets/dist-C3DSFZCi.js +0 -1
- package/dist/gateway/static/root/assets/electron-env-Dit0bHgy.js +0 -1
- package/dist/gateway/static/root/assets/extension-debug-page-YIibp6Kk.js +0 -1
- package/dist/gateway/static/root/assets/extension-page-DkcGyb28.js +0 -1
- package/dist/gateway/static/root/assets/extension-provider-B1PQGTtY.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-C_rJiSKo.js +0 -1
- package/dist/gateway/static/root/assets/form-field-width-DJw_jULe.js +0 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-CMJVSnvi.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-CjCWPHNJ.js +0 -1
- package/dist/gateway/static/root/assets/globe-DSSGFWFn.js +0 -1
- package/dist/gateway/static/root/assets/home-page-fAYsd7kG.js +0 -2
- package/dist/gateway/static/root/assets/image-generation-api-B98iXt6A.js +0 -1
- package/dist/gateway/static/root/assets/imports-page-DoBCBN8G.js +0 -1
- package/dist/gateway/static/root/assets/index-DFgXwLsv.js +0 -260
- package/dist/gateway/static/root/assets/index-a6ZvhclR.css +0 -1
- package/dist/gateway/static/root/assets/index.module-Cd9ENXfk.js +0 -1
- package/dist/gateway/static/root/assets/interaction-BdhHBbYa.js +0 -1
- package/dist/gateway/static/root/assets/is-masked-secret-DOkL5b_X.js +0 -1
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-DXVu4lqV.js +0 -1
- package/dist/gateway/static/root/assets/loader-circle-CifKLtgG.js +0 -1
- package/dist/gateway/static/root/assets/local-app-workbench-page-B3fz6uRi.js +0 -1
- package/dist/gateway/static/root/assets/local-apps-page-BC6xhmUh.js +0 -1
- package/dist/gateway/static/root/assets/local-session-drafts-DFnZQu9A.js +0 -1
- package/dist/gateway/static/root/assets/logs-page-CSqSFDRU.js +0 -2
- package/dist/gateway/static/root/assets/loopi-C09I2mNj.css +0 -1
- package/dist/gateway/static/root/assets/loopi-Djb8XU3l.js +0 -1
- package/dist/gateway/static/root/assets/management-settings-gq5L0THs.js +0 -1
- package/dist/gateway/static/root/assets/markdown-view-IsYTotu6.js +0 -324
- package/dist/gateway/static/root/assets/mermaid-MCJ5UELQ-C_QKwqDN.js +0 -1
- package/dist/gateway/static/root/assets/message-square-plus-XP0tGdlV.js +0 -1
- package/dist/gateway/static/root/assets/messages-CKTo_sIF.js +0 -3
- package/dist/gateway/static/root/assets/mic-CuUb7zc-.js +0 -1
- package/dist/gateway/static/root/assets/minimize-2-DtOGrlpo.js +0 -1
- package/dist/gateway/static/root/assets/models-hub-cache-TjpL7hZ5.js +0 -1
- package/dist/gateway/static/root/assets/note-detail-panel-CdpNXre-.js +0 -5
- package/dist/gateway/static/root/assets/notes-api-CBb944yw.js +0 -1
- package/dist/gateway/static/root/assets/notes-page-EGvGw8MN.js +0 -8
- package/dist/gateway/static/root/assets/page-context-capture-button-CoWb7BYP.js +0 -1
- package/dist/gateway/static/root/assets/page-tabs-HLrKIjXH.js +0 -1
- package/dist/gateway/static/root/assets/pencil-DmIY3Oa-.js +0 -1
- package/dist/gateway/static/root/assets/personal-page-DYzbNTyN.js +0 -1
- package/dist/gateway/static/root/assets/popover-select-DHC7J4lG.js +0 -1
- package/dist/gateway/static/root/assets/preview-open-alternatives-BJU2fmPn.js +0 -1
- package/dist/gateway/static/root/assets/product-delivery-BAks11S4.js +0 -1
- package/dist/gateway/static/root/assets/product-open-page-CTyy7H7-.js +0 -1
- package/dist/gateway/static/root/assets/product-preview-content-D4xqTaEy.js +0 -1
- package/dist/gateway/static/root/assets/project-detail-page-DIVCw0QQ.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-B4L9VnBN.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-B8PvgLVz.js +0 -1
- package/dist/gateway/static/root/assets/rotate-ccw-JM1TBLpp.js +0 -1
- package/dist/gateway/static/root/assets/rotate-cw-LIg3Am9S.js +0 -1
- package/dist/gateway/static/root/assets/runtime-tools-settings-panel-Bqnp3tyt.js +0 -1
- package/dist/gateway/static/root/assets/scenes-page-D50g4GM2.js +0 -2
- package/dist/gateway/static/root/assets/schema-form-h_RCNfiO.js +0 -1
- package/dist/gateway/static/root/assets/search-DA7gz22f.js +0 -1
- package/dist/gateway/static/root/assets/secret-input-BxWHx6J6.js +0 -1
- package/dist/gateway/static/root/assets/send-session-input-DypbVTT7.js +0 -1
- package/dist/gateway/static/root/assets/session-manager-C_OiKblh.js +0 -16
- package/dist/gateway/static/root/assets/sessions-page-BsqDIbIr.js +0 -1
- package/dist/gateway/static/root/assets/settings-2-D-csvaET.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-D3zJAW4p.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-draft-Dy10ldo8.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-section-num14vSv.js +0 -1
- package/dist/gateway/static/root/assets/settings-shell-dialog-layer-BU3UuiJr.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-jjSYJpDd.js +0 -1
- package/dist/gateway/static/root/assets/share-link-dialog-BGicglAS.js +0 -1
- package/dist/gateway/static/root/assets/share-preview-page-BORe9rLB.js +0 -2
- package/dist/gateway/static/root/assets/shares-api-Dbx3z6-1.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-C13FgfWk.js +0 -1
- package/dist/gateway/static/root/assets/skeleton-BI5TyibZ.js +0 -1
- package/dist/gateway/static/root/assets/skill-api-Cq6O1DZK.js +0 -1
- package/dist/gateway/static/root/assets/skill-api-utils-C7V4JVXM.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-Cq7QDjMA.js +0 -1
- package/dist/gateway/static/root/assets/skill-wire-pattern-BPpeIcCi.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-BM1ShEjx.js +0 -2
- package/dist/gateway/static/root/assets/style-TIDOdKy0.js +0 -7
- package/dist/gateway/static/root/assets/system-settings-panel-BNCGFO1e.js +0 -1
- package/dist/gateway/static/root/assets/tab-completion-input-D64VNmiA.js +0 -1
- package/dist/gateway/static/root/assets/task-detail-page-4VG82wcF.js +0 -2
- package/dist/gateway/static/root/assets/theme-store-Db7hDESt.js +0 -1
- package/dist/gateway/static/root/assets/tracing-settings-page-C6p2Mu92.js +0 -1
- package/dist/gateway/static/root/assets/tunnel-api-Dw15EJp0.js +0 -1
- package/dist/gateway/static/root/assets/usage-page-DDrIqgGe.js +0 -1
- package/dist/gateway/static/root/assets/use-async-resource-GrnWNwMZ.js +0 -1
- package/dist/gateway/static/root/assets/use-autosave-DDjIdW4U.js +0 -1
- package/dist/gateway/static/root/assets/use-composer-attachments-DNl7O3Vb.js +0 -2
- package/dist/gateway/static/root/assets/use-file-preview-expanded-DMHehhwG.js +0 -2
- package/dist/gateway/static/root/assets/user-model-page-CaS9dOIr.js +0 -2
- package/dist/gateway/static/root/assets/voice-api-key-field-ByAxHE4P.js +0 -1
- package/dist/gateway/static/root/assets/voice-transcribe-api-CVaU83Jc.js +0 -1
- package/dist/gateway/static/root/assets/work-discovery-overlay-BvVvPA1T.js +0 -1
- package/dist/gateway/static/root/assets/workflow-run-setup-panel-BcFm9QcC.js +0 -3
- package/dist/gateway/static/root/assets/workflows-page-DMec_XZB.js +0 -6
- package/dist/gateway/static/root/assets/workspace-api-BpfKsrtP.js +0 -2
- package/dist/gateway/static/root/assets/xopc-cloud-account-card-CU5lzzE9.js +0 -1
- package/dist/packages/gateway-contract/src/project-monitoring.js +0 -36
- package/dist/packages/gateway-contract/src/scenes.js +0 -200
- package/dist/src/agent/bootstrap/project-agents-context.d.ts +0 -2
- package/dist/src/agent/bootstrap/project-agents-context.js +0 -30
- package/dist/src/gateway/hono/routes/scenes.d.ts +0 -3
- package/dist/src/gateway/hono/routes/scenes.js +0 -271
- package/dist/src/gateway/scenes/browserNotifications.d.ts +0 -4
- package/dist/src/gateway/scenes/browserNotifications.js +0 -54
- package/dist/src/gateway/scenes/host.d.ts +0 -34
- package/dist/src/gateway/scenes/host.js +0 -154
- package/dist/src/gateway/scenes/mailContext.d.ts +0 -32
- package/dist/src/gateway/scenes/mailContext.js +0 -235
- package/dist/src/gateway/scenes/slackThreadSource.d.ts +0 -41
- package/dist/src/gateway/scenes/slackThreadSource.js +0 -168
- package/dist/src/notifications/browser-endpoint.d.ts +0 -2
- package/dist/src/notifications/browser-endpoint.js +0 -13
- package/dist/src/notifications/browserSubscriptions.d.ts +0 -20
- package/dist/src/notifications/browserSubscriptions.js +0 -59
- package/dist/src/notifications/browserTransport.d.ts +0 -9
- package/dist/src/notifications/browserTransport.js +0 -64
- package/dist/src/notifications/dispatch.d.ts +0 -46
- package/dist/src/notifications/dispatch.js +0 -109
- package/dist/src/notifications/domain-delivery.d.ts +0 -21
- package/dist/src/notifications/domain-delivery.js +0 -1
- package/dist/src/notifications/quietHours.d.ts +0 -6
- package/dist/src/notifications/quietHours.js +0 -23
- package/dist/src/notifications/resultOutbox.d.ts +0 -23
- package/dist/src/notifications/resultOutbox.js +0 -49
- package/dist/src/scenes/activationAdapter.d.ts +0 -19
- package/dist/src/scenes/activationAdapter.js +0 -1
- package/dist/src/scenes/agentExecutor.d.ts +0 -9
- package/dist/src/scenes/agentExecutor.js +0 -61
- package/dist/src/scenes/capabilities/read.d.ts +0 -3
- package/dist/src/scenes/capabilities/read.js +0 -187
- package/dist/src/scenes/capabilities/write.d.ts +0 -3
- package/dist/src/scenes/capabilities/write.js +0 -151
- package/dist/src/scenes/contracts.d.ts +0 -9
- package/dist/src/scenes/contracts.js +0 -61
- package/dist/src/scenes/execution.d.ts +0 -62
- package/dist/src/scenes/execution.js +0 -169
- package/dist/src/scenes/httpServices.d.ts +0 -39
- package/dist/src/scenes/httpServices.js +0 -1
- package/dist/src/scenes/inbox.d.ts +0 -17
- package/dist/src/scenes/inbox.js +0 -68
- package/dist/src/scenes/mailContext.d.ts +0 -24
- package/dist/src/scenes/mailContext.js +0 -115
- package/dist/src/scenes/mailObservations.d.ts +0 -20
- package/dist/src/scenes/mailObservations.js +0 -107
- package/dist/src/scenes/maintenance.d.ts +0 -3
- package/dist/src/scenes/maintenance.js +0 -20
- package/dist/src/scenes/metrics.d.ts +0 -31
- package/dist/src/scenes/metrics.js +0 -89
- package/dist/src/scenes/model.d.ts +0 -3
- package/dist/src/scenes/model.js +0 -10
- package/dist/src/scenes/notificationEligibility.d.ts +0 -17
- package/dist/src/scenes/notificationEligibility.js +0 -72
- package/dist/src/scenes/notificationPublication.d.ts +0 -7
- package/dist/src/scenes/notificationPublication.js +0 -43
- package/dist/src/scenes/preferences.d.ts +0 -19
- package/dist/src/scenes/preferences.js +0 -86
- package/dist/src/scenes/readiness.d.ts +0 -7
- package/dist/src/scenes/readiness.js +0 -20
- package/dist/src/scenes/registry.d.ts +0 -11
- package/dist/src/scenes/registry.js +0 -28
- package/dist/src/scenes/repository.d.ts +0 -178
- package/dist/src/scenes/repository.js +0 -782
- package/dist/src/scenes/resultNotifications.d.ts +0 -17
- package/dist/src/scenes/resultNotifications.js +0 -204
- package/dist/src/scenes/runtime.d.ts +0 -25
- package/dist/src/scenes/runtime.js +0 -101
- package/dist/src/scenes/schedule.d.ts +0 -2
- package/dist/src/scenes/schedule.js +0 -33
- package/dist/src/scenes/service.d.ts +0 -36
- package/dist/src/scenes/service.js +0 -122
- package/dist/src/scenes/taskFollowUp/agentExecutor.d.ts +0 -36
- package/dist/src/scenes/taskFollowUp/agentExecutor.js +0 -149
- package/dist/src/scenes/taskFollowUp/branchInventory.d.ts +0 -38
- package/dist/src/scenes/taskFollowUp/branchInventory.js +0 -70
- package/dist/src/scenes/taskFollowUp/contracts.d.ts +0 -121
- package/dist/src/scenes/taskFollowUp/contracts.js +0 -119
- package/dist/src/scenes/taskFollowUp/resources.d.ts +0 -19
- package/dist/src/scenes/taskFollowUp/resources.js +0 -97
- package/dist/src/scenes/taskFollowUp/service.d.ts +0 -848
- package/dist/src/scenes/taskFollowUp/service.js +0 -770
- package/dist/src/scenes/taskFollowUp/workspaceFingerprint.d.ts +0 -2
- package/dist/src/scenes/taskFollowUp/workspaceFingerprint.js +0 -46
- package/dist/src/scenes/templates.d.ts +0 -64
- package/dist/src/scenes/templates.js +0 -76
- package/dist/src/scenes/userNotes.d.ts +0 -13
- package/dist/src/scenes/userNotes.js +0 -40
- package/dist/src/storage/sqlite/migrations/166_remove_proactive_previews.sql +0 -1
- package/dist/src/storage/sqlite/migrations/167_discussion_recording_chunks.sql +0 -7
- package/dist/src/storage/sqlite/migrations/168_discussion_evidence.sql +0 -16
- package/dist/src/storage/sqlite/migrations/169_discussion_action_tasks.sql +0 -8
- package/dist/src/storage/sqlite/migrations/170_discussion_edits.sql +0 -8
- package/dist/src/storage/sqlite/migrations/171_discussion_recording_jobs.sql +0 -14
- package/dist/src/storage/sqlite/migrations/172_project_understanding.sql +0 -3
- package/dist/src/storage/sqlite/migrations/173_mobile_discussion_source.sql +0 -5
- package/dist/src/storage/sqlite/migrations/174_capability_imports.sql +0 -11
- package/dist/src/storage/sqlite/migrations/175_import_selections.sql +0 -8
- package/dist/src/storage/sqlite/migrations/176_proactive_quality.sql +0 -5
- package/dist/src/storage/sqlite/migrations/177_proactive_check_controls.sql +0 -25
- package/dist/src/storage/sqlite/migrations/178_conversation_uuid.sql +0 -2
- package/dist/src/storage/sqlite/migrations/179_harmonyos_devices.sql +0 -41
- package/dist/src/storage/sqlite/migrations/180_execution_environment_ownership.sql +0 -7
- package/dist/src/storage/sqlite/migrations/181_knowledge_item_status_events.sql +0 -12
- package/dist/src/storage/sqlite/migrations/182_connector_account_policies.sql +0 -92
- package/dist/src/storage/sqlite/migrations/183_connector_backend_consistency.sql +0 -20
- package/dist/src/storage/sqlite/migrations/184_memory_suppressions.sql +0 -12
- package/dist/src/storage/sqlite/migrations/185_understanding_refresh_batches.sql +0 -6
- package/dist/src/storage/sqlite/migrations/186_sidebar_layout.sql +0 -16
- package/dist/src/storage/sqlite/migrations/187_cli_connectors.sql +0 -34
- package/dist/src/storage/sqlite/migrations/188_scene_storage.sql +0 -2
- package/dist/src/storage/sqlite/migrations/189_scene_source_health.sql +0 -8
- package/dist/src/storage/sqlite/migrations/190_scene_development.sql +0 -37
- package/dist/src/storage/sqlite/migrations/191_scene_task_follow_up.sql +0 -27
- package/dist/src/storage/sqlite/migrations/192_capability_operations.sql +0 -20
- package/dist/src/storage/sqlite/migrations/193_note_file_cleanup.sql +0 -8
- package/dist/src/storage/sqlite/migrations/194_capability_external_outcomes.sql +0 -11
- package/dist/src/storage/sqlite/migrations/195_automation_deleted_revisions.sql +0 -4
- package/dist/src/storage/sqlite/migrations/196_automation_run_requests.sql +0 -23
- package/dist/src/storage/sqlite/migrations/197_note_deletion_cleanup.sql +0 -8
- package/dist/src/storage/sqlite/migrations/198_project_workspace_creation.sql +0 -7
- package/dist/src/storage/sqlite/migrations/199_scene_resource_events.sql +0 -488
- package/dist/src/storage/sqlite/migrations/200_connected_work_threads.sql +0 -92
- package/dist/src/storage/sqlite/migrations/201_connector_extraction_audit.sql +0 -127
- package/dist/src/storage/sqlite/migrations/202_chat_previews.sql +0 -26
- package/dist/src/storage/sqlite/migrations/203_remove_retired_proactive_contracts.sql +0 -70
- package/dist/src/storage/sqlite/migrations/204_home_intelligence.sql +0 -78
- package/dist/src/storage/sqlite/migrations/205_agent_catalog.sql +0 -66
- package/dist/src/storage/sqlite/migrations/206_home_advice_strategy_version.sql +0 -3
- package/dist/src/storage/sqlite/migrations/207_user_model_policy_contract.sql +0 -121
- package/dist/src/storage/sqlite/migrations/208_automation_management.sql +0 -2
- package/dist/src/storage/sqlite/migrations/209_automation_event_hub.sql +0 -48
- package/dist/src/storage/sqlite/migrations/210_remove_legacy_automation_timeout.sql +0 -14
- package/dist/src/storage/sqlite/migrations/211_automation_result_deliveries.sql +0 -16
- package/dist/src/storage/sqlite/migrations/212_automation_delivery_policy.sql +0 -30
- package/dist/src/storage/sqlite/migrations/213_automation_reliability_contract.sql +0 -188
- package/dist/src/storage/sqlite/migrations/214_ai_usage_ledger.sql +0 -41
- package/dist/src/storage/sqlite/migrations/215_scene_execution_adapters.sql +0 -6
- package/dist/src/storage/sqlite/migrations/216_remove_scene_model_usage.sql +0 -1
- package/dist/src/storage/sqlite/migrations/217_remove_legacy_memory_tables.sql +0 -4
- package/dist/src/storage/sqlite/migrations/conversation-key-decoder.d.ts +0 -8
- package/dist/src/storage/sqlite/migrations/conversation-key-decoder.js +0 -87
- package/dist/src/storage/sqlite/migrations/conversation-uuid.d.ts +0 -8
- package/dist/src/storage/sqlite/migrations/conversation-uuid.js +0 -366
- package/dist/src/storage/sqlite/migrations/scene-reset.d.ts +0 -5
- package/dist/src/storage/sqlite/migrations/scene-reset.js +0 -40
- package/dist/src/storage/sqlite/scenes-schema.d.ts +0 -8
- package/dist/src/storage/sqlite/scenes-schema.js +0 -60
- package/dist/src/storage/sqlite/schemas/notifications.sql +0 -65
- package/dist/src/storage/sqlite/schemas/scenes.sql +0 -205
- package/skills/engineering/design-recurring-work/SKILL.md +0 -75
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{_ as i,p as a,t as o}from"./chunk-KS7C4IRE--EKdQGRF.js";import{t as s}from"./activity-YogQEteU.js";import{t as c}from"./check-DUBLcKHA.js";import{t as l}from"./chevron-right-BweFrslA.js";import{c as u,l as d,n as f,r as p,u as m}from"./popover-select-DHC7J4lG.js";import{t as h}from"./circle-alert-BEjgurr2.js";import{t as g}from"./circle-check-C23XjkUj.js";import{t as _}from"./ellipsis-0k4rZLoy.js";import{t as v}from"./markdown-view-IsYTotu6.js";import{t as y}from"./pencil-DmIY3Oa-.js";import{t as b}from"./plus-Q2yW6OE7.js";import{t as x}from"./search-DA7gz22f.js";import{t as S}from"./x-B_N4OPjy.js";import{t as C}from"./messages-CKTo_sIF.js";import{t as w}from"./cn-0WouolD0.js";import{n as T}from"./locale-store-BpK9AiDq.js";import{a as E,n as D,o as O,r as k,s as A,t as j}from"./dist-BGTk37IG.js";import{i as M}from"./vendor-swr-BIWyz7Rc.js";import{t as N}from"./button-aIC072nz.js";import{a as P,c as F,i as I,o as L,s as R}from"./dist-C3DSFZCi.js";import{t as z}from"./skeleton-BI5TyibZ.js";import{Ai as ee,Ca as B,Fi as te,Hs as ne,Is as re,Jc as ie,Po as ae,Rc as oe,So as V,Ss as se,Vn as H,Xc as ce,Xi as le,Yo as ue,Zo as U,_i as W,ar as G,cs as de,es as fe,gs as pe,hc as me,ir as he,l as K,nr as ge,rr as _e,sr as ve,v as ye}from"./index-DFgXwLsv.js";import{a as q,c as be,i as xe,l as Se,n as Ce,o as we,r as Te,s as Ee,t as De}from"./automation-display-DCkjVzA0.js";import{a as J,i as Oe,n as ke,r as Ae,t as je}from"./workflow-run-setup-panel-BcFm9QcC.js";import{i as Me,n as Ne,r as Pe,t as Fe}from"./browser-automation-inputs-C5tIrIRL.js";var Ie=n(),Y=e(t(),1),X=r(),Le=Array.from({length:24},(e,t)=>t);function Re(e){let t=/^(\d{2}):(\d{2})$/.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]);return n>23||r>59?null:{hour:n,minute:r}}function ze(){let e=new Date;return{hour:e.getHours(),minute:e.getMinutes()}}function Be(e,t){return`${String(e).padStart(2,`0`)}:${String(t).padStart(2,`0`)}`}function Ve(e){let t=(0,Ie.c)(80),{value:n,onChange:r,disabled:i,allowEmpty:a,clearLabel:o,ariaLabel:s,ariaLabelledBy:l,className:f,triggerClassName:p,id:h,name:g,minuteStep:_}=e,v=a===void 0?!1:a,y=_===void 0?1:_,b=Re(n),x=b??ze(),[C,T]=(0,Y.useState)(!1),[E,D]=(0,Y.useState)(null),[O,k]=(0,Y.useState)(x.hour),[A,j]=(0,Y.useState)(x.minute),M=(0,Y.useRef)([]),N=(0,Y.useRef)([]),P=d(),I=u(E),L=m(P,I!==null),z=Math.max(1,Math.min(60,Math.round(y))),ee=Array.from({length:Math.ceil(60/z)},(e,t)=>t*z).filter(Ue),B;t[0]===r?B=t[1]:(B=(e,t,n)=>{let i=n===void 0?!1:n;k(e),j(t),r(Be(e,t)),i&&T(!1)},t[0]=r,t[1]=B);let te=B,ne=He,re;t[2]===f?re=t[3]:(re=w(`relative min-w-0`,f),t[2]=f,t[3]=re);let ie=F,ae;t[4]===n?ae=t[5]:(ae=e=>{if(e){let e=Re(n)??ze();k(e.hour),j(e.minute)}T(e)},t[4]=n,t[5]=ae);let V=v&&n&&`pr-9`,se=i&&`cursor-not-allowed opacity-50 hover:border-edge`,H;t[6]!==V||t[7]!==se||t[8]!==p?(H=w(`box-border flex h-10 w-full min-w-0 items-center gap-2 rounded-lg border border-edge bg-surface-panel px-3 text-left text-sm text-fg`,`transition-colors hover:border-edge-strong focus-visible:border-accent/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/20`,V,se,p),t[6]=V,t[7]=se,t[8]=p,t[9]=H):H=t[9];let ce;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,X.jsx)(oe,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":`true`}),t[10]=ce):ce=t[10];let le=!b&&`text-fg-subtle`,ue;t[11]===le?ue=t[12]:(ue=w(`tabular-nums`,le),t[11]=le,t[12]=ue);let U=b?Be(b.hour,b.minute):`--:--`,W;t[13]!==ue||t[14]!==U?(W=(0,X.jsx)(`span`,{className:ue,children:U}),t[13]=ue,t[14]=U,t[15]=W):W=t[15];let G;t[16]!==s||t[17]!==l||t[18]!==i||t[19]!==h||t[20]!==W||t[21]!==H?(G=(0,X.jsx)(R,{asChild:!0,children:(0,X.jsxs)(`button`,{ref:D,id:h,type:`button`,disabled:i,"aria-label":s,"aria-labelledby":l,"aria-haspopup":`listbox`,className:H,children:[ce,W]})}),t[16]=s,t[17]=l,t[18]=i,t[19]=h,t[20]=W,t[21]=H,t[22]=G):G=t[22];let de=F,fe=I??void 0,pe=F,me=w(L,`w-[18rem] overflow-hidden rounded-xl border border-edge bg-surface-overlay shadow-popover outline-none`),he=e=>{e.preventDefault(),requestAnimationFrame(()=>M.current[O]?.focus())},K;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,X.jsx)(oe,{className:`size-3.5`,"aria-hidden":`true`}),t[23]=K):K=t[23];let ge=s??`HH:mm`,_e;t[24]===ge?_e=t[25]:(_e=(0,X.jsxs)(`span`,{className:`flex items-center gap-2 text-xs font-medium text-fg-muted`,children:[K,ge]}),t[24]=ge,t[25]=_e);let ve;t[26]!==O||t[27]!==A?(ve=Be(O,A),t[26]=O,t[27]=A,t[28]=ve):ve=t[28];let ye;t[29]===ve?ye=t[30]:(ye=(0,X.jsx)(`span`,{className:`font-mono text-base font-semibold tabular-nums text-fg`,children:ve}),t[29]=ve,t[30]=ye);let q;t[31]!==_e||t[32]!==ye?(q=(0,X.jsxs)(`div`,{className:`flex items-center justify-between border-b border-edge-subtle bg-surface-inset px-3 py-2.5`,children:[_e,ye]}),t[31]=_e,t[32]=ye,t[33]=q):q=t[33];let be;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,X.jsx)(`div`,{className:`px-1 pb-1.5 text-[11px] font-semibold tracking-wider text-fg-subtle`,children:`HH`}),t[34]=be):be=t[34];let xe=`${s??`HH:mm`} HH`,Se=Le.map((e,t)=>(0,X.jsx)(`button`,{ref:e=>{M.current[t]=e},type:`button`,role:`option`,"aria-selected":O===e,tabIndex:O===e?0:-1,className:w(`relative flex h-8 items-center justify-center rounded-md text-xs tabular-nums text-fg-muted transition-colors`,`hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/30`,O===e&&`bg-accent-soft font-semibold text-accent-fg`),onClick:()=>te(e,A),onKeyDown:e=>ne(e,Le,O,e=>te(e,A),M),children:String(e).padStart(2,`0`)},e)),Ce;t[35]!==xe||t[36]!==Se?(Ce=(0,X.jsxs)(`div`,{className:`pr-2`,children:[be,(0,X.jsx)(`div`,{role:`listbox`,"aria-label":xe,className:`grid max-h-56 grid-cols-3 gap-1 overflow-y-auto pr-1`,children:Se})]}),t[35]=xe,t[36]=Se,t[37]=Ce):Ce=t[37];let we;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,X.jsx)(`div`,{className:`px-1 pb-1.5 text-[11px] font-semibold tracking-wider text-fg-subtle`,children:`MM`}),t[38]=we):we=t[38];let Te=`${s??`HH:mm`} MM`,Ee=ee.map((e,t)=>(0,X.jsxs)(`button`,{ref:e=>{N.current[t]=e},type:`button`,role:`option`,"aria-selected":A===e,tabIndex:A===e?0:-1,className:w(`relative flex h-8 items-center justify-center rounded-md text-xs tabular-nums text-fg-muted transition-colors`,`hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/30`,A===e&&`bg-accent-soft font-semibold text-accent-fg`),onClick:()=>te(O,e,!0),onKeyDown:e=>ne(e,ee,A,e=>te(O,e),N),children:[(0,X.jsx)(c,{className:w(`absolute left-0.5 size-3`,A!==e&&`invisible`),"aria-hidden":`true`}),String(e).padStart(2,`0`)]},e)),De;t[39]!==Te||t[40]!==Ee?(De=(0,X.jsx)(`div`,{role:`listbox`,"aria-label":Te,className:`grid max-h-56 grid-cols-3 gap-1 overflow-y-auto pr-1`,children:Ee}),t[39]=Te,t[40]=Ee,t[41]=De):De=t[41];let J;t[42]!==we||t[43]!==De?(J=(0,X.jsxs)(`div`,{className:`pl-2`,children:[we,De]}),t[42]=we,t[43]=De,t[44]=J):J=t[44];let Oe;t[45]!==Ce||t[46]!==J?(Oe=(0,X.jsxs)(`div`,{className:`grid grid-cols-2 divide-x divide-edge-subtle p-2`,children:[Ce,J]}),t[45]=Ce,t[46]=J,t[47]=Oe):Oe=t[47];let ke;t[48]!==pe.Content||t[49]!==me||t[50]!==he||t[51]!==q||t[52]!==Oe?(ke=(0,X.jsxs)(pe.Content,{side:`bottom`,align:`start`,sideOffset:6,collisionPadding:12,className:me,onOpenAutoFocus:he,children:[q,Oe]}),t[48]=pe.Content,t[49]=me,t[50]=he,t[51]=q,t[52]=Oe,t[53]=ke):ke=t[53];let Ae;t[54]!==de.Portal||t[55]!==fe||t[56]!==ke?(Ae=(0,X.jsx)(de.Portal,{container:fe,children:ke}),t[54]=de.Portal,t[55]=fe,t[56]=ke,t[57]=Ae):Ae=t[57];let je;t[58]!==C||t[59]!==G||t[60]!==Ae||t[61]!==ie.Root||t[62]!==ae?(je=(0,X.jsxs)(ie.Root,{open:C,onOpenChange:ae,children:[G,Ae]}),t[58]=C,t[59]=G,t[60]=Ae,t[61]=ie.Root,t[62]=ae,t[63]=je):je=t[63];let Me;t[64]!==v||t[65]!==s||t[66]!==o||t[67]!==i||t[68]!==r||t[69]!==n?(Me=v&&n?(0,X.jsx)(`button`,{type:`button`,disabled:i,"aria-label":o??s,title:o,className:`absolute right-1.5 top-1/2 flex size-7 -translate-y-1/2 items-center justify-center rounded-md text-fg-subtle hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/30 disabled:pointer-events-none`,onClick:()=>r(``),children:(0,X.jsx)(S,{className:`size-3.5`,"aria-hidden":`true`})}):null,t[64]=v,t[65]=s,t[66]=o,t[67]=i,t[68]=r,t[69]=n,t[70]=Me):Me=t[70];let Ne;t[71]!==i||t[72]!==g||t[73]!==n?(Ne=g?(0,X.jsx)(`input`,{type:`hidden`,name:g,value:n,disabled:i}):null,t[71]=i,t[72]=g,t[73]=n,t[74]=Ne):Ne=t[74];let Pe;return t[75]!==re||t[76]!==je||t[77]!==Me||t[78]!==Ne?(Pe=(0,X.jsxs)(`div`,{className:re,children:[je,Me,Ne]}),t[75]=re,t[76]=je,t[77]=Me,t[78]=Ne,t[79]=Pe):Pe=t[79],Pe}function He(e,t,n,r,i){let a=null,o=Math.max(0,t.indexOf(n));if((e.key===`ArrowDown`||e.key===`ArrowRight`)&&(a=(o+1)%t.length),(e.key===`ArrowUp`||e.key===`ArrowLeft`)&&(a=(o-1+t.length)%t.length),e.key===`Home`&&(a=0),e.key===`End`&&(a=t.length-1),a===null)return;e.preventDefault();let s=t[a];r(s),i.current?.[a]?.focus()}function Ue(e){return e<60}function We(e){return e.management!==void 0}var Ge={name:``,description:``,projectId:``,triggerMode:`daily`,time:`09:00`,weekday:`1`,intervalValue:`1`,intervalUnit:`hour`,cronExpr:`0 9 * * *`,webhookSecretId:``,onceAt:``,eventType:``,eventSource:``,eventPayloadMatch:``,actionMode:`agent`,agentId:``,model:``,instruction:``,taskId:``,workflowId:``,workflowGoal:``,workflowInput:{goal:``,argValues:{},schemaInput:{},concurrency:``,maxSubagents:``},workflowInputValid:!0,browserAutomationId:``,browserAutomationInputs:{},safetyMode:`suggest_only`,timeoutSeconds:`1800`,conversationMode:`new_session`,notificationPolicy:`attention`,resultWebhookEndpoint:``,resultWebhookSecretId:``,disableAfterFailures:`3`},Ke=[{value:`15`,unit:`minute`},{value:`30`,unit:`minute`},{value:`1`,unit:`hour`},{value:`6`,unit:`hour`},{value:`24`,unit:`hour`}];function qe(e,t){let[n,r]=e.time.split(`:`),i=Number.parseInt(n||`9`,10),a=Number.parseInt(r||`0`,10),o;if(e.triggerMode===`manual`)o={kind:`manual`};else if(e.triggerMode===`once`)o={kind:`schedule`,schedule:{kind:`once`,at:new Date(e.onceAt).toISOString()}};else if(e.triggerMode===`webhook`)o={kind:`webhook`,...e.webhookSecretId.trim()?{secretId:e.webhookSecretId.trim()}:{}};else if(e.triggerMode===`taskBlocked`)o={kind:`event`,eventType:`task.attention_required.v2`,source:`tasks`,payloadMatch:{reason:`blocked`}};else if(e.triggerMode===`noteCreated`)o={kind:`event`,eventType:`note.created`,source:`notes`};else if(e.triggerMode===`workflowFailed`)o={kind:`event`,eventType:`workflow.run.completed`,source:`workflows`,payloadMatch:{status:`failed`}};else if(e.triggerMode===`sessionUpdated`)o={kind:`event`,eventType:`session.transcript.updated`,source:`sessions`};else if(e.triggerMode===`event`){let t=e.eventPayloadMatch.trim()?JSON.parse(e.eventPayloadMatch):void 0;o={kind:`event`,eventType:e.eventType.trim(),...e.eventSource.trim()?{source:e.eventSource.trim()}:{},...t?{payloadMatch:t}:{}}}else o=e.triggerMode===`interval`?{kind:`schedule`,schedule:{kind:`interval`,everyMs:De(e.intervalValue,e.intervalUnit)}}:e.triggerMode===`weekly`?{kind:`schedule`,schedule:{kind:`cron`,expr:`${a} ${i} * * ${e.weekday}`}}:e.triggerMode===`cron`?{kind:`schedule`,schedule:{kind:`cron`,expr:e.cronExpr.trim()}}:{kind:`schedule`,schedule:{kind:`cron`,expr:`${a} ${i} * * *`}};let s=Ae(t,e.workflowInput),c=e.workflowInput.goal.trim()||e.workflowGoal.trim(),l=e.actionMode===`browser_automation`||e.actionMode===`task_command`?`auto_apply`:e.safetyMode,u;return u=e.actionMode===`workflow`?{kind:`workflow`,workflowId:e.workflowId.trim(),...e.agentId.trim()?{agentId:e.agentId.trim()}:{},...s===void 0?{}:{input:s},...c?{goal:c}:{},...e.workflowInput.concurrency.trim()?{concurrency:Math.max(1,Number.parseInt(e.workflowInput.concurrency,10)||1)}:{},...e.workflowInput.maxSubagents.trim()?{maxSubagents:Math.max(1,Number.parseInt(e.workflowInput.maxSubagents,10)||1)}:{}}:e.actionMode===`browser_automation`?{kind:`browser_automation`,automationId:e.browserAutomationId.trim(),inputs:e.browserAutomationInputs}:e.actionMode===`task_command`?{kind:`task_command`,taskId:e.taskId.trim(),command:{type:`start`,executor:{kind:`agent`,agentId:e.agentId.trim()}}}:{kind:`agent`,instruction:e.instruction.trim(),...e.agentId.trim()?{agentId:e.agentId.trim()}:{},...e.model.trim()?{model:e.model.trim()}:{}},{name:e.name.trim(),...e.description.trim()?{description:e.description.trim()}:{},...e.projectId.trim()?{projectId:e.projectId.trim()}:{},trigger:o,action:u,safety:{mode:l},conversationMode:e.conversationMode,delivery:{notificationPolicy:e.notificationPolicy,destinations:[{key:`gateway_event`,kind:`gateway_event`},...e.resultWebhookEndpoint.trim()&&e.resultWebhookSecretId.trim()?[{key:`result_webhook`,kind:`webhook`,endpoint:e.resultWebhookEndpoint.trim(),secretId:e.resultWebhookSecretId.trim()}]:[]]},reliability:{executionTimeoutSeconds:Math.max(1,Number.parseInt(e.timeoutSeconds,10)||1800),disableAfterConsecutiveFailures:Math.max(1,Number.parseInt(e.disableAfterFailures,10)||3)}}}function Je(e){let t=e.match(/^(\d{1,2})\s+(\d{1,2})\s+\*\s+\*\s+\*$/);if(t)return{triggerMode:`daily`,time:`${t[2].padStart(2,`0`)}:${t[1].padStart(2,`0`)}`,weekday:`1`,cronExpr:e};let n=e.match(/^(\d{1,2})\s+(\d{1,2})\s+\*\s+\*\s+([0-6])$/);return n?{triggerMode:`weekly`,time:`${n[2].padStart(2,`0`)}:${n[1].padStart(2,`0`)}`,weekday:n[3],cronExpr:e}:{triggerMode:`cron`,time:Ge.time,weekday:Ge.weekday,cronExpr:e}}function Ye(e){let t=[[`week`,10080*6e4],[`day`,1440*6e4],[`hour`,60*6e4],[`minute`,6e4]],[n,r]=t.find(([,t])=>e>=t&&e%t===0)??t.at(-1);return{intervalValue:String(e/r),intervalUnit:n}}function Xe(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=t.getTimezoneOffset()*6e4;return new Date(t.getTime()-n).toISOString().slice(0,16)}function Ze(e){let t=e.payloadMatch;return e.eventType===`task.attention_required.v2`&&e.source===`tasks`&&t?.reason===`blocked`?{triggerMode:`taskBlocked`}:e.eventType===`note.created`&&e.source===`notes`&&!t?{triggerMode:`noteCreated`}:e.eventType===`workflow.run.completed`&&e.source===`workflows`&&t?.status===`failed`?{triggerMode:`workflowFailed`}:e.eventType===`session.transcript.updated`&&e.source===`sessions`&&!t?{triggerMode:`sessionUpdated`}:{triggerMode:`event`,eventType:e.eventType,eventSource:e.source??``,eventPayloadMatch:t?JSON.stringify(t,null,2):``}}function Z(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function Qe(e){if(!e.trim())return!0;try{let t=JSON.parse(e);return!!t&&typeof t==`object`&&!Array.isArray(t)&&Object.values(t).every(e=>e===null||[`string`,`number`,`boolean`].includes(typeof e))}catch{return!1}}function $e(e,t=[]){let n={triggerMode:`manual`};if(e.trigger.kind===`webhook`)n={triggerMode:`webhook`,webhookSecretId:e.trigger.secretId??``};else if(e.trigger.kind===`event`)n=Ze(e.trigger);else if(e.trigger.kind===`schedule`){let t=e.trigger.schedule;t.kind===`cron`&&(n=Je(t.expr)),t.kind===`interval`&&(n={triggerMode:`interval`,...Ye(t.everyMs)}),t.kind===`once`&&(n={triggerMode:`once`,onceAt:Xe(t.at)})}let r=e.action,i=r.kind===`workflow`?t.find(e=>e.id===r.workflowId)??null:null,a=r.kind===`workflow`?Z(r.input):{},o=e.reliability?.executionTimeoutSeconds??(`timeoutSeconds`in r?r.timeoutSeconds:void 0)??(r.kind===`browser_automation`?600:1800);return{...Ge,...n,name:e.name,description:e.description??``,projectId:e.projectId??``,actionMode:r.kind===`system`?`agent`:r.kind,agentId:r.kind===`agent`||r.kind===`workflow`?r.agentId??``:r.kind===`task_command`&&r.command.type===`start`&&r.command.executor.kind===`agent`?r.command.executor.agentId:``,model:r.kind===`agent`?r.model??``:``,instruction:r.kind===`agent`?r.instruction:``,taskId:r.kind===`task_command`?r.taskId:``,workflowId:r.kind===`workflow`?r.workflowId:``,workflowGoal:r.kind===`workflow`?r.goal??``:``,browserAutomationId:r.kind===`browser_automation`?r.automationId:``,browserAutomationInputs:r.kind===`browser_automation`?r.inputs??{}:{},workflowInput:{goal:r.kind===`workflow`?r.goal??``:``,argValues:i?ke(i.name,a):{},schemaInput:a,concurrency:r.kind===`workflow`&&r.concurrency?String(r.concurrency):``,maxSubagents:r.kind===`workflow`&&r.maxSubagents?String(r.maxSubagents):``},workflowInputValid:!0,safetyMode:e.safety?.mode??`auto_apply`,timeoutSeconds:String(o),conversationMode:e.conversationMode??`new_session`,notificationPolicy:e.delivery.notificationPolicy,resultWebhookEndpoint:e.delivery.destinations.find(e=>e.kind===`webhook`)?.endpoint??``,resultWebhookSecretId:e.delivery.destinations.find(e=>e.kind===`webhook`)?.secretId??``,disableAfterFailures:String(e.reliability?.disableAfterConsecutiveFailures??3)}}function et(e,t,n){let r=qe(t,n),i=e.trigger.kind===`schedule`&&r.trigger.kind===`schedule`&&e.trigger.schedule.kind===r.trigger.schedule.kind?{...r.trigger,schedule:{...e.trigger.schedule,...r.trigger.schedule}}:r.trigger,a=r.action;e.action.kind===`agent`&&r.action.kind===`agent`?a={...e.action,...r.action,agentId:r.action.agentId,model:r.action.model}:e.action.kind===`workflow`&&r.action.kind===`workflow`?a={...e.action,...r.action,agentId:r.action.agentId,input:r.action.input,goal:r.action.goal,concurrency:r.action.concurrency,maxSubagents:r.action.maxSubagents}:e.action.kind===`browser_automation`&&r.action.kind===`browser_automation`?a={...e.action,...r.action}:e.action.kind===`task_command`&&r.action.kind===`task_command`&&(a=r.action);let o=e.delivery.destinations.filter(e=>e.kind===`gateway_event`),s=e.delivery.destinations.filter(e=>e.kind===`webhook`);return{...r,description:t.description.trim(),projectId:t.projectId.trim(),delivery:{notificationPolicy:t.notificationPolicy,destinations:[...o.length>0?o:[{key:`gateway_event`,kind:`gateway_event`}],...e.delivery.destinations.filter(e=>e.kind===`file`||e.kind===`card`),...s.slice(1),...t.resultWebhookEndpoint.trim()&&t.resultWebhookSecretId.trim()?[{key:s[0]?.key??`result_webhook`,kind:`webhook`,endpoint:t.resultWebhookEndpoint.trim(),secretId:t.resultWebhookSecretId.trim()}]:[]]},trigger:i,action:a,reliability:{...e.reliability,...r.reliability}}}function tt(e){return[`reminder`,`brief`,`review`,`followUp`].map(t=>{let n=e.scenarios[t];return{...n,requiresProject:t===`followUp`,form:{...Ge,name:n.name,instruction:t===`reminder`?``:n.instruction,triggerMode:t===`reminder`?`once`:t===`review`?`weekly`:`daily`,time:t===`brief`?`08:30`:t===`review`?`17:00`:`09:00`,weekday:`5`,notificationPolicy:`all`}}})}var nt=`w-full rounded-lg border border-edge bg-surface-base px-3 py-2 text-sm text-fg focus-visible:outline-2 focus-visible:outline-accent`;function rt(e){let t=(0,Ie.c)(99),{form:n,setForm:r,labels:i,projects:a,projectLocked:o,source:s,requiresProject:c}=e,l;t[0]===r?l=t[1]:(l=e=>r(t=>({...t,...e})),t[0]=r,t[1]=l);let u=l,d;t[2]!==i.experience.source||t[3]!==s?(d=(0,X.jsxs)(`p`,{className:`text-sm text-fg-muted`,children:[i.experience.source,`: `,s]}),t[2]=i.experience.source,t[3]=s,t[4]=d):d=t[4];let m;t[5]===u?m=t[6]:(m=e=>u({name:e.target.value}),t[5]=u,t[6]=m);let h;t[7]!==n.name||t[8]!==m?(h=(0,X.jsx)(`input`,{className:nt,value:n.name,onChange:m}),t[7]=n.name,t[8]=m,t[9]=h):h=t[9];let g;t[10]!==i.form.name||t[11]!==h?(g=(0,X.jsxs)(`label`,{className:`grid gap-2 text-sm text-fg`,children:[i.form.name,h]}),t[10]=i.form.name,t[11]=h,t[12]=g):g=t[12];let _;t[13]===u?_=t[14]:(_=e=>u({instruction:e.target.value}),t[13]=u,t[14]=_);let v;t[15]!==n.instruction||t[16]!==_?(v=(0,X.jsx)(`textarea`,{className:nt,rows:5,value:n.instruction,onChange:_}),t[15]=n.instruction,t[16]=_,t[17]=v):v=t[17];let y;t[18]!==i.info.task||t[19]!==v?(y=(0,X.jsxs)(`label`,{className:`grid gap-2 text-sm text-fg`,children:[i.info.task,v]}),t[18]=i.info.task,t[19]=v,t[20]=y):y=t[20];let b;t[21]!==n.projectId||t[22]!==i.form.noProject||t[23]!==i.form.project||t[24]!==o||t[25]!==a||t[26]!==u?(b=!o&&(0,X.jsxs)(`label`,{className:`grid gap-2 text-sm text-fg`,children:[i.form.project,(0,X.jsxs)(f,{className:nt,value:n.projectId,onChange:e=>u({projectId:e.target.value}),children:[(0,X.jsx)(p,{value:``,children:i.form.noProject}),a.map(it)]})]}),t[21]=n.projectId,t[22]=i.form.noProject,t[23]=i.form.project,t[24]=o,t[25]=a,t[26]=u,t[27]=b):b=t[27];let x;t[28]!==n.projectId||t[29]!==i.experience.projectRequired||t[30]!==c?(x=c&&!n.projectId?(0,X.jsx)(`p`,{role:`status`,className:`text-sm text-fg-muted`,children:i.experience.projectRequired}):null,t[28]=n.projectId,t[29]=i.experience.projectRequired,t[30]=c,t[31]=x):x=t[31];let S;t[32]===u?S=t[33]:(S=e=>u({triggerMode:e.target.value}),t[32]=u,t[33]=S);let C;t[34]===i.trigger.once?C=t[35]:(C=(0,X.jsx)(p,{value:`once`,children:i.trigger.once}),t[34]=i.trigger.once,t[35]=C);let w;t[36]===i.trigger.daily?w=t[37]:(w=(0,X.jsx)(p,{value:`daily`,children:i.trigger.daily}),t[36]=i.trigger.daily,t[37]=w);let T;t[38]===i.trigger.weekly?T=t[39]:(T=(0,X.jsx)(p,{value:`weekly`,children:i.trigger.weekly}),t[38]=i.trigger.weekly,t[39]=T);let E;t[40]!==n.triggerMode||t[41]!==S||t[42]!==C||t[43]!==w||t[44]!==T?(E=(0,X.jsxs)(f,{className:nt,value:n.triggerMode,onChange:S,children:[C,w,T]}),t[40]=n.triggerMode,t[41]=S,t[42]=C,t[43]=w,t[44]=T,t[45]=E):E=t[45];let D;t[46]!==i.form.trigger||t[47]!==E?(D=(0,X.jsxs)(`label`,{className:`grid gap-2 text-sm text-fg`,children:[i.form.trigger,E]}),t[46]=i.form.trigger,t[47]=E,t[48]=D):D=t[48];let O;t[49]!==n.onceAt||t[50]!==n.time||t[51]!==n.triggerMode||t[52]!==i.form.onceAt||t[53]!==i.form.time||t[54]!==u?(O=n.triggerMode===`once`?(0,X.jsxs)(`label`,{className:`grid gap-2 text-sm text-fg`,children:[i.form.onceAt,(0,X.jsx)(`input`,{type:`datetime-local`,className:nt,value:n.onceAt,onChange:e=>u({onceAt:e.target.value})})]}):(0,X.jsxs)(`div`,{className:`grid gap-2 text-sm text-fg`,children:[(0,X.jsx)(`span`,{children:i.form.time}),(0,X.jsx)(Ve,{value:n.time,onChange:e=>u({time:e}),ariaLabel:i.form.time})]}),t[49]=n.onceAt,t[50]=n.time,t[51]=n.triggerMode,t[52]=i.form.onceAt,t[53]=i.form.time,t[54]=u,t[55]=O):O=t[55];let k;t[56]!==n.triggerMode||t[57]!==n.weekday||t[58]!==i.form.day||t[59]!==i.weekdays||t[60]!==u?(k=n.triggerMode===`weekly`&&(0,X.jsxs)(`label`,{className:`grid gap-2 text-sm text-fg`,children:[i.form.day,(0,X.jsx)(f,{className:nt,value:n.weekday,onChange:e=>u({weekday:e.target.value}),children:[`sunday`,`monday`,`tuesday`,`wednesday`,`thursday`,`friday`,`saturday`].map((e,t)=>(0,X.jsx)(p,{value:String(t),children:i.weekdays[e]},e))})]}),t[56]=n.triggerMode,t[57]=n.weekday,t[58]=i.form.day,t[59]=i.weekdays,t[60]=u,t[61]=k):k=t[61];let A;t[62]!==D||t[63]!==O||t[64]!==k?(A=(0,X.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[D,O,k]}),t[62]=D,t[63]=O,t[64]=k,t[65]=A):A=t[65];let j;t[66]!==n.onceAt||t[67]!==n.triggerMode||t[68]!==i.experience.futureTime?(j=n.triggerMode===`once`&&n.onceAt&&new Date(n.onceAt).getTime()<=Date.now()?(0,X.jsx)(`p`,{role:`status`,className:`text-sm text-red-700 dark:text-red-300`,children:i.experience.futureTime}):null,t[66]=n.onceAt,t[67]=n.triggerMode,t[68]=i.experience.futureTime,t[69]=j):j=t[69];let M;t[70]===i.experience.scheduleNote?M=t[71]:(M=(0,X.jsx)(`p`,{className:`text-xs text-fg-muted`,children:i.experience.scheduleNote}),t[70]=i.experience.scheduleNote,t[71]=M);let N;t[72]===u?N=t[73]:(N=e=>u({notificationPolicy:e.target.value}),t[72]=u,t[73]=N);let P;t[74]===i.draft.notifyAll?P=t[75]:(P=(0,X.jsx)(p,{value:`all`,children:i.draft.notifyAll}),t[74]=i.draft.notifyAll,t[75]=P);let F;t[76]===i.draft.notifyAttention?F=t[77]:(F=(0,X.jsx)(p,{value:`attention`,children:i.draft.notifyAttention}),t[76]=i.draft.notifyAttention,t[77]=F);let I;t[78]===i.draft.notifyNone?I=t[79]:(I=(0,X.jsx)(p,{value:`none`,children:i.draft.notifyNone}),t[78]=i.draft.notifyNone,t[79]=I);let L;t[80]!==n.notificationPolicy||t[81]!==N||t[82]!==P||t[83]!==F||t[84]!==I?(L=(0,X.jsxs)(f,{className:nt,value:n.notificationPolicy,onChange:N,children:[P,F,I]}),t[80]=n.notificationPolicy,t[81]=N,t[82]=P,t[83]=F,t[84]=I,t[85]=L):L=t[85];let R;t[86]!==i.draft.notifications||t[87]!==L?(R=(0,X.jsxs)(`label`,{className:`grid gap-2 text-sm text-fg`,children:[i.draft.notifications,L]}),t[86]=i.draft.notifications,t[87]=L,t[88]=R):R=t[88];let z;return t[89]!==x||t[90]!==A||t[91]!==d||t[92]!==j||t[93]!==M||t[94]!==R||t[95]!==g||t[96]!==y||t[97]!==b?(z=(0,X.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-5 overflow-y-auto px-5 py-4`,children:[d,g,y,b,x,A,j,M,R]}),t[89]=x,t[90]=A,t[91]=d,t[92]=j,t[93]=M,t[94]=R,t[95]=g,t[96]=y,t[97]=b,t[98]=z):z=t[98],z}function it(e){return(0,X.jsx)(p,{value:e.id,children:e.name},e.id)}function at(e,t){let n=new URLSearchParams({draft:e.trim()}),r=t?.trim();return r?n.set(`projectId`,r):n.set(`projectScope`,`none`),`/chat/new?${n.toString()}`}function ot(e,t){return t.reduce((t,n)=>n.automationId===e&&(!t||n.createdAtMs>t.createdAtMs)?n:t,void 0)}function st(e,t){let n=ot(e.id,t),r=!!(e.state.lastRunAtMs&&(!n||e.state.lastRunAtMs>n.createdAtMs)),i=r?e.state.lastRunStatus:n?.status??e.state.lastRunStatus;return i!==`failed`&&i!==`timeout`?null:`${i}:${(r?e.state.lastRunAtMs:n?.createdAtMs??e.state.lastRunAtMs)??`unknown`}`}function ct(e,t){return st(e,t)!==null}var lt=`xopc.automations.dismissedExecutionIssues`;function ut(){if(typeof window>`u`)return{};try{let e=JSON.parse(window.localStorage.getItem(lt)??`{}`);return!e||typeof e!=`object`||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(e=>typeof e[1]==`string`))}catch{return{}}}function dt(e,t,n){return e?we(e,n):t.never}function ft(e,t){return e.kind===`system`?e.capability===`home.advisor.refresh`?`Home AI suggestions refresh`:e.capability===`memory.temporal_sweep`?`Memory temporal sweep`:e.capability===`memory.daily_reconciliation`?`Memory daily reconciliation`:`Memory weekly knowledge maintenance`:e.kind===`workflow`?t.action.workflowWithId.replace(`{id}`,e.workflowId):e.kind===`browser_automation`?`Browser automation: ${e.automationId}`:e.kind===`task_command`?t.action.taskWithId.replace(`{id}`,e.taskId):e.agentId?t.action.agentWithId.replace(`{id}`,e.agentId):t.action.agent}function pt(e,t){return e.kind===`system`?`System`:e.kind===`workflow`?t.sources.workflow:e.kind===`browser_automation`?t.sources.browser:e.kind===`task_command`?t.sources.task:t.sources.agent}function mt(e,t){return e===`workflow`?t.action.runWorkflow:e===`browser_automation`?t.sources.browser:e===`task_command`?t.action.runTask:t.action.runAgent}function ht(e,t){return e===`cron`?t.trigger.customCron:e===`event`?t.trigger.customEvent:t.trigger[e]}function gt(e){let t=(0,Ie.c)(10),{kind:n,className:r}=e;if(n===`system`){let e;return t[0]===r?e=t[1]:(e=(0,X.jsx)(V,{className:r,"aria-hidden":!0}),t[0]=r,t[1]=e),e}if(n===`workflow`){let e;return t[2]===r?e=t[3]:(e=(0,X.jsx)(me,{className:r,"aria-hidden":!0}),t[2]=r,t[3]=e),e}if(n===`browser_automation`){let e;return t[4]===r?e=t[5]:(e=(0,X.jsx)(ne,{className:r,"aria-hidden":!0}),t[4]=r,t[5]=e),e}if(n===`task_command`){let e;return t[6]===r?e=t[7]:(e=(0,X.jsx)(g,{className:r,"aria-hidden":!0}),t[6]=r,t[7]=e),e}let i;return t[8]===r?i=t[9]:(i=(0,X.jsx)(ue,{className:r,"aria-hidden":!0}),t[8]=r,t[9]=i),i}function _t(e){return e.safety?.mode??`auto_apply`}function vt(e){return e===`succeeded`?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:e===`failed`||e===`timeout`?`bg-red-500/10 text-red-700 dark:text-red-300`:e===`running`||e===`queued`||e===`cancelling`?`bg-blue-500/10 text-blue-700 dark:text-blue-300`:`bg-surface-hover text-fg-muted`}function yt(e,t){if(e==null)return t.never;if(e<1e3)return`${e}ms`;let n=Math.round(e/1e3);return n<60?`${n}s`:`${Math.floor(n/60)}m ${n%60}s`}function bt(e){return e.status===`running`||e.status===`queued`||e.status===`cancelling`}function xt(e){return e.status===`failed`||e.status===`timeout`}function St(e,t){return e.action.kind===`system`?ft(e.action,t):e.action.kind===`agent`?e.action.instruction:e.action.kind===`workflow`?e.action.goal?.trim()||ft(e.action,t):(e.action.kind,ft(e.action,t))}function Ct(e){return e.description?.trim()??``}function wt(e){return bt(e)?0:xt(e)?1:e.status===`succeeded`?2:3}function Tt(e){return[...e].sort((e,t)=>{let n=wt(e)-wt(t);return n===0?t.createdAtMs-e.createdAtMs:n})}function Et(){let e=(0,Ie.c)(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,X.jsx)(`section`,{className:`grid grid-cols-2 gap-px overflow-hidden rounded-xl border border-edge-subtle bg-edge-subtle xl:grid-cols-4`,children:Array.from({length:4}).map(Ot)}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,X.jsxs)(`div`,{className:`min-w-0 space-y-2`,children:[(0,X.jsx)(z,{className:`h-4 w-36`}),(0,X.jsx)(z,{className:`h-3 w-56 max-w-full`})]}),(0,X.jsx)(z,{className:`h-7 w-20 rounded-full`})]}),e[1]=n):n=e[1];let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,X.jsxs)(`section`,{className:`rounded-xl bg-surface-panel p-4 shadow-surface`,children:[n,(0,X.jsx)(`div`,{className:`mt-4 grid gap-2`,children:Array.from({length:6}).map(Dt)})]}),e[2]=r):r=e[2];let i,a;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,X.jsx)(z,{className:`h-4 w-32`}),a=(0,X.jsx)(z,{className:`mt-4 h-24 rounded-lg`}),e[3]=i,e[4]=a):(i=e[3],a=e[4]);let o;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,X.jsxs)(`div`,{className:`grid gap-4`,"aria-hidden":`true`,children:[t,(0,X.jsxs)(`div`,{className:`grid min-h-0 items-start gap-4 xl:grid-cols-[minmax(18rem,0.8fr)_minmax(0,1.5fr)]`,children:[r,(0,X.jsxs)(`section`,{className:`hidden rounded-xl bg-surface-panel p-4 shadow-surface xl:block`,children:[i,a,(0,X.jsxs)(`div`,{className:`mt-4 grid gap-2`,children:[(0,X.jsx)(z,{className:`h-12 rounded-lg`}),(0,X.jsx)(z,{className:`h-12 rounded-lg`}),(0,X.jsx)(z,{className:`h-12 rounded-lg`})]})]})]})]}),e[5]=o):o=e[5],o}function Dt(e,t){return(0,X.jsx)(`div`,{className:`rounded-lg bg-surface-base p-3`,children:(0,X.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(z,{className:`size-4 rounded-full`}),(0,X.jsx)(z,{className:`h-4 w-32`}),(0,X.jsx)(z,{className:`h-5 w-20 rounded-full`})]}),(0,X.jsx)(z,{className:`mt-3 h-4 w-full`}),(0,X.jsx)(z,{className:`mt-2 h-4 w-3/5`})]}),(0,X.jsx)(z,{className:`h-8 w-24 rounded-md`})]})},t)}function Ot(e,t){return(0,X.jsxs)(`div`,{className:`flex min-h-12 items-center gap-2.5 bg-surface-base px-3 py-2.5`,children:[(0,X.jsx)(z,{className:`size-4 rounded-full`}),(0,X.jsx)(z,{className:`h-3 w-14`}),(0,X.jsx)(z,{className:`ml-auto h-4 w-10`})]},t)}function kt({projectId:e,embedded:t=!1,title:n,subtitle:r}){let o=T(e=>e.language),c=C(o),l=c.automations,u=c.productNavigation.sections[`automation-triggers`],d=c.cron,m=B(e=>e.setPageHeader),_=B(e=>e.clearPageHeader),v=a(),[F,z]=i(),ae=!t&&F.get(`view`)===`activity`,oe=F.get(`run`)?.trim()??``,se=F.get(`automation`)?.trim()??``,H=F.get(`draft`)?.trim()??``,W=F.get(`action`)?.trim()??``,fe=F.get(`taskId`)?.trim()??``,pe=F.get(`projectId`)?.trim()??``,q=e?.trim()||pe,be=!!e?.trim(),Ce=F.get(`autogenerate`)===`1`,we=(0,Y.useRef)(``),Te=F.get(`status`),Ee=Te===`active`||Te===`paused`||Te===`running`||Te===`attention`?Te:`all`,J=F.get(`ownership`)===`system`?`system`:`user`,ke=F.get(`source`),Ae=ke===`agent`||ke===`workflow`||ke===`task_command`||ke===`browser_automation`?ke:`all`,je=F.get(`q`)??``,Pe=e=>z(t=>{let n=new URLSearchParams(t);return e===`all`?n.delete(`status`):n.set(`status`,e),n.delete(`automation`),n}),Fe=e=>z(t=>{let n=new URLSearchParams(t);return e===`user`?n.delete(`ownership`):n.set(`ownership`,e),n.delete(`automation`),n}),Ie=e=>z(t=>{let n=new URLSearchParams(t);return e?n.set(`q`,e):n.delete(`q`),n.delete(`automation`),n},{replace:!0}),Le=e=>z(t=>{let n=new URLSearchParams(t);return e===`all`?n.delete(`source`):n.set(`source`,e),n.delete(`automation`),n}),Re=()=>z(e=>{let t=new URLSearchParams(e);return t.delete(`status`),t.delete(`source`),t.delete(`q`),t.delete(`automation`),t}),[ze,Be]=(0,Y.useState)(null),[Ve,He]=(0,Y.useState)(!1),[Ue,Ke]=(0,Y.useState)(`blank`),[Je,Ye]=(0,Y.useState)(null),[Xe,Ze]=(0,Y.useState)(!1),[Z,nt]=(0,Y.useState)(Ge),[it,dt]=(0,Y.useState)(null),[ft,pt]=(0,Y.useState)(null),[mt,ht]=(0,Y.useState)(!1),[gt,_t]=(0,Y.useState)(null),[vt,yt]=(0,Y.useState)(``),[xt,wt]=(0,Y.useState)(null),[Dt,Ot]=(0,Y.useState)(!1),[kt,Nt]=(0,Y.useState)(!1),[Pt,Ft]=(0,Y.useState)(q),[zt,Bt]=(0,Y.useState)(`new_session`),[Vt,Ht]=(0,Y.useState)(`attention`),[Gt,Kt]=(0,Y.useState)(null),[qt,Jt]=(0,Y.useState)(!1),[Yt,Xt]=(0,Y.useState)(!1),[Zt,en]=(0,Y.useState)(!1),[tn,nn]=(0,Y.useState)(null),[$,rn]=(0,Y.useState)(ut),an=M([`automations`,q],()=>K.list(q?{projectId:q}:void 0),{keepPreviousData:!0,refreshInterval:15e3}),on=M([`automation-runs`,q],()=>K.runs(50,void 0,q?{projectId:q}:void 0),{keepPreviousData:!0,refreshInterval:1e4}),sn=M(q?`automations-global-system-source`:null,()=>K.list(),{keepPreviousData:!0,refreshInterval:15e3}),cn=M(q?`automation-runs-global-system-source`:null,()=>K.runs(50),{keepPreviousData:!0,refreshInterval:1e4}),ln=M(gt?[`automation-history`,gt,q]:null,()=>K.runs(50,gt,q?{projectId:q}:void 0),{refreshInterval:1e4}),un=M(ft?`automation-run-events:${ft}`:null,()=>K.runEvents(ft),{refreshInterval:5e3}),dn=M(`automation-workflow-definitions`,ye),fn=M(`automation-browser-automations`,()=>Me.list()),pn=M(`automation-chat-agents`,te),mn=M(`automation-tasks`,K.tasks),hn=M(`automation-projects`,()=>le({sortBy:`name`,sortOrder:`asc`,limit:200})),gn=an.isLoading&&!an.data||on.isLoading&&!on.data||!!q&&sn.isLoading&&!sn.data||!!q&&cn.isLoading&&!cn.data,_n=!gn&&(an.isLoading||on.isLoading||sn.isLoading||cn.isLoading),vn=an.data?.automations??[],yn=q?sn.data?.automations??[]:vn,bn=(0,Y.useMemo)(()=>Tt(on.data?.runs??[]),[on.data?.runs]),xn=(0,Y.useMemo)(()=>q?Tt(cn.data?.runs??[]):bn,[cn.data?.runs,q,bn]),Sn=(0,Y.useMemo)(()=>vn.filter(e=>!We(e)),[vn]),Cn=(0,Y.useMemo)(()=>yn.filter(We),[yn]),wn=(0,Y.useMemo)(()=>[...Sn,...Cn],[Cn,Sn]),Tn=(0,Y.useMemo)(()=>new Set(Cn.map(e=>e.id)),[Cn]),En=(0,Y.useMemo)(()=>bn.filter(e=>!Tn.has(e.automationId)),[bn,Tn]),Dn=(0,Y.useMemo)(()=>xn.filter(e=>Tn.has(e.automationId)),[xn,Tn]),On=(0,Y.useMemo)(()=>q?[...bn,...Dn]:bn,[q,bn,Dn]),kn=(0,Y.useMemo)(()=>On.find(e=>e.id===ft)??ln.data?.runs.find(e=>e.id===ft)??null,[On,ft,ln.data]),An=(0,Y.useMemo)(()=>wn.find(e=>e.id===gt)??null,[wn,gt]),jn=(0,Y.useMemo)(()=>wn.find(e=>e.id===Je)??null,[wn,Je]),Mn=(0,Y.useMemo)(()=>[...ln.data?.runs??On].filter(e=>e.automationId===gt).sort((e,t)=>t.createdAtMs-e.createdAtMs),[On,gt,ln.data]),Nn=un.data?.events??[],Pn=(0,Y.useMemo)(()=>En.filter(e=>!bt(e)&&e.readAtMs==null),[En]),Fn=je.trim().toLocaleLowerCase(),In=J===`system`?Cn:Sn,Ln=J===`system`?Dn:En,Rn=(0,Y.useMemo)(()=>new Set(Ln.filter(bt).map(e=>e.automationId)),[Ln]),zn=(0,Y.useMemo)(()=>In.filter(e=>Ee===`attention`&&!ct(e,Ln)||Ee===`running`&&!Rn.has(e.id)||Ee===`active`&&!e.enabled||Ee===`paused`&&e.enabled||Ae!==`all`&&e.action.kind!==Ae?!1:Fn?[e.name,Ct(e),St(e,l),xe(e.trigger,l,d,o)].some(e=>e.toLocaleLowerCase().includes(Fn)):!0),[d,Ee,l,o,Fn,In,Ln,Rn,Ae]),Bn=(0,Y.useMemo)(()=>dn.data??[],[dn.data]),Vn=(0,Y.useMemo)(()=>(fn.data?.automations??[]).filter(e=>e.enabled),[fn.data]),Hn=pn.data?.items??[],Un=(0,Y.useMemo)(()=>(mn.data?.items??[]).map(e=>e.task),[mn.data]),Wn=hn.data?.items??[],Gn=(0,Y.useMemo)(()=>Bn.find(e=>e.id===Z.workflowId.trim())??null,[Z.workflowId,Bn]),Kn=(0,Y.useMemo)(()=>Vn.find(e=>e.id===Z.browserAutomationId.trim())??null,[Vn,Z.browserAutomationId]),qn=Z.actionMode===`workflow`&&(!Z.workflowId.trim()||Bn.length>0&&!Bn.some(e=>e.id===Z.workflowId)),Jn=Z.actionMode===`workflow`&&Gn?!Oe(Gn,Z.workflowInput,Z.workflowInputValid).valid:!1,Yn=!!jn?.management?.editable.includes(`trigger`),Xn=[`daily`,`weekly`,`interval`,`cron`].includes(Z.triggerMode)&&(![`daily`,`weekly`].includes(Z.triggerMode)||/^(?:[01]\d|2[0-3]):[0-5]\d$/.test(Z.time))&&(Z.triggerMode!==`interval`||De(Z.intervalValue,Z.intervalUnit)>=6e4)&&(Z.triggerMode!==`cron`||!!Z.cronExpr.trim()),Zn=Yn?Xn:!!Z.name.trim()&&(Z.triggerMode!==`once`||Number.isFinite(new Date(Z.onceAt).getTime())&&(!!jn||new Date(Z.onceAt).getTime()>Date.now()))&&(![`daily`,`weekly`].includes(Z.triggerMode)||/^(?:[01]\d|2[0-3]):[0-5]\d$/.test(Z.time))&&(Z.triggerMode!==`event`||!!Z.eventType.trim()&&Qe(Z.eventPayloadMatch))&&(Z.actionMode===`workflow`?!qn&&!Jn:Z.actionMode===`browser_automation`?Kn!==null&&Ne(Kn,Z.browserAutomationInputs):Z.actionMode===`task_command`?!!(Z.taskId.trim()&&Z.agentId.trim()):!!Z.instruction.trim()),Qn=(0,Y.useMemo)(()=>tt(l),[l]),$n=(0,Y.useMemo)(()=>Sn.filter(e=>ct(e,En)),[Sn,En]),er=(0,Y.useMemo)(()=>In.filter(e=>ct(e,Ln)),[In,Ln]),tr=$n.some(e=>{let t=st(e,En);return t!==null&&$[e.id]!==t}),nr=Ln.filter(bt).length,rr=In.filter(e=>e.enabled&&e.state.nextRunAtMs).sort((e,t)=>(e.state.nextRunAtMs??1/0)-(t.state.nextRunAtMs??1/0))[0],ir=(0,Y.useMemo)(()=>({all:In.length,agent:In.filter(e=>e.action.kind===`agent`).length,workflow:In.filter(e=>e.action.kind===`workflow`).length,task_command:In.filter(e=>e.action.kind===`task_command`).length,browser_automation:In.filter(e=>e.action.kind===`browser_automation`).length}),[In]),ar=Number(Ee!==`all`)+Number(Ae!==`all`),or=(0,Y.useCallback)(()=>{rn(e=>{let t={...e};for(let e of $n){let n=st(e,En);n&&(t[e.id]=n)}try{window.localStorage.setItem(lt,JSON.stringify(t))}catch{}return t})},[$n,En]);(0,Y.useEffect)(()=>{if(!_n){if(zn.length===0){_t(null);return}if(se&&zn.some(e=>e.id===se)){_t(se);return}gt&&zn.some(e=>e.id===gt)||_t(zn[0].id)}},[se,zn,_n,gt]);let sr=(0,Y.useCallback)(async()=>{await Promise.all([an.mutate(),on.mutate(),sn.mutate(),cn.mutate(),ln.mutate(),un.mutate()])},[an.mutate,sn.mutate,cn.mutate,un.mutate,on.mutate,ln.mutate]),cr=(0,Y.useCallback)(e=>{if(be){_t(null),pt(null);return}z(t=>{let n=new URLSearchParams(t);return e?n.set(`projectId`,e):n.delete(`projectId`),n.delete(`automation`),n.delete(`run`),n}),_t(null),pt(null)},[be,z]);(0,Y.useEffect)(()=>{be&&(Ft(q),nt(e=>e.projectId===q?e:{...e,projectId:q}))},[q,be]);let lr=(0,Y.useCallback)(e=>{if(Ye(null),Ze(!1),dt(null),Ke(e),He(!0),e===`blank`){nt({...Ge,projectId:q});return}yt(``),wt(null),Nt(!1),Ft(q),Bt(`new_session`),Ht(`attention`)},[q]),ur=(0,Y.useCallback)(()=>{v(at(l.createWithAssistantPrompt,q))},[l.createWithAssistantPrompt,v,q]),dr=e=>{Be(e),nt({...e.form,projectId:q}),Ye(null),Ze(!1),dt(null),Ke(`quick`),He(!0)},fr=(0,Y.useCallback)(e=>{nt($e(e,Bn)),Ye(e.id),Ze(!1),_t(null),Ke(`blank`),He(!0)},[Bn]),pr=(0,Y.useCallback)(()=>{xt&&(nt({...$e(xt.automation,Bn),projectId:Pt,conversationMode:zt,notificationPolicy:Vt}),Ye(null),Ze(!0),Ke(`blank`))},[xt,zt,Vt,Pt,Bn]),mr=(0,Y.useCallback)(async()=>{en(!0),dt(null);try{await sr()}catch(e){dt(e instanceof Error?e.message:String(e))}finally{en(!1)}},[l.feedback.actionFailed,sr]);(0,Y.useEffect)(()=>{let e=wn.find(e=>e.id===se);!e||!We(e)||J===`system`||z(e=>{let t=new URLSearchParams(e);return t.set(`ownership`,`system`),t},{replace:!0})},[se,wn,J,z]),(0,Y.useEffect)(()=>{W===`create`&&(lr(`blank`),fe&&nt(e=>({...e,actionMode:`task_command`,taskId:fe,safetyMode:`auto_apply`})),z(e=>{let t=new URLSearchParams(e);return t.delete(`action`),t.delete(`taskId`),t},{replace:!0}))},[W,lr,z,fe]),(0,Y.useEffect)(()=>{if(!H)return;let e=`${o}:${Ce?`auto`:`seed`}:${H}`;we.current!==e&&(we.current=e,yt(H),wt(null),Nt(!1),Ft(q),Ke(`draft`),He(!0),z(e=>{let t=new URLSearchParams(e);return t.delete(`draft`),t.delete(`autogenerate`),t},{replace:!0}),Ce&&(dt(null),Ot(!0),K.draft({prompt:H,language:o}).then(e=>{wt(e.draft),Nt(!1)}).catch(e=>{dt(e instanceof Error?e.message:String(e))}).finally(()=>{Ot(!1)})))},[Ce,H,o,q,z]);let hr=(0,Y.useCallback)(e=>{let t=bn.find(t=>t.id===e)??ln.data?.runs.find(t=>t.id===e);if(!t||bt(t)||t.readAtMs!=null)return;let n=Date.now();on.mutate(t=>t&&{...t,runs:t.runs.map(t=>t.id===e?{...t,readAtMs:n}:t)},!1),ln.mutate(t=>t&&{...t,runs:t.runs.map(t=>t.id===e?{...t,readAtMs:n}:t)},!1),K.markRunRead(e).catch(e=>{dt(e instanceof Error?e.message:String(e)),on.mutate(),ln.mutate()})},[bn,on.mutate,ln.data,ln.mutate]),gr=(0,Y.useCallback)(e=>{hr(e),pt(e),ht(!0),z(t=>{let n=new URLSearchParams(t);return n.set(`run`,e),n},{replace:!0})},[hr,z]),_r=(0,Y.useCallback)(e=>{_t(e);let t=ot(e,On);z(t=>{let n=new URLSearchParams(t);return n.set(`automation`,e),n},{replace:!0}),t&&t.readAtMs==null&&!bt(t)&&hr(t.id)},[On,hr,z]),vr=(0,Y.useCallback)(()=>{if(!rr)return;_t(rr.id);let e=ot(rr.id,On);z(e=>{let t=new URLSearchParams(e);return t.delete(`status`),t.delete(`source`),t.delete(`q`),t.set(`automation`,rr.id),t},{replace:!0}),e&&e.readAtMs==null&&!bt(e)&&hr(e.id)},[On,hr,rr,z]);(0,Y.useEffect)(()=>{oe&&(hr(oe),pt(oe),ht(!0))},[hr,oe]),(0,Y.useEffect)(()=>{Kt(null),Xt(!1)},[ft]);async function yr(){if(dt(null),Z.triggerMode===`once`&&!jn&&new Date(Z.onceAt).getTime()<=Date.now()){dt(l.experience.futureTime);return}if(!(!Zn||tn)&&!(Ue===`quick`&&ze?.requiresProject&&!Z.projectId)){if(Xe&&xt){nn(`draft:edit`);try{let e=qe(Z,Gn),{simulation:t}=await K.simulate(e);wt({...xt,automation:e,simulation:t}),Ft(Z.projectId),Bt(Z.conversationMode),Ht(Z.notificationPolicy),Nt(!1),Ze(!1),Ke(`draft`)}catch(e){dt(e instanceof Error?e.message:String(e))}finally{nn(null)}return}if(jn){let e=jn.id;await br(`automation:${e}:edit`,()=>K.update(e,Yn?{trigger:et(jn,{...Z,instruction:`managed`},null).trigger}:et(jn,Z,Gn)))&&(He(!1),Ye(null),_t(e));return}nn(`automation:create`);try{let e=qe(Z,Gn),{automation:t}=await K.create(e);nt(Ge),He(!1),z(e=>{let n=new URLSearchParams(e);return n.delete(`status`),n.delete(`q`),n.delete(`run`),n.set(`automation`,t.id),be||(t.projectId?n.set(`projectId`,t.projectId):n.delete(`projectId`)),n}),await sr(),_t(t.id)}catch(e){dt(e instanceof Error?e.message:String(e))}finally{nn(null)}}}async function br(e,t){dt(null),nn(e);try{return await t(),await sr(),!0}catch(e){return dt(e instanceof Error?e.message:String(e)),!1}finally{nn(null)}}async function xr(){await br(`runs:read-all`,()=>K.markAllRunsRead(q||void 0))}async function Sr(){let e=vt.trim();if(e){dt(null),Ot(!0);try{wt((await K.draft({prompt:e,language:o})).draft),Nt(!1)}catch(e){dt(e instanceof Error?e.message:String(e))}finally{Ot(!1)}}}async function Cr(){if(!xt)return;let e=``,t=``;await br(`draft:publish`,async()=>{let{automation:n}=await K.create({...xt.automation,...Pt?{projectId:Pt}:{projectId:void 0},conversationMode:zt,delivery:{...xt.automation.delivery,notificationPolicy:Vt}});wt(null),yt(``),Nt(!1),He(!1),Pe(`all`),Ie(``),e=n.id,t=n.projectId??``})&&e&&(cr(t),_t(e))}async function wr(){if(!xt)return;let e=``,t=``,n=``;await br(`draft:test`,async()=>{let{automation:r}=await K.create({...xt.automation,...Pt?{projectId:Pt}:{projectId:void 0},conversationMode:zt,delivery:{...xt.automation.delivery,notificationPolicy:Vt},enabled:!1}),{run:i}=await K.runNow(r.id);e=r.id,t=r.projectId??``,n=i.id,wt(null),yt(``),Nt(!1),He(!1),Pe(`all`),Ie(``)})&&e&&n&&(cr(t),_t(e),gr(n))}async function Tr(e){dt(null),Jt(!0),Kt(null),Xt(!1);try{Kt((await K.repairDraft(e.id,{language:o})).repair)}catch(e){dt(e instanceof Error?e.message:String(e))}finally{Jt(!1)}}async function Er(e){Gt&&await br(`run:${e.id}:repair`,async()=>{await K.update(e.automationId,Gt.patch),Kt(null),Xt(!1)})}let Dr=(0,Y.useMemo)(()=>(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(ee,{className:`size-9 shrink-0 p-0`,loading:Zt,label:l.refresh,onClick:mr}),(0,X.jsxs)(`div`,{className:`inline-flex h-9 shrink-0`,role:`group`,"aria-label":l.createOptions,children:[(0,X.jsxs)(N,{variant:`primary`,className:`h-9 rounded-r-none pr-2.5`,onClick:ur,children:[(0,X.jsx)(b,{className:`size-4`,"aria-hidden":!0}),l.create]}),(0,X.jsxs)(G,{children:[(0,X.jsx)(ve,{asChild:!0,children:(0,X.jsx)(N,{variant:`primary`,className:`h-9 w-9 rounded-l-none border-l border-white/20 px-0`,"aria-label":l.createOptions,title:l.createOptions,children:(0,X.jsx)(ie,{className:`size-4`,"aria-hidden":!0})})}),(0,X.jsx)(he,{children:(0,X.jsxs)(ge,{align:`end`,sideOffset:6,className:`z-70 min-w-52 rounded-xl border border-edge bg-surface-panel p-1 shadow-popover`,children:[(0,X.jsxs)(_e,{className:`touch-target flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-fg outline-none data-[highlighted]:bg-surface-hover`,onSelect:ur,children:[(0,X.jsx)(re,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),l.createWithAssistant]}),(0,X.jsxs)(_e,{className:`touch-target flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-fg outline-none data-[highlighted]:bg-surface-hover`,onSelect:()=>lr(`blank`),children:[(0,X.jsx)(y,{className:`size-4 text-fg-muted`,"aria-hidden":!0}),l.setUpManually]})]})})]})]})]}),[l.create,l.createOptions,l.createWithAssistant,l.refresh,l.setUpManually,ur,lr,Zt,mr]);return(0,Y.useLayoutEffect)(()=>{if(!t)return m({startExtra:null,main:(0,X.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:u}),end:Dr}),()=>_()},[_,t,Dr,u,m]),(0,X.jsxs)(`div`,{className:w(`flex min-h-0 min-w-0 flex-1 flex-col`,t?`bg-transparent`:`bg-surface-panel`),children:[(0,X.jsxs)(`div`,{className:w(`flex w-full flex-col gap-4`,t?`py-1`:`mx-auto max-w-[96rem] px-4 pb-7 pt-3 sm:px-6 lg:px-8 lg:pb-9 lg:pt-4`),children:[t?(0,X.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3 rounded-xl border border-edge-subtle bg-surface-base px-4 py-3 shadow-surface`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(V,{className:`size-4 text-accent-fg`,"aria-hidden":!0}),(0,X.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:n||l.title})]}),(0,X.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:r||l.subtitle})]}),Dr]}):null,it||an.error||on.error||sn.error||cn.error?(0,X.jsx)(`div`,{role:`alert`,className:`rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:it||l.feedback.actionFailed}):null,ae?gn?(0,X.jsx)(Et,{}):(0,X.jsx)(Lt,{runs:Ln,ownership:J,labels:l,language:o,unreadCount:J===`user`?Pn.length:0,loading:_n||Zt,onOwnershipChange:Fe,onRefresh:mr,onSelectRun:gr}):(0,X.jsxs)(X.Fragment,{children:[gn?null:(0,X.jsxs)(`section`,{"aria-labelledby":`automation-overview-title`,children:[(0,X.jsx)(`h2`,{id:`automation-overview-title`,className:`sr-only`,children:l.overview.title}),(0,X.jsxs)(`div`,{className:`grid grid-cols-2 gap-px overflow-hidden rounded-xl border border-edge-subtle bg-edge-subtle xl:grid-cols-4`,children:[(0,X.jsx)(It,{icon:(0,X.jsx)(V,{className:`size-4`,"aria-hidden":!0}),label:l.metrics.enabled,value:String(In.filter(e=>e.enabled).length),active:Ee===`active`,onClick:()=>Pe(`active`)}),(0,X.jsx)(It,{icon:(0,X.jsx)(s,{className:`size-4`,"aria-hidden":!0}),label:l.metrics.running,value:String(nr),active:Ee===`running`,onClick:()=>Pe(`running`)}),(0,X.jsx)(It,{icon:(0,X.jsx)(h,{className:`size-4`,"aria-hidden":!0}),label:l.dashboard.needsAttention,value:String(er.length),tone:er.length>0?`danger`:`default`,active:Ee===`attention`,onClick:()=>Pe(`attention`)}),(0,X.jsx)(It,{icon:(0,X.jsx)(ce,{className:`size-4`,"aria-hidden":!0}),label:l.metrics.next,value:rr?Se(rr.state.nextRunAtMs,o):`—`,onClick:rr?vr:void 0})]})]}),!gn&&tr&&J===`user`?(0,X.jsxs)(`div`,{className:`flex items-center rounded-lg border border-red-500/20 bg-red-500/5`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>Pe(`attention`),className:`flex min-w-0 flex-1 items-center gap-3 rounded-l-lg px-4 py-3 text-left focus-visible:ring-2 focus-visible:ring-accent`,children:[(0,X.jsx)(h,{className:`size-4 shrink-0 text-red-700 dark:text-red-300`,"aria-hidden":!0}),(0,X.jsxs)(`span`,{className:`min-w-0 text-sm text-fg`,children:[(0,X.jsxs)(`span`,{className:`font-medium`,children:[l.experience.executionIssues,` · `,$n.length]}),(0,X.jsx)(`span`,{className:`ml-2 text-fg-muted`,children:l.experience.issuesDescription})]})]}),(0,X.jsx)(`button`,{type:`button`,onClick:or,className:`mr-2 rounded-md p-2 text-fg-muted hover:bg-red-500/10 hover:text-fg focus-visible:ring-2 focus-visible:ring-accent`,"aria-label":l.close,title:l.close,children:(0,X.jsx)(S,{className:`size-4`,"aria-hidden":!0})})]}):null,gn?(0,X.jsx)(Et,{}):(0,X.jsxs)(`section`,{className:`grid min-h-0 items-start gap-4 xl:grid-cols-[minmax(18rem,0.8fr)_minmax(0,1.5fr)]`,"aria-busy":_n,children:[(0,X.jsxs)(`aside`,{className:`flex max-h-[42rem] flex-col overflow-hidden rounded-xl border border-edge-subtle bg-surface-base shadow-surface xl:sticky xl:top-20 xl:max-h-[calc(100vh-7rem)]`,children:[(0,X.jsxs)(`div`,{className:`shrink-0 border-b border-edge-subtle p-3`,children:[be?null:(0,X.jsxs)(f,{"aria-label":l.filters.project,className:Q,value:q,onChange:e=>cr(e.target.value),children:[(0,X.jsx)(p,{value:``,children:l.filters.allProjects}),Wn.map(e=>(0,X.jsx)(p,{value:e.id,children:e.name},e.id))]}),(0,X.jsxs)(`div`,{className:w(`flex items-center gap-2`,!be&&`mt-2`),children:[(0,X.jsxs)(`label`,{className:`flex min-w-0 flex-1 items-center gap-2 rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg-muted focus-within:border-accent`,children:[(0,X.jsx)(x,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,X.jsx)(`input`,{className:`min-w-0 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-subtle`,value:je,onChange:e=>Ie(e.target.value),placeholder:l.filters.search,"aria-label":l.filters.search})]}),(0,X.jsxs)(L,{children:[(0,X.jsx)(R,{asChild:!0,children:(0,X.jsxs)(`button`,{type:`button`,className:w(`inline-flex h-10 shrink-0 items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-3 text-sm font-medium text-fg-muted transition-colors hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,ar>0&&`border-accent/40 bg-accent/8 text-accent-fg`),"aria-label":l.filters.more,children:[(0,X.jsx)(U,{className:`size-4`,"aria-hidden":!0}),(0,X.jsx)(`span`,{children:l.filters.more}),ar>0?(0,X.jsx)(`span`,{className:`inline-flex min-w-5 items-center justify-center rounded-full bg-accent px-1.5 text-[11px] leading-5 text-on-accent`,children:ar}):null]})}),(0,X.jsx)(P,{children:(0,X.jsxs)(I,{align:`end`,sideOffset:6,className:`z-[90] w-[min(22rem,calc(100vw-2rem))] rounded-xl border border-edge bg-surface-overlay p-3 shadow-popover outline-none`,children:[(0,X.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:l.filters.status}),(0,X.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1`,role:`group`,"aria-label":l.filters.status,children:[{id:`all`,label:l.filters.all},{id:`active`,label:l.filters.active},{id:`running`,label:l.metrics.running},{id:`paused`,label:l.paused},{id:`attention`,label:l.experience.executionIssues}].map(e=>(0,X.jsx)(`button`,{type:`button`,className:w(`rounded-md px-2.5 py-1.5 text-xs font-medium text-fg-muted hover:bg-surface-hover hover:text-fg`,Ee===e.id&&`bg-surface-active text-fg`),onClick:()=>Pe(e.id),"aria-pressed":Ee===e.id,children:e.label},e.id))}),(0,X.jsxs)(`div`,{className:`mt-3 border-t border-edge-subtle pt-3`,children:[(0,X.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:l.filters.executor}),(0,X.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1`,role:`group`,"aria-label":l.filters.executor,children:[{id:`all`,label:l.filters.allSources,icon:V},{id:`agent`,label:l.sources.agent,icon:ue},{id:`workflow`,label:l.sources.workflow,icon:me},{id:`task_command`,label:l.sources.task,icon:g},{id:`browser_automation`,label:l.sources.browser,icon:ne}].map(e=>(0,X.jsxs)(`button`,{type:`button`,className:w(`flex min-h-8 items-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-xs text-fg-muted hover:bg-surface-hover hover:text-fg`,Ae===e.id&&`border-edge bg-surface-active text-fg`),onClick:()=>Le(e.id),"aria-pressed":Ae===e.id,children:[(0,X.jsx)(e.icon,{className:`size-3.5`,"aria-hidden":!0}),(0,X.jsx)(`span`,{children:e.label}),(0,X.jsx)(`span`,{className:`text-fg-subtle`,children:ir[e.id]})]},e.id))})]}),ar>0?(0,X.jsx)(`div`,{className:`mt-3 flex justify-end border-t border-edge-subtle pt-3`,children:(0,X.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent-fg hover:underline`,onClick:Re,children:l.filters.clear})}):null]})})]})]}),(0,X.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-3`,children:[(0,X.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:l.filters.ownership}),(0,X.jsxs)(`div`,{className:`flex rounded-lg bg-surface-panel p-0.5`,role:`group`,"aria-label":l.filters.ownership,children:[(0,X.jsxs)(`button`,{type:`button`,className:w(`rounded-md px-2.5 py-1.5 text-xs font-medium text-fg-muted hover:text-fg`,J===`user`&&`bg-surface-base text-fg shadow-sm`),onClick:()=>Fe(`user`),"aria-pressed":J===`user`,children:[l.filters.userManaged,` · `,Sn.length]}),(0,X.jsxs)(`button`,{type:`button`,className:w(`rounded-md px-2.5 py-1.5 text-xs font-medium text-fg-muted hover:text-fg`,J===`system`&&`bg-surface-base text-fg shadow-sm`),onClick:()=>Fe(`system`),"aria-pressed":J===`system`,children:[l.system.title,` · `,Cn.length]})]})]}),Pn.length>0&&J===`user`?(0,X.jsxs)(`div`,{className:`mt-2 flex items-center justify-between gap-2 rounded-md bg-accent/8 px-2.5 py-1.5 text-xs text-accent-fg`,children:[(0,X.jsxs)(`span`,{children:[l.filters.unread,` · `,Pn.length]}),(0,X.jsx)(`button`,{type:`button`,className:`font-medium hover:underline`,disabled:tn===`runs:read-all`,onClick:()=>void xr(),children:l.filters.markAllRead})]}):null,(0,X.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-3 text-xs text-fg-muted`,children:[(0,X.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[_n?(0,X.jsx)(de,{className:`size-3 animate-spin`,"aria-hidden":!0}):null,_n?l.loading:l.filters.results.replace(`{count}`,String(zn.length))]}),Ee!==`all`||Ae!==`all`||Fn?(0,X.jsx)(`button`,{type:`button`,className:`font-medium text-accent-fg hover:underline`,onClick:Re,children:l.filters.clear}):null]})]}),(0,X.jsx)(Rt,{automations:zn,runs:Ln,labels:l,cronLabels:d,language:o,selectedAutomationId:gt,onOpenDetails:_r})]}),An?(0,X.jsx)(Wt,{automation:An,runs:Mn,runsLoading:ln.isLoading,runsError:ln.error?l.feedback.actionFailed:void 0,labels:l,cronLabels:d,language:o,projects:Wn,busyAction:tn,onEdit:fr,onSelectRun:gr,onAction:br},An.id):(0,X.jsx)(`div`,{className:`min-h-[28rem] overflow-hidden rounded-xl border border-edge-subtle bg-surface-base shadow-surface`,children:J===`user`&&In.length===0?(0,X.jsxs)(`div`,{className:`p-5`,children:[(0,X.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:l.experience.scenes}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:l.experience.scenesDescription}),(0,X.jsx)(At,{templates:Qn,labels:l,onSelect:dr}),(0,X.jsx)(N,{className:`mt-4`,variant:`ghost`,onClick:()=>lr(`draft`),children:l.experience.custom})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Qt,{className:`min-h-56 rounded-none border-0 shadow-none`,icon:(0,X.jsx)(V,{className:`size-5`}),title:In.length===0?l.empty.automations:l.empty.filtered}),In.length>0?(0,X.jsx)(`div`,{className:`flex justify-center border-t border-edge-subtle p-4`,children:(0,X.jsx)(N,{variant:`ghost`,onClick:Re,children:l.filters.clear})}):null]})})]}),!gn&&Sn.length>0?(0,X.jsx)(`div`,{children:(0,X.jsxs)(N,{variant:`ghost`,onClick:()=>lr(`draft`),children:[(0,X.jsx)(b,{className:`size-4`,"aria-hidden":!0}),l.experience.discover]})}):null]})]}),(0,X.jsx)(j,{open:Ve,onOpenChange:e=>{He(e),e||(Ye(null),Ze(!1))},children:(0,X.jsxs)(O,{children:[(0,X.jsx)(E,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,X.jsxs)(k,{className:`xopc-dialog-content fixed left-1/2 top-1/2 z-66 flex h-[min(760px,calc(100vh-2rem))] w-[min(100%-2rem,48rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-overlay shadow-popover outline-none`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-edge px-5 py-4`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(A,{className:`text-base font-semibold text-fg`,children:Ue===`draft`?l.draft.title:jn?l.editTitle:Xe?l.draft.editTitle:l.createTitle}),(0,X.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:Ue===`draft`?l.draft.subtitle:l.form.createFlowHint})]}),(0,X.jsx)(D,{asChild:!0,children:(0,X.jsx)(N,{variant:`ghost`,"aria-label":l.close,children:(0,X.jsx)(S,{className:`size-4`})})})]}),it?(0,X.jsx)(`p`,{role:`alert`,className:`px-5 py-2 text-sm text-red-700 dark:text-red-300`,children:it}):null,Ue===`draft`?(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:(0,X.jsx)(Mt,{labels:l,prompt:vt,draft:xt,loading:Dt,approved:kt,publishBusy:tn===`draft:publish`,testBusy:tn===`draft:test`,templates:Qn,projects:Wn,projectId:Pt,conversationMode:zt,notificationPolicy:Vt,onPromptChange:yt,onGenerate:Sr,onEdit:pr,onPublish:Cr,onTest:wr,onProjectChange:Ft,onConversationModeChange:Bt,onNotificationPolicyChange:Ht,projectLocked:be,onApprovedChange:Nt,onDiscard:()=>{wt(null),Nt(!1)},onTemplateSelect:e=>{dr(e),nt({...e.form,projectId:Pt})},onOpenAdvanced:()=>{nt({...Ge,projectId:Pt,conversationMode:zt,notificationPolicy:Vt}),Ke(`blank`)}})}):(0,X.jsxs)(X.Fragment,{children:[Yn?(0,X.jsx)(jt,{form:Z,setForm:nt,labels:l}):Ue===`quick`&&ze?(0,X.jsx)(rt,{form:Z,setForm:nt,labels:l,projects:Wn,projectLocked:be,source:ze.source,requiresProject:ze.requiresProject}):(0,X.jsx)($t,{form:Z,labels:l,setForm:nt,projects:Wn,workflowDefinitions:Bn,selectedWorkflow:Gn,workflowsLoading:dn.isLoading,browserAutomations:Vn,selectedBrowserAutomation:Kn,browserAutomationsLoading:fn.isLoading,agentOptions:Hn,agentsLoading:pn.isLoading,defaultAgentId:pn.data?.defaultId??``,taskOptions:Un,tasksLoading:mn.isLoading,language:o,projectLocked:be}),(0,X.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2 border-t border-edge px-5 py-4`,children:[Ue===`quick`?(0,X.jsx)(N,{variant:`ghost`,onClick:()=>Ke(`blank`),children:l.draft.advancedCreate}):null,Xe?(0,X.jsx)(N,{variant:`ghost`,onClick:()=>{Ze(!1),Ke(`draft`)},children:l.cancel}):(0,X.jsx)(D,{asChild:!0,children:(0,X.jsx)(N,{variant:`ghost`,children:l.cancel})}),(0,X.jsx)(N,{variant:`primary`,onClick:yr,disabled:!Zn||!!tn||Ue===`quick`&&!!ze?.requiresProject&&!Z.projectId,children:tn===`automation:create`||tn===`draft:edit`||jn&&tn===`automation:${jn.id}:edit`?l.feedback.working:jn||Xe?l.save:l.experience.createEnabled})]})]})]})]})}),(0,X.jsx)(j,{open:mt&&!!kn,onOpenChange:e=>{ht(e),!e&&z(e=>{let t=new URLSearchParams(e);return t.delete(`run`),t},{replace:!0})},children:(0,X.jsxs)(O,{children:[(0,X.jsx)(E,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,X.jsxs)(k,{className:`xopc-dialog-content fixed left-1/2 top-1/2 z-66 flex h-[min(85vh,40rem)] w-[min(100%-2rem,32rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-overlay shadow-popover outline-none`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-edge px-4 py-3`,children:[(0,X.jsx)(A,{className:`truncate text-base font-semibold text-fg`,children:kn?.automationName??l.dashboard.result}),(0,X.jsx)(D,{asChild:!0,children:(0,X.jsx)(N,{variant:`ghost`,"aria-label":l.close,children:(0,X.jsx)(S,{className:`size-4`})})})]}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,X.jsx)(Ut,{className:`rounded-none border-0`,run:kn,events:Nn,labels:l,cronLabels:d,language:o,loading:un.isLoading,repairDraft:Gt,repairLoading:qt,repairApproved:Yt,busyAction:tn,onRepairApprovedChange:Xt,onSuggestRepair:Tr,onApplyRepair:Er})})]})]})})]})}function At(e){let t=(0,Ie.c)(9),{templates:n,labels:r,onSelect:i}=e,a;if(t[0]!==r||t[1]!==i||t[2]!==n){let e;t[4]!==r||t[5]!==i?(e=e=>(0,X.jsxs)(`button`,{type:`button`,onClick:()=>i(e),className:`rounded-lg border border-edge-subtle bg-surface-panel p-4 text-left hover:bg-surface-hover focus-visible:ring-2 focus-visible:ring-accent`,children:[(0,X.jsx)(ce,{className:`mb-3 size-4 text-accent-fg`,"aria-hidden":!0}),(0,X.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:e.name}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:e.description}),(0,X.jsxs)(`p`,{className:`mt-3 text-xs text-fg-muted`,children:[r.experience.source,`: `,e.source]})]},e.name),t[4]=r,t[5]=i,t[6]=e):e=t[6],a=n.map(e),t[0]=r,t[1]=i,t[2]=n,t[3]=a}else a=t[3];let o;return t[7]===a?o=t[8]:(o=(0,X.jsx)(`div`,{className:`mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-4`,children:a}),t[7]=a,t[8]=o),o}function jt(e){let t=(0,Ie.c)(48),{form:n,setForm:r,labels:i}=e,a;t[0]===r?a=t[1]:(a=e=>r(t=>({...t,...e})),t[0]=r,t[1]=a);let o=a,s;t[2]!==i.form.trigger||t[3]!==i.form.triggerStepDescription?(s=(0,X.jsx)(rn,{step:`1`,title:i.form.trigger,description:i.form.triggerStepDescription}),t[2]=i.form.trigger,t[3]=i.form.triggerStepDescription,t[4]=s):s=t[4];let c;t[5]===o?c=t[6]:(c=e=>o({triggerMode:e.target.value}),t[5]=o,t[6]=c);let l;t[7]===i.trigger.daily?l=t[8]:(l=(0,X.jsx)(p,{value:`daily`,children:i.trigger.daily}),t[7]=i.trigger.daily,t[8]=l);let u;t[9]===i.trigger.weekly?u=t[10]:(u=(0,X.jsx)(p,{value:`weekly`,children:i.trigger.weekly}),t[9]=i.trigger.weekly,t[10]=u);let d;t[11]===i.trigger.interval?d=t[12]:(d=(0,X.jsx)(p,{value:`interval`,children:i.trigger.interval}),t[11]=i.trigger.interval,t[12]=d);let m;t[13]===i.trigger.customCron?m=t[14]:(m=(0,X.jsx)(p,{value:`cron`,children:i.trigger.customCron}),t[13]=i.trigger.customCron,t[14]=m);let h;t[15]!==n.triggerMode||t[16]!==c||t[17]!==l||t[18]!==u||t[19]!==d||t[20]!==m?(h=(0,X.jsxs)(f,{className:Q,value:n.triggerMode,onChange:c,children:[l,u,d,m]}),t[15]=n.triggerMode,t[16]=c,t[17]=l,t[18]=u,t[19]=d,t[20]=m,t[21]=h):h=t[21];let g;t[22]!==n.time||t[23]!==n.triggerMode||t[24]!==n.weekday||t[25]!==i.form.day||t[26]!==i.form.time||t[27]!==i.weekdays||t[28]!==o?(g=n.triggerMode===`daily`||n.triggerMode===`weekly`?(0,X.jsxs)(`div`,{className:`mt-4 grid gap-3 sm:grid-cols-2`,children:[(0,X.jsx)($,{label:i.form.time,children:(0,X.jsx)(Ve,{value:n.time,onChange:e=>o({time:e}),ariaLabel:i.form.time})}),n.triggerMode===`weekly`?(0,X.jsx)($,{label:i.form.day,children:(0,X.jsxs)(f,{className:Q,value:n.weekday,onChange:e=>o({weekday:e.target.value}),children:[(0,X.jsx)(p,{value:`1`,children:i.weekdays.monday}),(0,X.jsx)(p,{value:`2`,children:i.weekdays.tuesday}),(0,X.jsx)(p,{value:`3`,children:i.weekdays.wednesday}),(0,X.jsx)(p,{value:`4`,children:i.weekdays.thursday}),(0,X.jsx)(p,{value:`5`,children:i.weekdays.friday}),(0,X.jsx)(p,{value:`6`,children:i.weekdays.saturday}),(0,X.jsx)(p,{value:`0`,children:i.weekdays.sunday})]})}):null]}):null,t[22]=n.time,t[23]=n.triggerMode,t[24]=n.weekday,t[25]=i.form.day,t[26]=i.form.time,t[27]=i.weekdays,t[28]=o,t[29]=g):g=t[29];let _;t[30]!==n.intervalUnit||t[31]!==n.intervalValue||t[32]!==n.triggerMode||t[33]!==i.form.intervalEvery||t[34]!==i.form.intervalUnits||t[35]!==o?(_=n.triggerMode===`interval`?(0,X.jsxs)(`div`,{className:`mt-4 grid gap-3 sm:grid-cols-[minmax(0,1fr)_10rem]`,children:[(0,X.jsx)($,{label:i.form.intervalEvery,children:(0,X.jsx)(`input`,{className:Q,type:`number`,min:`1`,value:n.intervalValue,onChange:e=>o({intervalValue:e.target.value})})}),(0,X.jsx)($,{label:i.form.intervalUnits.minute,children:(0,X.jsxs)(f,{className:Q,value:n.intervalUnit,onChange:e=>o({intervalUnit:e.target.value}),children:[(0,X.jsx)(p,{value:`minute`,children:i.form.intervalUnits.minute}),(0,X.jsx)(p,{value:`hour`,children:i.form.intervalUnits.hour}),(0,X.jsx)(p,{value:`day`,children:i.form.intervalUnits.day}),(0,X.jsx)(p,{value:`week`,children:i.form.intervalUnits.week})]})})]}):null,t[30]=n.intervalUnit,t[31]=n.intervalValue,t[32]=n.triggerMode,t[33]=i.form.intervalEvery,t[34]=i.form.intervalUnits,t[35]=o,t[36]=_):_=t[36];let v;t[37]!==n.cronExpr||t[38]!==n.triggerMode||t[39]!==i.form.expression||t[40]!==o?(v=n.triggerMode===`cron`?(0,X.jsx)(`div`,{className:`mt-4`,children:(0,X.jsx)($,{label:i.form.expression,children:(0,X.jsx)(`input`,{className:Q,value:n.cronExpr,onChange:e=>o({cronExpr:e.target.value})})})}):null,t[37]=n.cronExpr,t[38]=n.triggerMode,t[39]=i.form.expression,t[40]=o,t[41]=v):v=t[41];let y;return t[42]!==_||t[43]!==v||t[44]!==s||t[45]!==h||t[46]!==g?(y=(0,X.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:[s,h,g,_,v]}),t[42]=_,t[43]=v,t[44]=s,t[45]=h,t[46]=g,t[47]=y):y=t[47],y}function Mt(e){let t=(0,Ie.c)(110),{labels:n,prompt:r,draft:i,loading:a,approved:o,publishBusy:s,testBusy:c,templates:l,projects:u,projectId:d,conversationMode:m,notificationPolicy:h,onPromptChange:g,onGenerate:_,onEdit:v,onPublish:b,onTest:x,onProjectChange:S,onConversationModeChange:C,onNotificationPolicyChange:T,onApprovedChange:E,onDiscard:D,onTemplateSelect:O,onOpenAdvanced:k,projectLocked:A}=e,j=s===void 0?!1:s,M=c===void 0?!1:c,P=A===void 0?!1:A,F=!!(i&&i.simulation.requiredConfirmations.length>0),I;t[0]!==i||t[1]!==n.draft.advancedCreate||t[2]!==n.draft.suggestions||t[3]!==n.draft.suggestionsDescription||t[4]!==n.experience||t[5]!==k||t[6]!==O||t[7]!==l?(I=i?null:(0,X.jsxs)(`div`,{className:`mb-5 border-b border-edge-subtle pb-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:n.draft.suggestions}),(0,X.jsx)(`div`,{className:`mt-1 text-xs text-fg-muted`,children:n.draft.suggestionsDescription})]}),(0,X.jsx)(N,{variant:`ghost`,onClick:k,children:n.draft.advancedCreate})]}),(0,X.jsx)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-2`,children:l.map(e=>(0,X.jsxs)(`button`,{type:`button`,className:`focus-visible:ring-2 focus-visible:ring-accent rounded-lg border border-edge-subtle bg-surface-panel p-3 text-left hover:bg-surface-hover`,onClick:()=>O(e),children:[(0,X.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:e.name}),(0,X.jsx)(`div`,{className:`mt-1 line-clamp-2 text-xs text-fg-muted`,children:e.description}),(0,X.jsxs)(`div`,{className:`mt-2 text-xs text-fg-muted`,children:[n.experience.source,`: `,e.source]})]},e.name))})]}),t[0]=i,t[1]=n.draft.advancedCreate,t[2]=n.draft.suggestions,t[3]=n.draft.suggestionsDescription,t[4]=n.experience,t[5]=k,t[6]=O,t[7]=l,t[8]=I):I=t[8];let L;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,X.jsx)(ue,{className:`size-4 text-accent`}),t[9]=L):L=t[9];let R;t[10]===n.draft.title?R=t[11]:(R=(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-semibold text-fg`,children:[L,n.draft.title]}),t[10]=n.draft.title,t[11]=R);let z;t[12]===n.draft.subtitle?z=t[13]:(z=(0,X.jsx)(`div`,{className:`mt-1 text-sm text-fg-muted`,children:n.draft.subtitle}),t[12]=n.draft.subtitle,t[13]=z);let ee;t[14]!==R||t[15]!==z?(ee=(0,X.jsxs)(`div`,{className:`min-w-0`,children:[R,z]}),t[14]=R,t[15]=z,t[16]=ee):ee=t[16];let B;t[17]!==a||t[18]!==r?(B=a||!r.trim(),t[17]=a,t[18]=r,t[19]=B):B=t[19];let te;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,X.jsx)(ue,{className:`size-4`}),t[20]=te):te=t[20];let ne=a?n.draft.generating:n.draft.generate,re;t[21]!==_||t[22]!==ne||t[23]!==B?(re=(0,X.jsxs)(N,{variant:`primary`,onClick:_,disabled:B,children:[te,ne]}),t[21]=_,t[22]=ne,t[23]=B,t[24]=re):re=t[24];let ie;t[25]!==re||t[26]!==ee?(ie=(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[ee,re]}),t[25]=re,t[26]=ee,t[27]=ie):ie=t[27];let ae;t[28]===g?ae=t[29]:(ae=e=>g(e.target.value),t[28]=g,t[29]=ae);let oe;t[30]!==n.draft.placeholder||t[31]!==n.draft.title||t[32]!==r||t[33]!==ae?(oe=(0,X.jsx)(`textarea`,{"aria-label":n.draft.title,className:`mt-4 min-h-20 w-full resize-y rounded-lg border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none focus:border-accent`,value:r,onChange:ae,placeholder:n.draft.placeholder}),t[30]=n.draft.placeholder,t[31]=n.draft.title,t[32]=r,t[33]=ae,t[34]=oe):oe=t[34];let V=P?`sm:grid-cols-2`:`sm:grid-cols-3`,se;t[35]===V?se=t[36]:(se=w(`mt-3 grid gap-3`,V),t[35]=V,t[36]=se);let H;t[37]!==n.draft.noProject||t[38]!==n.draft.project||t[39]!==S||t[40]!==d||t[41]!==P||t[42]!==u?(H=P?null:(0,X.jsx)($,{label:n.draft.project,children:(0,X.jsxs)(f,{className:Q,value:d,onChange:e=>S(e.target.value),children:[(0,X.jsx)(p,{value:``,children:n.draft.noProject}),u.map(Nt)]})}),t[37]=n.draft.noProject,t[38]=n.draft.project,t[39]=S,t[40]=d,t[41]=P,t[42]=u,t[43]=H):H=t[43];let ce;t[44]===C?ce=t[45]:(ce=e=>C(e.target.value),t[44]=C,t[45]=ce);let le;t[46]===n.draft.newConversation?le=t[47]:(le=(0,X.jsx)(p,{value:`new_session`,children:n.draft.newConversation}),t[46]=n.draft.newConversation,t[47]=le);let U;t[48]===n.draft.continuousConversation?U=t[49]:(U=(0,X.jsx)(p,{value:`continuous`,children:n.draft.continuousConversation}),t[48]=n.draft.continuousConversation,t[49]=U);let W;t[50]!==m||t[51]!==ce||t[52]!==le||t[53]!==U?(W=(0,X.jsxs)(f,{className:Q,value:m,onChange:ce,children:[le,U]}),t[50]=m,t[51]=ce,t[52]=le,t[53]=U,t[54]=W):W=t[54];let G;t[55]!==n.draft.conversation||t[56]!==W?(G=(0,X.jsx)($,{label:n.draft.conversation,children:W}),t[55]=n.draft.conversation,t[56]=W,t[57]=G):G=t[57];let de;t[58]===T?de=t[59]:(de=e=>T(e.target.value),t[58]=T,t[59]=de);let fe;t[60]===n.draft.notifyAttention?fe=t[61]:(fe=(0,X.jsx)(p,{value:`attention`,children:n.draft.notifyAttention}),t[60]=n.draft.notifyAttention,t[61]=fe);let me;t[62]===n.draft.notifyAll?me=t[63]:(me=(0,X.jsx)(p,{value:`all`,children:n.draft.notifyAll}),t[62]=n.draft.notifyAll,t[63]=me);let he;t[64]===n.draft.notifyNone?he=t[65]:(he=(0,X.jsx)(p,{value:`none`,children:n.draft.notifyNone}),t[64]=n.draft.notifyNone,t[65]=he);let K;t[66]!==h||t[67]!==de||t[68]!==fe||t[69]!==me||t[70]!==he?(K=(0,X.jsxs)(f,{className:Q,value:h,onChange:de,children:[fe,me,he]}),t[66]=h,t[67]=de,t[68]=fe,t[69]=me,t[70]=he,t[71]=K):K=t[71];let ge;t[72]!==n.draft.notifications||t[73]!==K?(ge=(0,X.jsx)($,{label:n.draft.notifications,children:K}),t[72]=n.draft.notifications,t[73]=K,t[74]=ge):ge=t[74];let _e;t[75]!==se||t[76]!==H||t[77]!==G||t[78]!==ge?(_e=(0,X.jsxs)(`div`,{className:se,children:[H,G,ge]}),t[75]=se,t[76]=H,t[77]=G,t[78]=ge,t[79]=_e):_e=t[79];let ve;t[80]!==o||t[81]!==i||t[82]!==n.draft.approval||t[83]!==n.draft.assumptions||t[84]!==n.draft.discard||t[85]!==n.draft.edit||t[86]!==n.draft.publish||t[87]!==n.draft.review||t[88]!==n.draft.risks||t[89]!==n.draft.safety||t[90]!==n.draft.testOnce||t[91]!==n.draft.testing||t[92]!==n.feedback||t[93]!==n.info||t[94]!==n.none||t[95]!==E||t[96]!==D||t[97]!==v||t[98]!==b||t[99]!==x||t[100]!==j||t[101]!==F||t[102]!==M?(ve=i?(0,X.jsxs)(`div`,{className:`mt-4 grid gap-3 rounded-lg bg-surface-base p-4 lg:grid-cols-[1fr_1fr]`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:i.automation.name}),i.automation.description?(0,X.jsx)(`div`,{className:`mt-1 text-sm text-fg-muted`,children:i.automation.description}):null,(0,X.jsxs)(`div`,{className:`mt-3 grid gap-2 text-sm`,children:[(0,X.jsx)(Zt,{label:n.info.when,value:i.simulation.triggerSummary}),(0,X.jsx)(Zt,{label:n.info.run,value:i.simulation.actionSummary})]})]}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`div`,{className:`text-xs font-semibold uppercase text-fg-muted`,children:n.draft.review}),(0,X.jsx)(Pt,{title:n.draft.safety,items:[...i.simulation.safetyNotes,...i.simulation.requiredConfirmations],empty:n.none}),(0,X.jsx)(Pt,{title:n.draft.assumptions,items:i.assumptions,empty:n.none}),(0,X.jsx)(Pt,{title:n.draft.risks,items:i.risks,empty:n.none}),F?(0,X.jsxs)(`label`,{className:`mt-4 flex items-start gap-2 text-sm text-fg`,children:[(0,X.jsx)(`input`,{className:`mt-1`,type:`checkbox`,checked:o,onChange:e=>E(e.target.checked)}),(0,X.jsx)(`span`,{children:n.draft.approval})]}):null,(0,X.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[(0,X.jsx)(N,{variant:`ghost`,onClick:D,children:n.draft.discard}),(0,X.jsxs)(N,{variant:`secondary`,onClick:v,children:[(0,X.jsx)(y,{className:`size-4`}),n.draft.edit]}),(0,X.jsxs)(N,{variant:`secondary`,onClick:x,disabled:M||j||F&&!o,children:[(0,X.jsx)(pe,{className:`size-4`}),M?n.draft.testing:n.draft.testOnce]}),(0,X.jsx)(N,{variant:`primary`,onClick:b,disabled:j||F&&!o,children:j?n.feedback.working:n.draft.publish})]})]})]}):null,t[80]=o,t[81]=i,t[82]=n.draft.approval,t[83]=n.draft.assumptions,t[84]=n.draft.discard,t[85]=n.draft.edit,t[86]=n.draft.publish,t[87]=n.draft.review,t[88]=n.draft.risks,t[89]=n.draft.safety,t[90]=n.draft.testOnce,t[91]=n.draft.testing,t[92]=n.feedback,t[93]=n.info,t[94]=n.none,t[95]=E,t[96]=D,t[97]=v,t[98]=b,t[99]=x,t[100]=j,t[101]=F,t[102]=M,t[103]=ve):ve=t[103];let ye;return t[104]!==ie||t[105]!==oe||t[106]!==_e||t[107]!==ve||t[108]!==I?(ye=(0,X.jsxs)(`section`,{className:`rounded-lg border border-edge-subtle bg-surface-base p-4 shadow-surface`,children:[I,ie,oe,_e,ve]}),t[104]=ie,t[105]=oe,t[106]=_e,t[107]=ve,t[108]=I,t[109]=ye):ye=t[109],ye}function Nt(e){return(0,X.jsx)(p,{value:e.id,children:e.name},e.id)}function Pt(e){let t=(0,Ie.c)(10),{title:n,items:r,empty:i}=e,a;t[0]===n?a=t[1]:(a=(0,X.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:n}),t[0]=n,t[1]=a);let o;t[2]!==i||t[3]!==r?(o=r.length>0?r.map(Ft):(0,X.jsx)(`li`,{className:`text-fg-muted`,children:i}),t[2]=i,t[3]=r,t[4]=o):o=t[4];let s;t[5]===o?s=t[6]:(s=(0,X.jsx)(`ul`,{className:`mt-1 space-y-1 text-sm text-fg`,children:o}),t[5]=o,t[6]=s);let c;return t[7]!==a||t[8]!==s?(c=(0,X.jsxs)(`div`,{className:`mt-3`,children:[a,s]}),t[7]=a,t[8]=s,t[9]=c):c=t[9],c}function Ft(e){return(0,X.jsxs)(`li`,{children:[`- `,e]},e)}function It(e){let t=(0,Ie.c)(25),{icon:n,label:r,value:i,tone:a,active:o,onClick:s}=e,c=a===void 0?`default`:a,l=c===`danger`?`text-red-600 dark:text-red-300`:`text-fg-subtle`,u;t[0]===l?u=t[1]:(u=w(`shrink-0`,l),t[0]=l,t[1]=u);let d;t[2]!==n||t[3]!==u?(d=(0,X.jsx)(`span`,{className:u,children:n}),t[2]=n,t[3]=u,t[4]=d):d=t[4];let f;t[5]===r?f=t[6]:(f=(0,X.jsx)(`span`,{className:`truncate text-xs font-medium text-fg-muted`,children:r}),t[5]=r,t[6]=f);let p=c===`danger`?`text-red-700 dark:text-red-300`:`text-fg`,m;t[7]===p?m=t[8]:(m=w(`ml-auto truncate text-sm font-semibold tabular-nums`,p),t[7]=p,t[8]=m);let h;t[9]!==m||t[10]!==i?(h=(0,X.jsx)(`span`,{className:m,children:i}),t[9]=m,t[10]=i,t[11]=h):h=t[11];let g;t[12]!==d||t[13]!==f||t[14]!==h?(g=(0,X.jsxs)(X.Fragment,{children:[d,f,h]}),t[12]=d,t[13]=f,t[14]=h,t[15]=g):g=t[15];let _=g,v=o&&`bg-accent/8`,y=s&&`cursor-pointer hover:bg-surface-hover focus-visible:z-10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent`,b;t[16]!==v||t[17]!==y?(b=w(`flex min-h-12 min-w-0 items-center gap-2.5 bg-surface-base px-3 py-2.5 text-left transition-colors`,v,y),t[16]=v,t[17]=y,t[18]=b):b=t[18];let x=b,S=`${r}: ${i}`,C;return t[19]!==S||t[20]!==o||t[21]!==x||t[22]!==_||t[23]!==s?(C=s?(0,X.jsx)(`button`,{type:`button`,className:x,onClick:s,"aria-label":S,"aria-pressed":o,children:_}):(0,X.jsx)(`div`,{className:x,"aria-label":S,children:_}),t[19]=S,t[20]=o,t[21]=x,t[22]=_,t[23]=s,t[24]=C):C=t[24],C}function Lt(e){let t=(0,Ie.c)(74),{runs:n,ownership:r,labels:i,language:a,unreadCount:o,loading:c,onOwnershipChange:l,onRefresh:u,onSelectRun:d}=e,f;t[0]===n?f=t[1]:(f=n.filter(bt),t[0]=n,t[1]=f);let p=f.length,m;t[2]===n?m=t[3]:(m=n.filter(xt),t[2]=n,t[3]=m);let _=m.length,v;t[4]===i.dashboard.activity?v=t[5]:(v=(0,X.jsx)(`h2`,{id:`automation-activity-title`,className:`text-sm font-semibold text-fg`,children:i.dashboard.activity}),t[4]=i.dashboard.activity,t[5]=v);let y;t[6]===i.dashboard.activityDescription?y=t[7]:(y=(0,X.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:i.dashboard.activityDescription}),t[6]=i.dashboard.activityDescription,t[7]=y);let b;t[8]!==v||t[9]!==y?(b=(0,X.jsxs)(`div`,{className:`min-w-0`,children:[v,y]}),t[8]=v,t[9]=y,t[10]=b):b=t[10];let x=i.filters.ownership,S=r===`user`&&`bg-surface-base text-fg shadow-sm`,C;t[11]===S?C=t[12]:(C=w(`rounded-md px-2.5 py-1.5 text-xs font-medium text-fg-muted hover:text-fg`,S),t[11]=S,t[12]=C);let T;t[13]===l?T=t[14]:(T=()=>l(`user`),t[13]=l,t[14]=T);let E=r===`user`,D;t[15]!==i.filters.userManaged||t[16]!==E||t[17]!==C||t[18]!==T?(D=(0,X.jsx)(`button`,{type:`button`,className:C,onClick:T,"aria-pressed":E,children:i.filters.userManaged}),t[15]=i.filters.userManaged,t[16]=E,t[17]=C,t[18]=T,t[19]=D):D=t[19];let O=r===`system`&&`bg-surface-base text-fg shadow-sm`,k;t[20]===O?k=t[21]:(k=w(`rounded-md px-2.5 py-1.5 text-xs font-medium text-fg-muted hover:text-fg`,O),t[20]=O,t[21]=k);let A;t[22]===l?A=t[23]:(A=()=>l(`system`),t[22]=l,t[23]=A);let j=r===`system`,M;t[24]!==i.system.title||t[25]!==k||t[26]!==A||t[27]!==j?(M=(0,X.jsx)(`button`,{type:`button`,className:k,onClick:A,"aria-pressed":j,children:i.system.title}),t[24]=i.system.title,t[25]=k,t[26]=A,t[27]=j,t[28]=M):M=t[28];let N;t[29]!==i.filters.ownership||t[30]!==D||t[31]!==M?(N=(0,X.jsxs)(`div`,{className:`flex rounded-lg bg-surface-panel p-0.5`,role:`group`,"aria-label":x,children:[D,M]}),t[29]=i.filters.ownership,t[30]=D,t[31]=M,t[32]=N):N=t[32];let P;t[33]!==i.refresh||t[34]!==c||t[35]!==u?(P=(0,X.jsx)(ee,{className:`size-9 shrink-0 p-0`,loading:c,label:i.refresh,onClick:u}),t[33]=i.refresh,t[34]=c,t[35]=u,t[36]=P):P=t[36];let F;t[37]!==N||t[38]!==P?(F=(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[N,P]}),t[37]=N,t[38]=P,t[39]=F):F=t[39];let I;t[40]!==F||t[41]!==b?(I=(0,X.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3 border-b border-edge-subtle px-4 py-3 sm:px-5`,children:[b,F]}),t[40]=F,t[41]=b,t[42]=I):I=t[42];let L;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(L=(0,X.jsx)(s,{className:`size-4`,"aria-hidden":!0}),t[43]=L):L=t[43];let R=i.metrics.total,z=String(n.length),B;t[44]!==i.metrics.total||t[45]!==z?(B=(0,X.jsx)(It,{icon:L,label:R,value:z}),t[44]=i.metrics.total,t[45]=z,t[46]=B):B=t[46];let te;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,X.jsx)(pe,{className:`size-4`,"aria-hidden":!0}),t[47]=te):te=t[47];let ne=i.metrics.running,re=String(p),ie;t[48]!==i.metrics.running||t[49]!==re?(ie=(0,X.jsx)(It,{icon:te,label:ne,value:re}),t[48]=i.metrics.running,t[49]=re,t[50]=ie):ie=t[50];let ae;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,X.jsx)(h,{className:`size-4`,"aria-hidden":!0}),t[51]=ae):ae=t[51];let oe=i.dashboard.needsAttention,V=String(_),se=_>0?`danger`:`default`,H;t[52]!==i.dashboard.needsAttention||t[53]!==V||t[54]!==se?(H=(0,X.jsx)(It,{icon:ae,label:oe,value:V,tone:se}),t[52]=i.dashboard.needsAttention,t[53]=V,t[54]=se,t[55]=H):H=t[55];let ce;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,X.jsx)(g,{className:`size-4`,"aria-hidden":!0}),t[56]=ce):ce=t[56];let le=i.filters.unread,ue=String(o),U;t[57]!==i.filters.unread||t[58]!==ue?(U=(0,X.jsx)(It,{icon:ce,label:le,value:ue}),t[57]=i.filters.unread,t[58]=ue,t[59]=U):U=t[59];let W;t[60]!==B||t[61]!==ie||t[62]!==H||t[63]!==U?(W=(0,X.jsxs)(`div`,{className:`grid grid-cols-2 gap-px border-b border-edge-subtle bg-edge-subtle lg:grid-cols-4`,children:[B,ie,H,U]}),t[60]=B,t[61]=ie,t[62]=H,t[63]=U,t[64]=W):W=t[64];let G;t[65]!==i||t[66]!==a||t[67]!==d||t[68]!==n?(G=n.length===0?(0,X.jsx)(Qt,{className:`min-h-64 rounded-none border-0 shadow-none`,icon:(0,X.jsx)(s,{className:`size-5`}),title:i.empty.runs}):(0,X.jsx)(`div`,{className:`divide-y divide-edge-subtle`,children:n.map(e=>(0,X.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-start gap-3 px-4 py-3 text-left hover:bg-surface-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent sm:px-5`,onClick:()=>d(e.id),children:[(0,X.jsx)(`span`,{className:w(`mt-1.5 size-2 shrink-0 rounded-full`,bt(e)?`bg-blue-500`:xt(e)?`bg-red-500`:`bg-emerald-500`),"aria-hidden":!0}),(0,X.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(`span`,{className:`truncate text-sm font-medium text-fg`,children:e.automationName}),e.readAtMs==null&&!bt(e)?(0,X.jsx)(`span`,{className:`size-2 shrink-0 rounded-full bg-blue-500`,children:(0,X.jsx)(`span`,{className:`sr-only`,children:i.filters.unread})}):null]}),(0,X.jsx)(`span`,{className:w(`mt-1 line-clamp-2 block text-sm text-fg-muted`,e.error&&`text-red-700 dark:text-red-300`),children:e.error||e.summary||i.status[e.status]}),(0,X.jsx)(`span`,{className:`mt-1 block text-xs text-fg-subtle`,children:dt(e.createdAtMs,i,a)})]}),(0,X.jsx)(`span`,{className:w(`shrink-0 rounded-full px-2 py-0.5 text-xs`,vt(e.status)),children:i.status[e.status]})]},e.id))}),t[65]=i,t[66]=a,t[67]=d,t[68]=n,t[69]=G):G=t[69];let de;return t[70]!==I||t[71]!==W||t[72]!==G?(de=(0,X.jsxs)(`section`,{className:`overflow-hidden rounded-xl border border-edge-subtle bg-surface-base shadow-surface`,"aria-labelledby":`automation-activity-title`,children:[I,W,G]}),t[70]=I,t[71]=W,t[72]=G,t[73]=de):de=t[73],de}function Rt(e){let t=(0,Ie.c)(20),{automations:n,runs:r,labels:i,cronLabels:a,language:o,selectedAutomationId:s,onOpenDetails:c}=e;if(n.length===0){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(V,{className:`size-5`}),t[0]=e):e=t[0];let n;return t[1]===i.empty.filtered?n=t[2]:(n=(0,X.jsx)(Qt,{className:`rounded-none border-0 shadow-none`,icon:e,title:i.empty.filtered}),t[1]=i.empty.filtered,t[2]=n),n}let l;if(t[3]!==n||t[4]!==a||t[5]!==i||t[6]!==o||t[7]!==c||t[8]!==r||t[9]!==s){let e;t[11]!==a||t[12]!==i||t[13]!==o||t[14]!==c||t[15]!==r||t[16]!==s?(e=e=>{let t=r.filter(t=>t.automationId===e.id).sort(zt),n=t.find(bt),l=t[0];return(0,X.jsxs)(`button`,{type:`button`,className:w(`block w-full p-3 text-left outline-none hover:bg-surface-hover focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent`,s===e.id&&`bg-surface-hover`),style:{contentVisibility:`auto`,containIntrinsicSize:`auto 130px`},"aria-current":s===e.id?`true`:void 0,onClick:()=>c(e.id),children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(`span`,{className:w(`size-2 shrink-0 rounded-full`,n?`bg-blue-500`:ct(e,t)?`bg-red-500`:e.enabled?`bg-emerald-500`:`bg-fg-subtle`)}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-fg`,children:e.name}),(0,X.jsx)(`span`,{className:`shrink-0 text-xs text-fg-muted`,children:e.enabled?i.enabled:i.paused}),l&&l.readAtMs==null&&!bt(l)?(0,X.jsx)(`span`,{className:`ml-auto size-2 shrink-0 rounded-full bg-blue-500`,children:(0,X.jsx)(`span`,{className:`sr-only`,children:i.filters.unread})}):null]}),(0,X.jsxs)(`div`,{className:`mt-2 flex min-w-0 flex-wrap items-center gap-1.5 pl-4 text-xs`,children:[(0,X.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-md border border-edge-subtle bg-surface-panel px-1.5 py-0.5 text-fg-muted`,children:[(0,X.jsx)(gt,{kind:e.action.kind,className:`size-3`}),pt(e.action,i)]}),(0,X.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1 rounded-md bg-surface-panel px-1.5 py-0.5 text-fg-muted`,children:[(0,X.jsx)(ce,{className:`size-3 shrink-0`,"aria-hidden":!0}),(0,X.jsx)(`span`,{className:`truncate`,children:xe(e.trigger,i,a,o)})]})]}),(0,X.jsxs)(`div`,{className:`mt-2 flex min-w-0 items-center justify-between gap-2 pl-4 text-xs text-fg-subtle`,children:[(0,X.jsx)(`span`,{className:w(`line-clamp-2`,l?.error&&`text-red-700 dark:text-red-300`),children:l?l.error||l.summary||i.status[l.status]:e.state.lastError||(e.state.lastRunStatus?i.status[e.state.lastRunStatus]:i.experience.noRuns)}),l?.status?(0,X.jsx)(`span`,{className:w(`shrink-0 rounded-full px-1.5 py-0.5`,vt(l.status)),children:i.status[l.status]}):null]}),(0,X.jsxs)(`div`,{className:`mt-2 space-y-1 pl-4 text-xs text-fg-muted`,children:[l?(0,X.jsxs)(`div`,{children:[i.last,`: `,dt(l.createdAtMs,i,o)]}):null,(0,X.jsx)(`div`,{children:e.enabled?`${i.next}: ${Te(e,i,o)}`:i.paused})]})]},e.id)},t[11]=a,t[12]=i,t[13]=o,t[14]=c,t[15]=r,t[16]=s,t[17]=e):e=t[17],l=n.map(e),t[3]=n,t[4]=a,t[5]=i,t[6]=o,t[7]=c,t[8]=r,t[9]=s,t[10]=l}else l=t[10];let u;return t[18]===l?u=t[19]:(u=(0,X.jsx)(`div`,{className:`min-h-0 overflow-y-auto divide-y divide-edge-subtle`,children:l}),t[18]=l,t[19]=u),u}function zt(e,t){return t.createdAtMs-e.createdAtMs}function Bt(e,t){let n=t.events,r=e.data&&typeof e.data==`object`?e.data:{},i=typeof r.actionKind==`string`?r.actionKind:null,a=typeof r.status==`string`&&r.status in t.status?t.status[r.status]:null;switch(e.type){case`run.queued`:return e.message.toLowerCase().includes(`manual`)?n.manualQueued:e.message.toLowerCase().includes(`scheduled`)?n.scheduledQueued:n.eventQueued;case`run.started`:return n.runStarted;case`action.started`:return i?n.actionStarted.replace(`{kind}`,i):n.actionStartedFallback;case`action.completed`:return i?n.actionCompleted.replace(`{kind}`,i):n.actionCompletedFallback;case`action.failed`:return i?n.actionFailed.replace(`{kind}`,i):n.actionFailedFallback;case`run.completed`:return a?n.runCompleted.replace(`{status}`,a):n.runCompletedFallback;default:return e.message}}function Vt(e){let t=(0,Ie.c)(17),{value:n,labels:r,title:i,defaultExpanded:a}=e,[o,s]=(0,Y.useState)(a===void 0?!1:a),c;t[0]===n?c=t[1]:(c=JSON.stringify(n,null,2),t[0]=n,t[1]=c);let l=c,u;t[2]===l?u=t[3]:(u=l.split(`
|
|
2
|
-
`),t[2]=l,t[3]=u);let d=u.length,f=l.length>720||d>18,p;t[4]!==f||t[5]!==l?(p=f?`${l.split(`
|
|
3
|
-
`).slice(0,10).join(`
|
|
4
|
-
`).trimEnd()}...`:l,t[4]=f,t[5]=l,t[6]=p):p=t[6];let m=p,h;t[7]!==o||t[8]!==f||t[9]!==r||t[10]!==i?(h=f?(0,X.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between gap-3 px-2.5 py-2 text-left text-xs font-medium text-fg-muted hover:bg-surface-hover hover:text-fg`,onClick:()=>s(Ht),"aria-expanded":o,children:[(0,X.jsx)(`span`,{children:i}),(0,X.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-accent-fg`,children:[o?r.details.hideDetails:r.details.showDetails,(0,X.jsx)(ie,{className:w(`size-3.5 transition-transform`,o&&`rotate-180`),"aria-hidden":!0})]})]}):(0,X.jsx)(`div`,{className:`px-2.5 py-2 text-xs font-medium text-fg-muted`,children:i}),t[7]=o,t[8]=f,t[9]=r,t[10]=i,t[11]=h):h=t[11];let g=o||!f?l:m,_;t[12]===g?_=t[13]:(_=(0,X.jsx)(`pre`,{className:`whitespace-pre-wrap break-all px-2.5 pb-2 text-xs leading-relaxed text-fg-muted`,children:g}),t[12]=g,t[13]=_);let v;return t[14]!==h||t[15]!==_?(v=(0,X.jsxs)(`div`,{className:`mt-2 rounded-md border border-edge/70 bg-surface-inset/35`,children:[h,_]}),t[14]=h,t[15]=_,t[16]=v):v=t[16],v}function Ht(e){return!e}function Ut(e){let t=(0,Ie.c)(148),{className:n,run:r,events:i,labels:a,cronLabels:c,language:u,loading:d,repairDraft:f,repairLoading:p,repairApproved:m,busyAction:_,onRepairApprovedChange:y,onSuggestRepair:b,onApplyRepair:x}=e;if(!r){let e;t[0]===n?e=t[1]:(e=w(`flex min-h-64 flex-col justify-center rounded-lg border border-edge-subtle bg-surface-base px-4 text-center text-sm text-fg-muted shadow-surface`,n),t[0]=n,t[1]=e);let r;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,X.jsx)(s,{className:`mx-auto size-5`}),t[2]=r):r=t[2];let i;t[3]===a.selectRun?i=t[4]:(i=(0,X.jsx)(`div`,{className:`mt-2`,children:a.selectRun}),t[3]=a.selectRun,t[4]=i);let o;return t[5]!==e||t[6]!==i?(o=(0,X.jsxs)(`aside`,{className:e,children:[r,i]}),t[5]=e,t[6]=i,t[7]=o):o=t[7],o}let S=r.error||r.summary,C=r.conversationId?`/chat/${encodeURIComponent(r.conversationId)}`:r.workflowRunId?`/workflows?run=${encodeURIComponent(r.workflowRunId)}`:null,T=r.conversationId?a.runDetail.openConversation:a.runDetail.openWorkflow,E=r.conversationId?re:me,D=bt(r)?s:r.status===`succeeded`?g:h,O;t[8]===n?O=t[9]:(O=w(`rounded-lg border border-edge-subtle bg-surface-base shadow-surface`,n),t[8]=n,t[9]=O);let k;t[10]===r.automationName?k=t[11]:(k=(0,X.jsx)(`div`,{className:`truncate text-sm font-semibold text-fg`,children:r.automationName}),t[10]=r.automationName,t[11]=k);let A;t[12]===r.id?A=t[13]:(A=r.id.slice(0,8),t[12]=r.id,t[13]=A);let j;t[14]===A?j=t[15]:(j=(0,X.jsx)(`div`,{className:`mt-1 text-xs text-fg-muted`,children:A}),t[14]=A,t[15]=j);let M;t[16]!==k||t[17]!==j?(M=(0,X.jsxs)(`div`,{className:`min-w-0`,children:[k,j]}),t[16]=k,t[17]=j,t[18]=M):M=t[18];let P;t[19]===r.status?P=t[20]:(P=w(`shrink-0 rounded-full px-2 py-0.5 text-xs`,vt(r.status)),t[19]=r.status,t[20]=P);let F=a.status[r.status],I;t[21]!==P||t[22]!==F?(I=(0,X.jsx)(`span`,{className:P,children:F}),t[21]=P,t[22]=F,t[23]=I):I=t[23];let L;t[24]!==M||t[25]!==I?(L=(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[M,I]}),t[24]=M,t[25]=I,t[26]=L):L=t[26];let R;t[27]!==a||t[28]!==u||t[29]!==r.createdAtMs?(R=dt(r.createdAtMs,a,u),t[27]=a,t[28]=u,t[29]=r.createdAtMs,t[30]=R):R=t[30];let ee;t[31]===R?ee=t[32]:(ee=(0,X.jsx)(`span`,{children:R}),t[31]=R,t[32]=ee);let B;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,X.jsx)(`span`,{"aria-hidden":!0,children:`·`}),t[33]=B):B=t[33];let te=a.details.duration,ae;t[34]!==a||t[35]!==r.durationMs?(ae=yt(r.durationMs,a),t[34]=a,t[35]=r.durationMs,t[36]=ae):ae=t[36];let oe;t[37]!==a.details.duration||t[38]!==ae?(oe=(0,X.jsxs)(`span`,{children:[te,` `,ae]}),t[37]=a.details.duration,t[38]=ae,t[39]=oe):oe=t[39];let V;t[40]!==ee||t[41]!==oe?(V=(0,X.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-fg-muted`,children:[ee,B,oe]}),t[40]=ee,t[41]=oe,t[42]=V):V=t[42];let se;t[43]!==a.repair||t[44]!==b||t[45]!==p||t[46]!==r?(se=r.status===`failed`||r.status===`timeout`||r.status===`cancelled`?(0,X.jsx)(`div`,{className:`mt-3 flex justify-end`,children:(0,X.jsxs)(N,{variant:`secondary`,onClick:()=>b(r),disabled:p,children:[(0,X.jsx)(ue,{className:`size-4`}),p?a.repair.generating:a.repair.suggest]})}):null,t[43]=a.repair,t[44]=b,t[45]=p,t[46]=r,t[47]=se):se=t[47];let H;t[48]!==V||t[49]!==se||t[50]!==L?(H=(0,X.jsxs)(`div`,{className:`border-b border-edge px-4 py-3`,children:[L,V,se]}),t[48]=V,t[49]=se,t[50]=L,t[51]=H):H=t[51];let ce;t[52]===r?ce=t[53]:(ce=bt(r)?`text-blue-500`:xt(r)?`text-red-500`:r.status===`succeeded`?`text-emerald-500`:`text-fg-muted`,t[52]=r,t[53]=ce);let le;t[54]===ce?le=t[55]:(le=w(`size-4`,ce),t[54]=ce,t[55]=le);let U;t[56]!==D||t[57]!==le?(U=(0,X.jsx)(D,{className:le}),t[56]=D,t[57]=le,t[58]=U):U=t[58];let W;t[59]!==a.runDetail.resultTitle||t[60]!==U?(W=(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-semibold text-fg`,children:[U,a.runDetail.resultTitle]}),t[59]=a.runDetail.resultTitle,t[60]=U,t[61]=W):W=t[61];let G;t[62]!==E||t[63]!==T||t[64]!==C?(G=C?(0,X.jsx)(N,{asChild:!0,variant:`secondary`,className:`h-8 rounded-md px-2.5 text-xs`,children:(0,X.jsxs)(o,{to:C,children:[(0,X.jsx)(E,{className:`size-3.5`}),T,(0,X.jsx)(l,{className:`size-3.5`})]})}):null,t[62]=E,t[63]=T,t[64]=C,t[65]=G):G=t[65];let de;t[66]!==W||t[67]!==G?(de=(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[W,G]}),t[66]=W,t[67]=G,t[68]=de):de=t[68];let fe=r.error&&`border-red-500/25 bg-red-500/5`,pe;t[69]===fe?pe=t[70]:(pe=w(`mt-3 max-h-80 overflow-y-auto rounded-lg border border-edge/70 bg-surface-inset/25 p-3`,fe),t[69]=fe,t[70]=pe);let he;t[71]!==a.runDetail.noResult||t[72]!==a.runDetail.resultPending||t[73]!==S||t[74]!==r?(he=S?r.error?(0,X.jsx)(`p`,{className:`whitespace-pre-wrap break-words text-sm leading-relaxed text-red-700 dark:text-red-300`,children:S}):(0,X.jsx)(v,{content:S,compact:!0,className:`text-sm`}):(0,X.jsx)(`p`,{className:`text-sm leading-relaxed text-fg-muted`,children:bt(r)?a.runDetail.resultPending:a.runDetail.noResult}),t[71]=a.runDetail.noResult,t[72]=a.runDetail.resultPending,t[73]=S,t[74]=r,t[75]=he):he=t[75];let K;t[76]!==pe||t[77]!==he?(K=(0,X.jsx)(`div`,{className:pe,children:he}),t[76]=pe,t[77]=he,t[78]=K):K=t[78];let ge;t[79]!==de||t[80]!==K?(ge=(0,X.jsxs)(`section`,{className:`border-b border-edge p-4`,children:[de,K]}),t[79]=de,t[80]=K,t[81]=ge):ge=t[81];let _e;t[82]===a.runDetail.runInfo?_e=t[83]:(_e=(0,X.jsx)(`div`,{className:`text-xs font-semibold uppercase text-fg-muted`,children:a.runDetail.runInfo}),t[82]=a.runDetail.runInfo,t[83]=_e);let ve;t[84]!==c||t[85]!==a||t[86]!==u||t[87]!==r.manual||t[88]!==r.triggerSnapshot?(ve=r.manual?a.trigger.manual:xe(r.triggerSnapshot,a,c,u),t[84]=c,t[85]=a,t[86]=u,t[87]=r.manual,t[88]=r.triggerSnapshot,t[89]=ve):ve=t[89];let ye;t[90]!==a.explain.whyRan||t[91]!==ve?(ye=(0,X.jsx)(Yt,{label:a.explain.whyRan,value:ve}),t[90]=a.explain.whyRan,t[91]=ve,t[92]=ye):ye=t[92];let q=a.details.started,be;t[93]!==a||t[94]!==u||t[95]!==r.startedAtMs?(be=dt(r.startedAtMs,a,u),t[93]=a,t[94]=u,t[95]=r.startedAtMs,t[96]=be):be=t[96];let Se;t[97]!==a.details.started||t[98]!==be?(Se=(0,X.jsx)(Yt,{label:q,value:be}),t[97]=a.details.started,t[98]=be,t[99]=Se):Se=t[99];let Ce;t[100]!==a.details.model||t[101]!==r.model?(Ce=r.model?(0,X.jsx)(Yt,{label:a.details.model,value:r.model}):null,t[100]=a.details.model,t[101]=r.model,t[102]=Ce):Ce=t[102];let we;t[103]!==ye||t[104]!==Se||t[105]!==Ce?(we=(0,X.jsxs)(`div`,{className:`mt-3 grid gap-2 text-xs text-fg-muted`,children:[ye,Se,Ce]}),t[103]=ye,t[104]=Se,t[105]=Ce,t[106]=we):we=t[106];let Te;t[107]!==_e||t[108]!==we?(Te=(0,X.jsxs)(`section`,{className:`border-b border-edge p-4`,children:[_e,we]}),t[107]=_e,t[108]=we,t[109]=Te):Te=t[109];let Ee;t[110]!==_||t[111]!==a||t[112]!==x||t[113]!==y||t[114]!==m||t[115]!==f||t[116]!==r?(Ee=f?(0,X.jsxs)(`div`,{className:`border-b border-edge px-4 py-3`,children:[(0,X.jsx)(`div`,{className:`text-xs font-semibold uppercase text-fg-muted`,children:a.repair.title}),(0,X.jsx)(`div`,{className:`mt-2 text-sm text-fg`,children:f.explanation}),f.expectedEffect?(0,X.jsx)(`div`,{className:`mt-2 text-sm text-fg-muted`,children:f.expectedEffect}):null,(0,X.jsx)(Pt,{title:a.repair.risks,items:f.risks,empty:a.none}),(0,X.jsx)(Vt,{value:f.patch,labels:a,title:a.details.repairPatch}),f.requiresApproval?(0,X.jsxs)(`label`,{className:`mt-3 flex items-start gap-2 text-sm text-fg`,children:[(0,X.jsx)(`input`,{className:`mt-1`,type:`checkbox`,checked:m,onChange:e=>y(e.target.checked)}),(0,X.jsx)(`span`,{children:a.repair.approval})]}):null,(0,X.jsx)(`div`,{className:`mt-3 flex justify-end`,children:(0,X.jsx)(N,{variant:`primary`,onClick:()=>x(r),disabled:_===`run:${r.id}:repair`||f.requiresApproval&&!m,children:_===`run:${r.id}:repair`?a.feedback.working:a.repair.apply})})]}):null,t[110]=_,t[111]=a,t[112]=x,t[113]=y,t[114]=m,t[115]=f,t[116]=r,t[117]=Ee):Ee=t[117];let De;t[118]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,X.jsx)(ne,{className:`size-4 shrink-0`}),t[118]=De):De=t[118];let J;t[119]===a.runDetail.technicalEvents?J=t[120]:(J=(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-sm font-medium text-fg-muted`,children:[De,a.runDetail.technicalEvents]}),t[119]=a.runDetail.technicalEvents,t[120]=J);let Oe;t[121]!==i.length||t[122]!==a.runDetail.eventCount?(Oe=a.runDetail.eventCount.replace(`{count}`,String(i.length)),t[121]=i.length,t[122]=a.runDetail.eventCount,t[123]=Oe):Oe=t[123];let ke;t[124]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,X.jsx)(ie,{className:`size-4 transition-transform group-open:rotate-180`}),t[124]=ke):ke=t[124];let Ae;t[125]===Oe?Ae=t[126]:(Ae=(0,X.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1 text-xs text-fg-muted`,children:[Oe,ke]}),t[125]=Oe,t[126]=Ae);let je;t[127]!==J||t[128]!==Ae?(je=(0,X.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between gap-3 rounded-md outline-none hover:text-fg focus-visible:ring-2 focus-visible:ring-accent`,children:[J,Ae]}),t[127]=J,t[128]=Ae,t[129]=je):je=t[129];let Me;t[130]===a.runDetail.technicalEventsDescription?Me=t[131]:(Me=(0,X.jsx)(`p`,{className:`mt-2 text-xs leading-relaxed text-fg-muted`,children:a.runDetail.technicalEventsDescription}),t[130]=a.runDetail.technicalEventsDescription,t[131]=Me);let Ne;t[132]!==i||t[133]!==a||t[134]!==u||t[135]!==d?(Ne=(0,X.jsx)(`div`,{className:`mt-4`,children:d?(0,X.jsxs)(`div`,{className:`space-y-3`,"aria-label":a.loading,children:[(0,X.jsx)(z,{className:`h-10 w-full`}),(0,X.jsx)(z,{className:`h-10 w-4/5`}),(0,X.jsx)(z,{className:`h-10 w-11/12`})]}):i.length===0?(0,X.jsx)(`div`,{className:`text-sm text-fg-muted`,children:a.empty.events}):(0,X.jsx)(`ol`,{className:`space-y-3`,children:i.map(e=>(0,X.jsxs)(`li`,{className:`grid grid-cols-[0.75rem_1fr] gap-3`,children:[(0,X.jsx)(`span`,{className:w(`mt-1 size-2 rounded-full`,Xt(e.type))}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`div`,{className:`text-sm text-fg`,children:Bt(e,a)}),(0,X.jsxs)(`div`,{className:`mt-1 text-xs text-fg-muted`,children:[dt(e.createdAtMs,a,u),` · `,e.type]}),e.data&&typeof e.data==`object`?(0,X.jsxs)(`details`,{className:`group/event mt-2 rounded-md border border-edge/70 bg-surface-inset/35`,children:[(0,X.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between gap-2 px-2.5 py-2 text-xs font-medium text-fg-muted outline-none hover:text-fg`,children:[a.details.eventData,(0,X.jsx)(ie,{className:`size-3.5 transition-transform group-open/event:rotate-180`})]}),(0,X.jsx)(`pre`,{className:`max-h-72 overflow-auto whitespace-pre-wrap break-all border-t border-edge/70 px-2.5 py-2 text-xs leading-relaxed text-fg-muted`,children:JSON.stringify(e.data,null,2)})]}):null]})]},e.id))})}),t[132]=i,t[133]=a,t[134]=u,t[135]=d,t[136]=Ne):Ne=t[136];let Pe;t[137]!==je||t[138]!==Me||t[139]!==Ne?(Pe=(0,X.jsxs)(`details`,{className:`group px-4 py-3`,children:[je,Me,Ne]}),t[137]=je,t[138]=Me,t[139]=Ne,t[140]=Pe):Pe=t[140];let Fe;return t[141]!==O||t[142]!==H||t[143]!==ge||t[144]!==Te||t[145]!==Ee||t[146]!==Pe?(Fe=(0,X.jsxs)(`aside`,{className:O,children:[H,ge,Te,Ee,Pe]}),t[141]=O,t[142]=H,t[143]=ge,t[144]=Te,t[145]=Ee,t[146]=Pe,t[147]=Fe):Fe=t[147],Fe}function Wt(e){let t=(0,Ie.c)(146),{automation:n,runs:r,runsLoading:i,runsError:a,labels:o,cronLabels:c,language:l,projects:u,busyAction:d,onEdit:f,onSelectRun:p,onAction:m}=e,h=d===`automation:${n.id}:run`,b=d===`automation:${n.id}:toggle`,x=d===`automation:${n.id}:delete`,S;t[0]===n.management?S=t[1]:(S=!n.management||n.management.editable.includes(`enabled`),t[0]=n.management,t[1]=S);let C=S,T=!n.management||n.management.runnable,E;t[2]===n.management?E=t[3]:(E=!n.management||n.management.editable.includes(`trigger`),t[2]=n.management,t[3]=E);let D=E,O=!n.management||n.management.deletable,k;t[4]===n.name?k=t[5]:(k=(0,X.jsx)(`h2`,{className:`truncate text-lg font-semibold text-fg`,children:n.name}),t[4]=n.name,t[5]=k);let A=n.enabled?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:`bg-surface-hover text-fg-muted`,j;t[6]===A?j=t[7]:(j=w(`shrink-0 rounded-full px-2 py-0.5 text-xs`,A),t[6]=A,t[7]=j);let M=n.enabled?o.enabled:o.paused,P;t[8]!==j||t[9]!==M?(P=(0,X.jsx)(`span`,{className:j,children:M}),t[8]=j,t[9]=M,t[10]=P):P=t[10];let F;t[11]!==k||t[12]!==P?(F=(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[k,P]}),t[11]=k,t[12]=P,t[13]=F):F=t[13];let I;t[14]===n?I=t[15]:(I=Ct(n)?(0,X.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:Ct(n)}):null,t[14]=n,t[15]=I);let L;t[16]===n.action.kind?L=t[17]:(L=(0,X.jsx)(gt,{kind:n.action.kind,className:`size-3.5`}),t[16]=n.action.kind,t[17]=L);let R;t[18]!==n.action||t[19]!==o?(R=pt(n.action,o),t[18]=n.action,t[19]=o,t[20]=R):R=t[20];let ee;t[21]!==L||t[22]!==R?(ee=(0,X.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-md border border-edge-subtle bg-surface-base px-2 py-1`,children:[L,R]}),t[21]=L,t[22]=R,t[23]=ee):ee=t[23];let B;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,X.jsx)(ce,{className:`size-3.5`,"aria-hidden":!0}),t[24]=B):B=t[24];let te;t[25]!==n.trigger||t[26]!==c||t[27]!==o||t[28]!==l?(te=xe(n.trigger,o,c,l),t[25]=n.trigger,t[26]=c,t[27]=o,t[28]=l,t[29]=te):te=t[29];let ne;t[30]===te?ne=t[31]:(ne=(0,X.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-md border border-edge-subtle bg-surface-base px-2 py-1`,children:[B,te]}),t[30]=te,t[31]=ne);let re;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,X.jsx)(me,{className:`size-3.5`,"aria-hidden":!0}),t[32]=re):re=t[32];let ie;t[33]!==n.projectId||t[34]!==o.info||t[35]!==u?(ie=u.find(e=>e.id===n.projectId)?.name??o.info.noProject,t[33]=n.projectId,t[34]=o.info,t[35]=u,t[36]=ie):ie=t[36];let oe;t[37]===ie?oe=t[38]:(oe=(0,X.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-md border border-edge-subtle bg-surface-base px-2 py-1`,children:[re,ie]}),t[37]=ie,t[38]=oe);let V;t[39]!==ee||t[40]!==ne||t[41]!==oe?(V=(0,X.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 text-xs text-fg-muted`,children:[ee,ne,oe]}),t[39]=ee,t[40]=ne,t[41]=oe,t[42]=V):V=t[42];let H;t[43]!==V||t[44]!==F||t[45]!==I?(H=(0,X.jsxs)(`div`,{className:`min-w-0`,children:[F,I,V]}),t[43]=V,t[44]=F,t[45]=I,t[46]=H):H=t[46];let le;t[47]!==n||t[48]!==d||t[49]!==O||t[50]!==D||t[51]!==T||t[52]!==C||t[53]!==x||t[54]!==o.dashboard.delete||t[55]!==o.dashboard.deleted||t[56]!==o.dashboard.pause||t[57]!==o.dashboard.resume||t[58]!==o.dashboard.resumed||t[59]!==o.dashboard.runNow||t[60]!==o.details||t[61]!==o.edit||t[62]!==o.experience.deleteConfirm||t[63]!==o.feedback||t[64]!==m||t[65]!==f||t[66]!==h||t[67]!==b?(le=C||T||D||O?(0,X.jsxs)(`div`,{className:`flex w-full flex-wrap items-center gap-2`,children:[C?(0,X.jsxs)(N,{variant:`secondary`,disabled:d!==null,onClick:()=>void m(`automation:${n.id}:toggle`,()=>n.enabled?K.pause(n.id):K.resume(n.id),n.enabled?o.feedback.paused:o.dashboard.resumed),children:[b?(0,X.jsx)(de,{className:`size-4 animate-spin`}):n.enabled?(0,X.jsx)(se,{className:`size-4`}):(0,X.jsx)(pe,{className:`size-4`}),n.enabled?o.dashboard.pause:o.dashboard.resume]}):null,T?(0,X.jsxs)(N,{variant:`primary`,disabled:d!==null,onClick:()=>void m(`automation:${n.id}:run`,()=>K.runNow(n.id),o.feedback.rerunQueued),children:[h?(0,X.jsx)(de,{className:`size-4 animate-spin`}):(0,X.jsx)(pe,{className:`size-4`}),o.dashboard.runNow]}):null,D||O?(0,X.jsxs)(G,{children:[(0,X.jsx)(ve,{asChild:!0,children:(0,X.jsx)(N,{variant:`ghost`,className:`size-9 p-0`,"aria-label":o.details.moreActions,children:(0,X.jsx)(_,{className:`size-4`})})}),(0,X.jsx)(he,{children:(0,X.jsxs)(ge,{align:`end`,className:`z-70 min-w-40 rounded-lg border border-edge bg-surface-panel p-1 shadow-popover`,children:[D?(0,X.jsxs)(_e,{className:`flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm text-fg outline-none hover:bg-surface-hover`,onSelect:()=>f(n),children:[(0,X.jsx)(y,{className:`size-4`}),o.edit]}):null,O?(0,X.jsxs)(_e,{className:`flex cursor-pointer items-center gap-2 rounded-md px-3 py-2 text-sm text-red-700 outline-none hover:bg-red-500/10 dark:text-red-300`,disabled:d!==null,onSelect:()=>{window.confirm(o.experience.deleteConfirm)&&m(`automation:${n.id}:delete`,()=>K.remove(n.id),o.dashboard.deleted)},children:[x?(0,X.jsx)(de,{className:`size-4 animate-spin`}):(0,X.jsx)(ae,{className:`size-4`}),o.dashboard.delete]}):null]})})]}):null]}):null,t[47]=n,t[48]=d,t[49]=O,t[50]=D,t[51]=T,t[52]=C,t[53]=x,t[54]=o.dashboard.delete,t[55]=o.dashboard.deleted,t[56]=o.dashboard.pause,t[57]=o.dashboard.resume,t[58]=o.dashboard.resumed,t[59]=o.dashboard.runNow,t[60]=o.details,t[61]=o.edit,t[62]=o.experience.deleteConfirm,t[63]=o.feedback,t[64]=m,t[65]=f,t[66]=h,t[67]=b,t[68]=le):le=t[68];let ue;t[69]!==H||t[70]!==le?(ue=(0,X.jsxs)(`header`,{className:`flex flex-col items-start gap-3 border-b border-edge px-5 py-4`,children:[H,le]}),t[69]=H,t[70]=le,t[71]=ue):ue=t[71];let U;t[72]===o.dashboard.latestResult?U=t[73]:(U=(0,X.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:o.dashboard.latestResult}),t[72]=o.dashboard.latestResult,t[73]=U);let W;t[74]!==o.experience.viewResult||t[75]!==p||t[76]!==r[0]?(W=r[0]?(0,X.jsx)(N,{variant:`secondary`,onClick:()=>p(r[0].id),children:o.experience.viewResult}):null,t[74]=o.experience.viewResult,t[75]=p,t[76]=r[0],t[77]=W):W=t[77];let fe;t[78]!==U||t[79]!==W?(fe=(0,X.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-2`,children:[U,W]}),t[78]=U,t[79]=W,t[80]=fe):fe=t[80];let ye;t[81]!==o||t[82]!==l||t[83]!==r[0]||t[84]!==a||t[85]!==i?(ye=a?(0,X.jsx)(`p`,{role:`alert`,className:`text-sm text-red-700 dark:text-red-300`,children:a}):i?(0,X.jsx)(z,{className:`h-28 w-full`}):r[0]?(0,X.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-edge-subtle bg-surface-base p-4`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs text-fg-muted`,children:[(0,X.jsx)(`span`,{className:w(`rounded-full px-2 py-0.5`,vt(r[0].status)),children:o.status[r[0].status]}),dt(r[0].createdAtMs,o,l)]}),(0,X.jsx)(v,{content:r[0].error||r[0].summary||(bt(r[0])?o.runDetail.resultPending:o.runDetail.noResult),compact:!0})]}):(0,X.jsx)(`p`,{className:`text-sm text-fg-muted`,children:o.experience.noRuns}),t[81]=o,t[82]=l,t[83]=r[0],t[84]=a,t[85]=i,t[86]=ye):ye=t[86];let q;t[87]!==n||t[88]!==o||t[89]!==l?(q=n.enabled?`${o.next}: ${Te(n,o,l)}`:o.paused,t[87]=n,t[88]=o,t[89]=l,t[90]=q):q=t[90];let be;t[91]===q?be=t[92]:(be=(0,X.jsx)(`p`,{className:`mt-3 text-xs text-fg-muted`,children:q}),t[91]=q,t[92]=be);let Se;t[93]!==fe||t[94]!==ye||t[95]!==be?(Se=(0,X.jsxs)(`section`,{children:[fe,ye,be]}),t[93]=fe,t[94]=ye,t[95]=be,t[96]=Se):Se=t[96];let Ce;t[97]===o.dashboard.runHistory?Ce=t[98]:(Ce=(0,X.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:o.dashboard.runHistory}),t[97]=o.dashboard.runHistory,t[98]=Ce);let we;t[99]===o.dashboard.runHistoryDescription?we=t[100]:(we=(0,X.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:o.dashboard.runHistoryDescription}),t[99]=o.dashboard.runHistoryDescription,t[100]=we);let Ee;t[101]!==Ce||t[102]!==we?(Ee=(0,X.jsxs)(`div`,{children:[Ce,we]}),t[101]=Ce,t[102]=we,t[103]=Ee):Ee=t[103];let De;t[104]===r.length?De=t[105]:(De=(0,X.jsx)(`span`,{className:`rounded-full bg-surface-base px-2.5 py-1 text-xs text-fg-muted`,children:r.length}),t[104]=r.length,t[105]=De);let J;t[106]!==Ee||t[107]!==De?(J=(0,X.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[Ee,De]}),t[106]=Ee,t[107]=De,t[108]=J):J=t[108];let Oe;t[109]!==o||t[110]!==l||t[111]!==p||t[112]!==r||t[113]!==i?(Oe=i?(0,X.jsx)(z,{className:`h-24 w-full`}):r.length===0?(0,X.jsx)(Qt,{className:`min-h-24 py-6`,icon:(0,X.jsx)(s,{className:`size-5`}),title:o.empty.runs}):(0,X.jsx)(`div`,{className:`divide-y divide-edge-subtle overflow-hidden rounded-xl border border-edge-subtle bg-surface-base`,children:r.slice(0,8).map(e=>(0,X.jsxs)(`button`,{type:`button`,className:`block w-full p-3 text-left hover:bg-surface-hover`,onClick:()=>p(e.id),children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[e.status===`succeeded`?(0,X.jsx)(g,{className:`size-4 shrink-0 text-emerald-600 dark:text-emerald-300`}):(0,X.jsx)(s,{className:`size-4 shrink-0 text-fg-muted`}),(0,X.jsx)(`span`,{className:`truncate text-sm font-medium text-fg`,children:dt(e.createdAtMs,o,l)})]}),(0,X.jsx)(`span`,{className:w(`shrink-0 rounded-full px-2 py-0.5 text-xs`,vt(e.status)),children:o.status[e.status]})]}),(0,X.jsx)(`p`,{className:w(`mt-1 line-clamp-2 pl-6 text-sm text-fg-muted`,e.error&&`text-red-700 dark:text-red-300`),children:e.error||e.summary||ft(e.actionSnapshot,o)})]},e.id))}),t[109]=o,t[110]=l,t[111]=p,t[112]=r,t[113]=i,t[114]=Oe):Oe=t[114];let ke;t[115]!==J||t[116]!==Oe?(ke=(0,X.jsxs)(`section`,{className:`min-w-0`,children:[J,Oe]}),t[115]=J,t[116]=Oe,t[117]=ke):ke=t[117];let Ae;t[118]===o.experience.settings?Ae=t[119]:(Ae=(0,X.jsx)(`summary`,{className:`cursor-pointer text-sm font-medium text-fg`,children:o.experience.settings}),t[118]=o.experience.settings,t[119]=Ae);let je;t[120]!==n||t[121]!==o?(je=St(n,o),t[120]=n,t[121]=o,t[122]=je):je=t[122];let Me;t[123]===je?Me=t[124]:(Me=(0,X.jsx)(v,{content:je,compact:!0}),t[123]=je,t[124]=Me);let Ne;t[125]!==n||t[126]!==c||t[127]!==o||t[128]!==l||t[129]!==u?(Ne=(0,X.jsx)(Kt,{automation:n,labels:o,cronLabels:c,language:l,projects:u}),t[125]=n,t[126]=c,t[127]=o,t[128]=l,t[129]=u,t[130]=Ne):Ne=t[130];let Pe;t[131]!==Me||t[132]!==Ne?(Pe=(0,X.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[Me,Ne]}),t[131]=Me,t[132]=Ne,t[133]=Pe):Pe=t[133];let Fe;t[134]!==Ae||t[135]!==Pe?(Fe=(0,X.jsxs)(`details`,{className:`rounded-lg border border-edge-subtle p-4`,children:[Ae,Pe]}),t[134]=Ae,t[135]=Pe,t[136]=Fe):Fe=t[136];let Y;t[137]!==ke||t[138]!==Fe?(Y=(0,X.jsxs)(`div`,{className:`grid gap-5`,children:[ke,Fe]}),t[137]=ke,t[138]=Fe,t[139]=Y):Y=t[139];let Le;t[140]!==Se||t[141]!==Y?(Le=(0,X.jsxs)(`div`,{className:`grid gap-5 p-5`,children:[Se,Y]}),t[140]=Se,t[141]=Y,t[142]=Le):Le=t[142];let Re;return t[143]!==ue||t[144]!==Le?(Re=(0,X.jsxs)(`article`,{className:`min-w-0 overflow-hidden rounded-xl border border-edge-subtle bg-surface-panel shadow-surface`,children:[ue,Le]}),t[143]=ue,t[144]=Le,t[145]=Re):Re=t[145],Re}function Gt(e,t){return e===`suggest_only`?t.safety.suggestOnlyDescription:e===`ask_before_apply`?t.safety.askBeforeApplyDescription:t.safety.autoApplyDescription}function Kt(e){let t=(0,Ie.c)(146),{automation:n,labels:r,cronLabels:i,language:a,projects:o}=e,c,l,u,d,f,p,m,_,v,y,b;if(t[0]!==n||t[1]!==i||t[2]!==r||t[3]!==a){let e=_t(n),o;t[15]!==n||t[16]!==r||t[17]!==a?(o=Te(n,r,a),t[15]=n,t[16]=r,t[17]=a,t[18]=o):o=t[18];let s=o,h;t[19]!==n.state.nextRunAtMs||t[20]!==a?(h=n.state.nextRunAtMs?we(n.state.nextRunAtMs,a):void 0,t[19]=n.state.nextRunAtMs,t[20]=a,t[21]=h):h=t[21];let x=h;if(t[22]!==n.trigger.eventType||t[23]!==n.trigger.kind||t[24]!==n.trigger.schedule||t[25]!==n.trigger.secretId||t[26]!==n.trigger.source||t[27]!==r.info.anchor||t[28]!==r.info.calendarSchedule||t[29]!==r.info.eventSource||t[30]!==r.info.eventType||t[31]!==r.info.expression||t[32]!==r.info.fixedInterval||t[33]!==r.info.oneTimeSchedule||t[34]!==r.info.rawInterval||t[35]!==r.info.scheduleType||t[36]!==r.info.timezone||t[37]!==r.info.webhookSecret||t[38]!==a){if(b=[],n.trigger.kind===`schedule`){let e=n.trigger.schedule,i=e.kind===`interval`?r.info.fixedInterval:e.kind===`cron`?r.info.calendarSchedule:r.info.oneTimeSchedule,o;if(t[40]!==r.info.scheduleType||t[41]!==i?(o={label:r.info.scheduleType,value:i},t[40]=r.info.scheduleType,t[41]=i,t[42]=o):o=t[42],b.push(o),e.kind===`interval`){let n=`${e.everyMs} ms`,i;if(t[43]!==r.info.rawInterval||t[44]!==n?(i={label:r.info.rawInterval,value:n},t[43]=r.info.rawInterval,t[44]=n,t[45]=i):i=t[45],b.push(i),e.anchorMs){let n=r.info.anchor,i;t[46]!==a||t[47]!==e.anchorMs?(i=we(e.anchorMs,a),t[46]=a,t[47]=e.anchorMs,t[48]=i):i=t[48];let o;t[49]!==r.info.anchor||t[50]!==i?(o={label:n,value:i},t[49]=r.info.anchor,t[50]=i,t[51]=o):o=t[51],b.push(o)}}else if(e.kind===`cron`){let n;if(t[52]!==r.info.expression||t[53]!==e.expr?(n={label:r.info.expression,value:e.expr},t[52]=r.info.expression,t[53]=e.expr,t[54]=n):n=t[54],b.push(n),e.tz){let n;t[55]!==r.info.timezone||t[56]!==e.tz?(n={label:r.info.timezone,value:e.tz},t[55]=r.info.timezone,t[56]=e.tz,t[57]=n):n=t[57],b.push(n)}}else{let n;t[58]!==r.info.oneTimeSchedule||t[59]!==e.at?(n={label:r.info.oneTimeSchedule,value:e.at},t[58]=r.info.oneTimeSchedule,t[59]=e.at,t[60]=n):n=t[60],b.push(n)}}else if(n.trigger.kind===`event`){let e;if(t[61]!==n.trigger.eventType||t[62]!==r.info.eventType?(e={label:r.info.eventType,value:n.trigger.eventType},t[61]=n.trigger.eventType,t[62]=r.info.eventType,t[63]=e):e=t[63],b.push(e),n.trigger.source){let e;t[64]!==n.trigger.source||t[65]!==r.info.eventSource?(e={label:r.info.eventSource,value:n.trigger.source},t[64]=n.trigger.source,t[65]=r.info.eventSource,t[66]=e):e=t[66],b.push(e)}}else if(n.trigger.kind===`webhook`&&n.trigger.secretId){let e;t[67]!==n.trigger.secretId||t[68]!==r.info.webhookSecret?(e={label:r.info.webhookSecret,value:n.trigger.secretId},t[67]=n.trigger.secretId,t[68]=r.info.webhookSecret,t[69]=e):e=t[69],b.push(e)}t[22]=n.trigger.eventType,t[23]=n.trigger.kind,t[24]=n.trigger.schedule,t[25]=n.trigger.secretId,t[26]=n.trigger.source,t[27]=r.info.anchor,t[28]=r.info.calendarSchedule,t[29]=r.info.eventSource,t[30]=r.info.eventType,t[31]=r.info.expression,t[32]=r.info.fixedInterval,t[33]=r.info.oneTimeSchedule,t[34]=r.info.rawInterval,t[35]=r.info.scheduleType,t[36]=r.info.timezone,t[37]=r.info.webhookSecret,t[38]=a,t[39]=b}else b=t[39];v=`h-fit overflow-hidden rounded-xl border border-edge-subtle bg-surface-base shadow-surface`,t[70]===r.info.overview?y=t[71]:(y=(0,X.jsx)(`div`,{className:`border-b border-edge-subtle px-4 py-3`,children:(0,X.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:r.info.overview})}),t[70]=r.info.overview,t[71]=y),p=`grid gap-4 p-4`;let S;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,X.jsx)(ce,{className:`size-4`,"aria-hidden":!0}),t[72]=S):S=t[72];let C=r.info.schedule,w;t[73]!==n.trigger||t[74]!==i||t[75]!==r||t[76]!==a?(w=xe(n.trigger,r,i,a),t[73]=n.trigger,t[74]=i,t[75]=r,t[76]=a,t[77]=w):w=t[77];let T=n.enabled?`${r.info.nextRun}:${s}`:s;t[78]!==r.info.schedule||t[79]!==x||t[80]!==w||t[81]!==T?(m=(0,X.jsx)(Jt,{icon:S,label:C,value:w,description:T,descriptionTitle:x}),t[78]=r.info.schedule,t[79]=x,t[80]=w,t[81]=T,t[82]=m):m=t[82];let E;t[83]===n.action.kind?E=t[84]:(E=n.action.kind===`workflow`?(0,X.jsx)(me,{className:`size-4`,"aria-hidden":!0}):n.action.kind===`browser_automation`?(0,X.jsx)(ne,{className:`size-4`,"aria-hidden":!0}):n.action.kind===`task_command`?(0,X.jsx)(g,{className:`size-4`,"aria-hidden":!0}):(0,X.jsx)(V,{className:`size-4`,"aria-hidden":!0}),t[83]=n.action.kind,t[84]=E);let D=r.info.action,O;t[85]!==n.action||t[86]!==r?(O=ft(n.action,r),t[85]=n.action,t[86]=r,t[87]=O):O=t[87],t[88]!==r.info.action||t[89]!==E||t[90]!==O?(_=(0,X.jsx)(Jt,{icon:E,label:D,value:O}),t[88]=r.info.action,t[89]=E,t[90]=O,t[91]=_):_=t[91],c=Jt,t[92]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,X.jsx)(fe,{className:`size-4`,"aria-hidden":!0}),t[92]=l):l=t[92],u=r.info.permission,d=r.safety[e],f=Gt(e,r),t[0]=n,t[1]=i,t[2]=r,t[3]=a,t[4]=c,t[5]=l,t[6]=u,t[7]=d,t[8]=f,t[9]=p,t[10]=m,t[11]=_,t[12]=v,t[13]=y,t[14]=b}else c=t[4],l=t[5],u=t[6],d=t[7],f=t[8],p=t[9],m=t[10],_=t[11],v=t[12],y=t[13],b=t[14];let x;t[93]!==c||t[94]!==l||t[95]!==u||t[96]!==d||t[97]!==f?(x=(0,X.jsx)(c,{icon:l,label:u,value:d,description:f}),t[93]=c,t[94]=l,t[95]=u,t[96]=d,t[97]=f,t[98]=x):x=t[98];let S;t[99]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,X.jsx)(me,{className:`size-4`,"aria-hidden":!0}),t[99]=S):S=t[99];let C;t[100]!==n.projectId||t[101]!==r.info.noProject||t[102]!==o?(C=o.find(e=>e.id===n.projectId)?.name??r.info.noProject,t[100]=n.projectId,t[101]=r.info.noProject,t[102]=o,t[103]=C):C=t[103];let w;t[104]!==r.info.project||t[105]!==C?(w=(0,X.jsx)(Jt,{icon:S,label:r.info.project,value:C}),t[104]=r.info.project,t[105]=C,t[106]=w):w=t[106];let T;t[107]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,X.jsx)(re,{className:`size-4`,"aria-hidden":!0}),t[107]=T):T=t[107];let E=n.conversationMode===`continuous`?r.info.continuousConversation:r.info.newConversation,D;t[108]!==r.info.conversation||t[109]!==E?(D=(0,X.jsx)(Jt,{icon:T,label:r.info.conversation,value:E}),t[108]=r.info.conversation,t[109]=E,t[110]=D):D=t[110];let O;t[111]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,X.jsx)(h,{className:`size-4`,"aria-hidden":!0}),t[111]=O):O=t[111];let k=n.delivery.notificationPolicy===`all`?r.info.notifyAll:n.delivery.notificationPolicy===`none`?r.info.notifyNone:r.info.notifyAttention,A;t[112]!==r.info.notifications||t[113]!==k?(A=(0,X.jsx)(Jt,{icon:O,label:r.info.notifications,value:k}),t[112]=r.info.notifications,t[113]=k,t[114]=A):A=t[114];let j;t[115]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,X.jsx)(s,{className:`size-4`,"aria-hidden":!0}),t[115]=j):j=t[115];let M=r.info.lastRun,N;t[116]!==n||t[117]!==r||t[118]!==a?(N=Ce(n,r,a),t[116]=n,t[117]=r,t[118]=a,t[119]=N):N=t[119];let P=n.state.lastRunStatus===`failed`||n.state.lastRunStatus===`timeout`?`danger`:`default`,F;t[120]!==r.info.lastRun||t[121]!==N||t[122]!==P?(F=(0,X.jsx)(Jt,{icon:j,label:M,value:N,valueTone:P}),t[120]=r.info.lastRun,t[121]=N,t[122]=P,t[123]=F):F=t[123];let I;t[124]!==n.state.consecutiveFailures||t[125]!==n.state.lastError||t[126]!==r.dashboard?(I=n.state.consecutiveFailures?(0,X.jsxs)(`div`,{className:`rounded-lg bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:[r.dashboard.failures,`:`,n.state.consecutiveFailures,n.state.lastError?(0,X.jsx)(`p`,{className:`mt-1 break-words text-xs`,children:n.state.lastError}):null]}):n.state.lastError?(0,X.jsx)(`p`,{className:`break-words text-sm text-red-700 dark:text-red-300`,children:n.state.lastError}):null,t[124]=n.state.consecutiveFailures,t[125]=n.state.lastError,t[126]=r.dashboard,t[127]=I):I=t[127];let L;t[128]!==r.info.technicalDetails||t[129]!==b?(L=b.length>0?(0,X.jsxs)(`details`,{className:`group border-t border-edge-subtle pt-3`,children:[(0,X.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between gap-2 text-sm text-fg-muted outline-none hover:text-fg focus-visible:ring-2 focus-visible:ring-accent`,children:[(0,X.jsx)(`span`,{children:r.info.technicalDetails}),(0,X.jsx)(ie,{className:`size-4 transition-transform group-open:rotate-180`,"aria-hidden":!0})]}),(0,X.jsx)(`div`,{className:`mt-3 grid gap-2`,children:b.map(qt)})]}):null,t[128]=r.info.technicalDetails,t[129]=b,t[130]=L):L=t[130];let R;t[131]!==x||t[132]!==w||t[133]!==D||t[134]!==A||t[135]!==F||t[136]!==I||t[137]!==L||t[138]!==p||t[139]!==m||t[140]!==_?(R=(0,X.jsxs)(`div`,{className:p,children:[m,_,x,w,D,A,F,I,L]}),t[131]=x,t[132]=w,t[133]=D,t[134]=A,t[135]=F,t[136]=I,t[137]=L,t[138]=p,t[139]=m,t[140]=_,t[141]=R):R=t[141];let z;return t[142]!==R||t[143]!==v||t[144]!==y?(z=(0,X.jsxs)(`aside`,{className:v,children:[y,R]}),t[142]=R,t[143]=v,t[144]=y,t[145]=z):z=t[145],z}function qt(e){return(0,X.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,X.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:e.label}),(0,X.jsx)(`span`,{className:`break-all font-mono text-xs text-fg-muted`,children:e.value})]},`${e.label}:${e.value}`)}function Jt(e){let t=(0,Ie.c)(19),{icon:n,label:r,value:i,description:a,descriptionTitle:o,valueTone:s}=e,c=s===void 0?`default`:s,l;t[0]===n?l=t[1]:(l=(0,X.jsx)(`span`,{className:`mt-0.5 text-fg-subtle`,children:n}),t[0]=n,t[1]=l);let u;t[2]===r?u=t[3]:(u=(0,X.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:r}),t[2]=r,t[3]=u);let d=c===`danger`?`text-red-700 dark:text-red-300`:`text-fg`,f;t[4]===d?f=t[5]:(f=w(`mt-1 text-sm font-medium leading-5`,d),t[4]=d,t[5]=f);let p;t[6]!==f||t[7]!==i?(p=(0,X.jsx)(`div`,{className:f,children:i}),t[6]=f,t[7]=i,t[8]=p):p=t[8];let m;t[9]!==a||t[10]!==o?(m=a?(0,X.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,title:o,children:a}):null,t[9]=a,t[10]=o,t[11]=m):m=t[11];let h;t[12]!==u||t[13]!==p||t[14]!==m?(h=(0,X.jsxs)(`div`,{className:`min-w-0`,children:[u,p,m]}),t[12]=u,t[13]=p,t[14]=m,t[15]=h):h=t[15];let g;return t[16]!==l||t[17]!==h?(g=(0,X.jsxs)(`div`,{className:`grid grid-cols-[1.25rem_1fr] gap-2.5`,children:[l,h]}),t[16]=l,t[17]=h,t[18]=g):g=t[18],g}function Yt(e){let t=(0,Ie.c)(7),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=(0,X.jsx)(`span`,{children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,X.jsx)(`span`,{className:`min-w-0 truncate text-fg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,X.jsxs)(`div`,{className:`grid grid-cols-[5rem_1fr] gap-2`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Xt(e){return e.endsWith(`.failed`)?`bg-red-500`:e.endsWith(`.completed`)?`bg-emerald-500`:e.endsWith(`.started`)?`bg-blue-500`:`bg-fg-muted`}function Zt(e){let t=(0,Ie.c)(7),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=(0,X.jsx)(`div`,{className:`text-xs font-medium uppercase text-fg-muted`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,X.jsx)(`div`,{className:`mt-1 truncate text-sm text-fg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,X.jsxs)(`div`,{className:`min-w-0`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Qt(e){let t=(0,Ie.c)(8),{className:n,icon:r,title:i}=e,a;t[0]===n?a=t[1]:(a=w(`flex min-h-48 flex-col items-center justify-center text-fg-muted`,n),t[0]=n,t[1]=a);let o;t[2]===i?o=t[3]:(o=(0,X.jsx)(`div`,{className:`mt-2 text-sm`,children:i}),t[2]=i,t[3]=o);let s;return t[4]!==r||t[5]!==a||t[6]!==o?(s=(0,X.jsxs)(`div`,{className:a,children:[r,o]}),t[4]=r,t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function $t(e){let t=(0,Ie.c)(349),{form:n,labels:r,setForm:i,projects:a,workflowDefinitions:o,selectedWorkflow:s,workflowsLoading:c,browserAutomations:u,selectedBrowserAutomation:d,browserAutomationsLoading:m,agentOptions:h,agentsLoading:g,defaultAgentId:_,taskOptions:v,tasksLoading:y,language:b,projectLocked:x}=e,S=x===void 0?!1:x,T=C(b).agentsSettings,E;t[0]===i?E=t[1]:(E=e=>i(t=>({...t,...e})),t[0]=i,t[1]=E);let D=E,O=De(n.intervalValue,n.intervalUnit),k=Date.now(),A;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(A=[1,2,3],t[2]=A):A=t[2];let j;t[3]!==O||t[4]!==k||t[5]!==b?(j=A.map(e=>Se(k+O*e,b,k)),t[3]=O,t[4]=k,t[5]=b,t[6]=j):j=t[6];let M=j,N;if(t[7]!==n.projectId||t[8]!==n.taskId||t[9]!==v){let e;t[11]!==n.projectId||t[12]!==n.taskId?(e=e=>e.id===n.taskId||e.phase!==`closed`&&(!n.projectId||e.projectId===n.projectId),t[11]=n.projectId,t[12]=n.taskId,t[13]=e):e=t[13],N=v.filter(e),t[7]=n.projectId,t[8]=n.taskId,t[9]=v,t[10]=N}else N=t[10];let P=N,F,I;t[14]!==_||t[15]!==n.actionMode||t[16]!==n.agentId||t[17]!==i?(F=()=>{n.actionMode!==`task_command`||n.agentId.trim()||!_||i(e=>({...e,agentId:_}))},I=[_,n.actionMode,n.agentId,i],t[14]=_,t[15]=n.actionMode,t[16]=n.agentId,t[17]=i,t[18]=F,t[19]=I):(F=t[18],I=t[19]),(0,Y.useEffect)(F,I);let L,R;t[20]!==n.actionMode||t[21]!==n.workflowId||t[22]!==i||t[23]!==o?(L=()=>{if(n.actionMode!==`workflow`||n.workflowId.trim())return;let e=o[0]?.id;e&&i(t=>({...t,workflowId:e,workflowGoal:``,workflowInput:{goal:``,argValues:{},schemaInput:{},concurrency:``,maxSubagents:``},workflowInputValid:!0}))},R=[n.actionMode,n.workflowId,i,o],t[20]=n.actionMode,t[21]=n.workflowId,t[22]=i,t[23]=o,t[24]=L,t[25]=R):(L=t[24],R=t[25]),(0,Y.useEffect)(L,R);let z,ee;t[26]!==u||t[27]!==n.actionMode||t[28]!==n.browserAutomationId||t[29]!==i?(z=()=>{if(n.actionMode!==`browser_automation`||n.browserAutomationId.trim())return;let e=u[0];e&&i(t=>({...t,browserAutomationId:e.id,browserAutomationInputs:Pe(e)}))},ee=[u,n.actionMode,n.browserAutomationId,i],t[26]=u,t[27]=n.actionMode,t[28]=n.browserAutomationId,t[29]=i,t[30]=z,t[31]=ee):(z=t[30],ee=t[31]),(0,Y.useEffect)(z,ee);let B;t[32]===D?B=t[33]:(B=e=>D({name:e.target.value}),t[32]=D,t[33]=B);let te;t[34]!==n.name||t[35]!==B?(te=(0,X.jsx)(`input`,{className:Q,value:n.name,onChange:B}),t[34]=n.name,t[35]=B,t[36]=te):te=t[36];let ne;t[37]!==r.form.name||t[38]!==te?(ne=(0,X.jsx)($,{label:r.form.name,children:te}),t[37]=r.form.name,t[38]=te,t[39]=ne):ne=t[39];let re;t[40]===D?re=t[41]:(re=e=>D({description:e.target.value}),t[40]=D,t[41]=re);let ae;t[42]!==n.description||t[43]!==re?(ae=(0,X.jsx)(`input`,{className:Q,value:n.description,onChange:re}),t[42]=n.description,t[43]=re,t[44]=ae):ae=t[44];let oe;t[45]!==r.form.description||t[46]!==ae?(oe=(0,X.jsx)($,{label:r.form.description,children:ae}),t[45]=r.form.description,t[46]=ae,t[47]=oe):oe=t[47];let V;t[48]!==n.projectId||t[49]!==r.form.noProject||t[50]!==r.form.project||t[51]!==S||t[52]!==a||t[53]!==D?(V=S?null:(0,X.jsx)($,{label:r.form.project,children:(0,X.jsxs)(f,{className:Q,value:n.projectId,onChange:e=>D({projectId:e.target.value}),children:[(0,X.jsx)(p,{value:``,children:r.form.noProject}),a.map(nn)]})}),t[48]=n.projectId,t[49]=r.form.noProject,t[50]=r.form.project,t[51]=S,t[52]=a,t[53]=D,t[54]=V):V=t[54];let se=r.form.rulePreview,ce;t[55]===r.form.rulePreview?ce=t[56]:(ce=(0,X.jsx)(`div`,{className:`text-xs font-medium text-accent-fg`,children:r.form.rulePreview}),t[55]=r.form.rulePreview,t[56]=ce);let le;t[57]!==n.triggerMode||t[58]!==r?(le=ht(n.triggerMode,r),t[57]=n.triggerMode,t[58]=r,t[59]=le):le=t[59];let ue;t[60]===le?ue=t[61]:(ue=(0,X.jsx)(`span`,{children:le}),t[60]=le,t[61]=ue);let U;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,X.jsx)(l,{className:`size-4 text-fg-subtle`,"aria-hidden":!0}),t[62]=U):U=t[62];let G;t[63]!==n.actionMode||t[64]!==r?(G=mt(n.actionMode,r),t[63]=n.actionMode,t[64]=r,t[65]=G):G=t[65];let de;t[66]===G?de=t[67]:(de=(0,X.jsx)(`span`,{children:G}),t[66]=G,t[67]=de);let fe;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,X.jsx)(l,{className:`size-4 text-fg-subtle`,"aria-hidden":!0}),t[68]=fe):fe=t[68];let pe;t[69]!==n.projectId||t[70]!==r.form.noProject||t[71]!==r.form.project||t[72]!==a?(pe=n.projectId?a.find(e=>e.id===n.projectId)?.name??r.form.project:r.form.noProject,t[69]=n.projectId,t[70]=r.form.noProject,t[71]=r.form.project,t[72]=a,t[73]=pe):pe=t[73];let me;t[74]===pe?me=t[75]:(me=(0,X.jsx)(`span`,{children:pe}),t[74]=pe,t[75]=me);let he;t[76]!==ue||t[77]!==de||t[78]!==me?(he=(0,X.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-2 text-sm text-fg`,children:[ue,U,de,fe,me]}),t[76]=ue,t[77]=de,t[78]=me,t[79]=he):he=t[79];let K;t[80]!==r.form.rulePreview||t[81]!==ce||t[82]!==he?(K=(0,X.jsxs)(`div`,{className:`rounded-xl border border-accent/20 bg-accent/5 px-4 py-3`,"aria-label":se,children:[ce,he]}),t[80]=r.form.rulePreview,t[81]=ce,t[82]=he,t[83]=K):K=t[83];let ge;t[84]!==r.form.trigger||t[85]!==r.form.triggerStepDescription?(ge=(0,X.jsx)(rn,{step:`1`,title:r.form.trigger,description:r.form.triggerStepDescription}),t[84]=r.form.trigger,t[85]=r.form.triggerStepDescription,t[86]=ge):ge=t[86];let _e;t[87]===D?_e=t[88]:(_e=e=>D({triggerMode:e.target.value}),t[87]=D,t[88]=_e);let ve;t[89]===r.trigger.manual?ve=t[90]:(ve=(0,X.jsx)(p,{value:`manual`,children:r.trigger.manual}),t[89]=r.trigger.manual,t[90]=ve);let ye;t[91]===r.trigger.once?ye=t[92]:(ye=(0,X.jsx)(p,{value:`once`,children:r.trigger.once}),t[91]=r.trigger.once,t[92]=ye);let xe;t[93]===r.trigger.daily?xe=t[94]:(xe=(0,X.jsx)(p,{value:`daily`,children:r.trigger.daily}),t[93]=r.trigger.daily,t[94]=xe);let Ce;t[95]===r.trigger.weekly?Ce=t[96]:(Ce=(0,X.jsx)(p,{value:`weekly`,children:r.trigger.weekly}),t[95]=r.trigger.weekly,t[96]=Ce);let we;t[97]===r.trigger.interval?we=t[98]:(we=(0,X.jsx)(p,{value:`interval`,children:r.trigger.interval}),t[97]=r.trigger.interval,t[98]=we);let Te;t[99]===r.trigger.customCron?Te=t[100]:(Te=(0,X.jsx)(p,{value:`cron`,children:r.trigger.customCron}),t[99]=r.trigger.customCron,t[100]=Te);let Oe;t[101]===r.trigger.webhook?Oe=t[102]:(Oe=(0,X.jsx)(p,{value:`webhook`,children:r.trigger.webhook}),t[101]=r.trigger.webhook,t[102]=Oe);let ke;t[103]===r.trigger.taskBlocked?ke=t[104]:(ke=(0,X.jsx)(p,{value:`taskBlocked`,children:r.trigger.taskBlocked}),t[103]=r.trigger.taskBlocked,t[104]=ke);let Ae;t[105]===r.trigger.noteCreated?Ae=t[106]:(Ae=(0,X.jsx)(p,{value:`noteCreated`,children:r.trigger.noteCreated}),t[105]=r.trigger.noteCreated,t[106]=Ae);let Me;t[107]===r.trigger.workflowFailed?Me=t[108]:(Me=(0,X.jsx)(p,{value:`workflowFailed`,children:r.trigger.workflowFailed}),t[107]=r.trigger.workflowFailed,t[108]=Me);let Ne;t[109]===r.trigger.sessionUpdated?Ne=t[110]:(Ne=(0,X.jsx)(p,{value:`sessionUpdated`,children:r.trigger.sessionUpdated}),t[109]=r.trigger.sessionUpdated,t[110]=Ne);let Le;t[111]===r.trigger.customEvent?Le=t[112]:(Le=(0,X.jsx)(p,{value:`event`,children:r.trigger.customEvent}),t[111]=r.trigger.customEvent,t[112]=Le);let Re;t[113]!==n.triggerMode||t[114]!==_e||t[115]!==ve||t[116]!==ye||t[117]!==xe||t[118]!==Ce||t[119]!==we||t[120]!==Te||t[121]!==Oe||t[122]!==ke||t[123]!==Ae||t[124]!==Me||t[125]!==Ne||t[126]!==Le?(Re=(0,X.jsxs)(f,{className:Q,value:n.triggerMode,onChange:_e,children:[ve,ye,xe,Ce,we,Te,Oe,ke,Ae,Me,Ne,Le]}),t[113]=n.triggerMode,t[114]=_e,t[115]=ve,t[116]=ye,t[117]=xe,t[118]=Ce,t[119]=we,t[120]=Te,t[121]=Oe,t[122]=ke,t[123]=Ae,t[124]=Me,t[125]=Ne,t[126]=Le,t[127]=Re):Re=t[127];let ze;t[128]!==n.onceAt||t[129]!==n.triggerMode||t[130]!==r.form.onceAt||t[131]!==D?(ze=n.triggerMode===`once`?(0,X.jsx)($,{label:r.form.onceAt,children:(0,X.jsx)(`input`,{className:Q,type:`datetime-local`,value:n.onceAt,onChange:e=>D({onceAt:e.target.value})})}):null,t[128]=n.onceAt,t[129]=n.triggerMode,t[130]=r.form.onceAt,t[131]=D,t[132]=ze):ze=t[132];let Be;t[133]!==n.time||t[134]!==n.triggerMode||t[135]!==n.weekday||t[136]!==r.form.day||t[137]!==r.form.time||t[138]!==r.weekdays||t[139]!==D?(Be=n.triggerMode===`daily`||n.triggerMode===`weekly`?(0,X.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,X.jsx)($,{label:r.form.time,children:(0,X.jsx)(Ve,{value:n.time,onChange:e=>D({time:e}),ariaLabel:r.form.time})}),n.triggerMode===`weekly`?(0,X.jsx)($,{label:r.form.day,children:(0,X.jsxs)(f,{className:Q,value:n.weekday,onChange:e=>D({weekday:e.target.value}),children:[(0,X.jsx)(p,{value:`1`,children:r.weekdays.monday}),(0,X.jsx)(p,{value:`2`,children:r.weekdays.tuesday}),(0,X.jsx)(p,{value:`3`,children:r.weekdays.wednesday}),(0,X.jsx)(p,{value:`4`,children:r.weekdays.thursday}),(0,X.jsx)(p,{value:`5`,children:r.weekdays.friday}),(0,X.jsx)(p,{value:`6`,children:r.weekdays.saturday}),(0,X.jsx)(p,{value:`0`,children:r.weekdays.sunday})]})}):null]}):null,t[133]=n.time,t[134]=n.triggerMode,t[135]=n.weekday,t[136]=r.form.day,t[137]=r.form.time,t[138]=r.weekdays,t[139]=D,t[140]=Be):Be=t[140];let He=n.triggerMode===`interval`?(0,X.jsxs)(`div`,{className:`grid gap-3 rounded-lg border border-edge-subtle bg-surface-base p-3`,children:[(0,X.jsx)($,{label:r.form.intervalEvery,children:(0,X.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-[minmax(0,1fr)_10rem]`,children:[(0,X.jsx)(`input`,{className:Q,type:`number`,min:6e4/De(1,n.intervalUnit),step:`any`,inputMode:`decimal`,value:n.intervalValue,onChange:e=>D({intervalValue:e.target.value})}),(0,X.jsxs)(f,{className:Q,value:n.intervalUnit,onChange:e=>{let t=e.target.value;D({intervalValue:q(n.intervalValue,n.intervalUnit,t),intervalUnit:t})},children:[(0,X.jsx)(p,{value:`minute`,children:r.form.intervalUnits.minute}),(0,X.jsx)(p,{value:`hour`,children:r.form.intervalUnits.hour}),(0,X.jsx)(p,{value:`day`,children:r.form.intervalUnits.day}),(0,X.jsx)(p,{value:`week`,children:r.form.intervalUnits.week})]})]})}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:r.form.commonIntervals}),(0,X.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:Ke.map(e=>{let t=De(e.value,e.unit),n=t===O;return(0,X.jsx)(`button`,{type:`button`,"aria-pressed":n,className:w(`rounded-full border px-2.5 py-1 text-xs transition-colors`,n?`border-accent bg-accent/10 text-accent`:`border-edge-subtle text-fg-muted hover:border-edge hover:bg-surface-hover hover:text-fg`),onClick:()=>D({intervalValue:e.value,intervalUnit:e.unit}),children:Ee(t,b)},`${e.value}:${e.unit}`)})})]}),(0,X.jsxs)(`div`,{className:`rounded-lg bg-surface-panel px-3 py-2.5`,children:[(0,X.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:be(O,b)}),(0,X.jsxs)(`div`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:[r.form.nextThreeRuns,`:`,M.join(b===`zh`?`、`:`, `)]}),(0,X.jsx)(`div`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:r.form.fixedIntervalHint})]})]}):null,Ue;t[141]!==n.cronExpr||t[142]!==n.triggerMode||t[143]!==r.form.expression||t[144]!==D?(Ue=n.triggerMode===`cron`?(0,X.jsx)($,{label:r.form.expression,children:(0,X.jsx)(`input`,{className:Q,value:n.cronExpr,onChange:e=>D({cronExpr:e.target.value})})}):null,t[141]=n.cronExpr,t[142]=n.triggerMode,t[143]=r.form.expression,t[144]=D,t[145]=Ue):Ue=t[145];let We;t[146]!==n.triggerMode||t[147]!==n.webhookSecretId||t[148]!==r.form.secretId||t[149]!==D?(We=n.triggerMode===`webhook`?(0,X.jsx)($,{label:r.form.secretId,children:(0,X.jsx)(`input`,{className:Q,value:n.webhookSecretId,onChange:e=>D({webhookSecretId:e.target.value})})}):null,t[146]=n.triggerMode,t[147]=n.webhookSecretId,t[148]=r.form.secretId,t[149]=D,t[150]=We):We=t[150];let Ge;t[151]!==n.eventPayloadMatch||t[152]!==n.eventSource||t[153]!==n.eventType||t[154]!==n.triggerMode||t[155]!==r.form.eventPayloadMatch||t[156]!==r.form.eventSource||t[157]!==r.form.eventType||t[158]!==r.form.invalidJsonObject||t[159]!==D?(Ge=n.triggerMode===`event`?(0,X.jsxs)(`div`,{className:`grid gap-3 rounded-lg border border-edge-subtle bg-surface-base p-3`,children:[(0,X.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,X.jsx)($,{label:r.form.eventType,children:(0,X.jsx)(`input`,{className:Q,value:n.eventType,onChange:e=>D({eventType:e.target.value})})}),(0,X.jsx)($,{label:r.form.eventSource,children:(0,X.jsx)(`input`,{className:Q,value:n.eventSource,onChange:e=>D({eventSource:e.target.value})})})]}),(0,X.jsxs)($,{label:r.form.eventPayloadMatch,children:[(0,X.jsx)(`textarea`,{className:w(Q,`min-h-24 resize-y font-mono text-xs`),value:n.eventPayloadMatch,onChange:e=>D({eventPayloadMatch:e.target.value}),placeholder:`{
|
|
5
|
-
"status": "blocked"
|
|
6
|
-
}`}),Qe(n.eventPayloadMatch)?null:(0,X.jsx)(`span`,{className:`text-xs text-red-700 dark:text-red-300`,children:r.form.invalidJsonObject})]})]}):null,t[151]=n.eventPayloadMatch,t[152]=n.eventSource,t[153]=n.eventType,t[154]=n.triggerMode,t[155]=r.form.eventPayloadMatch,t[156]=r.form.eventSource,t[157]=r.form.eventType,t[158]=r.form.invalidJsonObject,t[159]=D,t[160]=Ge):Ge=t[160];let qe;t[161]!==r.form.action||t[162]!==r.form.actionStepDescription?(qe=(0,X.jsx)(rn,{step:`2`,title:r.form.action,description:r.form.actionStepDescription}),t[161]=r.form.action,t[162]=r.form.actionStepDescription,t[163]=qe):qe=t[163];let Je;t[164]!==n.timeoutSeconds||t[165]!==n.workflowId||t[166]!==D||t[167]!==o?(Je=e=>{let t=e.target.value,r=Number.parseInt(n.timeoutSeconds,10);D({actionMode:t,...r===600||r===1800?{timeoutSeconds:t===`browser_automation`?`600`:`1800`}:{},...t===`browser_automation`||t===`task_command`?{safetyMode:`auto_apply`}:{},...t===`workflow`&&!n.workflowId.trim()&&o[0]?{workflowId:o[0].id,workflowGoal:``,workflowInput:{goal:``,argValues:{},schemaInput:{},concurrency:``,maxSubagents:``},workflowInputValid:!0}:{}})},t[164]=n.timeoutSeconds,t[165]=n.workflowId,t[166]=D,t[167]=o,t[168]=Je):Je=t[168];let Ye;t[169]===r.action.runAgent?Ye=t[170]:(Ye=(0,X.jsx)(p,{value:`agent`,children:r.action.runAgent}),t[169]=r.action.runAgent,t[170]=Ye);let Xe;t[171]===r.action.runWorkflow?Xe=t[172]:(Xe=(0,X.jsx)(p,{value:`workflow`,children:r.action.runWorkflow}),t[171]=r.action.runWorkflow,t[172]=Xe);let Ze;t[173]===r.action.runTask?Ze=t[174]:(Ze=(0,X.jsx)(p,{value:`task_command`,children:r.action.runTask}),t[173]=r.action.runTask,t[174]=Ze);let Z=b===`zh`?`浏览器自动化`:`Browser automation`,$e;t[175]===Z?$e=t[176]:($e=(0,X.jsx)(p,{value:`browser_automation`,children:Z}),t[175]=Z,t[176]=$e);let et;t[177]!==n.actionMode||t[178]!==Je||t[179]!==Ye||t[180]!==Xe||t[181]!==Ze||t[182]!==$e?(et=(0,X.jsxs)(f,{className:Q,value:n.actionMode,onChange:Je,children:[Ye,Xe,Ze,$e]}),t[177]=n.actionMode,t[178]=Je,t[179]=Ye,t[180]=Xe,t[181]=Ze,t[182]=$e,t[183]=et):et=t[183];let tt=n.actionMode===`browser_automation`?null:(0,X.jsx)($,{label:r.form.agent,children:(0,X.jsxs)(f,{className:Q,value:n.agentId,onChange:e=>D({agentId:e.target.value}),children:[(0,X.jsx)(p,{value:``,children:g?r.form.loadingAgents:r.form.defaultAgent}),h.map(e=>(0,X.jsx)(p,{value:e.id,children:H(e,T)},e.id))]})}),nt;t[184]!==P||t[185]!==u||t[186]!==m||t[187]!==n.actionMode||t[188]!==n.agentId||t[189]!==n.browserAutomationId||t[190]!==n.browserAutomationInputs||t[191]!==n.description||t[192]!==n.instruction||t[193]!==n.model||t[194]!==n.name||t[195]!==n.taskId||t[196]!==n.triggerMode||t[197]!==n.workflowId||t[198]!==n.workflowInput||t[199]!==r.form.defaultModel||t[200]!==r.form.instruction||t[201]!==r.form.loadingTasks||t[202]!==r.form.loadingWorkflows||t[203]!==r.form.model||t[204]!==r.form.modelHint||t[205]!==r.form.noModels||t[206]!==r.form.noTasks||t[207]!==r.form.noWorkflows||t[208]!==r.form.searchModels||t[209]!==r.form.task||t[210]!==r.form.taskClosed||t[211]!==r.form.taskContextHint||t[212]!==r.form.triggeredRun||t[213]!==r.form.workflow||t[214]!==b||t[215]!==d||t[216]!==s||t[217]!==y||t[218]!==D||t[219]!==o||t[220]!==c?(nt=n.actionMode===`agent`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)($,{label:r.form.model,children:[(0,X.jsx)(W,{value:n.model,onChange:e=>D({model:e}),placeholder:r.form.defaultModel,emptyLabel:r.form.defaultModel,searchPlaceholder:r.form.searchModels,noMatches:r.form.noModels,allowEmpty:!0,showProviderSettingsFooter:!0,contentAlign:`start`,className:`w-full`,ariaLabel:r.form.model}),(0,X.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:r.form.modelHint})]}),(0,X.jsxs)($,{label:r.form.instruction,children:[(0,X.jsx)(`div`,{className:`flex justify-end`,children:(0,X.jsx)(J,{value:n.instruction,onApply:e=>D({instruction:e}),fieldId:`automation.instruction`,fieldLabel:r.form.instruction,scenario:`automation.instruction`,locale:b,context:{automationName:n.name,automationDescription:n.description,triggerMode:n.triggerMode,agentId:n.agentId,model:n.model},showLabel:!1})}),(0,X.jsx)(`textarea`,{className:w(Q,`min-h-32 resize-y`),value:n.instruction,onChange:e=>D({instruction:e.target.value})})]})]}):n.actionMode===`workflow`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)($,{label:r.form.workflow,children:(0,X.jsxs)(f,{className:Q,value:n.workflowId,onChange:e=>D({workflowId:e.target.value,workflowGoal:``,workflowInput:{goal:``,argValues:{},schemaInput:{},concurrency:``,maxSubagents:``},workflowInputValid:!0}),disabled:c||o.length===0,children:[c?(0,X.jsx)(p,{value:``,children:r.form.loadingWorkflows}):null,!c&&o.length===0?(0,X.jsx)(p,{value:``,children:r.form.noWorkflows}):null,o.map(tn)]})}),s?(0,X.jsx)(je,{definition:s,language:b,value:n.workflowInput,onChange:e=>D({workflowInput:e,workflowGoal:e.goal,workflowInputValid:!0}),mode:`automation`,badgeLabel:r.form.triggeredRun,onValidityChange:e=>D({workflowInputValid:e.valid}),aiAssist:{inputScenario:`automation.workflowInput`,goalScenario:`automation.workflowGoal`,context:{automationName:n.name,automationDescription:n.description,triggerMode:n.triggerMode,workflowId:s.id,workflowTitle:s.title,workflowDescription:s.description}},inputClassName:`rounded-lg`}):null]}):n.actionMode===`task_command`?(0,X.jsx)(X.Fragment,{children:(0,X.jsxs)($,{label:r.form.task,children:[(0,X.jsxs)(f,{className:Q,value:n.taskId,onChange:e=>D({taskId:e.target.value}),disabled:y||P.length===0,children:[y?(0,X.jsx)(p,{value:``,children:r.form.loadingTasks}):null,!y&&P.length===0?(0,X.jsx)(p,{value:``,children:r.form.noTasks}):null,P.map(e=>(0,X.jsxs)(p,{value:e.id,disabled:e.phase===`closed`,children:[e.title,e.phase===`closed`?` · ${r.form.taskClosed}`:``]},e.id))]}),(0,X.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:r.form.taskContextHint})]})}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)($,{label:b===`zh`?`浏览器自动化`:`Browser automation`,children:(0,X.jsxs)(f,{className:Q,value:n.browserAutomationId,onChange:e=>{let t=u.find(t=>t.id===e.target.value);D({browserAutomationId:e.target.value,browserAutomationInputs:t?Pe(t):{}})},disabled:m||u.length===0,children:[u.length===0?(0,X.jsx)(p,{value:``,children:b===`zh`?`没有已启用的浏览器自动化`:`No enabled browser automations`}):null,u.map(en)]})}),d&&Object.keys(d.inputs).length>0?(0,X.jsx)($,{label:b===`zh`?`运行时填写`:`Run inputs`,children:(0,X.jsx)(Fe,{automation:d,values:n.browserAutomationInputs,language:b,onChange:e=>D({browserAutomationInputs:e})})}):null]}),t[184]=P,t[185]=u,t[186]=m,t[187]=n.actionMode,t[188]=n.agentId,t[189]=n.browserAutomationId,t[190]=n.browserAutomationInputs,t[191]=n.description,t[192]=n.instruction,t[193]=n.model,t[194]=n.name,t[195]=n.taskId,t[196]=n.triggerMode,t[197]=n.workflowId,t[198]=n.workflowInput,t[199]=r.form.defaultModel,t[200]=r.form.instruction,t[201]=r.form.loadingTasks,t[202]=r.form.loadingWorkflows,t[203]=r.form.model,t[204]=r.form.modelHint,t[205]=r.form.noModels,t[206]=r.form.noTasks,t[207]=r.form.noWorkflows,t[208]=r.form.searchModels,t[209]=r.form.task,t[210]=r.form.taskClosed,t[211]=r.form.taskContextHint,t[212]=r.form.triggeredRun,t[213]=r.form.workflow,t[214]=b,t[215]=d,t[216]=s,t[217]=y,t[218]=D,t[219]=o,t[220]=c,t[221]=nt):nt=t[221];let rt;t[222]===Symbol.for(`react.memo_cache_sentinel`)?(rt=(0,X.jsx)(`span`,{className:`flex size-6 shrink-0 items-center justify-center rounded-full bg-surface-hover text-xs text-fg-muted`,children:`3`}),t[222]=rt):rt=t[222];let it;t[223]===r.form.advancedDescription?it=t[224]:(it=(0,X.jsx)(`span`,{className:`ml-2 text-xs font-normal text-fg-muted`,children:r.form.advancedDescription}),t[223]=r.form.advancedDescription,t[224]=it);let at;t[225]!==r.form.advanced||t[226]!==it?(at=(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[rt,(0,X.jsxs)(`span`,{children:[r.form.advanced,it]})]}),t[225]=r.form.advanced,t[226]=it,t[227]=at):at=t[227];let ot;t[228]===Symbol.for(`react.memo_cache_sentinel`)?(ot=(0,X.jsx)(ie,{className:`size-4 transition-transform group-open:rotate-180`}),t[228]=ot):ot=t[228];let st;t[229]===at?st=t[230]:(st=(0,X.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between gap-3 px-4 py-3 text-sm font-semibold text-fg outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[at,ot]}),t[229]=at,t[230]=st);let ct;t[231]!==n.actionMode||t[232]!==n.safetyMode||t[233]!==r.form.safety||t[234]!==r.safety||t[235]!==D?(ct=n.actionMode!==`browser_automation`&&n.actionMode!==`task_command`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(rn,{title:r.form.safety}),(0,X.jsxs)($,{label:r.form.safety,children:[(0,X.jsxs)(f,{className:Q,value:n.safetyMode,onChange:e=>{let t=e.target.value;D({safetyMode:t})},children:[(0,X.jsx)(p,{value:`suggest_only`,children:r.safety.suggest_only}),(0,X.jsx)(p,{value:`ask_before_apply`,children:r.safety.ask_before_apply}),(0,X.jsx)(p,{value:`auto_apply`,children:r.safety.auto_apply})]}),(0,X.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:n.safetyMode===`suggest_only`?r.safety.suggestOnlyDescription:n.safetyMode===`ask_before_apply`?r.safety.askBeforeApplyDescription:r.safety.autoApplyDescription})]})]}):null,t[231]=n.actionMode,t[232]=n.safetyMode,t[233]=r.form.safety,t[234]=r.safety,t[235]=D,t[236]=ct):ct=t[236];let lt;t[237]===r.form.results?lt=t[238]:(lt=(0,X.jsx)(rn,{title:r.form.results}),t[237]=r.form.results,t[238]=lt);let ut;t[239]===D?ut=t[240]:(ut=e=>D({conversationMode:e.target.value}),t[239]=D,t[240]=ut);let dt;t[241]===r.form.newConversation?dt=t[242]:(dt=(0,X.jsx)(p,{value:`new_session`,children:r.form.newConversation}),t[241]=r.form.newConversation,t[242]=dt);let ft;t[243]===r.form.continuousConversation?ft=t[244]:(ft=(0,X.jsx)(p,{value:`continuous`,children:r.form.continuousConversation}),t[243]=r.form.continuousConversation,t[244]=ft);let pt;t[245]!==n.conversationMode||t[246]!==ut||t[247]!==dt||t[248]!==ft?(pt=(0,X.jsxs)(f,{className:Q,value:n.conversationMode,onChange:ut,children:[dt,ft]}),t[245]=n.conversationMode,t[246]=ut,t[247]=dt,t[248]=ft,t[249]=pt):pt=t[249];let gt;t[250]!==r.form.conversation||t[251]!==pt?(gt=(0,X.jsx)($,{label:r.form.conversation,children:pt}),t[250]=r.form.conversation,t[251]=pt,t[252]=gt):gt=t[252];let _t;t[253]===D?_t=t[254]:(_t=e=>D({notificationPolicy:e.target.value}),t[253]=D,t[254]=_t);let vt;t[255]===r.form.notifyAttention?vt=t[256]:(vt=(0,X.jsx)(p,{value:`attention`,children:r.form.notifyAttention}),t[255]=r.form.notifyAttention,t[256]=vt);let yt;t[257]===r.form.notifyAll?yt=t[258]:(yt=(0,X.jsx)(p,{value:`all`,children:r.form.notifyAll}),t[257]=r.form.notifyAll,t[258]=yt);let bt;t[259]===r.form.notifyNone?bt=t[260]:(bt=(0,X.jsx)(p,{value:`none`,children:r.form.notifyNone}),t[259]=r.form.notifyNone,t[260]=bt);let xt;t[261]!==n.notificationPolicy||t[262]!==_t||t[263]!==vt||t[264]!==yt||t[265]!==bt?(xt=(0,X.jsxs)(f,{className:Q,value:n.notificationPolicy,onChange:_t,children:[vt,yt,bt]}),t[261]=n.notificationPolicy,t[262]=_t,t[263]=vt,t[264]=yt,t[265]=bt,t[266]=xt):xt=t[266];let St;t[267]!==r.form.notifications||t[268]!==xt?(St=(0,X.jsx)($,{label:r.form.notifications,children:xt}),t[267]=r.form.notifications,t[268]=xt,t[269]=St):St=t[269];let Ct;t[270]===D?Ct=t[271]:(Ct=e=>D({resultWebhookEndpoint:e.target.value}),t[270]=D,t[271]=Ct);let wt;t[272]!==n.resultWebhookEndpoint||t[273]!==Ct?(wt=(0,X.jsx)(`input`,{className:Q,value:n.resultWebhookEndpoint,onChange:Ct}),t[272]=n.resultWebhookEndpoint,t[273]=Ct,t[274]=wt):wt=t[274];let Tt;t[275]===D?Tt=t[276]:(Tt=e=>D({resultWebhookSecretId:e.target.value}),t[275]=D,t[276]=Tt);let Et;t[277]!==n.resultWebhookSecretId||t[278]!==r.form.resultWebhookSecretId||t[279]!==Tt?(Et=(0,X.jsx)(`input`,{className:Q,value:n.resultWebhookSecretId,onChange:Tt,placeholder:r.form.resultWebhookSecretId}),t[277]=n.resultWebhookSecretId,t[278]=r.form.resultWebhookSecretId,t[279]=Tt,t[280]=Et):Et=t[280];let Dt;t[281]!==wt||t[282]!==Et?(Dt=(0,X.jsxs)(`div`,{className:`grid gap-2`,children:[wt,Et]}),t[281]=wt,t[282]=Et,t[283]=Dt):Dt=t[283];let Ot;t[284]!==r.form.resultWebhookEndpoint||t[285]!==Dt?(Ot=(0,X.jsx)($,{label:r.form.resultWebhookEndpoint,children:Dt}),t[284]=r.form.resultWebhookEndpoint,t[285]=Dt,t[286]=Ot):Ot=t[286];let kt;t[287]===r.form.reliability?kt=t[288]:(kt=(0,X.jsx)(rn,{title:r.form.reliability}),t[287]=r.form.reliability,t[288]=kt);let At;t[289]===D?At=t[290]:(At=e=>D({timeoutSeconds:e.target.value}),t[289]=D,t[290]=At);let jt;t[291]!==n.timeoutSeconds||t[292]!==At?(jt=(0,X.jsx)(`input`,{className:Q,inputMode:`numeric`,value:n.timeoutSeconds,onChange:At}),t[291]=n.timeoutSeconds,t[292]=At,t[293]=jt):jt=t[293];let Mt;t[294]!==r.form.timeoutSeconds||t[295]!==jt?(Mt=(0,X.jsx)($,{label:r.form.timeoutSeconds,children:jt}),t[294]=r.form.timeoutSeconds,t[295]=jt,t[296]=Mt):Mt=t[296];let Nt;t[297]===D?Nt=t[298]:(Nt=e=>D({disableAfterFailures:e.target.value}),t[297]=D,t[298]=Nt);let Pt;t[299]!==n.disableAfterFailures||t[300]!==Nt?(Pt=(0,X.jsx)(`input`,{className:Q,inputMode:`numeric`,value:n.disableAfterFailures,onChange:Nt}),t[299]=n.disableAfterFailures,t[300]=Nt,t[301]=Pt):Pt=t[301];let Ft;t[302]!==r.form.disableAfterFailures||t[303]!==Pt?(Ft=(0,X.jsx)($,{label:r.form.disableAfterFailures,children:Pt}),t[302]=r.form.disableAfterFailures,t[303]=Pt,t[304]=Ft):Ft=t[304];let It;t[305]!==Mt||t[306]!==Ft?(It=(0,X.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Mt,Ft]}),t[305]=Mt,t[306]=Ft,t[307]=It):It=t[307];let Lt;t[308]===r.form.effectivePolicy?Lt=t[309]:(Lt=(0,X.jsx)(`p`,{className:`text-xs font-medium text-fg`,children:r.form.effectivePolicy}),t[308]=r.form.effectivePolicy,t[309]=Lt);let Rt=n.timeoutSeconds||`—`,zt;t[310]!==r.form.executionDeadline||t[311]!==Rt?(zt=(0,X.jsxs)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:[r.form.executionDeadline,`: `,Rt,`s`]}),t[310]=r.form.executionDeadline,t[311]=Rt,t[312]=zt):zt=t[312];let Bt;t[313]===r.form.downstreamTimeoutHint?Bt=t[314]:(Bt=(0,X.jsx)(`p`,{className:`mt-0.5 text-xs leading-relaxed text-fg-subtle`,children:r.form.downstreamTimeoutHint}),t[313]=r.form.downstreamTimeoutHint,t[314]=Bt);let Vt;t[315]!==Lt||t[316]!==zt||t[317]!==Bt?(Vt=(0,X.jsxs)(`div`,{className:`rounded-lg border border-edge bg-surface-inset/40 px-3 py-2.5`,children:[Lt,zt,Bt]}),t[315]=Lt,t[316]=zt,t[317]=Bt,t[318]=Vt):Vt=t[318];let Ht;t[319]!==Vt||t[320]!==ct||t[321]!==lt||t[322]!==gt||t[323]!==St||t[324]!==Ot||t[325]!==kt||t[326]!==It?(Ht=(0,X.jsxs)(`div`,{className:`grid gap-4 border-t border-edge-subtle p-4`,children:[ct,lt,gt,St,Ot,kt,It,Vt]}),t[319]=Vt,t[320]=ct,t[321]=lt,t[322]=gt,t[323]=St,t[324]=Ot,t[325]=kt,t[326]=It,t[327]=Ht):Ht=t[327];let Ut;t[328]!==Ht||t[329]!==st?(Ut=(0,X.jsxs)(`details`,{className:`group rounded-xl border border-edge-subtle bg-surface-base`,children:[st,Ht]}),t[328]=Ht,t[329]=st,t[330]=Ut):Ut=t[330];let Wt;return t[331]!==Ut||t[332]!==ne||t[333]!==oe||t[334]!==V||t[335]!==K||t[336]!==ge||t[337]!==Re||t[338]!==ze||t[339]!==Be||t[340]!==He||t[341]!==Ue||t[342]!==We||t[343]!==Ge||t[344]!==qe||t[345]!==et||t[346]!==tt||t[347]!==nt?(Wt=(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-4`,children:(0,X.jsxs)(`div`,{className:`grid gap-4`,children:[ne,oe,V,K,ge,Re,ze,Be,He,Ue,We,Ge,qe,et,tt,nt,Ut]})}),t[331]=Ut,t[332]=ne,t[333]=oe,t[334]=V,t[335]=K,t[336]=ge,t[337]=Re,t[338]=ze,t[339]=Be,t[340]=He,t[341]=Ue,t[342]=We,t[343]=Ge,t[344]=qe,t[345]=et,t[346]=tt,t[347]=nt,t[348]=Wt):Wt=t[348],Wt}function en(e){return(0,X.jsx)(p,{value:e.id,children:e.name},e.id)}function tn(e){return(0,X.jsx)(p,{value:e.id,children:e.title||e.name},e.id)}function nn(e){return(0,X.jsx)(p,{value:e.id,children:e.name},e.id)}var Q=`min-h-11 w-full rounded-lg border border-edge bg-surface-base px-3 py-2 text-base sm:min-h-0 sm:text-sm text-fg outline-none focus:border-accent`;function $(e){let t=(0,Ie.c)(5),{label:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,X.jsx)(`span`,{className:`text-xs font-medium text-fg-muted`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,X.jsxs)(`div`,{className:`grid gap-1.5`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function rn(e){let t=(0,Ie.c)(12),{title:n,step:r,description:i}=e,a;t[0]===r?a=t[1]:(a=r?(0,X.jsx)(`span`,{className:`flex size-6 shrink-0 items-center justify-center rounded-full bg-accent/10 text-xs font-semibold text-accent-fg`,children:r}):(0,X.jsx)(me,{className:`mt-0.5 size-4 text-fg-muted`}),t[0]=r,t[1]=a);let o;t[2]===n?o=t[3]:(o=(0,X.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:n}),t[2]=n,t[3]=o);let s;t[4]===i?s=t[5]:(s=i?(0,X.jsx)(`p`,{className:`mt-0.5 text-xs leading-5 text-fg-muted`,children:i}):null,t[4]=i,t[5]=s);let c;t[6]!==o||t[7]!==s?(c=(0,X.jsxs)(`div`,{children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8];let l;return t[9]!==a||t[10]!==c?(l=(0,X.jsxs)(`div`,{className:`flex items-start gap-2 pt-2`,children:[a,c]}),t[9]=a,t[10]=c,t[11]=l):l=t[11],l}export{kt as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./vendor-react-BOUWij0V.js";import{t as n}from"./popover-select-DHC7J4lG.js";import{a as r,r as i}from"./locale-store-BpK9AiDq.js";function a(e){return{id:e.id,name:e.definition.name,description:e.definition.description,verified:e.verified,revision:e.revision,enabled:e.status===`enabled`,risk:e.definition.risk,domains:e.definition.allowedDomains,inputs:e.definition.inputs,createdAtMs:e.createdAtMs,updatedAtMs:e.updatedAtMs}}var o={recordingAvailability:()=>r(i(`/api/browser/recordings/availability`)),recording:(e,t)=>r(i(`/api/browser/recordings/control`),{method:`POST`,body:JSON.stringify({operation:e,endpointId:t})}),list:async()=>({automations:(await r(i(`/api/browser/automations`))).automations.map(a)}),setEnabled:async(e,t)=>({automation:a((await r(i(`/api/browser/automations/${encodeURIComponent(e)}`),{method:`PATCH`,body:JSON.stringify({status:t?`enabled`:`disabled`})})).automation)}),remove:e=>r(i(`/api/browser/automations/${encodeURIComponent(e)}`),{method:`DELETE`}),run:(e,t)=>r(i(`/api/browser/automations/${encodeURIComponent(e)}/run`),{method:`POST`,body:JSON.stringify({inputs:t,clientRequestId:crypto.randomUUID()})}),getRun:e=>r(i(`/api/browser/automation-runs/${encodeURIComponent(e)}`)),listRuns:e=>r(i(`/api/browser/automation-runs?automationId=${encodeURIComponent(e)}`)),cancel:e=>r(i(`/api/browser/automation-runs/${encodeURIComponent(e)}/cancel`),{method:`POST`})};function s(e){return Object.fromEntries(Object.entries(e.inputs).flatMap(([e,t])=>t.default===void 0?[]:[[e,t.default]]))}function c(e,t){return!Object.entries(e.inputs).some(([e,n])=>n.required&&(t[e]===void 0||t[e]===``))}var l=e(),u=t();function d(e){let t=(0,l.c)(53),{name:r,input:i,value:a,yes:o,no:s,onChange:c}=e,d;t[0]!==i.description||t[1]!==r?(d=i.description?.trim()||r,t[0]=i.description,t[1]=r,t[2]=d):d=t[2];let p=d;if(i.choices?.length){let e;t[3]===i.choices?e=t[4]:(e=i.choices.map(f),t[3]=i.choices,t[4]=e);let r=e,o=i.required?` *`:``,s;t[5]!==p||t[6]!==o?(s=(0,u.jsxs)(`span`,{className:`mb-1.5 block font-medium`,children:[p,o]}),t[5]=p,t[6]=o,t[7]=s):s=t[7];let l;t[8]===a?l=t[9]:(l=a===void 0?``:JSON.stringify(a),t[8]=a,t[9]=l);let d;t[10]===c?d=t[11]:(d=e=>c(JSON.parse(e)),t[10]=c,t[11]=d);let m;t[12]!==p||t[13]!==r||t[14]!==l||t[15]!==d?(m=(0,u.jsx)(n,{value:l,options:r,placeholder:p,onChange:d}),t[12]=p,t[13]=r,t[14]=l,t[15]=d,t[16]=m):m=t[16];let h;return t[17]!==s||t[18]!==m?(h=(0,u.jsxs)(`label`,{className:`block text-sm text-fg`,children:[s,m]}),t[17]=s,t[18]=m,t[19]=h):h=t[19],h}if(i.type===`boolean`){let e=i.required?` *`:``,r;t[20]!==p||t[21]!==e?(r=(0,u.jsxs)(`span`,{className:`mb-1.5 block font-medium`,children:[p,e]}),t[20]=p,t[21]=e,t[22]=r):r=t[22];let l=typeof a==`boolean`?String(a):``,d;t[23]===o?d=t[24]:(d={value:`true`,label:o},t[23]=o,t[24]=d);let f;t[25]===s?f=t[26]:(f={value:`false`,label:s},t[25]=s,t[26]=f);let m;t[27]!==d||t[28]!==f?(m=[d,f],t[27]=d,t[28]=f,t[29]=m):m=t[29];let h;t[30]===c?h=t[31]:(h=e=>c(e===`true`),t[30]=c,t[31]=h);let g;t[32]!==p||t[33]!==l||t[34]!==m||t[35]!==h?(g=(0,u.jsx)(n,{value:l,options:m,placeholder:p,onChange:h}),t[32]=p,t[33]=l,t[34]=m,t[35]=h,t[36]=g):g=t[36];let _;return t[37]!==r||t[38]!==g?(_=(0,u.jsxs)(`label`,{className:`block text-sm text-fg`,children:[r,g]}),t[37]=r,t[38]=g,t[39]=_):_=t[39],_}let m=i.type===`number`,h=i.required?` *`:``,g;t[40]!==p||t[41]!==h?(g=(0,u.jsxs)(`span`,{className:`mb-1.5 block font-medium`,children:[p,h]}),t[40]=p,t[41]=h,t[42]=g):g=t[42];let _=m?`number`:`text`,v=a===void 0?``:String(a),y;t[43]!==m||t[44]!==c?(y=e=>c(m?e.target.value===``?void 0:Number(e.target.value):e.target.value),t[43]=m,t[44]=c,t[45]=y):y=t[45];let b;t[46]!==_||t[47]!==v||t[48]!==y?(b=(0,u.jsx)(`input`,{type:_,value:v,onChange:y,className:`h-10 w-full rounded-lg border border-edge bg-surface-inset px-3 text-sm text-fg outline-none focus:border-accent`}),t[46]=_,t[47]=v,t[48]=y,t[49]=b):b=t[49];let x;return t[50]!==g||t[51]!==b?(x=(0,u.jsxs)(`label`,{className:`block text-sm text-fg`,children:[g,b]}),t[50]=g,t[51]=b,t[52]=x):x=t[52],x}function f(e){return{value:JSON.stringify(e),label:String(e)}}function p(e){let t=(0,l.c)(7),{automation:n,values:r,language:i,onChange:a}=e,o;t[0]===n.inputs?o=t[1]:(o=Object.entries(n.inputs),t[0]=n.inputs,t[1]=o);let s;return t[2]!==i||t[3]!==a||t[4]!==o||t[5]!==r?(s=(0,u.jsx)(`div`,{className:`grid gap-4`,children:o.map(e=>{let[t,n]=e;return(0,u.jsx)(d,{name:t,input:n,value:r[t],yes:i===`zh`?`是`:`Yes`,no:i===`zh`?`否`:`No`,onChange:e=>a({...r,[t]:e})},t)})}),t[2]=i,t[3]=a,t[4]=o,t[5]=r,t[6]=s):s=t[6],s}export{o as i,c as n,s as r,p as t};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,t as n}from"./vendor-react-BOUWij0V.js";import{p as r}from"./chunk-KS7C4IRE--EKdQGRF.js";import{t as i}from"./popover-select-DHC7J4lG.js";import{t as a}from"./loader-circle-CifKLtgG.js";import{t as o}from"./pencil-DmIY3Oa-.js";import{t as s}from"./x-B_N4OPjy.js";import{a as c,n as ee,r as l}from"./locale-store-BpK9AiDq.js";import{t as u}from"./button-aIC072nz.js";import{t as d}from"./skeleton-BI5TyibZ.js";import{Ca as f,Eo as p,Gc as m,Go as h,H as g,Kc as _,Oc as v,Po as y,Rc as b,W as x,fs as S,gs as C,tl as w}from"./index-DFgXwLsv.js";import{i as T,n as E,r as D,t as O}from"./browser-automation-inputs-C5tIrIRL.js";var k=e(t(),1),A=n();function j({availability:e,endpointId:t,recordingBusy:n,onSelect:o,onRefresh:f,onStart:p,onClose:m}){let h=ee(e=>e.language)===`zh`,_=r(),[v,y]=(0,k.useState)(),[b,C]=(0,k.useState)(!0),[w,T]=(0,k.useState)(!1),[E,D]=(0,k.useState)(``),[O,j]=(0,k.useState)(!1),M=e.endpoints.length>0,N=e.state===`update_required`;(0,k.useEffect)(()=>{let e=!1;if(M){C(!1);return}return c(l(`/api/browser/extension-status`)).then(t=>{e||y(t)}).catch(t=>{e||D(t instanceof Error?t.message:String(t))}).finally(()=>{e||C(!1)}),()=>{e=!0}},[M]);let P=async()=>{T(!0),D(``);try{(N||!v?.artifacts?.installed||v.artifacts.needsRefresh)&&await g(N||!!v?.artifacts?.needsRefresh),await x(v?.artifacts?.installed?`chrome`:`both`),j(!0),await f()}catch(e){D(e instanceof Error?e.message:String(e))}finally{T(!1)}};return(0,A.jsxs)(`section`,{role:`status`,"aria-live":`polite`,className:`mb-4 shrink-0 rounded-xl border border-edge bg-surface-base p-4`,children:[(0,A.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,A.jsx)(S,{className:`mt-0.5 size-5 shrink-0 text-accent`}),(0,A.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:M?h?`浏览器已连接`:`Browser connected`:N?h?`更新扩展后即可录制`:`Update the extension to record`:h?`连接 Chrome,录制你的操作`:`Connect Chrome to record your actions`}),(0,A.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:M?h?`在 Chrome 中切换到要录制的网页,然后开始录制。`:`Switch to the website you want to record in Chrome, then start recording.`:N?h?`当前扩展还不支持录制。更新扩展文件后,在 Chrome 扩展页重新加载 xopc。`:`Your connected extension does not support recording yet. Update its files, then reload xopc in Chrome Extensions.`:h?`录制需要 xopc Chrome 扩展。已有扩展请打开 xopc 侧栏,它会自动连接本机服务。`:`Recording uses the xopc Chrome extension. If already installed, open its side panel to connect to your local Gateway.`})]}),(0,A.jsx)(`button`,{type:`button`,disabled:w||n,onClick:m,"aria-label":h?`收起连接引导`:`Close connection guide`,className:`rounded p-1 text-fg-muted hover:bg-surface-hover`,children:(0,A.jsx)(s,{className:`size-4`})})]}),O&&!M&&(0,A.jsx)(`p`,{className:`mt-3 text-sm text-fg-muted`,children:v?.artifacts?.installed?h?`重新加载后打开 xopc 侧栏。连接状态会自动更新。`:`After reloading, open the xopc side panel. Connection status updates automatically.`:h?`在 Chrome 扩展页开启开发者模式,点击“加载已解压的扩展程序”,选择已打开的扩展目录,再打开 xopc 侧栏。连接状态会自动更新。`:`Enable Developer mode in Chrome Extensions, choose Load unpacked and select the opened extension folder, then open the xopc side panel. Connection status updates automatically.`}),M&&e.endpoints.length>1&&(0,A.jsx)(`div`,{className:`mt-3 max-w-sm`,children:(0,A.jsx)(i,{value:t??``,ariaLabel:h?`选择录制浏览器`:`Choose a browser to record`,placeholder:h?`选择浏览器`:`Choose a browser`,allowEmpty:!1,options:e.endpoints.map(e=>({value:e.endpointId,label:e.displayName})),onChange:o})}),(0,A.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[M?(0,A.jsx)(u,{onClick:p,disabled:n||!t&&e.endpoints.length>1,children:h?`开始录制`:`Start recording`}):b?(0,A.jsx)(d,{className:`h-9 w-32 rounded-lg`}):v?.artifacts?.extensionDir?(0,A.jsxs)(u,{onClick:()=>void P(),disabled:w,children:[w&&(0,A.jsx)(a,{className:`size-4 animate-spin`}),N?h?`更新并打开扩展页`:`Update and open extensions`:v.artifacts.installed?h?`打开 Chrome 扩展页`:`Open Chrome Extensions`:h?`安装 Chrome 扩展`:`Install Chrome extension`]}):(0,A.jsx)(u,{onClick:()=>_(`/settings/agent-browser`),children:h?`设置浏览器连接`:`Set up browser connection`}),!M&&(0,A.jsx)(u,{variant:`secondary`,disabled:w,onClick:()=>void f().catch(e=>D(e instanceof Error?e.message:String(e))),children:h?`检查连接`:`Check connection`})]}),E&&(0,A.jsx)(`p`,{className:`mt-2 text-sm text-danger`,role:`alert`,children:E})]})}var M={en:{record:`Record my actions`,finishRecording:`Finish and save`,recording:`Recording`,syncing:`Saved locally, syncing…`,verified:`Result verified`,saved:`Saved draft`,unknown:`Check the business result before repeating`,title:`Browser automations`,subtitle:`Let your assistant repeat routine actions on the web.`,emptyTitle:`No browser automations yet`,emptyBody:`Tell your assistant what to do on the web. Once it works, save it and run it again whenever you need.`,create:`Create with assistant`,edit:`Edit with assistant`,run:`Run now`,stop:`Stop`,enable:`Enable`,pause:`Pause`,enabled:`Enabled`,paused:`Paused`,inputs:`Before running`,noInputs:`This automation is ready to run.`,history:`Recent activity`,delete:`Delete automation`,confirmDelete:`Delete this browser automation?`,required:`Please complete all required fields.`,queued:`Waiting to start`,running:`Running`,succeeded:`Completed`,failed:`Needs attention`,cancelled:`Stopped`,result:`Result`,read:`Reads information`,draft:`Edits the page locally`,external_effect:`Affects an external system`,destructive:`Destructive action`,sensitive:`Sensitive action`,createPrompt:`Help me create a reusable browser automation. Ask what I want the browser to do, perform it once with me, then save the successful steps. Keep all technical details hidden.`,editPrompt:`Help me update the browser automation "{name}" (id: {id}). Ask what should change, test the new browser steps, then save it.`},zh:{record:`录制我的操作`,finishRecording:`完成并保存`,recording:`正在录制`,syncing:`已保存到本机,正在同步…`,verified:`结果已验证`,saved:`已保存草稿`,unknown:`结果待检查,请先检查业务结果再重复运行`,title:`浏览器自动化`,subtitle:`让助手自动重复完成网页上的固定操作。`,emptyTitle:`还没有浏览器自动化`,emptyBody:`告诉助手你希望在网页上自动完成什么。成功执行一次后,即可保存并重复运行。`,create:`让助手帮我创建`,edit:`让助手帮我修改`,run:`立即运行`,stop:`停止`,enable:`启用`,pause:`暂停`,enabled:`已启用`,paused:`已暂停`,inputs:`运行前需要填写`,noInputs:`这个自动化可以直接运行。`,history:`最近运行`,delete:`删除自动化`,confirmDelete:`确定删除这个浏览器自动化吗?`,required:`请填写所有必填内容。`,queued:`等待开始`,running:`正在运行`,succeeded:`已完成`,failed:`需要处理`,cancelled:`已停止`,result:`运行结果`,read:`仅读取信息`,draft:`仅在页面内编辑`,external_effect:`会影响外部系统`,destructive:`破坏性操作`,sensitive:`包含敏感操作`,createPrompt:`请帮我创建一个可重复运行的浏览器自动化。先询问我希望浏览器完成什么,陪我实际执行成功一次,然后保存成功步骤。不要让我处理技术细节。`,editPrompt:`请帮我修改浏览器自动化“{name}”(id:{id})。先询问我要修改什么,实际测试新的浏览器步骤,然后保存。`}};function N(e){return e!==`queued`&&e!==`running`}function P(e){return e==null?`-`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`?String(e):Array.isArray(e)?e.map(e=>`• ${P(e)}`).join(`
|
|
2
|
-
`):typeof e==`object`?Object.entries(e).map(([e,t])=>`${e}: ${P(t)}`).join(`
|
|
3
|
-
`):String(e)}function F(){let e=ee(e=>e.language),t=M[e],n=r(),i=f(e=>e.setPageHeader),a=f(e=>e.clearPageHeader),[s,c]=(0,k.useState)(null),[l,g]=(0,k.useState)(),[x,S]=(0,k.useState)({}),[F,I]=(0,k.useState)([]),[L,R]=(0,k.useState)(),[z,B]=(0,k.useState)(``),[V,H]=(0,k.useState)(!1),[U,W]=(0,k.useState)(),[G,K]=(0,k.useState)(),[q,J]=(0,k.useState)(),Y=(0,k.useMemo)(()=>s?.find(e=>e.id===l),[l,s]),X=(0,k.useCallback)(async()=>{let e=await T.list();c(e.automations),g(t=>t&&e.automations.some(e=>e.id===t)?t:e.automations[0]?.id)},[]);(0,k.useEffect)(()=>{X().catch(e=>B(String(e)))},[X]),(0,k.useEffect)(()=>{Y&&(S(D(Y)),R(void 0),B(``),T.listRuns(Y.id).then(e=>I(e.runs)).catch(e=>B(String(e))))},[Y?.id,Y?.revision]),(0,k.useEffect)(()=>{if(!L||N(L.status))return;let e=window.setInterval(()=>{T.getRun(L.id).then(({run:e})=>{R(e),N(e.status)&&Y&&(T.listRuns(Y.id).then(e=>I(e.runs)),X())}).catch(e=>B(String(e)))},700);return()=>window.clearInterval(e)},[L,Y]);let Z=(0,k.useCallback)(async()=>{H(!0),B(``);try{let e=U&&[`recording`,`paused`].includes(U.state),t=G;if(!e){let e=await T.recordingAvailability();if(e.endpoints.length===1?t=e.endpoints[0].endpointId:e.endpoints.some(e=>e.endpointId===t)||(t=void 0),K(t),!t){J(e);return}}let n=await T.recording(e?`finish`:`start`,t);W(n.value),K(n.endpointId),J(void 0)}catch(e){let t=e.body;t?.code&&[`connect_required`,`update_required`,`choose_browser`].includes(t.code)?J({state:t.code,endpoints:t.endpoints??[]}):B(e instanceof Error?e.message:String(e))}finally{H(!1)}},[U,G]),te=(0,k.useCallback)(async()=>{let e=await T.recordingAvailability();J(e),K(t=>e.endpoints.length===1?e.endpoints[0].endpointId:e.endpoints.some(e=>e.endpointId===t)?t:void 0)},[]);(0,k.useEffect)(()=>{if(!q)return;let e=!1,t=window.setInterval(()=>{T.recordingAvailability().then(t=>{e||(J(t),K(e=>t.endpoints.length===1?t.endpoints[0].endpointId:t.endpoints.some(t=>t.endpointId===e)?e:void 0))}).catch(()=>void 0)},3e3);return()=>{e=!0,window.clearInterval(t)}},[!!q]),(0,k.useEffect)(()=>{if(!U||U.automationId)return;let e=!1,t=window.setInterval(()=>{T.recording(`status`,G).then(async t=>{let n=t.value.find(e=>e.id===U.id);!e&&n&&(W(n),n.automationId&&(await X(),e||g(n.automationId)))}).catch(t=>{e||B(String(t))})},1500);return()=>{e=!0,window.clearInterval(t)}},[U,G,X]);let Q=(0,k.useCallback)(e=>{n(`/chat/new?draft=${encodeURIComponent(e)}`)},[n]),ne=(0,k.useMemo)(()=>(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[z&&(0,A.jsx)(`span`,{role:`alert`,className:`max-w-64 truncate text-xs text-red-600`,title:z,children:z}),U?.state===`stopped`&&!U.automationId&&(0,A.jsx)(`span`,{role:`status`,className:`text-xs text-fg-muted`,children:U.error||t.syncing}),(0,A.jsxs)(u,{variant:`secondary`,disabled:V,onClick:()=>void Z(),children:[(0,A.jsx)(p,{className:`size-4`}),U&&[`recording`,`paused`].includes(U.state)?t.finishRecording:t.record]}),(0,A.jsxs)(u,{onClick:()=>Q(t.createPrompt),children:[(0,A.jsx)(w,{className:`size-4`}),t.create]})]}),[Q,t,V,Z,U,z]);(0,k.useLayoutEffect)(()=>(i({startExtra:null,main:(0,A.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:t.title}),end:ne}),()=>a()),[a,ne,i,t.title]);let re=async()=>{if(Y){H(!0);try{await T.setEnabled(Y.id,!Y.enabled),await X()}catch(e){B(String(e))}finally{H(!1)}}},ie=async()=>{if(Y){if(!E(Y,x)){B(t.required);return}H(!0);try{let{run:e}=await T.run(Y.id,x);R(e),B(``)}catch(e){B(String(e))}finally{H(!1)}}},ae=async()=>{if(!(!Y||!window.confirm(t.confirmDelete))){H(!0);try{await T.remove(Y.id),g(void 0),I([]),await X()}catch(e){B(String(e))}finally{H(!1)}}},$=q&&(0,A.jsx)(j,{availability:q,endpointId:G,recordingBusy:V,onSelect:K,onRefresh:te,onStart:()=>void Z(),onClose:()=>J(void 0)});return s===null?(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-surface-panel px-4 pb-4 pt-3 sm:px-6 sm:pb-6 lg:pt-4`,children:[$,(0,A.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-[280px_minmax(0,1fr)]`,children:[(0,A.jsx)(d,{className:`h-[420px] rounded-xl`}),(0,A.jsx)(d,{className:`h-[420px] rounded-xl`})]})]}):s.length===0?(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-surface-panel px-4 pb-4 pt-3 sm:px-6 sm:pb-6 lg:pt-4`,children:[$,(0,A.jsxs)(`div`,{className:`m-auto max-w-md py-12 text-center`,children:[(0,A.jsx)(w,{className:`mx-auto size-10 text-accent`}),(0,A.jsx)(`h2`,{className:`mt-4 text-lg font-semibold text-fg`,children:t.emptyTitle}),(0,A.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-fg-muted`,children:t.emptyBody}),(0,A.jsxs)(u,{className:`mt-5`,onClick:()=>Q(t.createPrompt),children:[(0,A.jsx)(w,{className:`size-4`}),t.create]})]})]}):(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-surface-panel px-4 pb-4 pt-3 sm:px-6 sm:pb-6 lg:pt-4`,children:[$,(0,A.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-4 lg:grid-cols-[280px_minmax(0,1fr)]`,children:[(0,A.jsx)(`aside`,{className:`min-h-0 overflow-y-auto rounded-xl border border-edge bg-surface-base p-2`,children:s.map(e=>(0,A.jsxs)(`button`,{onClick:()=>g(e.id),className:`mb-1 w-full rounded-lg p-3 text-left ${l===e.id?`bg-accent-soft text-accent-fg`:`hover:bg-surface-hover`}`,children:[(0,A.jsx)(`span`,{className:`block truncate text-sm font-medium`,children:e.name}),(0,A.jsxs)(`span`,{className:`mt-1 flex items-center gap-1.5 text-xs text-fg-muted`,children:[e.enabled?(0,A.jsx)(m,{className:`size-3.5 text-emerald-600`}):(0,A.jsx)(_,{className:`size-3.5`}),e.enabled?t.enabled:t.paused]})]},e.id))}),Y&&(0,A.jsxs)(`main`,{className:`min-h-0 overflow-y-auto rounded-xl border border-edge bg-surface-base p-5 sm:p-6`,children:[(0,A.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-4`,children:[(0,A.jsxs)(`div`,{className:`min-w-0`,children:[(0,A.jsx)(`h2`,{className:`text-lg font-semibold text-fg`,children:Y.name}),Y.description&&(0,A.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm leading-6 text-fg-muted`,children:Y.description}),(0,A.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2 text-xs`,children:[(0,A.jsx)(`span`,{className:`rounded-full bg-surface-inset px-2.5 py-1 text-fg-muted`,children:t[Y.risk]}),(0,A.jsx)(`span`,{className:`rounded-full bg-surface-inset px-2.5 py-1 text-fg-muted`,children:Y.verified?t.verified:t.saved}),Y.domains.map(e=>(0,A.jsxs)(`span`,{className:`flex items-center gap-1 rounded-full bg-surface-inset px-2.5 py-1 text-fg-muted`,children:[(0,A.jsx)(v,{className:`size-3`}),e]},e))]})]}),(0,A.jsxs)(`div`,{className:`flex gap-2`,children:[(0,A.jsxs)(u,{variant:`secondary`,disabled:V,onClick:()=>void re(),children:[Y.enabled?(0,A.jsx)(_,{className:`size-4`}):(0,A.jsx)(m,{className:`size-4`}),Y.enabled?t.pause:t.enable]}),(0,A.jsxs)(u,{variant:`secondary`,onClick:()=>Q(t.editPrompt.replace(`{name}`,Y.name).replace(`{id}`,Y.id)),children:[(0,A.jsx)(o,{className:`size-4`}),t.edit]})]})]}),(0,A.jsxs)(`section`,{className:`mt-7 max-w-xl`,children:[(0,A.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:t.inputs}),Object.keys(Y.inputs).length===0?(0,A.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:t.noInputs}):(0,A.jsx)(`div`,{className:`mt-3`,children:(0,A.jsx)(O,{automation:Y,values:x,language:e,onChange:S})}),(0,A.jsxs)(`div`,{className:`mt-5 flex gap-2`,children:[(0,A.jsxs)(u,{variant:`primary`,disabled:!Y.enabled||V||!!(L&&!N(L.status)),onClick:()=>void ie(),children:[(0,A.jsx)(C,{className:`size-4`}),t.run]}),L&&!N(L.status)&&(0,A.jsxs)(u,{variant:`secondary`,onClick:()=>void T.cancel(L.id),children:[(0,A.jsx)(h,{className:`size-4`}),t.stop]})]}),z&&(0,A.jsx)(`p`,{className:`mt-3 text-sm text-red-700 dark:text-red-300`,children:z})]}),L&&(0,A.jsxs)(`section`,{className:`mt-7 rounded-xl border border-edge bg-surface-inset p-4`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-fg`,children:[(0,A.jsx)(b,{className:`size-4`}),L.businessOutcome===`verified`?t.verified:t[L.status]]}),L.businessOutcome===`unknown`&&(0,A.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:t.unknown}),L.error&&(0,A.jsx)(`p`,{className:`mt-2 text-sm text-red-700 dark:text-red-300`,children:L.error}),L.status===`succeeded`&&L.result!==void 0&&(0,A.jsxs)(`div`,{className:`mt-3`,children:[(0,A.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-muted`,children:t.result}),(0,A.jsx)(`pre`,{className:`mt-2 max-h-64 overflow-auto whitespace-pre-wrap text-sm text-fg`,children:P(L.result)})]})]}),(0,A.jsxs)(`section`,{className:`mt-8`,children:[(0,A.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:t.history}),(0,A.jsx)(`div`,{className:`mt-2 divide-y divide-edge`,children:F.slice(0,10).map(e=>(0,A.jsxs)(`button`,{className:`flex w-full items-center justify-between gap-3 py-3 text-left text-sm hover:text-accent`,onClick:()=>R(e),children:[(0,A.jsx)(`span`,{children:t[e.status]}),(0,A.jsxs)(`span`,{className:`text-xs text-fg-muted`,children:[new Date(e.createdAtMs).toLocaleString(),e.durationMs?` · ${Math.max(1,Math.round(e.durationMs/1e3))}s`:``]})]},e.id))})]}),(0,A.jsx)(`div`,{className:`mt-8 border-t border-edge pt-4`,children:(0,A.jsxs)(u,{variant:`ghost`,className:`text-red-700 dark:text-red-300`,disabled:V,onClick:()=>void ae(),children:[(0,A.jsx)(y,{className:`size-4`}),t.delete]})})]})]})]})}export{F as BrowserAutomationsPage};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{_ as i,p as a}from"./chunk-KS7C4IRE--EKdQGRF.js";import{t as o}from"./popover-select-DHC7J4lG.js";import{t as s}from"./circle-check-C23XjkUj.js";import{t as c}from"./download-Dk-ZjtO6.js";import{t as l}from"./external-link-DjqjBmc3.js";import{t as u}from"./eye-CABVeTq0.js";import{t as d}from"./folder-open-CyzJ19I9.js";import{t as f}from"./loader-circle-CifKLtgG.js";import{t as p}from"./messages-CKTo_sIF.js";import{a as m,c as h,n as g,r as _}from"./locale-store-BpK9AiDq.js";import{i as v}from"./vendor-swr-BIWyz7Rc.js";import{t as y}from"./button-aIC072nz.js";import{n as b,r as x}from"./gateway-config-swr-Dv_A5FMu.js";import{t as S}from"./skeleton-BI5TyibZ.js";import{n as C,t as w}from"./settings-form-draft-Dy10ldo8.js";import{Ac as T,As as ee,B as te,Bs as E,G as D,H as ne,No as re,U as O,V as ie,W as k,_s as ae,cs as A,gc as j,jn as oe,q as M}from"./index-DFgXwLsv.js";import{t as se}from"./number-input-DDeqHK-G.js";import{n as N,r as P}from"./settings-page-layout-Dx5S-Msc.js";import{n as ce,t as F}from"./use-autosave-DDjIdW4U.js";var I=n(),L=e(t(),1);function R(e){let[t,n]=(0,L.useState)(!1),[r,i]=(0,L.useState)(!1),[a,o]=(0,L.useState)(null),[s,c]=(0,L.useState)(null),l=(0,L.useRef)(null);return{running:t,cancelling:r,progress:a,error:s,install:(0,L.useCallback)(async()=>{if(l.current)return;let t=new AbortController;l.current=t,n(!0),o(null),c(null);try{let n=await O(o,t.signal);if(!n.ok){n.error!==`cancelled`&&c(n.message??n.error);return}e()}catch(e){t.signal.aborted||c(e instanceof Error?e.message:String(e))}finally{l.current===t&&(l.current=null),n(!1),i(!1)}},[e]),cancel:(0,L.useCallback)(async()=>{l.current&&(i(!0),await te().catch(()=>{}),l.current.abort())},[])}}var z=r(),B={extension:`Chrome extension`,playwright:`Playwright Chromium`,cdp:`CDP`,remote:`Remote browser`};function le(e){let{enabled:t,driverKind:n,autosaveStatus:r,zh:i}=e,o=a(),c=v(t?[`browser-control-status`,n]:null,ie,{revalidateOnFocus:!0,refreshInterval:n===`extension`?3e3:0}),[l,u]=(0,L.useState)(null),[d,p]=(0,L.useState)(null),[m,h]=(0,L.useState)(null),g=r===`dirty`||r===`saving`;(0,L.useEffect)(()=>{r===`saved`&&c.mutate()},[r,c.mutate]);let _=(0,L.useCallback)(async(e,t,n)=>{u(e),p(null),h(null);try{await t(),h(n),await c.mutate()}catch(e){p(e instanceof Error?e.message:String(e))}finally{u(null)}},[c.mutate]),b=R((0,L.useCallback)(()=>{h(i?`Chromium 已安装,可以开始连接测试。`:`Chromium is installed and ready to test.`),c.mutate()},[c.mutate,i])),x=c.data?.payload,C=x?.driverKind===n,w=t?g||!C?`syncing`:x?.state:`disabled`;return(0,z.jsxs)(`section`,{className:`rounded-xl bg-surface-hover/20 p-5`,children:[(0,z.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,z.jsxs)(`div`,{className:`min-w-0`,children:[(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,z.jsx)(w===`ready`?s:w===`syncing`?f:re,{className:`size-4 shrink-0 ${w===`ready`?`text-success`:w===`syncing`?`animate-spin text-fg-muted`:w===`disabled`?`text-fg-subtle`:`text-warning`}`}),(0,z.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:i?`浏览器就绪状态`:`Browser readiness`}),(0,z.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-xs ${w===`ready`?`bg-success-soft text-success`:w===`disabled`?`bg-surface-hover text-fg-muted`:`bg-warning-soft text-warning`}`,children:w===`ready`?i?`已就绪`:`Ready`:w===`disabled`?i?`未启用`:`Disabled`:w===`syncing`?i?`正在应用配置`:`Applying configuration`:i?`需要处理`:`Needs attention`})]}),(0,z.jsxs)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:[B[n],x?.detail&&C?` · ${x.detail}`:``]})]}),(0,z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,z.jsxs)(y,{variant:`ghost`,className:`h-9`,onClick:()=>void c.mutate(),disabled:c.isValidating,children:[(0,z.jsx)(A,{className:`size-3.5 ${c.isValidating?`animate-spin`:``}`}),i?`刷新`:`Refresh`]}),(0,z.jsxs)(y,{variant:`secondary`,className:`h-9`,disabled:!t||g||l!==null||b.running,onClick:()=>void _(`test`,D,i?`连接测试成功。`:`Connection test passed.`),children:[l===`test`?(0,z.jsx)(f,{className:`size-3.5 animate-spin`}):(0,z.jsx)(ae,{className:`size-3.5`}),i?`测试连接`:`Test connection`]})]})]}),t&&c.isLoading?(0,z.jsxs)(`div`,{className:`mt-4 grid gap-2 sm:grid-cols-3`,children:[(0,z.jsx)(S,{className:`h-12`}),(0,z.jsx)(S,{className:`h-12`}),(0,z.jsx)(S,{className:`h-12`})]}):null,t&&c.error?(0,z.jsx)(U,{tone:`error`,children:c.error instanceof Error?c.error.message:String(c.error)}):null,d||b.error?(0,z.jsx)(U,{tone:`error`,children:d??b.error}):null,m?(0,z.jsx)(U,{tone:`success`,children:m}):null,t&&n===`extension`&&C?(0,z.jsx)(V,{status:x?.driverStatus,zh:i,busy:l,run:_,onConnectRemote:()=>o(`/settings/devices?startDevicePairing=browser`)}):null,t&&n===`playwright`&&C?(0,z.jsx)(fe,{status:x?.driverStatus,zh:i,installer:b}):null,t&&n===`cdp`?(0,z.jsx)(`p`,{className:`mt-4 rounded-lg bg-surface-inset px-3 py-2 text-xs leading-5 text-fg-muted`,children:i?`连接测试会验证已保存的 CDP 地址,并复用浏览器中现有的标签页和登录状态。`:`The connection test verifies the saved CDP endpoint and reuses that browser’s existing tabs and signed-in state.`}):null,t&&n===`remote`?(0,z.jsx)(`p`,{className:`mt-4 rounded-lg bg-surface-inset px-3 py-2 text-xs leading-5 text-fg-muted`,children:i?`连接测试会在服务商侧创建一个临时浏览器会话,并在测试结束后立即关闭。`:`The connection test creates a temporary provider session and closes it immediately after the test.`}):null]})}function V(e){let t=(0,I.c)(70),{status:n,zh:r,busy:i,run:a,onConnectRemote:o}=e,s=n?.artifacts,u=r?`扩展文件`:`Extension files`,p=s?.installed===!0,m=s?.installed?r?`已安装`:`Installed`:r?`未安装或需更新`:`Install or update required`,h;t[0]!==u||t[1]!==p||t[2]!==m?(h=(0,z.jsx)(H,{label:u,ok:p,value:m}),t[0]=u,t[1]=p,t[2]=m,t[3]=h):h=t[3];let g=r?`本机自动发现`:`Local auto-discovery`,_=s?.nativeHost?.installed===!0,v=s?.nativeHost?.installed?r?`已就绪`:`Ready`:s?.nativeHost?.reason??(r?`需要修复`:`Repair required`),b;t[4]!==g||t[5]!==_||t[6]!==v?(b=(0,z.jsx)(H,{label:g,ok:_,value:v}),t[4]=g,t[5]=_,t[6]=v,t[7]=b):b=t[7];let x=r?`安全通道`:`Secure channel`,S=n?.transport===`gateway-realtime`,C=n?.transport===`gateway-realtime`?`Gateway Realtime`:r?`不可用`:`Unavailable`,w;t[8]!==C||t[9]!==x||t[10]!==S?(w=(0,z.jsx)(H,{label:x,ok:S,value:C}),t[8]=C,t[9]=x,t[10]=S,t[11]=w):w=t[11];let T=r?`Chrome 连接`:`Chrome connection`,ee=n?.connected===!0,te=n?.connected?r?`已连接`:`Connected`:n?.socketConnected?r?`需要重新加载扩展`:`Reload extension`:r?`等待扩展连接`:`Waiting for extension`,E;t[12]!==T||t[13]!==ee||t[14]!==te?(E=(0,z.jsx)(H,{label:T,ok:ee,value:te}),t[12]=T,t[13]=ee,t[14]=te,t[15]=E):E=t[15];let D;t[16]!==w||t[17]!==E||t[18]!==h||t[19]!==b?(D=(0,z.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2 lg:grid-cols-4`,children:[h,b,w,E]}),t[16]=w,t[17]=E,t[18]=h,t[19]=b,t[20]=D):D=t[20];let re=s?.extensionDir??`Gateway Realtime`,O;t[21]===re?O=t[22]:(O=(0,z.jsx)(`p`,{className:`mt-3 break-all text-xs text-fg-subtle`,children:re}),t[21]=re,t[22]=O);let ie=s?.installed?`secondary`:`primary`,k=i!==null,A;t[23]!==s?.installed||t[24]!==a||t[25]!==r?(A=()=>void a(`extension-install`,()=>ne(!!s?.installed),r?`扩展文件已准备好。`:`Extension files are ready.`),t[23]=s?.installed,t[24]=a,t[25]=r,t[26]=A):A=t[26];let j;t[27]===i?j=t[28]:(j=i===`extension-install`?(0,z.jsx)(f,{className:`size-3.5 animate-spin`}):(0,z.jsx)(c,{className:`size-3.5`}),t[27]=i,t[28]=j);let oe=s?.installed?r?`刷新扩展文件`:`Refresh files`:r?`安装扩展文件`:`Install extension`,M;t[29]!==ie||t[30]!==k||t[31]!==A||t[32]!==j||t[33]!==oe?(M=(0,z.jsxs)(y,{className:`h-9`,variant:ie,disabled:k,onClick:A,children:[j,oe]}),t[29]=ie,t[30]=k,t[31]=A,t[32]=j,t[33]=oe,t[34]=M):M=t[34];let se=!s?.installed||i!==null,N;t[35]!==a||t[36]!==r?(N=()=>void a(`extension-open`,de,r?`已打开 Chrome 扩展页。`:`Chrome extensions opened.`),t[35]=a,t[36]=r,t[37]=N):N=t[37];let P;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,z.jsx)(l,{className:`size-3.5`}),t[38]=P):P=t[38];let ce=r?`打开扩展页`:`Open extensions`,F;t[39]!==se||t[40]!==N||t[41]!==ce?(F=(0,z.jsxs)(y,{className:`h-9`,variant:`secondary`,disabled:se,onClick:N,children:[P,ce]}),t[39]=se,t[40]=N,t[41]=ce,t[42]=F):F=t[42];let L=!s?.installed||i!==null,R;t[43]!==a||t[44]!==r?(R=()=>void a(`extension-folder`,ue,r?`已打开扩展目录。`:`Extension folder opened.`),t[43]=a,t[44]=r,t[45]=R):R=t[45];let B;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,z.jsx)(d,{className:`size-3.5`}),t[46]=B):B=t[46];let le=r?`打开扩展目录`:`Open folder`,V;t[47]!==L||t[48]!==R||t[49]!==le?(V=(0,z.jsxs)(y,{className:`h-9`,variant:`ghost`,disabled:L,onClick:R,children:[B,le]}),t[47]=L,t[48]=R,t[49]=le,t[50]=V):V=t[50];let fe=i!==null,U;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,z.jsx)(ae,{className:`size-3.5`}),t[51]=U):U=t[51];let pe=r?`连接远程 Chrome`:`Connect remote Chrome`,W;t[52]!==o||t[53]!==fe||t[54]!==pe?(W=(0,z.jsxs)(y,{className:`h-9`,variant:`secondary`,disabled:fe,onClick:o,children:[U,pe]}),t[52]=o,t[53]=fe,t[54]=pe,t[55]=W):W=t[55];let G;t[56]!==M||t[57]!==F||t[58]!==V||t[59]!==W?(G=(0,z.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[M,F,V,W]}),t[56]=M,t[57]=F,t[58]=V,t[59]=W,t[60]=G):G=t[60];let K;t[61]!==n?.connected||t[62]!==n?.socketConnected||t[63]!==r?(K=n?.connected?null:(0,z.jsx)(`p`,{className:`mt-3 text-xs leading-5 text-fg-muted`,children:n?.socketConnected?r?`扩展仍在运行旧协议。请打开 Chrome 扩展页,找到 xopc 并点击“重新加载”,然后刷新状态。`:`The extension is still running an older protocol. Open Chrome Extensions, find xopc, click Reload, then refresh status.`:r?`打开 xopc Chrome 扩展后,它会自动发现并安全连接本机 Gateway;只有连接另一台电脑时才需要一次性邀请和手动确认。`:`Open the xopc Chrome extension to discover and securely connect to a local Gateway automatically. A one-time invitation and explicit approval are only required for Chrome on another computer.`}),t[61]=n?.connected,t[62]=n?.socketConnected,t[63]=r,t[64]=K):K=t[64];let q;return t[65]!==D||t[66]!==O||t[67]!==G||t[68]!==K?(q=(0,z.jsxs)(`div`,{className:`mt-4 rounded-xl bg-surface-base/45 p-4`,children:[D,O,G,K]}),t[65]=D,t[66]=O,t[67]=G,t[68]=K,t[69]=q):q=t[69],q}function ue(){return k(`folder`)}function de(){return k(`chrome`)}function fe(e){let t=(0,I.c)(28),{status:n,zh:r,installer:i}=e,a=n?.installed===!0,o=n?.installed?r?`已安装`:`Installed`:n?.reason??(r?`未安装`:`Not installed`),s;t[0]!==a||t[1]!==o?(s=(0,z.jsx)(H,{label:`Chromium`,ok:a,value:o}),t[0]=a,t[1]=o,t[2]=s):s=t[2];let l;t[3]===n?l=t[4]:(l=n?.executablePath?(0,z.jsx)(`p`,{className:`mt-2 break-all text-xs text-fg-subtle`,children:n.executablePath}):null,t[3]=n,t[4]=l);let u;t[5]===i.progress?u=t[6]:(u=i.progress?(0,z.jsxs)(`div`,{className:`mt-3`,children:[(0,z.jsxs)(`div`,{className:`flex justify-between text-xs text-fg-muted`,children:[(0,z.jsx)(`span`,{children:i.progress.message??i.progress.phase}),(0,z.jsx)(`span`,{children:i.progress.percent==null?``:`${Math.round(i.progress.percent)}%`})]}),(0,z.jsx)(`div`,{className:`mt-1 h-1.5 overflow-hidden rounded-full bg-surface-hover`,children:(0,z.jsx)(`div`,{className:`h-full rounded-full bg-accent transition-[width]`,style:{width:`${i.progress.percent??8}%`}})})]}):null,t[5]=i.progress,t[6]=u);let d=n?.installed?`secondary`:`primary`,p;t[7]===i?p=t[8]:(p=()=>void i.install(),t[7]=i,t[8]=p);let m;t[9]===i.running?m=t[10]:(m=i.running?(0,z.jsx)(f,{className:`size-3.5 animate-spin`}):(0,z.jsx)(c,{className:`size-3.5`}),t[9]=i.running,t[10]=m);let h=n?.installed?r?`重新安装 Chromium`:`Reinstall Chromium`:r?`安装 Chromium`:`Install Chromium`,g;t[11]!==i.running||t[12]!==d||t[13]!==p||t[14]!==m||t[15]!==h?(g=(0,z.jsxs)(y,{variant:d,className:`h-9`,disabled:i.running,onClick:p,children:[m,h]}),t[11]=i.running,t[12]=d,t[13]=p,t[14]=m,t[15]=h,t[16]=g):g=t[16];let _;t[17]!==i||t[18]!==r?(_=i.running?(0,z.jsx)(y,{variant:`ghost`,className:`h-9`,disabled:i.cancelling,onClick:()=>void i.cancel(),children:i.cancelling?r?`正在取消…`:`Cancelling…`:r?`取消`:`Cancel`}):null,t[17]=i,t[18]=r,t[19]=_):_=t[19];let v;t[20]!==_||t[21]!==g?(v=(0,z.jsxs)(`div`,{className:`mt-3 flex gap-2`,children:[g,_]}),t[20]=_,t[21]=g,t[22]=v):v=t[22];let b;return t[23]!==v||t[24]!==s||t[25]!==l||t[26]!==u?(b=(0,z.jsxs)(`div`,{className:`mt-4 rounded-xl bg-surface-base/45 p-4`,children:[s,l,u,v]}),t[23]=v,t[24]=s,t[25]=l,t[26]=u,t[27]=b):b=t[27],b}function H(e){let t=(0,I.c)(11),{label:n,ok:r,value:i}=e,a;t[0]===n?a=t[1]:(a=(0,z.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n}),t[0]=n,t[1]=a);let o=`mt-1 flex items-center gap-1.5 text-sm ${r?`text-success`:`text-fg-muted`}`,s=`size-1.5 rounded-full ${r?`bg-success`:`bg-warning`}`,c;t[2]===s?c=t[3]:(c=(0,z.jsx)(`span`,{className:s}),t[2]=s,t[3]=c);let l;t[4]!==o||t[5]!==c||t[6]!==i?(l=(0,z.jsxs)(`p`,{className:o,children:[c,i]}),t[4]=o,t[5]=c,t[6]=i,t[7]=l):l=t[7];let u;return t[8]!==a||t[9]!==l?(u=(0,z.jsxs)(`div`,{className:`rounded-lg bg-surface-inset px-3 py-2`,children:[a,l]}),t[8]=a,t[9]=l,t[10]=u):u=t[10],u}function U(e){let t=(0,I.c)(4),{tone:n,children:r}=e,i=`mt-3 rounded-lg px-3 py-2 text-xs ${n===`success`?`bg-success-soft text-success`:`bg-danger-soft text-danger`}`,a=n===`error`?`alert`:`status`,o;return t[0]!==r||t[1]!==i||t[2]!==a?(o=(0,z.jsx)(`p`,{className:i,role:a,children:r}),t[0]=r,t[1]=i,t[2]=a,t[3]=o):o=t[3],o}function pe(e){let t=(0,I.c)(36),{sectionId:n,vm:r,children:i}=e,a=g(W),o;t[0]===a?o=t[1]:(o=p(a),t[0]=a,t[1]=o);let s=o,c=s.agentSettings,l=s.settingsSections[n]??n;if(!r.hasToken){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,z.jsx)(T,{className:`mt-0.5 size-5 shrink-0 text-fg-subtle`,strokeWidth:1.75}),t[2]=e):e=t[2];let n;t[3]===l?n=t[4]:(n=(0,z.jsx)(`h1`,{className:`text-base font-semibold text-fg`,children:l}),t[3]=l,t[4]=n);let r;t[5]===c.needToken?r=t[6]:(r=(0,z.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:c.needToken}),t[5]=c.needToken,t[6]=r);let i;return t[7]!==n||t[8]!==r?(i=(0,z.jsx)(P,{gap:`gap-3`,padding:`px-3 py-10 sm:px-5 xl:px-6`,children:(0,z.jsxs)(`div`,{className:`flex items-start gap-3 rounded-2xl bg-surface-base p-6`,children:[e,(0,z.jsxs)(`div`,{children:[n,r]})]})}),t[7]=n,t[8]=r,t[9]=i):i=t[9],i}if(r.loading){let e;return t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,z.jsx)(P,{gap:`gap-6`,padding:`px-3 py-8 sm:px-5 xl:px-6`,children:(0,z.jsx)(oe,{sections:1})}),t[10]=e):e=t[10],e}if(!r.form){let e=r.error??r.fetchError??c.loadError,n;t[11]===e?n=t[12]:(n=(0,z.jsx)(`p`,{className:`text-sm text-fg-muted`,children:e}),t[11]=e,t[12]=n);let i;t[13]===r?i=t[14]:(i=()=>void r.mutate(),t[13]=r,t[14]=i);let a;t[15]!==s.logs.refresh||t[16]!==i?(a=(0,z.jsx)(y,{type:`button`,variant:`secondary`,onClick:i,children:s.logs.refresh}),t[15]=s.logs.refresh,t[16]=i,t[17]=a):a=t[17];let o;return t[18]!==n||t[19]!==a?(o=(0,z.jsxs)(P,{gap:`gap-3`,padding:`px-3 py-10 sm:px-5 xl:px-6`,children:[n,a]}),t[18]=n,t[19]=a,t[20]=o):o=t[20],o}let u;t[21]!==r.autosaveStatus||t[22]!==r.error?(u=(0,z.jsx)(ce,{status:r.autosaveStatus,error:r.error}),t[21]=r.autosaveStatus,t[22]=r.error,t[23]=u):u=t[23];let d;t[24]!==l||t[25]!==u?(d=(0,z.jsx)(N,{title:l,actions:u}),t[24]=l,t[25]=u,t[26]=d):d=t[26];let f;t[27]===r.error?f=t[28]:(f=r.error?(0,z.jsx)(`div`,{className:`rounded-lg bg-red-50 px-3 py-2 text-sm text-red-700 dark:bg-red-950/50 dark:text-red-400`,role:`alert`,children:r.error}):null,t[27]=r.error,t[28]=f);let m;t[29]===i?m=t[30]:(m=(0,z.jsx)(`div`,{className:`flex min-w-0 flex-col gap-5 pb-8`,children:i}),t[29]=i,t[30]=m);let h;return t[31]!==d||t[32]!==f||t[33]!==m||t[34]!==r.onBlurCapture?(h=(0,z.jsxs)(P,{gap:`gap-6`,onBlurCapture:r.onBlurCapture,children:[d,f,m]}),t[31]=d,t[32]=f,t[33]=m,t[34]=r.onBlurCapture,t[35]=h):h=t[35],h}function W(e){return e.language}var G={enabled:!0,driverKind:`extension`,headless:!1,executablePath:``,cdpEndpoint:`http://127.0.0.1:9222`,remoteProvider:`browserbase`,remoteApiKey:``,remoteProjectId:``,remoteRegion:``,maxNodes:180,maxCharacters:12e3,visualFallback:!0,actionTimeoutMs:3e4,sessionTimeoutMs:9e5,maxSequenceLength:5,allowedPrivateHosts:``,crossDomainNavigation:`allow`,uploads:`allow`,consequentialActions:`allow`};function K(e){let t=J(J(e).browser),n=J(t.driver),r=J(t.observation),i=J(t.limits),a=J(t.security),o=n.kind;return{...G,enabled:t.enabled!==!1,driverKind:o===`playwright`||o===`cdp`||o===`remote`?o:`extension`,headless:n.headless===!0,executablePath:Y(n.executablePath,``),cdpEndpoint:Y(n.endpoint,G.cdpEndpoint),remoteProvider:n.provider===`browser-use`?`browser-use`:`browserbase`,remoteApiKey:Y(n.apiKey,``),remoteProjectId:Y(n.projectId,``),remoteRegion:Y(n.region,``),maxNodes:X(r.maxNodes,G.maxNodes),maxCharacters:X(r.maxCharacters,G.maxCharacters),visualFallback:r.visualFallback!==!1,actionTimeoutMs:X(i.actionTimeoutMs,G.actionTimeoutMs),sessionTimeoutMs:X(i.sessionTimeoutMs,G.sessionTimeoutMs),maxSequenceLength:X(i.maxSequenceLength,G.maxSequenceLength),allowedPrivateHosts:Array.isArray(a.allowedPrivateHosts)?a.allowedPrivateHosts.filter(e=>typeof e==`string`).join(`
|
|
2
|
-
`):``,crossDomainNavigation:ge(a.crossDomainNavigation),uploads:ge(a.uploads),consequentialActions:ge(a.consequentialActions)}}function q(e){let t=e.driverKind===`extension`?{kind:`extension`}:e.driverKind===`playwright`?{kind:`playwright`,headless:e.headless,...e.executablePath.trim()?{executablePath:e.executablePath.trim()}:{}}:e.driverKind===`cdp`?{kind:`cdp`,endpoint:e.cdpEndpoint.trim()}:{kind:`remote`,provider:e.remoteProvider,...e.remoteApiKey.trim()?{apiKey:e.remoteApiKey.trim()}:{},...e.remoteProjectId.trim()?{projectId:e.remoteProjectId.trim()}:{},...e.remoteRegion.trim()?{region:e.remoteRegion.trim()}:{}};return{enabled:e.enabled,driver:t,observation:{maxNodes:e.maxNodes,maxCharacters:e.maxCharacters,visualFallback:e.visualFallback},limits:{actionTimeoutMs:e.actionTimeoutMs,sessionTimeoutMs:e.sessionTimeoutMs,maxSequenceLength:e.maxSequenceLength},security:{privateNetworks:`deny`,allowedPrivateHosts:e.allowedPrivateHosts.split(`
|
|
3
|
-
`).map(e=>e.trim()).filter(Boolean),crossDomainNavigation:e.crossDomainNavigation,uploads:e.uploads,consequentialActions:e.consequentialActions}}}function me(e){if(e.driverKind===`cdp`)try{let t=new URL(e.cdpEndpoint);if(t.protocol!==`http:`&&t.protocol!==`https:`&&t.protocol!==`ws:`&&t.protocol!==`wss:`)return`CDP endpoint must use http, https, ws, or wss.`}catch{return`Enter a valid CDP endpoint URL.`}return!Number.isInteger(e.maxNodes)||e.maxNodes<20||e.maxNodes>500?`Max nodes must be between 20 and 500.`:!Number.isInteger(e.maxCharacters)||e.maxCharacters<1e3||e.maxCharacters>5e4?`Max characters must be between 1,000 and 50,000.`:!Number.isInteger(e.actionTimeoutMs)||e.actionTimeoutMs<1e3||e.actionTimeoutMs>12e4?`Action timeout must be between 1,000 and 120,000 ms.`:!Number.isInteger(e.sessionTimeoutMs)||e.sessionTimeoutMs<6e4||e.sessionTimeoutMs>36e5?`Session timeout must be between 60,000 and 3,600,000 ms.`:!Number.isInteger(e.maxSequenceLength)||e.maxSequenceLength<1||e.maxSequenceLength>10?`Sequence length must be between 1 and 10.`:null}async function he(e){await m(_(`/api/config`),{method:`PATCH`,body:JSON.stringify({browser:q(e)})}),b()}function J(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function Y(e,t){return typeof e==`string`?e:t}function X(e,t){return typeof e==`number`&&Number.isFinite(e)?e:t}function ge(e){return e===`deny`?`deny`:`allow`}var _e=w();function ve(e){let t=!!h(e=>e.conversationId),[n,r]=(0,L.useReducer)(_e,{form:null,baseline:null}),i=n.form,a=n.baseline,o=(0,L.useRef)(!1),s=(0,L.useRef)(i);s.current=i;let c=(0,L.useRef)(null),{data:l,error:u,isLoading:d,mutate:f}=x(t);C({enabled:t,parsed:(0,L.useMemo)(()=>l?.payload?.config===void 0?null:K(l.payload.config),[l]),dirty:o.current,trackedParsedRef:c,dispatch:r,onResetDirty:()=>{o.current=!1}});let p=!!(t&&d&&l===void 0&&!u),m=u instanceof Error?u.message:u?String(u):null,g=(0,L.useMemo)(()=>!i||!a?!1:JSON.stringify(i)!==JSON.stringify(a),[i,a]),_=(0,L.useCallback)(e=>{o.current=!0,r({type:`patch`,patch:e})},[]),v=F({value:i,dirty:g,onSave:(0,L.useCallback)(async t=>{try{await he(t),r({type:`saved`,value:t}),o.current=!!(s.current&&JSON.stringify(s.current)!==JSON.stringify(t))}catch(t){throw Error(t instanceof Error?t.message:e.saveError)}},[e.saveError]),validate:me});return{hasToken:t,loading:p,fetchError:m,form:i,update:_,autosaveStatus:v.status,error:v.error,onBlurCapture:v.onBlurCapture,mutate:f}}var ye=[`extension`,`playwright`,`cdp`,`remote`];function be(){let e=(0,I.c)(29),t=g(xe),n;e[0]===t?n=e[1]:(n=p(t),e[0]=t,e[1]=n);let r=ve(n.agentSettings),a=r.form,s=t===`zh`,[c]=i(),l=(0,L.useRef)(!1),d;e[2]!==a||e[3]!==c||e[4]!==r?(d=()=>{if(!a||l.current)return;l.current=!0;let e=c.get(`driver`);ye.includes(e)&&e!==a.driverKind&&r.update({driverKind:e})},e[2]=a,e[3]=c,e[4]=r,e[5]=d):d=e[5];let f;e[6]!==a||e[7]!==c||e[8]!==r.update?(f=[a,c,r.update],e[6]=a,e[7]=c,e[8]=r.update,e[9]=f):f=e[9],(0,L.useEffect)(d,f);let m=s?`Chrome 扩展(推荐)`:`Chrome extension (recommended)`,h;e[10]===m?h=e[11]:(h={value:`extension`,label:m},e[10]=m,e[11]=h);let _;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(_={value:`playwright`,label:`Playwright Chromium`},e[12]=_):_=e[12];let v=s?`CDP 已有浏览器`:`Existing browser over CDP`,y;e[13]===v?y=e[14]:(y={value:`cdp`,label:v},e[13]=v,e[14]=y);let b=s?`远程浏览器`:`Remote browser`,x;e[15]===b?x=e[16]:(x={value:`remote`,label:b},e[15]=b,e[16]=x);let S;e[17]!==h||e[18]!==y||e[19]!==x?(S=[h,_,y,x],e[17]=h,e[18]=y,e[19]=x,e[20]=S):S=e[20];let C=S,w;e[21]!==C||e[22]!==a||e[23]!==r||e[24]!==s?(w=a?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(le,{enabled:a.enabled,driverKind:a.driverKind,autosaveStatus:r.autosaveStatus,zh:s}),(0,z.jsxs)(Ce,{title:s?`运行方式`:`Connection`,icon:(0,z.jsx)(ee,{className:`size-4`}),children:[(0,z.jsx)(we,{label:s?`启用浏览器控制`:`Enable browser control`,checked:a.enabled,onChange:e=>r.update({enabled:e})}),(0,z.jsx)(Z,{label:s?`浏览器连接`:`Browser connection`,children:(0,z.jsx)(o,{value:a.driverKind,options:C,placeholder:s?`选择连接方式`:`Choose a connection`,allowEmpty:!1,onChange:e=>r.update({driverKind:e})})}),(0,z.jsx)(Se,{kind:a.driverKind,zh:s}),a.driverKind===`playwright`?(0,z.jsxs)(`div`,{className:`space-y-4 rounded-lg bg-surface-inset p-4`,children:[(0,z.jsx)(we,{label:s?`无头模式`:`Headless mode`,description:s?`后台运行,不显示浏览器窗口。关闭后可观察智能体的操作过程。`:`Run in the background without a visible window. Turn off to watch the agent work.`,checked:a.headless,onChange:e=>r.update({headless:e})}),(0,z.jsx)(M,{title:s?`自定义 Chromium`:`Custom Chromium`,summary:a.executablePath||(s?`使用 xopc 安装的 Chromium`:`Use Chromium installed by xopc`),children:(0,z.jsx)(Q,{label:s?`Chromium 可执行文件(可选)`:`Chromium executable (optional)`,description:s?`留空时使用由 xopc 安装的 Chromium。`:`Leave empty to use Chromium installed by xopc.`,value:a.executablePath,onChange:e=>r.update({executablePath:e})})})]}):null,a.driverKind===`cdp`?(0,z.jsx)(`div`,{className:`rounded-lg bg-surface-inset p-4`,children:(0,z.jsx)(Q,{label:`CDP endpoint`,description:s?`例如 http://127.0.0.1:9222。Chrome 需要开启 remote debugging。`:`For example http://127.0.0.1:9222. Chrome must be started with remote debugging enabled.`,value:a.cdpEndpoint,onChange:e=>r.update({cdpEndpoint:e})})}):null,a.driverKind===`remote`?(0,z.jsxs)(`div`,{className:`space-y-4 rounded-lg bg-surface-inset p-4`,children:[(0,z.jsx)(Z,{label:s?`服务商`:`Provider`,children:(0,z.jsx)(o,{value:a.remoteProvider,options:[{value:`browserbase`,label:`Browserbase`},{value:`browser-use`,label:`Browser Use`}],placeholder:s?`选择服务商`:`Choose a provider`,allowEmpty:!1,onChange:e=>r.update({remoteProvider:e})})}),(0,z.jsx)(Q,{label:`API key`,type:`password`,autoComplete:`off`,value:a.remoteApiKey,onChange:e=>r.update({remoteApiKey:e})}),(0,z.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,z.jsx)(Q,{label:`Project ID`,value:a.remoteProjectId,onChange:e=>r.update({remoteProjectId:e})}),(0,z.jsx)(Q,{label:`Region`,value:a.remoteRegion,onChange:e=>r.update({remoteRegion:e})})]})]}):null]}),(0,z.jsx)(M,{title:s?`页面理解与执行限制`:`Observation and execution limits`,summary:s?`当前截图、页面大小和超时策略继续生效。`:`Current screenshot, page size and timeout policies remain active.`,children:(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(Ce,{title:s?`页面理解`:`Page understanding`,icon:(0,z.jsx)(u,{className:`size-4`}),children:[(0,z.jsx)(we,{label:s?`需要时附加截图`:`Attach screenshots when needed`,checked:a.visualFallback,onChange:e=>r.update({visualFallback:e})}),(0,z.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:[(0,z.jsx)($,{label:s?`语义节点上限`:`Semantic node limit`,description:`20–500`,min:20,max:500,value:a.maxNodes,onChange:e=>r.update({maxNodes:e})}),(0,z.jsx)($,{label:s?`文本字符上限`:`Text character limit`,description:`1,000–50,000`,min:1e3,max:5e4,step:1e3,value:a.maxCharacters,onChange:e=>r.update({maxCharacters:e})})]})]}),(0,z.jsx)(Ce,{title:s?`执行限制`:`Execution limits`,icon:(0,z.jsx)(j,{className:`size-4`}),children:(0,z.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-3`,children:[(0,z.jsx)($,{label:s?`操作超时(毫秒)`:`Action timeout (ms)`,min:1e3,max:12e4,step:1e3,value:a.actionTimeoutMs,onChange:e=>r.update({actionTimeoutMs:e})}),(0,z.jsx)($,{label:s?`会话超时(毫秒)`:`Session timeout (ms)`,min:6e4,max:36e5,step:6e4,value:a.sessionTimeoutMs,onChange:e=>r.update({sessionTimeoutMs:e})}),(0,z.jsx)($,{label:s?`批量步骤上限`:`Sequence step limit`,min:1,max:10,value:a.maxSequenceLength,onChange:e=>r.update({maxSequenceLength:e})})]})})]})}),(0,z.jsxs)(Ce,{title:s?`访问策略`:`Access policies`,icon:(0,z.jsx)(E,{className:`size-4`}),children:[(0,z.jsx)(M,{title:s?`私网访问例外`:`Private network exceptions`,summary:a.allowedPrivateHosts||(s?`未设置私网例外`:`No private network exceptions`),children:(0,z.jsx)(Q,{label:s?`允许访问的私网主机`:`Allowed private hosts`,description:s?`每行一个主机名或 IP,不支持通配符。`:`One hostname or IP per line. Wildcards are not supported.`,multiline:!0,value:a.allowedPrivateHosts,onChange:e=>r.update({allowedPrivateHosts:e})})}),(0,z.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-3`,children:[(0,z.jsx)(Te,{zh:s,label:s?`跨域导航`:`Cross-domain navigation`,value:a.crossDomainNavigation,onChange:e=>r.update({crossDomainNavigation:e})}),(0,z.jsx)(Te,{zh:s,label:s?`高影响动作`:`Consequential actions`,value:a.consequentialActions,onChange:e=>r.update({consequentialActions:e})}),(0,z.jsx)(Te,{zh:s,label:s?`文件上传`:`File uploads`,value:a.uploads,onChange:e=>r.update({uploads:e})})]})]})]}):null,e[21]=C,e[22]=a,e[23]=r,e[24]=s,e[25]=w):w=e[25];let T;return e[26]!==w||e[27]!==r?(T=(0,z.jsx)(pe,{sectionId:`agent-browser`,vm:r,children:w}),e[26]=w,e[27]=r,e[28]=T):T=e[28],T}function xe(e){return e.language}function Se(e){let t=(0,I.c)(7),{kind:n,zh:r}=e,i=r?`直接操作你正在使用的 Chrome,保留登录状态和现有标签页;最适合日常协作。`:`Operate your current Chrome with its signed-in state and existing tabs; best for daily collaboration.`,a=r?`由 xopc 启动独立 Chromium,环境隔离、自动化稳定,适合无人值守任务。`:`Let xopc launch an isolated Chromium; stable for unattended automation.`,o=r?`连接已开启远程调试的 Chrome 或 Chromium,适合自定义浏览器启动方式。`:`Connect to Chrome or Chromium already running with remote debugging.`,s=r?`使用 Browserbase 或 Browser Use 的云端浏览器,适合服务器环境和长任务。`:`Use a Browserbase or Browser Use cloud browser for servers and long-running tasks.`,c;t[0]!==i||t[1]!==a||t[2]!==o||t[3]!==s?(c={extension:i,playwright:a,cdp:o,remote:s},t[0]=i,t[1]=a,t[2]=o,t[3]=s,t[4]=c):c=t[4];let l=c[n],u;return t[5]===l?u=t[6]:(u=(0,z.jsx)(`p`,{className:`rounded-lg bg-surface-inset px-3 py-2 text-xs leading-5 text-fg-muted`,children:l}),t[5]=l,t[6]=u),u}function Ce(e){let t=(0,I.c)(17),{title:n,description:r,icon:i,children:a}=e,o;t[0]===i?o=t[1]:(o=(0,z.jsx)(`span`,{className:`mt-0.5 text-fg-subtle`,children:i}),t[0]=i,t[1]=o);let s;t[2]===n?s=t[3]:(s=(0,z.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:n}),t[2]=n,t[3]=s);let c;t[4]===r?c=t[5]:(c=r?(0,z.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:r}):null,t[4]=r,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,z.jsxs)(`div`,{children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8];let u;t[9]!==o||t[10]!==l?(u=(0,z.jsxs)(`div`,{className:`mb-4 flex items-start gap-2`,children:[o,l]}),t[9]=o,t[10]=l,t[11]=u):u=t[11];let d;t[12]===a?d=t[13]:(d=(0,z.jsx)(`div`,{className:`space-y-4`,children:a}),t[12]=a,t[13]=d);let f;return t[14]!==u||t[15]!==d?(f=(0,z.jsxs)(`section`,{className:`rounded-xl bg-surface-hover/20 p-5`,children:[u,d]}),t[14]=u,t[15]=d,t[16]=f):f=t[16],f}function Z(e){let t=(0,I.c)(8),{label:n,description:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,z.jsx)(`span`,{className:`mb-1.5 block font-medium`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=r?(0,z.jsx)(`span`,{className:`mt-1.5 block text-xs leading-5 text-fg-subtle`,children:r}):null,t[2]=r,t[3]=o);let s;return t[4]!==i||t[5]!==a||t[6]!==o?(s=(0,z.jsxs)(`label`,{className:`block text-sm text-fg`,children:[a,i,o]}),t[4]=i,t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function Q(e){let t=(0,I.c)(10),{label:n,description:r,value:i,onChange:a,type:o,multiline:s,autoComplete:c}=e,l=o===void 0?`text`:o,u=s===void 0?!1:s,d;t[0]!==c||t[1]!==u||t[2]!==a||t[3]!==l||t[4]!==i?(d=u?(0,z.jsx)(`textarea`,{rows:3,value:i,onChange:e=>a(e.target.value),className:`w-full rounded-lg border border-edge bg-surface-inset px-3 py-2 text-sm text-fg outline-none focus:border-accent`}):(0,z.jsx)(`input`,{type:l,autoComplete:c,value:i,onChange:e=>a(e.target.value),className:`w-full rounded-lg border border-edge bg-surface-inset px-3 py-2 text-sm text-fg outline-none focus:border-accent`}),t[0]=c,t[1]=u,t[2]=a,t[3]=l,t[4]=i,t[5]=d):d=t[5];let f;return t[6]!==r||t[7]!==n||t[8]!==d?(f=(0,z.jsx)(Z,{label:n,description:r,children:d}),t[6]=r,t[7]=n,t[8]=d,t[9]=f):f=t[9],f}function $(e){let t=(0,I.c)(12),{label:n,description:r,value:i,onChange:a,min:o,max:s,step:c}=e,l=c===void 0?1:c,u;t[0]===a?u=t[1]:(u=e=>{let t=Number(e.target.value);Number.isFinite(t)&&a(t)},t[0]=a,t[1]=u);let d;t[2]!==s||t[3]!==o||t[4]!==l||t[5]!==u||t[6]!==i?(d=(0,z.jsx)(se,{type:`number`,min:o,max:s,step:l,value:i,onChange:u,className:`h-10 w-full rounded-lg border border-edge bg-surface-inset px-3 text-sm text-fg outline-none focus:border-accent`}),t[2]=s,t[3]=o,t[4]=l,t[5]=u,t[6]=i,t[7]=d):d=t[7];let f;return t[8]!==r||t[9]!==n||t[10]!==d?(f=(0,z.jsx)(Z,{label:n,description:r,children:d}),t[8]=r,t[9]=n,t[10]=d,t[11]=f):f=t[11],f}function we(e){let t=(0,I.c)(15),{label:n,description:r,checked:i,onChange:a}=e,o;t[0]===a?o=t[1]:(o=e=>a(e.target.checked),t[0]=a,t[1]=o);let s;t[2]!==i||t[3]!==o?(s=(0,z.jsx)(`input`,{type:`checkbox`,checked:i,onChange:o,className:`mt-0.5 size-4 accent-accent`}),t[2]=i,t[3]=o,t[4]=s):s=t[4];let c;t[5]===n?c=t[6]:(c=(0,z.jsx)(`span`,{className:`block font-medium`,children:n}),t[5]=n,t[6]=c);let l;t[7]===r?l=t[8]:(l=r?(0,z.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-fg-subtle`,children:r}):null,t[7]=r,t[8]=l);let u;t[9]!==c||t[10]!==l?(u=(0,z.jsxs)(`span`,{children:[c,l]}),t[9]=c,t[10]=l,t[11]=u):u=t[11];let d;return t[12]!==s||t[13]!==u?(d=(0,z.jsxs)(`label`,{className:`flex items-start gap-3 text-sm text-fg`,children:[s,u]}),t[12]=s,t[13]=u,t[14]=d):d=t[14],d}function Te(e){let t=(0,I.c)(17),{zh:n,label:r,value:i,onChange:a}=e,s=n?`允许`:`Allow`,c;t[0]===s?c=t[1]:(c={value:`allow`,label:s},t[0]=s,t[1]=c);let l=n?`拒绝`:`Deny`,u;t[2]===l?u=t[3]:(u={value:`deny`,label:l},t[2]=l,t[3]=u);let d;t[4]!==c||t[5]!==u?(d=[c,u],t[4]=c,t[5]=u,t[6]=d):d=t[6];let f=d,p=n?`选择策略`:`Choose a policy`,m;t[7]===a?m=t[8]:(m=e=>a(e),t[7]=a,t[8]=m);let h;t[9]!==f||t[10]!==p||t[11]!==m||t[12]!==i?(h=(0,z.jsx)(o,{value:i,options:f,placeholder:p,allowEmpty:!1,onChange:m}),t[9]=f,t[10]=p,t[11]=m,t[12]=i,t[13]=h):h=t[13];let g;return t[14]!==r||t[15]!==h?(g=(0,z.jsx)(Z,{label:r,children:h}),t[14]=r,t[15]=h,t[16]=g):g=t[16],g}export{be as AgentBrowserSettingsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-aKtaBQYM.js";import{a as e,n as t,t as n}from"./vendor-react-BOUWij0V.js";import{t as r}from"./cn-0WouolD0.js";import{t as i}from"./dist-CxGUk8J-.js";var a=t();e();var o=n(),s={primary:`bg-accent text-on-accent shadow-none sm:shadow-surface hover:bg-accent-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-base`,secondary:`bg-surface-panel text-fg border border-edge shadow-none sm:shadow-surface 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 dark:border-edge`,ghost:`text-fg-muted hover:bg-surface-hover hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-surface-panel`,segmented:``};function c(e){let t=(0,a.c)(16),n,c,l,u,d,f;t[0]===e?(n=t[1],c=t[2],l=t[3],u=t[4],d=t[5],f=t[6]):({className:n,variant:u,asChild:d,type:f,ref:l,...c}=e,t[0]=e,t[1]=n,t[2]=c,t[3]=l,t[4]=u,t[5]=d,t[6]=f);let p=u===void 0?`secondary`:u,m=d===void 0?!1:d,h=f===void 0?`button`:f,g=m?i:`button`,_=m?void 0:h,v=s[p],y;t[7]!==n||t[8]!==v?(y=r(`touch-target inline-flex items-center justify-center gap-2 rounded-xl px-3 py-2 text-sm font-medium`,`transition-colors duration-150 ease-out transition-transform`,`active:scale-[0.98] motion-reduce:transition-none motion-reduce:active:scale-100`,`disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,v,n),t[7]=n,t[8]=v,t[9]=y):y=t[9];let b;return t[10]!==g||t[11]!==c||t[12]!==l||t[13]!==_||t[14]!==y?(b=(0,o.jsx)(g,{ref:l,type:_,className:y,...c}),t[10]=g,t[11]=c,t[12]=l,t[13]=_,t[14]=y,t[15]=b):b=t[15],b}export{c as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,r as t}from"./locale-store-BpK9AiDq.js";import{n}from"./capabilities-DGEmBQnF.js";async function r(r,i){let a=n[r],o=a.input.parse(i),s=`/api/capabilities/operations/${encodeURIComponent(r)}`,c=await e(t(s)),l=await e(t(`${s}/invocations`),{method:`POST`,body:JSON.stringify({majorVersion:c.majorVersion,descriptorDigest:c.descriptorDigest,input:o})});return a.output.parse(l.data)}export{r as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,c as t,d as n,f as r,g as i,h as ee,i as a,l as o,n as te,o as s,p as c,r as l,s as u,t as d,u as f,v as ne}from"./schemas-CObaziC7.js";import{c as re,f as ie,g as ae,l as oe,n as p,o as m,p as h,u as g,v as _}from"./tasks-PuIUgF9L.js";import{i as v,n as se,t as ce}from"./local-apps-yys1VChX.js";import{g as y,h as b}from"./local-session-drafts-DFnZQu9A.js";var x=f({id:c(),kind:d([`task`,`connector_approval`]),title:c(),detail:c().optional(),reason:d([`needs_input`,`blocked`,`user_input`,`user_approval`,`dependency`,`external`,`scheduled`,`retry`,`paused`,`overdue`,`due_soon`,`decision_needed`,`approval_required`]),urgency:d([`now`,`soon`]),href:c(),projectId:c().optional(),projectName:c().optional(),dueAt:o().int().nonnegative().optional(),updatedAt:o(),response:e(`kind`,[f({kind:u(`connector_approval`),approvalId:c()}),f({kind:u(`task`),taskId:c(),canRetry:a()})]).optional()});f({id:c(),kind:d([`automation_run`,`workflow_run`]),runId:c(),title:c(),detail:c(),reason:d([`run_failed`,`run_timeout`]),href:c(),updatedAt:o(),conversationId:c().optional()});var S=e(`type`,[f({type:u(`task_review`),label:c(),taskId:c()}),f({type:u(`retry_task`),label:c(),taskId:c()}),f({type:u(`open`),label:c(),href:c()}),f({type:u(`connector_decision`),label:c(),approvalId:c(),decision:d([`approve`,`deny`])}),f({type:u(`retry_run`),label:c(),subjectKind:d([`automation_run`,`workflow_run`]),runId:c()}),f({type:u(`acknowledge_run`),label:c(),subjectKind:d([`automation_run`,`workflow_run`]),runId:c()})]),C=f({id:c(),kind:d([`decision`,`failure`,`running`,`scheduled`]),title:c(),summary:c(),recommendation:c().optional(),dueAt:o().int().nonnegative().optional(),statusLabel:c().optional(),updatedAt:o(),openAction:S.optional(),primaryAction:S.optional(),secondaryActions:l(S).max(2).default([])}),le=f({conversationId:c(),runId:c(),title:c().optional(),agentId:c().optional(),updatedAt:o()}),ue=r({id:c().trim().min(1).max(300),sourceType:d([`project`,`task`,`conversation`,`scene`,`calendar`,`mail`,`communication`,`file`,`user_model`]),sourceRef:c().trim().min(1).max(1e3),revision:c().trim().min(1).max(300),observation:c().trim().min(1).max(1e3),observedAt:o().int().nonnegative(),freshUntil:o().int().nonnegative(),href:c().trim().min(1).max(2e3).optional()}),de=r({kind:d([`connector`,`skill`,`agent`]),capability:c().trim().min(1).max(200),resolvedId:c().trim().min(1).max(300).optional(),readiness:d([`ready`,`needs_setup`,`unavailable`]),required:a(),recoveryPath:c().trim().min(1).max(2e3).optional(),reason:c().trim().min(1).max(500).optional()}),fe=r({kind:d([`connector`,`skill`,`agent`]),capability:c().trim().min(1).max(200),code:d([`not_installed`,`disabled`,`agent_not_allowed`,`scope_too_narrow`,`connection_missing`,`account_selection_required`,`reauthorization_required`,`requirements_unmet`,`model_invocation_disabled`,`tool_gated`,`agent_unavailable`]),message:c().trim().min(1).max(500),recoveryPath:c().trim().min(1).max(2e3)}),pe=e(`state`,[r({state:u(`ready`)}),r({state:u(`needs_setup`),blockers:l(fe).min(1).max(12),recoveryActions:l(r({capability:c().trim().min(1).max(200),href:c().trim().min(1).max(2e3)})).min(1).max(12),degradedAction:r({mode:u(`degraded_start`)}).optional()})]),w=r({id:c().trim().min(1).max(200),revision:o().int().positive(),kind:d([`project_next_step`,`delivery_risk`,`meeting_prep`,`commitment_follow_up`,`automation_candidate`]),projectId:c().trim().min(1).max(200).optional(),title:c().trim().min(1).max(160),outcome:c().trim().min(1).max(1e3),rationale:c().trim().min(1).max(1500),evidence:l(ue).min(1).max(8),confidence:d([`high`,`medium`,`low`]),urgency:d([`now`,`today`,`this_week`]),estimatedMinutes:o().int().min(1).max(480).optional(),risk:d([`analysis`,`external_read`,`file_write`,`external_write`]),proposedSteps:l(c().trim().min(1).max(500)).min(1).max(6),capabilities:l(de).max(12),verification:l(c().trim().min(1).max(500)).max(8),actionPrompt:c().trim().min(1).max(4e3),degradedActionPrompt:c().trim().min(1).max(4e3).optional(),continuation:e(`kind`,[r({kind:u(`scene`),reason:u(`prior_success`),href:c().trim().min(1).max(2e3)}),r({kind:u(`automation`),reason:u(`repeated_success`),href:c().trim().min(1).max(4e3),successCount:o().int().min(2)})]).optional(),actions:r({canStart:a(),canDiscuss:a(),degradedStartAvailable:a()}),generatedAt:o().int().nonnegative(),expiresAt:o().int().nonnegative()}),me=r({id:c().trim().min(1).max(200),revision:o().int().positive(),question:c().trim().min(1).max(500),options:l(r({id:c().trim().min(1).max(100),label:c().trim().min(1).max(200)})).min(2).max(3),evidenceIds:l(c().trim().min(1).max(300)).min(1).max(8)}),he=e(`state`,[r({state:u(`disabled`)}),r({state:u(`quiet`),reason:d([`no_change`,`insufficient_value`,`model_unavailable`,`generation_failed`,`budget_exhausted`])}),r({state:u(`refreshing`),previous:w.optional(),requestedAt:o().int().nonnegative()}),r({state:u(`clarification`),question:me,generatedAt:o().int().nonnegative(),expiresAt:o().int().nonnegative()}),r({state:u(`ready`),primary:w,alternatives:l(w).max(2),placement:d([`primary`,`compact`]),generatedAt:o().int().nonnegative(),expiresAt:o().int().nonnegative(),stale:a()})]);r({idempotencyKey:c().trim().min(1).max(200),locale:c().trim().max(30).optional()}),r({idempotencyKey:c().trim().min(1).max(200),expectedRevision:o().int().positive(),kind:d([`already_done`,`irrelevant`,`too_early`,`source_incorrect`,`less_like_this`,`snoozed`]),reasonCode:c().trim().min(1).max(100).optional(),note:c().trim().min(1).max(1e3).optional(),snoozedUntil:o().int().nonnegative().optional()}),r({idempotencyKey:c().trim().min(1).max(200)});var ge=r({items:l(r({opportunity:w,status:d([`available`,`started`,`discussing`,`completed`,`snoozed`,`dismissed`,`expired`,`superseded`]),feedbackKind:d([`started`,`discussed`,`already_done`,`irrelevant`,`too_early`,`source_incorrect`,`less_like_this`,`snoozed`]).optional(),updatedAt:o().int().nonnegative(),snoozedUntil:o().int().nonnegative().optional(),href:c().trim().min(1).max(2e3).optional()})).max(100)});r({idempotencyKey:c().trim().min(1).max(200),expectedRevision:o().int().positive(),mode:d([`start`,`degraded_start`,`discuss`])});var _e=e(`outcome`,[r({outcome:u(`task`),taskId:c(),href:c()}),r({outcome:u(`chat_draft`),href:c()}),r({outcome:u(`needs_setup`),preflight:pe})]),ve=f({runningConversations:l(le).default([]),needsUser:l(C),background:l(C),backgroundCount:o().int().nonnegative(),decisions:l(x),advisor:he,attentionPolicy:f({visibleDecisionCount:o().int().nonnegative(),suppressedDecisionCount:o().int().nonnegative(),visibleAttentionCount:o().int().nonnegative(),suppressedAttentionCount:o().int().nonnegative()}).default({visibleDecisionCount:0,suppressedDecisionCount:0,visibleAttentionCount:0,suppressedAttentionCount:0})});r({window:r({since:o().int().nonnegative(),until:o().int().nonnegative()}),currentStrategyVersion:c().trim().min(1).max(100),generations:r({total:o().int().nonnegative(),succeeded:o().int().nonnegative(),quiet:o().int().nonnegative(),failed:o().int().nonnegative(),estimatedCostUsd:o().nonnegative()}),outcomes:r({opportunities:o().int().nonnegative(),started:o().int().nonnegative(),discussed:o().int().nonnegative(),completed:o().int().nonnegative(),corrected:o().int().nonnegative(),expired:o().int().nonnegative()}),rates:r({start:o().min(0).max(1),completionFromStarted:o().min(0).max(1),correction:o().min(0).max(1)}),feedback:r({alreadyDone:o().int().nonnegative(),irrelevant:o().int().nonnegative(),tooEarly:o().int().nonnegative(),sourceIncorrect:o().int().nonnegative(),lessLikeThis:o().int().nonnegative()}),strategies:l(r({version:c().trim().min(1).max(100),generations:o().int().nonnegative(),opportunities:o().int().nonnegative(),started:o().int().nonnegative(),completed:o().int().nonnegative()}))});var ye=f({northStar:f({weeklyTrustedProgress:o(),weeklyActiveUsers:o(),trustedProgressPerWeeklyActiveUser:o()}),tasks:f({total:o(),achieved:o(),partial:o(),notAchieved:o(),userCorrected:o(),achievementRate:o(),correctionRate:o(),trusted:o(),trustedRate:o()})});function be(e){return ve.parse(e)}var xe=e(`kind`,[f({kind:u(`once`),at:c()}),f({kind:u(`interval`),everyMs:o().positive(),anchorMs:o().optional()}),f({kind:u(`cron`),expr:c(),tz:c().optional()})]),T=e(`kind`,[f({kind:u(`manual`)}),f({kind:u(`schedule`),schedule:xe}),f({kind:u(`webhook`),secretId:c().optional()}),f({kind:u(`event`),eventType:c(),source:c().optional(),payloadMatch:n(c(),ee([c(),o(),a(),te()])).optional()})]),E=e(`kind`,[f({kind:u(`agent`),agentId:c().optional(),instruction:c(),workingDirectory:c().optional(),model:c().optional(),timeoutSeconds:o().positive().optional()}),f({kind:u(`workflow`),workflowId:c(),agentId:c().optional(),input:i().optional(),inputEnvelope:i().optional(),goal:c().optional(),concurrency:o().int().positive().optional(),maxSubagents:o().int().nonnegative().optional(),timeoutSeconds:o().positive().optional()}),f({kind:u(`browser_automation`),automationId:c(),inputs:n(c(),i()).optional(),timeoutSeconds:o().positive().optional()}),f({kind:u(`task_command`),taskId:c(),command:p}),f({kind:u(`system`),capability:d([`home.advisor.refresh`,`personal.proactivity.tick`,`memory.temporal_sweep`,`memory.daily_reconciliation`,`memory.weekly_knowledge`])})]),D=d([`queued`,`running`,`cancelling`,`succeeded`,`failed`,`cancelled`,`timeout`]),O=e(`kind`,[f({key:c(),kind:u(`gateway_event`)}),f({key:c(),kind:u(`webhook`),endpoint:c().url().startsWith(`https://`),secretId:c()}),f({key:c(),kind:u(`file`),targetId:c(),pathTemplate:c()}),f({key:c(),kind:u(`card`),channelId:c(),templateId:c()})]),k=f({id:c(),name:c(),description:c().optional(),projectId:c().optional(),enabled:a(),trigger:T,action:E,safety:f({mode:d([`suggest_only`,`ask_before_apply`,`auto_apply`])}).optional(),conversationMode:d([`new_session`,`continuous`]).optional(),delivery:f({notificationPolicy:d([`attention`,`all`,`none`]),destinations:l(O)}),reliability:f({executionTimeoutSeconds:o().positive().optional(),retryCount:o().int().nonnegative().optional(),maxConcurrentRuns:o().int().positive().optional(),disableAfterConsecutiveFailures:o().int().positive().optional()}).optional(),management:f({owner:c(),editable:l(d([`enabled`,`trigger`])),runnable:a(),deletable:a()}).optional(),state:f({nextRunAtMs:o().optional(),runningRunId:c().optional(),lastRunAtMs:o().optional(),lastRunStatus:D.optional(),lastError:c().optional(),consecutiveFailures:o().int().nonnegative().optional()}),createdAtMs:o(),updatedAtMs:o()}),A=f({id:c(),automationId:c(),automationName:c(),status:D,triggerSnapshot:T,actionSnapshot:E,manual:a(),createdAtMs:o(),startedAtMs:o().optional(),endedAtMs:o().optional(),durationMs:o().optional(),summary:c().optional(),error:c().optional(),conversationId:c().optional(),workflowRunId:c().optional(),model:c().optional(),deadlineAtMs:o().optional(),currentPhase:d([`queued`,`action`,`cancelling`,`completed`]).optional(),cancelRequestedAtMs:o().optional(),cancelConfirmedAtMs:o().optional(),termination:f({reason:d([`completed`,`failed`,`user_cancelled`,`deadline_exceeded`]),component:d([`automation`,`agent_turn`,`tool`,`mcp`,`process`]).optional(),componentName:c().optional(),cancellationConfirmed:a()}).optional(),heartbeatAtMs:o().optional(),leaseOwner:c().optional(),leaseExpiresAtMs:o().optional(),attemptNumber:o().int().positive().optional(),rootRunId:c().optional()}),j=f({id:c(),runId:c(),automationId:c(),type:d([`run.queued`,`run.started`,`run.deadline_resolved`,`run.cancel_requested`,`run.cancel_confirmed`,`run.cancellation_unconfirmed`,`run.recovered`,`action.started`,`action.retry_scheduled`,`action.completed`,`action.failed`,`run.completed`]),message:c(),data:i().optional(),createdAtMs:o()}),M=f({totalAutomations:o().int().nonnegative(),enabledAutomations:o().int().nonnegative(),runningRuns:o().int().nonnegative(),failedLastHour:o().int().nonnegative(),nextRun:f({automationId:c(),name:c(),runAtMs:o()}).optional(),pendingEvents:o().int().nonnegative(),oldestPendingEventAgeMs:o().int().nonnegative(),projectionDeadLetters:o().int().nonnegative(),pendingRunDeliveries:o().int().nonnegative(),runDeliveryDeadLetters:o().int().nonnegative(),pendingResultDeliveries:o().int().nonnegative(),resultDeliveryDeadLetters:o().int().nonnegative(),activeExecutions:o().int().nonnegative(),activeDeliveryLeases:o().int().nonnegative()}),N=c().trim().min(1).max(200),P=l(N).max(100).refine(e=>new Set(e).size===e.length,`Duplicate identifiers`),Se=[`no_change`,`observation`,`artifact`,`decision`,`state_change`,`effect_proposal`,`receipt`],F=[`needs_setup`,`active`,`paused`,`completed`,`archived`],Ce=e(`kind`,[r({kind:u(`personal`)}),r({kind:u(`project`),id:N}),r({kind:u(`conversation`),id:N}),r({kind:u(`objects`),ids:P.refine(e=>e.length>0)})]),we=r({timeoutSeconds:o().int().min(1).max(600),maxIterations:o().int().min(1).max(30),maxToolCalls:o().int().min(0).max(100),maxOutputTokens:o().int().min(1).max(32768)}),I=r({kind:c().regex(/^[a-z][a-z0-9_-]{0,63}$/),instruction:c().trim().min(1).max(32e3),limits:we}),L=r({schemaVersion:u(1),key:c().regex(/^[a-z][a-z0-9-]{0,79}$/),version:c().regex(/^\d+\.\d+\.\d+$/),title:c().trim().min(1).max(120),description:c().trim().min(1).max(2e3),goalMode:d([`finite`,`ongoing`]),contextProviders:P,triggers:l(e(`type`,[r({id:N,type:u(`manual`)}),r({id:N,type:u(`event`),eventType:N}),r({id:N,type:u(`schedule`)})])).min(1).max(20).refine(e=>new Set(e.map(e=>e.id)).size===e.length,`Duplicate trigger IDs`),execution:I,allowedOutcomeKinds:l(d(Se)).min(1),allowedEffectHandlers:P}),Te=r({accountIds:P,contextProviders:P,effectHandlers:P}),Ee=r({expectedRevision:o().int().nonnegative(),content:c().trim().max(32e3),validUntil:o().int().nonnegative().nullable().default(null)}),R=r({templateKey:N,templateVersion:N,goal:c().trim().min(1).max(12e3),scope:Ce,permissions:Te}),z=R.extend({id:N,ownerId:N,workspaceId:c().min(1),status:d(F),setupMissing:l(c()).optional(),revision:o().int().positive()}),De=R.pick({goal:!0,scope:!0,permissions:!0}).extend({expectedRevision:o().int().positive()}),Oe=r({expectedRevision:o().int().positive(),status:d(F)}),B=r({subjectId:N,accountId:N,dueAt:o().int().nonnegative()}),ke=r({expectedRevision:o().int().positive(),dueAt:o().int().nonnegative().optional(),status:d([`watching`,`paused`,`completed`]).optional()}).refine(e=>e.dueAt!==void 0||e.status!==void 0,`Work item update is empty`),V=B.extend({id:N,activationId:N,revision:o().int().positive(),status:d([`watching`,`paused`,`completed`])}),H=o().int().min(0).max(23),U=r({level:d([`quiet`,`balanced`,`active`]).default(`balanced`),timezone:c().min(1).max(100).refine(e=>{try{return new Intl.DateTimeFormat(`en`,{timeZone:e}),!0}catch{return!1}}).default(`Asia/Shanghai`),quietStartHour:H.default(22),quietEndHour:H.default(8),dailyNotificationLimit:o().int().min(0).max(30).default(3),digestEnabled:a().default(!1),digestHour:H.default(18),digestMinute:o().int().min(0).max(59).default(0),preferredChannel:d([`in_app`,`browser`]).default(`browser`),suppressWhileViewing:a().default(!0),checksPaused:a().default(!1),checksPausedUntil:c().datetime({offset:!0}).nullable().default(null),notificationsMuted:a().default(!1)}),W=U.shape;r({expectedRevision:o().int().nonnegative(),level:W.level.removeDefault().optional(),timezone:W.timezone.removeDefault().optional(),quietStartHour:W.quietStartHour.removeDefault().optional(),quietEndHour:W.quietEndHour.removeDefault().optional(),dailyNotificationLimit:W.dailyNotificationLimit.removeDefault().optional(),digestEnabled:W.digestEnabled.removeDefault().optional(),digestHour:W.digestHour.removeDefault().optional(),digestMinute:W.digestMinute.removeDefault().optional(),preferredChannel:W.preferredChannel.removeDefault().optional(),suppressWhileViewing:W.suppressWhileViewing.removeDefault().optional(),checksPaused:W.checksPaused.removeDefault().optional(),checksPausedUntil:W.checksPausedUntil.removeDefault().optional(),notificationsMuted:W.notificationsMuted.removeDefault().optional()});var Ae=r({expectedRevision:o().int().nonnegative(),rating:d([`useful`,`not_useful`]),note:c().trim().max(2e3).optional()}),je=r({weekdays:l(o().int().min(0).max(6)).min(1).max(7).refine(e=>new Set(e).size===e.length,`Duplicate weekdays`),hour:o().int().min(0).max(23),minute:o().int().min(0).max(59),timeZone:c().trim().min(1).max(100).refine(e=>{try{return new Intl.DateTimeFormat(`en`,{timeZone:e}),!0}catch{return!1}},`Invalid time zone`)});d([`http`,`agent`,`cli`,`automation`,`mcp`,`extension`]),d([`INVALID_INPUT`,`FORBIDDEN`,`NOT_FOUND`,`REVISION_CONFLICT`,`CONTRACT_CHANGED`,`APPROVAL_REQUIRED`,`IN_PROGRESS`,`UNAVAILABLE`,`OUTCOME_UNKNOWN`,`CANCELLED`,`INTERNAL`]);var Me=r({majorVersion:o().int().positive(),descriptorDigest:c().regex(/^[a-f0-9]{64}$/),input:s(),idempotencyKey:c().min(1).max(200).optional()}),Ne=f({triggerSummary:c(),actionSummary:c(),safetyNotes:l(c()),requiredConfirmations:l(c()),canRunNow:a(),runNowBlockedReason:c().optional()});r({agentId:c().trim().min(1).max(64).optional(),language:d([`en`,`zh`]).default(`en`)}),f({draftId:c(),explanation:c(),assumptions:l(c()),risks:l(c()),automation:t({name:c(),trigger:s(),action:s()}),simulation:Ne,repairAttempts:o().int().nonnegative()}),f({draftId:c(),patch:n(c(),s()),explanation:c(),expectedEffect:c(),risks:l(c()),requiresApproval:a(),repairAttempts:o().int().nonnegative()});var Pe=r({eventId:c().min(1),kind:d([`note`,`task`,`project`,`automation`,`scene`,`local_app`]),id:c().min(1),revision:o().int().nonnegative(),operation:d([`created`,`updated`,`deleted`]),operationId:c().optional()}),G=r({id:c().trim().min(1).max(512)}),K=r({limit:o().int().min(1).max(100).default(50),afterId:c().max(200).default(``)});f({activation:z}),Oe.extend({id:c().min(1).max(512)}),f({activation:z}),U.extend({revision:o().int().positive()}),Ae.extend({id:c().min(1).max(512)}),f({revision:o().int().positive()}),G.extend({read:a()}),f({ok:u(!0),presentationId:c(),read:a()}),G.extend({triggerKey:c().min(1).max(200),expectedRevision:o().int().nonnegative(),schedule:je}),f({revision:o().int().positive()}),De.extend({id:c().min(1).max(512)}),f({activation:z}),f({intentId:c()}),Ee.extend({id:c().min(1).max(512)}),f({revision:o().int().positive()}),B.extend({id:c().min(1).max(512)}),f({workItem:V}),ke.safeExtend({id:c().min(1).max(512)}),f({workItem:V});var q=t({id:c(),activationId:c(),outcomeId:c(),status:c(),content:s(),readOnly:a(),createdAt:o(),sources:l(f({kind:c(),title:c(),sender:c(),href:c()})),sourceHealth:n(c(),s()).nullable()});G.extend({expectedVersion:o().int().positive(),reason:c().trim().min(1).max(4096).default(`TaskRun cancelled`)}),G.extend({rating:d([`helpful`,`not_helpful`]),reason:c().trim().max(4096).optional()}),f({ok:u(!0),feedback:f({id:c(),runId:c(),rating:d([`helpful`,`not_helpful`]),reason:c().optional(),createdAt:o()})}),f({ok:u(!0),run:h,receipt:g,model:m.pick({task:!0,operationalState:!0,attention:!0,allowedCommands:!0}),executionStopConfirmed:u(!1)}),G.extend({enabled:a(),expectedRevision:o().int().nonnegative()}),f({ok:u(!0),automation:k.loose()}).extend({run:A.loose()}),f({ok:u(!0),cancelled:a(),confirmed:a()}),f({ok:u(!0),marked:u(!0)}),r({projectId:c().trim().min(1).max(512).optional()}),f({ok:u(!0),count:o().int().nonnegative()}),G.extend({reason:c().trim().min(1).max(2e3)}),r({runId:c().trim().min(1).max(200),destinationKey:c().trim().min(1).max(100),reason:c().trim().min(1).max(2e3)}),f({ok:u(!0),accepted:u(!0)}),G.extend({expectedRevision:o().int().nonnegative().nullable()}),f({ok:u(!0),removed:a(),automation:k.loose().optional(),cancelRunId:c().optional()});var Fe=r({status:d([`inbox`,`processed`,`archived`,`trashed`]).optional(),kind:d([`thought`,`todo`,`voice`,`media`,`bookmark`,`mixed`,`task`]).optional(),tag:c().max(512).optional(),projectId:c().min(1).max(512).optional(),unassigned:a().optional(),agentEdited:a().optional(),search:c().max(4096).optional(),pinned:a().optional(),limit:o().int().min(1).max(100).default(20),offset:o().int().min(0).default(0),sortBy:d([`createdAt`,`updatedAt`,`lastOpenedAt`]).optional(),sortOrder:d([`asc`,`desc`]).optional()}),J=t({id:c().min(1),markdown:c(),kind:d([`thought`,`todo`,`voice`,`media`,`bookmark`,`mixed`,`task`]),status:d([`inbox`,`processed`,`archived`,`trashed`]),createdAt:o(),updatedAt:o(),title:c().optional(),localVersion:o().optional()}),Ie=f({note:J});G.extend({expectedRevision:o().int().positive(),revokeShares:a().default(!0)}),f({deleted:u(!0),revokedShares:o().int().nonnegative()});var Le=r({title:c().max(1e3).optional(),markdown:c().max(2e6).default(``),kind:J.shape.kind.optional(),tags:l(c().max(512)).max(100).optional(),capturedVia:r({channel:d([`app`,`web`,`electron`,`tui`,`telegram`,`wechat`,`feishu`]),platform:d([`ios`,`android`,`harmonyos`]).optional()}).default({channel:`web`}),pinned:a().default(!1),projectId:c().min(1).optional()});r({id:c().min(1),expectedRevision:o().int().positive(),trigger:d([`edit`,`ai_edit`,`sync`,`restore`]).optional(),patch:r({title:c().max(1e3).optional(),markdown:c().max(2e6).optional(),tags:l(c().max(512)).max(100).optional(),pinned:a().optional(),kind:J.shape.kind.optional(),status:J.shape.status.optional(),localVersion:o().int().positive().optional(),ai:n(c(),s()).optional(),aiDeep:t({processedAt:o()}).optional()})}),r({text:c().trim().min(1).max(2e6),capturedVia:Le.shape.capturedVia}),r({id:c().min(1),expectedRevision:o().int().positive().optional(),content:c().trim().min(1).max(2e6),heading:c().trim().min(1).max(1e3).default(`AI 讨论沉淀`)}),r({id:c().min(1),timestamp:o().int().positive(),expectedRevision:o().int().positive()});var Re=t({items:l(t({id:c().min(1)})),total:o().int().nonnegative()}),ze=r({phase:ae.optional(),priority:oe.optional(),projectId:c().min(1).max(512).optional(),search:c().max(4096).optional(),limit:o().int().min(1).max(200).default(50),offset:o().int().nonnegative().default(0)}),Y=t({id:c().min(1),name:c(),slug:c(),status:d([`planned`,`active`,`paused`,`completed`,`cancelled`,`archived`]),executionMode:d([`local_checkout`,`managed_worktree`]),successCriteria:l(c()),scope:n(c(),i()),nonGoals:l(c()),health:d([`unknown`,`on_track`,`at_risk`,`off_track`]),version:o().int().positive(),createdAt:o(),updatedAt:o(),workspaceRoot:c().optional(),defaultAgentId:c().optional()}),Be=r({id:c().trim().min(1),expectedVersion:o().int().positive(),pinned:a()});f({ok:u(!0),project:Y}),r({workspacePath:c().trim().min(1).max(4096),agentId:c().trim().min(1).max(512).optional(),defaultAgentId:c().trim().max(512).optional(),projectKind:d([`auto`,`coding`,`general`,`unknown`]).optional(),autoCreate:a().default(!1),conversationId:ne().optional()}),f({ok:u(!0),project:Y.nullable(),reason:d([`exact`,`contained`,`auto_created`]).optional(),created:a().optional()}),Be.omit({pinned:!0}),f({ok:u(!0),deleted:u(!0),executionStopConfirmed:u(!1)});var X={name:c().trim().min(1).max(1e3).optional(),description:c().max(2e4).optional(),defaultAgentId:c().trim().max(512).optional(),workspaceRoot:c().trim().min(1).max(4096).optional(),createWorkspaceRoot:a().optional(),executionMode:Y.shape.executionMode.optional(),brief:c().max(2e4).optional(),instructions:c().max(1e5).optional(),outcome:c().max(2e4).optional(),successCriteria:l(c().max(4096)).max(100).optional(),scope:n(c(),s()).optional(),nonGoals:l(c().max(4096)).max(100).optional(),health:Y.shape.health.optional(),ownerId:c().max(512).optional(),targetAt:o().finite().optional()};r({...X,projectKind:d([`auto`,`coding`,`general`,`unknown`]).optional(),autoUnderstand:a().default(!1)}).refine(e=>!!(e.name||e.workspaceRoot),`name or workspaceRoot is required`),r({id:c().trim().min(1),expectedVersion:o().int().positive(),patch:r({...X,status:Y.shape.status.optional(),description:X.description.unwrap().nullable().optional(),defaultAgentId:X.defaultAgentId.unwrap().nullable().optional(),workspaceRoot:c().trim().max(4096).nullable().optional(),brief:X.brief.unwrap().nullable().optional(),instructions:X.instructions.unwrap().nullable().optional(),outcome:X.outcome.unwrap().nullable().optional(),ownerId:X.ownerId.unwrap().nullable().optional(),targetAt:X.targetAt.unwrap().nullable().optional()}).refine(e=>Object.values(e).some(e=>e!==void 0),`Empty project patch`)});var Ve=r({status:Y.shape.status.optional(),search:c().max(4096).optional(),sortBy:d([`updatedAt`,`createdAt`,`name`]).optional(),sortOrder:d([`asc`,`desc`]).optional(),limit:o().int().min(1).max(500).default(50),offset:o().int().nonnegative().default(0)}),Z=t({id:c(),projectId:c(),title:c(),status:d([`planned`,`active`,`completed`,`cancelled`]),sortOrder:o(),createdAt:o(),updatedAt:o()}),Q=t({id:c(),projectId:c(),summary:c(),health:Y.shape.health,createdAt:o()}),$={title:c().trim().min(1).max(1e3),description:c().max(2e4).optional(),status:Z.shape.status.optional(),targetAt:o().int().nonnegative().optional(),sortOrder:o().int().optional()};r({projectId:c().trim().min(1),...$}),r({projectId:c().trim().min(1),id:c().trim().min(1),expectedRevision:o().int().nonnegative(),patch:r({...$,description:c().max(2e4).nullable().optional(),targetAt:o().int().nonnegative().nullable().optional()}).partial().refine(e=>Object.values(e).some(e=>e!==void 0),`Empty milestone patch`)}).omit({patch:!0}),f({ok:u(!0),milestone:Z,project:Y}),f({ok:u(!0),deleted:u(!0)}),r({projectId:c().trim().min(1),expectedVersion:o().int().positive(),health:Y.shape.health,summary:c().trim().min(1).max(2e4),progress:l(c().max(1e4)).max(100).default([]),risks:l(c().max(1e4)).max(100).default([]),nextSteps:l(c().max(1e4)).max(100).default([])}),f({ok:u(!0),update:Q,project:Y});var He={"xopc.context.resolve":{input:b,output:y},"xopc.notes.preview_edit":{input:G.extend({instruction:c().trim().min(1).max(16e3),markdown:c().max(2e6).optional(),context:t({type:d([`selection`,`section`,`block`,`note`]),range:r({start:o().int().nonnegative(),end:o().int().nonnegative()})}).optional()}),output:f({message:c(),patch:f({id:c(),summary:c(),operations:l(f({type:u(`replaceRange`),from:o().int().nonnegative(),to:o().int().nonnegative(),markdown:c()}))})})},"xopc.automations.get_run":{input:G,output:f({ok:u(!0),run:A.loose()})},"xopc.automations.run_events":{input:G,output:f({ok:u(!0),events:l(j.loose())})},"xopc.automations.metrics":{input:r({}),output:f({ok:u(!0),metrics:M})},"xopc.automations.events":{input:r({type:c().trim().min(1).max(512).optional(),source:c().trim().min(1).max(512).optional(),limit:o().int().min(1).max(200).default(50)}),output:f({ok:u(!0),items:l(f({event:f({id:c(),type:c(),schemaVersion:o().int(),source:c(),subject:f({kind:c(),id:c()}).optional(),payload:n(c(),i()),occurredAtMs:o(),ingestedAtMs:o(),correlationId:c(),causationId:c().optional(),rootEventId:c(),chainDepth:o().int(),dedupeKey:c().optional(),trust:d([`system`,`user`,`connector`,`untrusted_webhook`])}),projectionStatus:d([`pending`,`projecting`,`retrying`,`projected`,`dead_letter`]),projectionAttempts:o().int(),projectionError:c().optional(),deliveries:l(f({automationId:c(),status:d([`pending`,`retrying`,`queued`,`completed`,`failed`,`cancelled`,`skipped`,`dead_letter`]),runId:c().optional(),attempts:o().int(),lastError:c().optional()}))}))})},"xopc.automations.deliveries":{input:r({runId:c().trim().min(1).max(200).optional(),status:d([`pending`,`delivering`,`retrying`,`delivered`,`dead_letter`]).optional(),limit:o().int().min(1).max(200).default(50)}),output:f({ok:u(!0),items:l(f({runId:c(),destinationKey:c(),kind:c(),status:d([`pending`,`delivering`,`retrying`,`delivered`,`dead_letter`]),attempts:o().int(),nextAttemptAtMs:o(),lastError:c().optional(),createdAtMs:o(),updatedAtMs:o()}))})},"xopc.automations.product_events":{input:r({eventType:c().trim().min(1).max(512),source:c().trim().min(1).max(512).optional(),payloadKey:c().trim().min(1).max(512).optional(),payloadValue:c().max(4096).optional(),limit:o().int().min(1).max(100).default(10)}).refine(e=>e.payloadKey===void 0==(e.payloadValue===void 0),`payloadKey and payloadValue must be supplied together`),output:f({ok:u(!0),items:l(f({run:A.loose(),triggerEvent:j.loose()}))})},"xopc.automations.list":{input:r({projectId:c().trim().min(1).optional()}),output:f({ok:u(!0),items:l(k.loose()),projectId:c().optional()})},"xopc.automations.get":{input:G,output:f({ok:u(!0),automation:k.loose()})},"xopc.automations.history":{input:r({automationId:c().trim().min(1).optional(),projectId:c().trim().min(1).optional(),limit:o().int().min(1).max(200).default(50)}),output:f({ok:u(!0),items:l(A.loose()),projectId:c().optional()})},"xopc.scenes.templates":{input:r({}),output:f({templates:l(L)})},"xopc.scenes.mail_accounts":{input:r({}),output:f({accounts:l(f({id:c(),label:c()}))})},"xopc.scenes.mail_sources":{input:K,output:f({sources:l(f({id:c(),accountId:c(),subject:c(),sender:c()})),nextCursor:c().nullable()})},"xopc.scenes.results":{input:K.extend({activationId:c().min(1).max(200).optional()}),output:f({outcomes:l(q),nextCursor:c().nullable()})},"xopc.scenes.get_presentation":{input:G,output:f({outcome:q})},"xopc.scenes.get_feedback":{input:G,output:f({feedback:f({rating:d([`useful`,`not_useful`]),note:c(),revision:o().int().nonnegative()}).nullable()})},"xopc.scenes.digest_results":{input:K.extend({id:c().min(1).max(512)}),output:f({outcomes:l(q),nextCursor:c().nullable()})},"xopc.scenes.metrics":{input:r({days:o().int().min(1).max(90).default(7)}),output:f({window:f({since:o(),until:o(),days:o().int()}),ratedOutcomes:o().int().nonnegative(),usefulOutcomes:o().int().nonnegative(),unhelpfulOutcomes:o().int().nonnegative(),scenesWithUsefulOutcomes:o().int().nonnegative(),checks:o().int().nonnegative(),failedChecks:o().int().nonnegative(),skippedChecks:o().int().nonnegative()})},"xopc.scenes.diagnostics":{input:r({}),output:f({checksPaused:a(),currentModel:c().nullable(),pendingChecks:o().int().nonnegative(),oldestDueWaitMs:o().nonnegative(),notifications:l(f({status:c(),count:o().int().nonnegative()})),activations:l(n(c(),s()))})},"xopc.scenes.get_preferences":{input:r({}),output:U.extend({revision:o().int().nonnegative()})},"xopc.scenes.preflight":{input:R,output:f({ready:a(),missing:l(c())})},"xopc.scenes.get_template":{input:r({key:c().min(1).max(200),version:c().min(1).max(200)}),output:f({template:L})},"xopc.scenes.list":{input:K,output:f({activations:l(z),nextCursor:c().nullable()})},"xopc.scenes.get":{input:G,output:f({activation:z,runs:l(t({id:c(),status:c(),attempt:o().int(),reason:c().nullable(),createdAt:o()})),schedules:l(t({triggerKey:c(),revision:o().int(),nextDueAt:o(),schedule:s()}))})},"xopc.scenes.read_notes":{input:G,output:f({notes:f({content:c(),revision:o().int().nonnegative(),validUntil:o().nullable()})})},"xopc.scenes.list_runs":{input:K.extend({id:c().min(1).max(512)}),output:f({runs:l(t({id:c(),activationId:c(),status:c(),attempt:o().int(),reason:c().nullable(),createdAt:o()})),nextCursor:c().nullable()})},"xopc.scenes.list_schedules":{input:G,output:f({schedules:l(t({triggerKey:c(),revision:o().int(),nextDueAt:o(),schedule:s()}))})},"xopc.scenes.list_work_items":{input:K.extend({id:c().min(1).max(512)}),output:f({workItems:l(t({id:c(),subjectId:c(),accountId:c(),dueAt:o(),status:c(),revision:o().int(),lastCheckReason:c().nullable()})),nextCursor:c().nullable()})},"xopc.settings.open":{input:r({section:c().trim().regex(/^[a-z0-9][a-z0-9/_-]*$/i).max(512).default(`overview`),title:c().trim().min(1).max(512).default(`Settings`),summary:c().trim().max(4096).optional()}),output:f({ok:u(!0),settings:f({section:c(),title:c(),summary:c().optional()})})},"xopc.local_apps.list":{input:r({}),output:f({apps:l(se)})},"xopc.local_apps.get":{input:G,output:f({app:ce})},"xopc.local_apps.validate":{input:G,output:f({validation:v})},"xopc.projects.get":{input:G,output:f({ok:u(!0),project:Y})},"xopc.projects.list":{input:Ve,output:t({ok:u(!0),items:l(Y),total:o().int().nonnegative()})},"xopc.projects.list_milestones":{input:G,output:f({ok:u(!0),projectId:c(),items:l(Z)})},"xopc.projects.list_updates":{input:G.extend({limit:o().int().min(1).max(500).default(20)}),output:f({ok:u(!0),projectId:c(),items:l(Q)})},"xopc.task_runs.get":{input:G,output:f({ok:u(!0),run:h,receipt:g.optional(),events:l(ie),activeWaits:l(_)})},"xopc.task_runs.list":{input:r({taskId:c().trim().min(1),limit:o().int().min(1).max(200).default(20)}),output:f({ok:u(!0),taskId:c(),items:l(h),receipts:l(g),activeWaits:l(_)})},"xopc.notes.project_summaries":{input:r({}),output:f({items:l(f({id:c(),name:c(),description:c().optional(),noteCount:o().int().nonnegative(),updatedAt:o().optional()}))})},"xopc.notes.history":{input:G,output:f({entries:l(f({timestamp:o().int().nonnegative(),trigger:d([`edit`,`ai_edit`,`sync`,`restore`]),snippet:c().optional()}))})},"xopc.notes.snapshot":{input:G.extend({timestamp:o().int().nonnegative()}),output:f({snapshot:f({noteId:c(),timestamp:o().int().nonnegative(),trigger:d([`edit`,`ai_edit`,`sync`,`restore`]),title:c().optional(),markdown:c(),tags:l(c()).optional(),kind:J.shape.kind,status:J.shape.status})})},"xopc.notes.get":{input:G,output:Ie},"xopc.notes.list":{input:Fe,output:Re},"xopc.tasks.metrics":{input:r({}),output:f({ok:u(!0),metrics:ye})},"xopc.tasks.get":{input:G,output:m},"xopc.tasks.list":{input:ze,output:re.extend({total:o().int().nonnegative()})}};export{ge as a,_e as i,He as n,be as o,Pe as r,Me as t};
|