@xopcai/xopc 0.0.124 → 0.0.126
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -102
- package/README.zh-CN.md +51 -98
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/feishu/src/schema/config-schema.d.ts +6 -6
- package/dist/extensions/feishu/src/workflow-progress.js +1 -1
- package/dist/extensions/telegram/src/adapters/streaming-adapter.js +1 -1
- package/dist/extensions/telegram/src/config-schema.d.ts +8 -8
- package/dist/extensions/telegram/src/inbound-processor.js +1 -1
- package/dist/extensions/telegram/src/plugin.js +1 -1
- package/dist/extensions/telegram/src/routing-integration.js +2 -2
- package/dist/extensions/telegram/src/workflow-progress.js +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/extensions/weixin/src/api/api.js +1 -1
- package/dist/extensions/weixin/src/config-schema.d.ts +3 -3
- package/dist/extensions/weixin/src/plugin.js +1 -1
- package/dist/extensions/weixin/src/workflow-progress.js +1 -1
- package/dist/gateway/static/root/assets/Combination-BzaXOLd9.js +41 -0
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-B5uSVAyJ.js → agent-avatar-dicebear-C70vgt60.js} +1 -1
- package/dist/gateway/static/root/assets/agents-DRYVahI-.js +2 -0
- package/dist/gateway/static/root/assets/app-management-settings-panel-D9-HW6cy.js +1 -0
- package/dist/gateway/static/root/assets/appearance-settings-BHlahIDL.js +1 -0
- package/dist/gateway/static/root/assets/apps-page-BdJ1eQg3.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-CXUGRp2i.js → archive-plugin-B-aoIt0w.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-Cmiub3Wg.js → attachment-load-BD0G0FD5.js} +1 -1
- package/dist/gateway/static/root/assets/automation-suggestion-card-iJRVI7aZ.js +1 -0
- package/dist/gateway/static/root/assets/automations-page-D8hYQbkl.js +4 -0
- package/dist/gateway/static/root/assets/{binary-plugins-0Izz-N3p.js → binary-plugins-B0mNlVSz.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-C1Kv0IkJ.js → block-editor-CJY9Lu5G.js} +3 -3
- package/dist/gateway/static/root/assets/browser-settings-page-CiWEO-Iy.js +8 -0
- package/dist/gateway/static/root/assets/capability-presets-api-Bgc8ag55.js +1 -0
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-B1nIi0TC.js +1 -0
- package/dist/gateway/static/root/assets/{channel-recipient-api-BeA2aVor.js → channel-recipient-api-0sauApoC.js} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-BddPdqVo.js +1 -0
- package/dist/gateway/static/root/assets/code-editor-gbRgS14t.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-Ba2GDhSE.js +2 -0
- package/dist/gateway/static/root/assets/{directory-picker-path-field-2rjzUu57.js → directory-picker-path-field-CiEc4KmY.js} +1 -1
- package/dist/gateway/static/root/assets/dist-By6Rh2ee.js +1 -0
- package/dist/gateway/static/root/assets/dist-CkobR7mk.js +1 -0
- package/dist/gateway/static/root/assets/dist-DokQNVMQ.js +1 -0
- package/dist/gateway/static/root/assets/dreaming-settings-4bvpk5wr.js +3 -0
- package/dist/gateway/static/root/assets/extension-debug-page-BbyczVZ3.js +1 -0
- package/dist/gateway/static/root/assets/extension-page-DLN1I3DR.js +1 -0
- package/dist/gateway/static/root/assets/extension-settings-page-D9VGHmYJ.js +1 -0
- package/dist/gateway/static/root/assets/{fetch-BU5S0Sn7.js → fetch-5V96dUz3.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-BIPGwrl1.js → gateway-config-api-BtIzObwp.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-settings-KFsGGDhg.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-startup-retry-Cd0Zz30N.js → gateway-startup-retry-DEMad2wt.js} +1 -1
- package/dist/gateway/static/root/assets/goal-create-dialog-4PcF6Sh6.js +1 -0
- package/dist/gateway/static/root/assets/goal-detail-page-B482PSaG.js +1 -0
- package/dist/gateway/static/root/assets/{goals-config-api-B95KdGMj.js → goals-config-api-CVN7-pdM.js} +1 -1
- package/dist/gateway/static/root/assets/goals-page-CUdgJuDn.js +2 -0
- package/dist/gateway/static/root/assets/goals-settings-IYCH3-Pi.js +1 -0
- package/dist/gateway/static/root/assets/heartbeat-settings-Cf_a2Bmz.js +1 -0
- package/dist/gateway/static/root/assets/{html-workspace-editor-CQLWDiwE.js → html-workspace-editor-DV90ddkE.js} +1 -1
- package/dist/gateway/static/root/assets/index-CA2tR2vm.js +256 -0
- package/dist/gateway/static/root/assets/index-Ds3u0LOk.css +1 -0
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-lKTg6St7.js +1 -0
- package/dist/gateway/static/root/assets/logs-page-BCporcNH.js +2 -0
- package/dist/gateway/static/root/assets/{markdown-editor-AssmZFx4.js → markdown-editor-BFOjBBla.js} +2 -2
- package/dist/gateway/static/root/assets/markdown-split-Bv4k6iGJ.js +1 -0
- package/dist/gateway/static/root/assets/{media-plugins-BhIQU5yS.js → media-plugins-Bbi8g3N8.js} +1 -1
- package/dist/gateway/static/root/assets/messages-C22hxE1N.js +3 -0
- package/dist/gateway/static/root/assets/models-hub-panel-D68Pyow7.js +2 -0
- package/dist/gateway/static/root/assets/notes-page-CuUMOiyv.js +1 -0
- package/dist/gateway/static/root/assets/notes-workbench-Dx2N5zTk.js +2 -0
- package/dist/gateway/static/root/assets/page-tabs-Cp395RYD.js +1 -0
- package/dist/gateway/static/root/assets/{preview-open-alternatives-DGzet1d7.js → preview-open-alternatives-DqV5OM4m.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-sB8AzZi3.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-LBnJqWK2.js +1 -0
- package/dist/gateway/static/root/assets/remote-access-hub-Dbj0o6SC.js +1 -0
- package/dist/gateway/static/root/assets/{save-bar-controls-Cqgb-jqa.js → save-bar-controls-BItmzAzI.js} +1 -1
- package/dist/gateway/static/root/assets/{schedule-field-DVZcI8Yt.js → schedule-field-BQ8IjjCn.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-Bj7sOxC8.js → schema-form-BRpD6x3d.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-DhDZKspB.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-BvXLMNL6.js +1 -0
- package/dist/gateway/static/root/assets/{settings-collapsible-section-BmXn-8N6.js → settings-collapsible-section-BKSPQM4R.js} +1 -1
- package/dist/gateway/static/root/assets/settings-form-section-BmyfthNQ.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-Cfm9UxAr.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-layout-Bls5tfbH.js +1 -0
- package/dist/gateway/static/root/assets/setup-status-panel-kQEsTGAs.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-IB1v8i86.js → share-preview-page-DbYZNAPb.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-BtR4B0kn.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-CJNVOWoK.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-DcWDHrt3.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel-BxQ384RC.js → system-settings-panel-DKDAojWM.js} +1 -1
- package/dist/gateway/static/root/assets/{typed-models-lib-BkcpvFYO.js → typed-models-lib-BCCV4Kkp.js} +1 -1
- package/dist/gateway/static/root/assets/{use-channel-catalog-Cd0FaEQ4.js → use-channel-catalog-NBqg3iFY.js} +1 -1
- package/dist/gateway/static/root/assets/{user-profile-settings-panel-DQ7NnRSY.js → user-profile-settings-panel-suQ2x-LB.js} +1 -1
- package/dist/gateway/static/root/assets/{utils-YKhVf7Ka.js → utils-DPGVr3tS.js} +1 -1
- package/dist/gateway/static/root/assets/{vendor-codemirror-CNP1wPe7.js → vendor-codemirror-BvNgyE1Q.js} +1 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-DaJASKFP.js +1 -0
- package/dist/gateway/static/root/assets/work-item-detail-page-BrCZpAWh.js +1 -0
- package/dist/gateway/static/root/assets/workflow-run-setup-panel-BTkRVNAh.js +3 -0
- package/dist/gateway/static/root/assets/{workflow-start-dialog-BNJVCWoS.js → workflow-start-dialog-DAImVtdO.js} +1 -1
- package/dist/gateway/static/root/assets/workflows-page-vyJ8wSXm.js +18 -0
- package/dist/gateway/static/root/index.html +8 -7
- package/dist/package.js +1 -1
- package/dist/src/activity/context.d.ts +11 -0
- package/dist/src/activity/context.js +36 -0
- package/dist/src/activity/context.js.map +1 -0
- package/dist/src/activity/emitter.d.ts +6 -0
- package/dist/src/activity/emitter.js +43 -0
- package/dist/src/activity/emitter.js.map +1 -0
- package/dist/src/activity/index.d.ts +3 -0
- package/dist/src/activity/index.js +3 -0
- package/dist/src/activity/service.d.ts +12 -0
- package/dist/src/activity/service.js +59 -0
- package/dist/src/activity/service.js.map +1 -0
- package/dist/src/activity/types.d.ts +109 -0
- package/dist/src/activity/types.js +1 -0
- package/dist/src/agent/agent-manager.d.ts +7 -0
- package/dist/src/agent/agent-manager.js +12 -5
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/child-agent-factory.d.ts +2 -0
- package/dist/src/agent/child-agent-factory.js +2 -0
- package/dist/src/agent/child-agent-factory.js.map +1 -1
- package/dist/src/agent/coding/index.d.ts +1 -0
- package/dist/src/agent/coding/index.js +2 -0
- package/dist/src/agent/coding/turn-diff-tracker.d.ts +67 -0
- package/dist/src/agent/coding/turn-diff-tracker.js +233 -0
- package/dist/src/agent/coding/turn-diff-tracker.js.map +1 -0
- package/dist/src/agent/context/project-context.js +2 -2
- package/dist/src/agent/context/workspace-seed.js +2 -2
- package/dist/src/agent/embedded/run-for-session.js +1 -1
- package/dist/src/agent/goals/post-turn.js +2 -2
- package/dist/src/agent/ipc/bus.js +1 -1
- package/dist/src/agent/mcp/bundle-mcp-materialize.js +1 -1
- package/dist/src/agent/mcp/bundle-mcp-runtime.js +1 -1
- package/dist/src/agent/mcp/mcp-transport-config.js +1 -1
- package/dist/src/agent/mcp/mcp-transport.js +1 -1
- package/dist/src/agent/memory/dreaming/config.d.ts +2 -2
- package/dist/src/agent/memory/dreaming/config.js +3 -3
- package/dist/src/agent/memory/dreaming/config.js.map +1 -1
- package/dist/src/agent/memory/dreaming/constants.d.ts +1 -1
- package/dist/src/agent/memory/dreaming/constants.js +1 -1
- package/dist/src/agent/memory/dreaming/constants.js.map +1 -1
- package/dist/src/agent/memory/dreaming/deep-promotion.d.ts +1 -0
- package/dist/src/agent/memory/dreaming/deep-promotion.js +11 -20
- package/dist/src/agent/memory/dreaming/deep-promotion.js.map +1 -1
- package/dist/src/agent/memory/dreaming/events.d.ts +3 -3
- package/dist/src/agent/memory/dreaming/events.js +6 -6
- package/dist/src/agent/memory/dreaming/events.js.map +1 -1
- package/dist/src/agent/memory/dreaming/last-run.d.ts +2 -2
- package/dist/src/agent/memory/dreaming/last-run.js +1 -1
- package/dist/src/agent/memory/dreaming/last-run.js.map +1 -1
- package/dist/src/agent/memory/dreaming/light-sweep.d.ts +1 -1
- package/dist/src/agent/memory/dreaming/light-sweep.js +3 -3
- package/dist/src/agent/memory/dreaming/light-sweep.js.map +1 -1
- package/dist/src/agent/memory/dreaming/preview.d.ts +1 -0
- package/dist/src/agent/memory/dreaming/preview.js +2 -2
- package/dist/src/agent/memory/dreaming/preview.js.map +1 -1
- package/dist/src/agent/memory/dreaming/rem-patterns.d.ts +1 -1
- package/dist/src/agent/memory/dreaming/rem-patterns.js +13 -13
- package/dist/src/agent/memory/dreaming/rem-patterns.js.map +1 -1
- package/dist/src/agent/memory/dreaming/scope.d.ts +14 -0
- package/dist/src/agent/memory/dreaming/scope.js +27 -0
- package/dist/src/agent/memory/dreaming/scope.js.map +1 -0
- package/dist/src/agent/memory/dreaming/short-term-store.d.ts +4 -4
- package/dist/src/agent/memory/dreaming/short-term-store.js +17 -17
- package/dist/src/agent/memory/dreaming/short-term-store.js.map +1 -1
- package/dist/src/agent/memory/plugin-discovery.js +1 -1
- package/dist/src/agent/models/manager.js +1 -1
- package/dist/src/agent/orchestration/agent-event-handler.d.ts +2 -0
- package/dist/src/agent/orchestration/agent-event-handler.js +13 -0
- package/dist/src/agent/orchestration/agent-event-handler.js.map +1 -1
- package/dist/src/agent/orchestration/agent-orchestrator.js +22 -12
- package/dist/src/agent/orchestration/agent-orchestrator.js.map +1 -1
- package/dist/src/agent/sandbox/command-validator.js +12 -0
- package/dist/src/agent/sandbox/command-validator.js.map +1 -1
- package/dist/src/agent/service.d.ts +2 -1
- package/dist/src/agent/service.js +24 -9
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/service.types.d.ts +7 -0
- package/dist/src/agent/session/session-inspector.d.ts +5 -3
- package/dist/src/agent/session/session-inspector.js +17 -8
- package/dist/src/agent/session/session-inspector.js.map +1 -1
- package/dist/src/agent/skills/hub-pull.js +1 -1
- package/dist/src/agent/source-context/types.d.ts +1 -1
- package/dist/src/agent/source-context/types.js +1 -1
- package/dist/src/agent/source-context/types.js.map +1 -1
- package/dist/src/agent/tool-manuals/index.js +15 -6
- package/dist/src/agent/tool-manuals/index.js.map +1 -1
- package/dist/src/agent/tool-manuals/xopc-use.d.ts +1 -0
- package/dist/src/agent/tool-manuals/xopc-use.js +204 -0
- package/dist/src/agent/tool-manuals/xopc-use.js.map +1 -0
- package/dist/src/agent/tools/apply-patch.js +116 -62
- package/dist/src/agent/tools/apply-patch.js.map +1 -1
- package/dist/src/agent/tools/concurrency.d.ts +8 -0
- package/dist/src/agent/tools/concurrency.js +31 -0
- package/dist/src/agent/tools/concurrency.js.map +1 -0
- package/dist/src/agent/tools/dreaming-tool.d.ts +2 -0
- package/dist/src/agent/tools/dreaming-tool.js +13 -10
- package/dist/src/agent/tools/dreaming-tool.js.map +1 -1
- package/dist/src/agent/tools/exec-command.js +4 -0
- package/dist/src/agent/tools/exec-command.js.map +1 -1
- package/dist/src/agent/tools/executor.d.ts +6 -4
- package/dist/src/agent/tools/executor.js +7 -4
- package/dist/src/agent/tools/executor.js.map +1 -1
- package/dist/src/agent/tools/factory.d.ts +10 -0
- package/dist/src/agent/tools/factory.js +16 -1
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/find.js +2 -0
- package/dist/src/agent/tools/find.js.map +1 -1
- package/dist/src/agent/tools/goal-tool.js +2 -2
- package/dist/src/agent/tools/grep.js +2 -0
- package/dist/src/agent/tools/grep.js.map +1 -1
- package/dist/src/agent/tools/index.d.ts +3 -0
- package/dist/src/agent/tools/index.js +4 -1
- package/dist/src/agent/tools/list-dir.js +2 -0
- package/dist/src/agent/tools/list-dir.js.map +1 -1
- package/dist/src/agent/tools/memory-tool.d.ts +1 -0
- package/dist/src/agent/tools/memory-tool.js +2 -2
- package/dist/src/agent/tools/memory-tool.js.map +1 -1
- package/dist/src/agent/tools/metadata.d.ts +15 -0
- package/dist/src/agent/tools/metadata.js +26 -0
- package/dist/src/agent/tools/metadata.js.map +1 -0
- package/dist/src/agent/tools/read.js +2 -0
- package/dist/src/agent/tools/read.js.map +1 -1
- package/dist/src/agent/tools/workflow-tool.js +1 -1
- package/dist/src/agent/tools/write.js +6 -0
- package/dist/src/agent/tools/write.js.map +1 -1
- package/dist/src/agent/tools/xopc-use-tool.d.ts +34 -0
- package/dist/src/agent/tools/xopc-use-tool.js +636 -0
- package/dist/src/agent/tools/xopc-use-tool.js.map +1 -0
- package/dist/src/agent/workflow/subagent-runner.d.ts +1 -0
- package/dist/src/agent/workflow/subagent-runner.js +5 -1
- package/dist/src/agent/workflow/subagent-runner.js.map +1 -1
- package/dist/src/agent/workflow/workflow-child-tools.js +5 -0
- package/dist/src/agent/workflow/workflow-child-tools.js.map +1 -1
- package/dist/src/agent-manifest/schema.d.ts +27 -27
- package/dist/src/automations/api/routes.js +1 -1
- package/dist/src/automations/domain/validation.d.ts +55 -55
- package/dist/src/automations/draft/automation-draft-validator.d.ts +25 -25
- package/dist/src/automations/service/action-executor.js +2 -2
- package/dist/src/browser/cdp-local-launcher.js +1 -1
- package/dist/src/browser/providers/browser-ext-install.js +3 -3
- package/dist/src/browser/providers/cloakbrowser.js +2 -2
- package/dist/src/browser/providers/playwright-doctor.js +1 -1
- package/dist/src/browser/stealth.js +1 -1
- package/dist/src/chat-commands/agent-edit.js +1 -1
- package/dist/src/chat-commands/builtins/config.js +1 -1
- package/dist/src/chat-commands/builtins/goal.js +2 -2
- package/dist/src/chat-commands/context.js +1 -1
- package/dist/src/cli/commands/agent.js +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +2 -2
- package/dist/src/cli/commands/doctor/checks/session-integrity.js +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +1 -1
- package/dist/src/cli/commands/extension-pack.js +1 -1
- package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
- package/dist/src/cli/commands/goal.js +3 -3
- package/dist/src/cli/commands/init.js +1 -1
- package/dist/src/cli/commands/project.js +4 -4
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/gateway-bind.js +1 -1
- package/dist/src/config/index.js +1 -1
- package/dist/src/config/loader.js +1 -1
- package/dist/src/config/models-json.d.ts +14 -14
- package/dist/src/config/models-json.js +1 -1
- package/dist/src/config/schema.d.ts +60 -60
- package/dist/src/connectors/health.d.ts +2 -1
- package/dist/src/connectors/health.js +59 -1
- package/dist/src/connectors/health.js.map +1 -1
- package/dist/src/connectors/install.d.ts +1 -0
- package/dist/src/connectors/install.js +28 -1
- package/dist/src/connectors/install.js.map +1 -1
- package/dist/src/connectors/instances.js +7 -0
- package/dist/src/connectors/instances.js.map +1 -1
- package/dist/src/connectors/materialize.js +2 -1
- package/dist/src/connectors/materialize.js.map +1 -1
- package/dist/src/connectors/registries/modelscope.js +38 -13
- package/dist/src/connectors/registries/modelscope.js.map +1 -1
- package/dist/src/connectors/types.d.ts +2 -0
- package/dist/src/daemon/launchd.js +1 -1
- package/dist/src/daemon/systemd.js +1 -1
- package/dist/src/extensions/discover-extensions.js +1 -1
- package/dist/src/extensions/loader.js +2 -2
- package/dist/src/gateway/agents-admin.js +1 -1
- package/dist/src/gateway/dreaming-automation-reconciler.d.ts +1 -0
- package/dist/src/gateway/dreaming-automation-reconciler.js +62 -42
- package/dist/src/gateway/dreaming-automation-reconciler.js.map +1 -1
- package/dist/src/gateway/hono/app.js +7 -1
- package/dist/src/gateway/hono/app.js.map +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +14 -14
- package/dist/src/gateway/hono/lib/static-ui.js +1 -1
- package/dist/src/gateway/hono/middleware/log-context.js +8 -1
- package/dist/src/gateway/hono/middleware/log-context.js.map +1 -1
- package/dist/src/gateway/hono/routes/activity.d.ts +14 -0
- package/dist/src/gateway/hono/routes/activity.js +72 -0
- package/dist/src/gateway/hono/routes/activity.js.map +1 -0
- package/dist/src/gateway/hono/routes/connectors.js +46 -2
- package/dist/src/gateway/hono/routes/connectors.js.map +1 -1
- package/dist/src/gateway/hono/routes/dreaming.js +111 -66
- package/dist/src/gateway/hono/routes/dreaming.js.map +1 -1
- package/dist/src/gateway/hono/routes/goals.js +1 -1
- package/dist/src/gateway/hono/routes/index.js +2 -0
- package/dist/src/gateway/hono/routes/index.js.map +1 -1
- package/dist/src/gateway/hono/routes/memory.js +2 -2
- package/dist/src/gateway/hono/routes/projects.js +903 -50
- package/dist/src/gateway/hono/routes/projects.js.map +1 -1
- package/dist/src/gateway/hono/routes/sessions.js +102 -2
- package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
- package/dist/src/gateway/hono/routes/workflows.js +2 -2
- package/dist/src/gateway/lock.js +1 -1
- package/dist/src/gateway/ports.js +1 -1
- package/dist/src/gateway/service/sessions-api.d.ts +10 -0
- package/dist/src/gateway/service/sessions-api.js +31 -0
- package/dist/src/gateway/service/sessions-api.js.map +1 -1
- package/dist/src/gateway/service.js +28 -16
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/goals/goal-store.js +1 -1
- package/dist/src/goals/goal-store.js.map +1 -1
- package/dist/src/goals/goal-workflow-judge.js +1 -1
- package/dist/src/infra/ports.js +1 -1
- package/dist/src/infra/ssh-tunnel.js +1 -1
- package/dist/src/infra/update-check.js +1 -1
- package/dist/src/infra/update-restart.js +1 -1
- package/dist/src/mcp/channel-bridge.js +1 -1
- package/dist/src/media/store.js +1 -1
- package/dist/src/media/store.js.map +1 -1
- package/dist/src/media/types.d.ts +1 -1
- package/dist/src/media/uri.js +2 -1
- package/dist/src/media/uri.js.map +1 -1
- package/dist/src/migrations/runner.js +1 -1
- package/dist/src/notes/service.js +65 -6
- package/dist/src/notes/service.js.map +1 -1
- package/dist/src/notes/store.js +1 -1
- package/dist/src/projects/project-service.d.ts +2 -1
- package/dist/src/projects/project-service.js +59 -2
- package/dist/src/projects/project-service.js.map +1 -1
- package/dist/src/projects/project-store.d.ts +2 -1
- package/dist/src/projects/project-store.js +43 -0
- package/dist/src/projects/project-store.js.map +1 -1
- package/dist/src/projects/types.d.ts +10 -0
- package/dist/src/projects/workspace.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/resolve-tui-session-key.js +1 -1
- package/dist/src/session/client-history.d.ts +3 -0
- package/dist/src/session/client-history.js +24 -9
- package/dist/src/session/client-history.js.map +1 -1
- package/dist/src/session/init-session-turn.js +1 -1
- package/dist/src/session/resolve-session.js +1 -1
- package/dist/src/session/session-context-for-llm.d.ts +2 -0
- package/dist/src/session/session-context-for-llm.js +14 -1
- package/dist/src/session/session-context-for-llm.js.map +1 -1
- package/dist/src/session/session-title.js +2 -2
- package/dist/src/session/store.js +3 -3
- package/dist/src/session/store.js.map +1 -1
- package/dist/src/session/types.d.ts +4 -0
- package/dist/src/session/types.js.map +1 -1
- package/dist/src/storage/sqlite/activity-repository.d.ts +8 -0
- package/dist/src/storage/sqlite/activity-repository.js +208 -0
- package/dist/src/storage/sqlite/activity-repository.js.map +1 -0
- package/dist/src/storage/sqlite/connection.js +1 -1
- package/dist/src/storage/sqlite/index.d.ts +1 -0
- package/dist/src/storage/sqlite/index.js +2 -1
- package/dist/src/storage/sqlite/migrations/022_work_items.sql +61 -0
- package/dist/src/storage/sqlite/migrations/023_work_item_attachments.sql +15 -0
- package/dist/src/storage/sqlite/migrations/024_activity_events.sql +62 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +3 -3
- package/dist/src/storage/sqlite/migrations/runner.js.map +1 -1
- package/dist/src/storage/sqlite/migrations/runner.ts +1 -1
- package/dist/src/storage/sqlite/row-mappers.js +1 -1
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/dist/src/storage/sqlite/schema.sql +141 -0
- package/dist/src/storage/sqlite/session-repository.js +11 -0
- package/dist/src/storage/sqlite/session-repository.js.map +1 -1
- package/dist/src/tui/backends/embedded-backend.d.ts +13 -0
- package/dist/src/tui/backends/embedded-backend.js +76 -7
- package/dist/src/tui/backends/embedded-backend.js.map +1 -1
- package/dist/src/tui/backends/gateway-sse-backend.d.ts +13 -0
- package/dist/src/tui/backends/gateway-sse-backend.js +53 -0
- package/dist/src/tui/backends/gateway-sse-backend.js.map +1 -1
- package/dist/src/tui/chat-history.js +16 -3
- package/dist/src/tui/chat-history.js.map +1 -1
- package/dist/src/tui/clipboard-image.js +1 -1
- package/dist/src/tui/components/assistant-message.js +12 -2
- package/dist/src/tui/components/assistant-message.js.map +1 -1
- package/dist/src/tui/components/chat-log.d.ts +23 -3
- package/dist/src/tui/components/chat-log.js +68 -9
- package/dist/src/tui/components/chat-log.js.map +1 -1
- package/dist/src/tui/components/tool-execution.d.ts +8 -0
- package/dist/src/tui/components/tool-execution.js +87 -77
- package/dist/src/tui/components/tool-execution.js.map +1 -1
- package/dist/src/tui/components/tui-bottom-bar.js +9 -5
- package/dist/src/tui/components/tui-bottom-bar.js.map +1 -1
- package/dist/src/tui/components/visual-truncate.d.ts +1 -0
- package/dist/src/tui/components/visual-truncate.js +28 -1
- package/dist/src/tui/components/visual-truncate.js.map +1 -1
- package/dist/src/tui/tool-summary.d.ts +22 -0
- package/dist/src/tui/tool-summary.js +212 -0
- package/dist/src/tui/tool-summary.js.map +1 -0
- package/dist/src/tui/tui-backend.d.ts +16 -0
- package/dist/src/tui/tui-command-formatters.js +2 -2
- package/dist/src/tui/tui-commands.d.ts +9 -0
- package/dist/src/tui/tui-commands.js +95 -6
- package/dist/src/tui/tui-commands.js.map +1 -1
- package/dist/src/tui/tui-picker-overlay.d.ts +1 -0
- package/dist/src/tui/tui-picker-overlay.js +36 -1
- package/dist/src/tui/tui-picker-overlay.js.map +1 -1
- package/dist/src/tui/tui-picker-services.d.ts +13 -0
- package/dist/src/tui/tui-run-state.js +11 -0
- package/dist/src/tui/tui-run-state.js.map +1 -1
- package/dist/src/tui/tui-run-status-format.d.ts +3 -0
- package/dist/src/tui/tui-run-status-format.js +33 -0
- package/dist/src/tui/tui-run-status-format.js.map +1 -0
- package/dist/src/tui/tui-session-actions.d.ts +5 -0
- package/dist/src/tui/tui-session-actions.js +24 -0
- package/dist/src/tui/tui-session-actions.js.map +1 -1
- package/dist/src/tui/tui-timeline-picker.d.ts +19 -0
- package/dist/src/tui/tui-timeline-picker.js +81 -0
- package/dist/src/tui/tui-timeline-picker.js.map +1 -0
- package/dist/src/tui/tui-timeline.d.ts +15 -0
- package/dist/src/tui/tui-timeline.js +65 -0
- package/dist/src/tui/tui-timeline.js.map +1 -0
- package/dist/src/tui/tui-tool-diff.d.ts +15 -0
- package/dist/src/tui/tui-tool-diff.js +178 -7
- package/dist/src/tui/tui-tool-diff.js.map +1 -1
- package/dist/src/tui/tui-types.d.ts +1 -0
- package/dist/src/tui/tui-types.js +1 -0
- package/dist/src/tui/tui-types.js.map +1 -1
- package/dist/src/tui/tui.js +31 -25
- package/dist/src/tui/tui.js.map +1 -1
- package/dist/src/utils/index.js +1 -1
- package/dist/src/utils/logger/index.js +1 -1
- package/dist/src/utils/logger/stats.d.ts +3 -3
- package/dist/src/utils/logger.js +1 -1
- package/dist/src/work-items/agent-context.d.ts +7 -0
- package/dist/src/work-items/agent-context.js +75 -0
- package/dist/src/work-items/agent-context.js.map +1 -0
- package/dist/src/work-items/index.d.ts +4 -0
- package/dist/src/work-items/index.js +4 -0
- package/dist/src/work-items/types.d.ts +112 -0
- package/dist/src/work-items/types.js +1 -0
- package/dist/src/work-items/work-item-service.d.ts +35 -0
- package/dist/src/work-items/work-item-service.js +277 -0
- package/dist/src/work-items/work-item-service.js.map +1 -0
- package/dist/src/work-items/work-item-store.d.ts +21 -0
- package/dist/src/work-items/work-item-store.js +302 -0
- package/dist/src/work-items/work-item-store.js.map +1 -0
- package/dist/src/workflows/draft/workflow-draft-service.js +1 -1
- package/dist/src/workflows/service/workflow-run-service.js +4 -3
- package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
- package/dist/src/workflows/service/workflow-session-bridge.js +4 -1
- package/dist/src/workflows/service/workflow-session-bridge.js.map +1 -1
- package/package.json +5 -5
- package/dist/gateway/static/root/assets/Combination-HAlzriaz.js +0 -41
- package/dist/gateway/static/root/assets/agents-BjIxt67Z.js +0 -2
- package/dist/gateway/static/root/assets/app-management-settings-panel-CYCONLIL.js +0 -1
- package/dist/gateway/static/root/assets/appearance-settings-Clw3ryKg.js +0 -1
- package/dist/gateway/static/root/assets/apps-page-QICTeGjX.js +0 -1
- package/dist/gateway/static/root/assets/automation-suggestion-card-CU0-4nQ-.js +0 -1
- package/dist/gateway/static/root/assets/automations-page-Car-jtiz.js +0 -1
- package/dist/gateway/static/root/assets/browser-settings-page-CMeBJzlS.js +0 -8
- package/dist/gateway/static/root/assets/capability-presets-api-BmQTM9Il.js +0 -1
- package/dist/gateway/static/root/assets/capability-presets-settings-panel-DZEJEoCF.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-kkW-xFau.js +0 -1
- package/dist/gateway/static/root/assets/code-editor-dZTY2dRW.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-BvaQvO5F.js +0 -2
- package/dist/gateway/static/root/assets/dist-Mys7eFJ5.js +0 -1
- package/dist/gateway/static/root/assets/dist-wO9a2_ID.js +0 -1
- package/dist/gateway/static/root/assets/dreaming-settings-DnHO686d.js +0 -1
- package/dist/gateway/static/root/assets/extension-debug-page-BGLRuWVN.js +0 -1
- package/dist/gateway/static/root/assets/extension-page-D978ePp9.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-B6Ih4Swx.js +0 -1
- package/dist/gateway/static/root/assets/gateway-settings-CMEA3r5u.js +0 -1
- package/dist/gateway/static/root/assets/goal-create-dialog-B-KHKeXN.js +0 -1
- package/dist/gateway/static/root/assets/goal-detail-page-BxrSoWdj.js +0 -1
- package/dist/gateway/static/root/assets/goals-page-BTJzIl28.js +0 -2
- package/dist/gateway/static/root/assets/goals-settings-BJyEuLLm.js +0 -1
- package/dist/gateway/static/root/assets/heartbeat-settings-wkOjYNQT.js +0 -1
- package/dist/gateway/static/root/assets/index-BLaXr6Ev.css +0 -1
- package/dist/gateway/static/root/assets/index-c_9TVr_C.js +0 -191
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings-BT8T4DyC.js +0 -1
- package/dist/gateway/static/root/assets/logs-page-CrxBJUgI.js +0 -2
- package/dist/gateway/static/root/assets/markdown-split-Dv66bO2b.js +0 -1
- package/dist/gateway/static/root/assets/messages-O6TAtdFC.js +0 -3
- package/dist/gateway/static/root/assets/models-hub-panel-DOOpz6y1.js +0 -2
- package/dist/gateway/static/root/assets/notes-page-Br16pK9v.js +0 -1
- package/dist/gateway/static/root/assets/notes-workbench-PSJAi0ZC.js +0 -2
- package/dist/gateway/static/root/assets/project-detail-page-CIGGgKuw.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-B2grhsBt.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-CXMORxBD.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-Bi2wkBzU.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-B1L3G4IA.js +0 -1
- package/dist/gateway/static/root/assets/settings-form-section-BnqYMWHR.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-BfRSHJmO.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-layout-CdWZU1hd.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-CWtPM7RK.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-ngbsBgij.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-BIe442Gv.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-BfchZRVa.js +0 -2
- package/dist/gateway/static/root/assets/voice-api-key-field-C5Ov8Uk_.js +0 -1
- package/dist/gateway/static/root/assets/workflow-run-setup-panel-BYD9BtOq.js +0 -3
- package/dist/gateway/static/root/assets/workflows-page-BYF29ANm.js +0 -18
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-BQ_8x0bT.js";import{t as a}from"./messages-C22hxE1N.js";import{n as o}from"./locale-store-Ba72bFmP.js";import{c as s}from"./fetch-5V96dUz3.js";import{i as c}from"./vendor-swr-BIWyz7Rc.js";import{$ as l,$o as u,A as d,Aa as f,B as p,Bs as m,Cc as h,Cs as g,D as _,Da as v,E as y,Ea as b,F as x,G as S,H as C,Hc as w,Ho as T,I as E,Ic as D,J as O,Jo as k,K as A,Kc as j,M,Ma as N,Mc as ee,Ms as te,N as ne,O as P,Oa as F,P as I,Q as L,R,Ro as z,Rs as re,Ta as B,U as V,Ua as H,Va as U,Vc as W,W as ie,Y as ae,Z as G,_t as oe,b as K,bt as se,cs as q,ct as ce,dc as le,dt as ue,ec as de,er as fe,et as pe,fl as me,fo as J,fs as he,ft as ge,gt as _e,h as ve,hc as ye,ht as be,j as Y,ja as xe,k as X,ka as Se,lt as Ce,m as we,mo as Te,mt as Ee,no as De,nt as Oe,oo as ke,os as Ae,pc as je,q as Me,qn as Ne,st as Pe,tt as Fe,ui as Ie,ul as Le,ut as Re,vc as ze,vt as Be,w as Ve,wo as He,xt as Ue,yc as We,yo as Ge,z as Ke}from"./index-CA2tR2vm.js";import{t as qe}from"./page-tabs-Cp395RYD.js";import{t as Je}from"./automation-suggestion-card-iJRVI7aZ.js";import{t as Ye}from"./workflow-start-dialog-DAImVtdO.js";var Z=e(t(),1),Q=n(),Xe=[`queued`,`running`,`succeeded`,`attention`],Ze=new Set([`failed`,`timeout`,`cancelled`]);function Qe(e){return e.metadata?.sessionKey?.trim()||null}function $e(e,t){return e.length<=t?e:`${e.slice(0,t-1)}…`}function et(e,t){if(!e||typeof e!=`object`)return null;let n=e;for(let e of t){let t=n[e];if(typeof t==`string`&&t.trim())return t.trim()}return null}function tt(e,t=90){let n=e.metadata?.input?.goal?.trim()||(typeof e.metadata?.input?.payload==`string`?e.metadata.input.payload.trim():null)||et(e.metadata?.input?.payload,[`query`,`goal`,`prompt`,`input`,`message`])||et(e.metadata?.input?.variables,[`query`,`goal`,`prompt`,`input`,`message`]);return n?$e(n,t):null}function nt(e,t=90){return tt(e,t)??$e(e.title?.trim()||e.definitionId,t)}function rt(e,t=44){return $e(e.title?.trim()||e.definitionId,t)}function it(e,t){let n=t.trim().toLowerCase();return n?[tt(e,500),e.title,e.definitionId,e.id].filter(Boolean).join(` `).toLowerCase().includes(n):!0}function at(e,t){let n=t.workflowFilterId.trim();return e.filter(e=>n&&e.definitionId!==n||!I(e,t.triggerFilter??`all`)?!1:it(e,t.searchQuery))}function ot(e){return e.completedAtMs??e.createdAtMs}function st(e,t){return e.status===`queued`?`queued`:e.status===`running`?`running`:e.status===`succeeded`?`succeeded`:Ze.has(e.status)?`attention`:null}function ct(e,t){let n=[...t];return e===`queued`?n.sort((e,t)=>e.createdAtMs-t.createdAtMs):e===`running`?n.sort((e,t)=>(t.startedAtMs??t.createdAtMs)-(e.startedAtMs??e.createdAtMs)):n.sort((e,t)=>ot(t)-ot(e))}function lt(e,t){let n={queued:[],running:[],succeeded:[],attention:[]};for(let r of e){let e=st(r,t);e&&n[e].push(r)}return Xe.map(e=>{if(e===`succeeded`){let t=ct(`succeeded`,n.succeeded);return{id:e,runs:t,totalInWindow:t.length}}return{id:e,runs:ct(e,n[e])}})}var ut=new Map;function dt(e){let t=ut.get(e);return t||(t=new Intl.RelativeTimeFormat(e,{numeric:`auto`}),ut.set(e,t)),t}function ft(e,t,n){let r=Math.round((t-e)/1e3),i=dt(n);if(r<60)return i.format(-r,`second`);let a=Math.round(r/60);if(a<60)return i.format(-a,`minute`);let o=Math.round(a/60);if(o<48)return i.format(-o,`hour`);let s=Math.round(o/24);return i.format(-s,`day`)}function pt(e){return e.status===`queued`||e.status===`running`}function mt(e){return e.status===`failed`||e.status===`timeout`||e.status===`cancelled`}var $=r(),ht=(0,Z.memo)(function(e){let t=(0,Q.c)(76),{run:n,language:r,localeTag:o,nowMs:s,selected:c,onOpen:l,onOpenChat:u,onCancel:d,onRetry:f}=e,p=a(r).workflows,[m,h]=(0,Z.useState)(!1),g;t[0]===n?g=t[1]:(g=Qe(n),t[0]=n,t[1]=g);let _=!g,v;t[2]===n?v=t[3]:(v=pt(n),t[2]=n,t[3]=v);let y=v,b=n.status===`running`||n.status===`queued`,S;t[4]!==n.metrics.agentCount||t[5]!==n.metrics.doneAgentCount?(S=n.metrics.agentCount>0?Math.round(n.metrics.doneAgentCount/n.metrics.agentCount*100):0,t[4]=n.metrics.agentCount,t[5]=n.metrics.doneAgentCount,t[6]=S):S=t[6];let C=S,w=n.metrics.errorAgentCount>0,T=n.startedAtMs??n.createdAtMs,E=P(y?s-T:n.metrics.durationMs),D=Y(p.taskArtifacts,{count:n.metrics.artifactCount}),O;t[7]===n?O=t[8]:(O=nt(n),t[7]=n,t[8]=O);let k=O,A;t[9]===n?A=t[10]:(A=rt(n),t[9]=n,t[10]=A);let j=A,M;t[11]!==l||t[12]!==n?(M=()=>{l(n)},t[11]=l,t[12]=n,t[13]=M):M=t[13];let N=M,ee;t[14]!==_||t[15]!==u||t[16]!==n?(ee=()=>{_||u(n)},t[14]=_,t[15]=u,t[16]=n,t[17]=ee):ee=t[17];let te=ee,ne=c?`bg-surface-active ring-1 ring-accent/30`:`bg-surface-panel`,F;t[18]===ne?F=t[19]:(F=i(`group relative overflow-hidden rounded-xl p-3.5 shadow-surface transition-colors`,ne,`hover:bg-surface-hover/50`),t[18]=ne,t[19]=F);let I;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(I=i(`w-full text-left`,ke.focusRingPanel),t[20]=I):I=t[20];let L;t[21]===k?L=t[22]:(L=(0,$.jsx)(`div`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-fg`,children:k}),t[21]=k,t[22]=L);let R;t[23]===j?R=t[24]:(R=(0,$.jsx)(`div`,{className:`mt-1 truncate text-[11px] font-medium text-fg-muted`,children:j}),t[23]=j,t[24]=R);let z;t[25]!==L||t[26]!==R?(z=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[L,R]}),t[25]=L,t[26]=R,t[27]=z):z=t[27];let re;t[28]===n.status?re=t[29]:(re=i(`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold shadow-sm`,x(n.status)),t[28]=n.status,t[29]=re);let B;t[30]!==o||t[31]!==s||t[32]!==T?(B=ft(T,s,o),t[30]=o,t[31]=s,t[32]=T,t[33]=B):B=t[33];let V;t[34]===B?V=t[35]:(V=(0,$.jsx)(`span`,{children:B}),t[34]=B,t[35]=V);let H=E===`—`?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,$.jsx)(`span`,{children:Y(p.taskElapsed,{duration:E})})]}),U;t[36]!==V||t[37]!==H?(U=(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5 text-[11px] text-fg-subtle`,children:[V,H]}),t[36]=V,t[37]=H,t[38]=U):U=t[38];let W=n.metrics.artifactCount>0?(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 font-medium text-fg-muted`,children:D}):null,ie=c?(0,$.jsx)(`span`,{className:`font-medium text-accent-fg`,children:p.taskOpenDetails}):null,ae;t[39]!==W||t[40]!==ie?(ae=(0,$.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 text-[11px] text-fg-subtle`,children:[W,ie]}),t[39]=W,t[40]=ie,t[41]=ae):ae=t[41];let G=_&&`cursor-not-allowed text-fg-disabled hover:bg-transparent`,oe;t[42]===G?oe=t[43]:(oe=i(`rounded-md px-2 py-1 text-xs font-medium`,`text-accent-fg hover:bg-accent-soft`,ke.focusRingPanel,G),t[42]=G,t[43]=oe);let K;t[44]!==_||t[45]!==te||t[46]!==p.continueInChat||t[47]!==oe?(K=(0,$.jsx)(`button`,{type:`button`,className:oe,disabled:_,onClick:te,children:p.continueInChat}),t[44]=_,t[45]=te,t[46]=p.continueInChat,t[47]=oe,t[48]=K):K=t[48];let se;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(se=i(`rounded-md px-2 py-1 text-xs font-medium text-fg-muted hover:bg-surface-hover hover:text-fg`,ke.focusRingPanel),t[49]=se):se=t[49];let q;t[50]!==N||t[51]!==p.taskOpenDetails?(q=(0,$.jsx)(`button`,{type:`button`,className:se,onClick:N,children:p.taskOpenDetails}),t[50]=N,t[51]=p.taskOpenDetails,t[52]=q):q=t[52];let ce;t[53]!==K||t[54]!==q?(ce=(0,$.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 border-t border-edge-subtle pt-2`,children:[K,q]}),t[53]=K,t[54]=q,t[55]=ce):ce=t[55];let le;t[56]===h?le=t[57]:(le=()=>h(_t),t[56]=h,t[57]=le);let ue;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(je,{className:`size-4`,"aria-hidden":!0}),t[58]=ue):ue=t[58];let de;t[59]!==p.taskActionsAria||t[60]!==m||t[61]!==le?(de=(0,$.jsx)(J,{variant:`ghost`,className:`size-7 p-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100`,"aria-label":p.taskActionsAria,"aria-expanded":m,onClick:le,children:ue}),t[59]=p.taskActionsAria,t[60]=m,t[61]=le,t[62]=de):de=t[62];let fe;t[63]!==y||t[64]!==p.cancel||t[65]!==p.rerun||t[66]!==p.taskCloseMenu||t[67]!==m||t[68]!==d||t[69]!==f||t[70]!==n||t[71]!==h?(fe=m?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,className:`fixed inset-0 z-10 cursor-default`,"aria-label":p.taskCloseMenu,onClick:()=>h(!1)}),(0,$.jsxs)(`div`,{className:`absolute right-0 z-20 mt-1 min-w-36 rounded-lg border border-edge bg-surface-panel py-1 shadow-surface`,children:[y?(0,$.jsx)(gt,{label:p.cancel,tone:`danger`,onClick:()=>{h(!1),d(n.id)}}):null,mt(n)?(0,$.jsx)(gt,{label:p.rerun,onClick:()=>{h(!1),f(n.id)}}):null]})]}):null,t[63]=y,t[64]=p.cancel,t[65]=p.rerun,t[66]=p.taskCloseMenu,t[67]=m,t[68]=d,t[69]=f,t[70]=n,t[71]=h,t[72]=fe):fe=t[72];let pe;return t[73]!==de||t[74]!==fe?(pe=(0,$.jsxs)(`div`,{className:`absolute right-2 top-2`,children:[de,fe]}),t[73]=de,t[74]=fe,t[75]=pe):pe=t[75],(0,$.jsxs)(`div`,{className:F,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:N,"aria-label":`${p.taskOpenDetails}: ${k}`,"aria-current":c?`true`:void 0,className:I,children:[(0,$.jsxs)(`div`,{className:`pr-7`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-2`,children:[z,(0,$.jsx)(`span`,{className:re,children:p.status[n.status]??n.status})]}),U]}),b?(0,$.jsxs)(`div`,{className:`mt-2.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-[11px] text-fg-muted`,children:[(0,$.jsx)(`span`,{children:Y(p.agentProgress,{done:n.metrics.doneAgentCount,total:n.metrics.agentCount})}),(0,$.jsxs)(`span`,{children:[C,`%`]})]}),(0,$.jsx)(`div`,{className:`mt-1.5 h-1.5 overflow-hidden rounded-full bg-surface-hover`,children:(0,$.jsx)(`div`,{className:`h-full rounded-full bg-accent transition-all`,style:{width:`${C}%`}})})]}):null,ae,w?(0,$.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-[11px] text-amber-700 dark:text-amber-300`,children:[(0,$.jsx)(He,{className:`size-3 shrink-0`,"aria-hidden":!0}),Y(p.runRowErrorSummary,{count:n.metrics.errorAgentCount})]}):null]}),ce,pe]})});function gt(e){let t=(0,Q.c)(8),{label:n,disabled:r,tone:a,onClick:o}=e,s=r?`cursor-not-allowed text-fg-subtle`:`text-fg hover:bg-surface-hover`,c=a===`danger`&&!r&&`text-red-600 dark:text-red-300`,l;t[0]!==s||t[1]!==c?(l=i(`block w-full px-3 py-1.5 text-left text-xs`,s,c),t[0]=s,t[1]=c,t[2]=l):l=t[2];let u;return t[3]!==r||t[4]!==n||t[5]!==o||t[6]!==l?(u=(0,$.jsx)(`button`,{type:`button`,disabled:r,onClick:o,className:l,children:n}),t[3]=r,t[4]=n,t[5]=o,t[6]=l,t[7]=u):u=t[7],u}function _t(e){return!e}function vt(e,t){return t.boardColumns[e]}var yt=(0,Z.memo)(function(e){let t=(0,Q.c)(17),{column:n,language:r,localeTag:o,nowMs:s,selectedRunId:c,onOpenRun:l,onOpenRunChat:u,onCancelRun:d,onRetryRun:f}=e,p=a(r).workflows,[m,h]=(0,Z.useState)(!1),g=n.id===`succeeded`,_=g?5:n.runs.length,v;t[0]!==_||t[1]!==n.runs||t[2]!==m||t[3]!==g?(v=g&&!m?n.runs.slice(0,_):n.runs,t[0]=_,t[1]=n.runs,t[2]=m,t[3]=g,t[4]=v):v=t[4];let y=v,b=g&&n.runs.length>5&&!m,x=g&&m,S;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(S=i(`flex h-full w-80 shrink-0 snap-center flex-col overflow-hidden rounded-2xl bg-surface-panel/40 shadow-surface`),t[5]=S):S=t[5];let C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-accent`,"aria-hidden":!0}),t[6]=C):C=t[6];let w;t[7]===n.runs.length?w=t[8]:(w=(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2.5 py-1 text-xs font-semibold tabular-nums text-fg-muted`,children:n.runs.length}),t[7]=n.runs.length,t[8]=w);let T=y.length===0?(0,$.jsx)(`div`,{className:`flex min-h-32 items-center justify-center rounded-xl bg-surface-panel/40 px-4 py-6 text-center text-xs text-fg-subtle`,children:p.boardColumnEmpty}):y.map(e=>(0,$.jsx)(ht,{run:e,language:r,localeTag:o,nowMs:s,selected:e.id===c,onOpen:l,onOpenChat:u,onCancel:d,onRetry:f},e.id)),E=b?(0,$.jsx)(J,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>h(!0),children:Y(p.boardExpandSucceeded,{count:Math.min(n.runs.length,n.totalInWindow??n.runs.length)})}):null,D;t[9]!==x||t[10]!==p||t[11]!==h?(D=x?(0,$.jsx)(J,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>h(!1),children:p.boardCollapseSucceeded}):null,t[9]=x,t[10]=p,t[11]=h,t[12]=D):D=t[12];let O;return t[13]!==T||t[14]!==E||t[15]!==D?(O=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2.5`,children:[T,E,D]}),t[13]=T,t[14]=E,t[15]=D,t[16]=O):O=t[16],(0,$.jsxs)(`section`,{className:S,"aria-label":vt(n.id,p),children:[(0,$.jsxs)(`header`,{className:`flex shrink-0 items-center justify-between gap-2 rounded-t-2xl border-b border-edge-subtle bg-surface-panel/90 px-3.5 py-3 backdrop-blur`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[C,(0,$.jsx)(`h2`,{className:`truncate text-sm font-semibold text-fg`,children:vt(n.id,p)})]}),w]}),O]})}),bt=(0,Z.memo)(function(e){let t=(0,Q.c)(45),{runs:n,language:r,localeTag:i,labels:a,searchQuery:o,workflowFilterId:s,triggerFilter:c,selectedRunId:l,loading:u,onOpenRun:d,onOpenRunChat:f,onCancelRun:p,onRetryRun:m,onStart:h}=e,g;t[0]===n?g=t[1]:(g=n.some(xt),t[0]=n,t[1]=g);let _=g,[v,y]=(0,Z.useState)(St),b,x;t[2]===_?(b=t[3],x=t[4]):(b=()=>{if(!_)return;let e=window.setInterval(()=>y(Date.now()),1e3);return()=>window.clearInterval(e)},x=[_],t[2]=_,t[3]=b,t[4]=x),(0,Z.useEffect)(b,x);let S;t[5]!==v||t[6]!==n||t[7]!==o||t[8]!==c||t[9]!==s?(S=lt(at(n,{searchQuery:o,workflowFilterId:s,triggerFilter:c}),v),t[5]=v,t[6]=n,t[7]=o,t[8]=c,t[9]=s,t[10]=S):S=t[10];let C=S,w=C.reduce(Ct,0);if(u&&w===0){let e;return t[11]===a.loading?e=t[12]:(e=(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:a.loading}),t[11]=a.loading,t[12]=e),e}if(!u&&w===0){let e;t[13]===a.boardEmptyTitle?e=t[14]:(e=(0,$.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:a.boardEmptyTitle}),t[13]=a.boardEmptyTitle,t[14]=e);let n;t[15]===a.boardEmptyHint?n=t[16]:(n=(0,$.jsx)(`p`,{className:`mx-auto mt-2 max-w-md text-sm leading-6 text-fg-muted`,children:a.boardEmptyHint}),t[15]=a.boardEmptyHint,t[16]=n);let r;t[17]!==a.boardStart||t[18]!==h?(r=(0,$.jsx)(`div`,{className:`mt-4 flex justify-center`,children:(0,$.jsx)(J,{variant:`primary`,onClick:h,children:a.boardStart})}),t[17]=a.boardStart,t[18]=h,t[19]=r):r=t[19];let i;return t[20]!==e||t[21]!==n||t[22]!==r?(i=(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col items-center justify-center rounded-2xl border border-dashed border-edge bg-surface-panel/40 px-6 py-12 text-center`,children:[e,n,r]}),t[20]=e,t[21]=n,t[22]=r,t[23]=i):i=t[23],i}let T;if(t[24]!==C||t[25]!==r||t[26]!==i||t[27]!==v||t[28]!==p||t[29]!==d||t[30]!==f||t[31]!==m||t[32]!==l){let e;t[34]!==r||t[35]!==i||t[36]!==v||t[37]!==p||t[38]!==d||t[39]!==f||t[40]!==m||t[41]!==l?(e=e=>(0,$.jsx)(yt,{column:e,language:r,localeTag:i,nowMs:v,selectedRunId:l,onOpenRun:d,onOpenRunChat:f,onCancelRun:p,onRetryRun:m},e.id),t[34]=r,t[35]=i,t[36]=v,t[37]=p,t[38]=d,t[39]=f,t[40]=m,t[41]=l,t[42]=e):e=t[42],T=C.map(e),t[24]=C,t[25]=r,t[26]=i,t[27]=v,t[28]=p,t[29]=d,t[30]=f,t[31]=m,t[32]=l,t[33]=T}else T=t[33];let E;return t[43]===T?E=t[44]:(E=(0,$.jsx)(`div`,{className:`-mx-1 flex h-full min-w-0 snap-x snap-mandatory gap-3 overflow-x-auto px-1 pb-3`,children:T}),t[43]=T,t[44]=E),E});function xt(e){return e.status===`queued`||e.status===`running`}function St(){return Date.now()}function Ct(e,t){return e+t.runs.length}var wt=`export const meta = {
|
|
2
|
+
name: 'my_workflow',
|
|
3
|
+
description: 'Describe what this workflow does.',
|
|
4
|
+
whenToUse: 'When the user asks for ...',
|
|
5
|
+
examplePrompts: [
|
|
6
|
+
{ field: 'goal', text: 'Example goal for this workflow' },
|
|
7
|
+
],
|
|
8
|
+
tags: ['custom'],
|
|
9
|
+
estimatedAgents: { min: 2, max: 4 },
|
|
10
|
+
phases: [{ title: 'Step 1' }, { title: 'Synthesize' }],
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
phase('Step 1')
|
|
14
|
+
const first = await agent('Do the first step.', { label: 'step 1' })
|
|
15
|
+
|
|
16
|
+
phase('Synthesize')
|
|
17
|
+
return await agent('Summarize:\\n\\n' + first, { label: 'synthesis' })
|
|
18
|
+
`;function Tt(e){let t=(0,Q.c)(48),{open:n,language:r,ownerAgentId:i,saving:o,initialDraft:s,onClose:c,onSave:l,onSaveAndStart:u}=e,d;t[0]===r?d=t[1]:(d=a(r),t[0]=r,t[1]=d);let p=d.workflows,[m,g]=(0,Z.useState)(`ai`),[_,y]=(0,Z.useState)(``),[x,S]=(0,Z.useState)(``),C=s?.mode===`edit`,w=C?p.editWorkflowTitle:p.createWorkflowTitle,T=C?p.editWorkflowHint:s?.mode===`copy`?p.createWorkflowHintFromCopy:p.createWorkflowHint,E,D;t[2]!==s||t[3]!==n?(E=()=>{n&&(g(s?`manual`:`ai`),y(s?.name??``),S(s?.script??``))},D=[s,n],t[2]=s,t[3]=n,t[4]=E,t[5]=D):(E=t[4],D=t[5]),(0,Z.useEffect)(E,D);let O;t[6]===c?O=t[7]:(O=e=>!e&&c(),t[6]=c,t[7]=O);let k;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(F,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[8]=k):k=t[8];let A;t[9]===w?A=t[10]:(A=(0,$.jsx)(xe,{className:`text-base font-semibold text-fg`,children:w}),t[9]=w,t[10]=A);let j;t[11]===T?j=t[12]:(j=(0,$.jsx)(v,{className:`mt-1 text-sm text-fg-muted`,children:T}),t[11]=T,t[12]=j);let M=m===`ai`,N,ee;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(ee=()=>g(`ai`),N=(0,$.jsx)(z,{className:`size-4`,"aria-hidden":!0}),t[13]=N,t[14]=ee):(N=t[13],ee=t[14]);let te;t[15]!==p.createWorkflowAiTab||t[16]!==M?(te=(0,$.jsx)(Et,{active:M,onClick:ee,icon:N,children:p.createWorkflowAiTab}),t[15]=p.createWorkflowAiTab,t[16]=M,t[17]=te):te=t[17];let ne=m===`manual`,P,I;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(P=()=>g(`manual`),I=(0,$.jsx)(h,{className:`size-4`,"aria-hidden":!0}),t[18]=P,t[19]=I):(P=t[18],I=t[19]);let L;t[20]!==p.createWorkflowManualTab||t[21]!==ne?(L=(0,$.jsx)(Et,{active:ne,onClick:P,icon:I,children:p.createWorkflowManualTab}),t[20]=p.createWorkflowManualTab,t[21]=ne,t[22]=L):L=t[22];let R;t[23]!==te||t[24]!==L?(R=(0,$.jsxs)(`div`,{className:`mt-4 inline-flex rounded-xl border border-edge bg-surface-base p-1`,children:[te,L]}),t[23]=te,t[24]=L,t[25]=R):R=t[25];let re;t[26]!==R||t[27]!==A||t[28]!==j?(re=(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[A,j,R]}),t[26]=R,t[27]=A,t[28]=j,t[29]=re):re=t[29];let B;t[30]!==s||t[31]!==r||t[32]!==m||t[33]!==c||t[34]!==l||t[35]!==u||t[36]!==i||t[37]!==o||t[38]!==_||t[39]!==x?(B=m===`ai`?(0,$.jsx)(Dt,{language:r,ownerAgentId:i,saving:o,initialDraft:s,name:_,setName:y,script:x,setScript:S,onClose:c,onSave:l,onSaveAndStart:u}):(0,$.jsx)(Ot,{language:r,saving:o,initialDraft:s,name:_,setName:y,script:x,setScript:S,onClose:c,onSave:l}),t[30]=s,t[31]=r,t[32]=m,t[33]=c,t[34]=l,t[35]=u,t[36]=i,t[37]=o,t[38]=_,t[39]=x,t[40]=B):B=t[40];let V;t[41]!==re||t[42]!==B?(V=(0,$.jsxs)(Se,{children:[k,(0,$.jsxs)(b,{className:`fixed left-1/2 top-1/2 z-66 flex h-[min(92vh,52rem)] w-[min(100%-2rem,72rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[re,B]})]}),t[41]=re,t[42]=B,t[43]=V):V=t[43];let H;return t[44]!==n||t[45]!==V||t[46]!==O?(H=(0,$.jsx)(f,{open:n,onOpenChange:O,children:V}),t[44]=n,t[45]=V,t[46]=O,t[47]=H):H=t[47],H}function Et(e){let t=(0,Q.c)(5),{active:n,onClick:r,icon:i,children:a}=e,o=n?`inline-flex h-8 items-center gap-2 rounded-lg bg-surface-panel px-3 text-sm font-medium text-fg shadow-surface`:`inline-flex h-8 items-center gap-2 rounded-lg px-3 text-sm font-medium text-fg-muted hover:text-fg`,s;return t[0]!==a||t[1]!==i||t[2]!==r||t[3]!==o?(s=(0,$.jsxs)(`button`,{type:`button`,onClick:r,className:o,children:[i,a]}),t[0]=a,t[1]=i,t[2]=r,t[3]=o,t[4]=s):s=t[4],s}function Dt({language:e,ownerAgentId:t,saving:n,initialDraft:r,name:i,setName:o,script:s,setScript:c,onClose:l,onSave:u,onSaveAndStart:d}){let f=a(e).workflows,[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)({allowNetwork:!1,fileSystem:`read`,maxPhases:4,maxSubagents:8,outputFormat:`report`}),[y,b]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(null),C=(0,Z.useMemo)(()=>h?.validation.errors.map(e=>e.message)??[],[h]),w=(0,Z.useMemo)(()=>h?.lint.filter(e=>e.severity===`error`)??[],[h]),T=p.trim().length>0&&!y,E=!!(h&&i.trim()&&s.trim()&&h.validation.valid&&w.length===0&&!n),D=s.trim().length>0,O=D?f.nlBuilderEditPromptLabel:f.nlBuilderPromptLabel,k=D?f.nlBuilderEditPromptPlaceholder:f.nlBuilderPromptPlaceholder,A=D?`improve`:`create`,j=async n=>{if(p.trim()){b(!0),S(null);try{let r=await ce({prompt:p,agentId:t,language:e===`zh`?`zh`:`en`,mode:n,existingScript:n===`improve`?s:void 0,constraints:_});g(r),o(r.name),c(r.script)}catch(e){S(e instanceof Error?e.message:f.nlBuilderGenerateFailed)}finally{b(!1)}}},M=async()=>{E&&await u({name:i.trim(),script:s})&&l()},N=async()=>{E&&await d({name:i.trim(),script:s,goal:p.trim()})};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-4 overflow-auto px-5 py-4 lg:grid-cols-[minmax(18rem,0.9fr)_minmax(24rem,1.4fr)]`,children:[(0,$.jsxs)(`section`,{className:`space-y-3`,children:[(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:O}),(0,$.jsx)(`textarea`,{value:p,onChange:e=>m(e.target.value),placeholder:k,className:`mt-1.5 min-h-36 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm leading-6 text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]}),(0,$.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[(0,$.jsx)(kt,{label:f.nlBuilderMaxPhases,value:_.maxPhases??4,min:1,max:8,onChange:e=>v(t=>({...t,maxPhases:e}))}),(0,$.jsx)(kt,{label:f.nlBuilderMaxAgents,value:_.maxSubagents??8,min:1,max:20,onChange:e=>v(t=>({...t,maxSubagents:e}))})]}),(0,$.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[(0,$.jsxs)(`label`,{className:`flex items-center gap-2 rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg-muted`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:!!_.allowNetwork,onChange:e=>v(t=>({...t,allowNetwork:e.target.checked}))}),f.nlBuilderAllowNetwork]}),(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:f.nlBuilderFilesystem}),(0,$.jsxs)(U,{value:_.fileSystem??`read`,onChange:e=>v(t=>({...t,fileSystem:e.target.value})),className:`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/20`,children:[(0,$.jsx)(H,{value:`none`,children:`none`}),(0,$.jsx)(H,{value:`read`,children:`read`}),(0,$.jsx)(H,{value:`write`,children:`write`})]})]})]}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(0,$.jsxs)(J,{variant:`primary`,disabled:!T,onClick:()=>void j(A),children:[(0,$.jsx)(z,{className:`size-4`,"aria-hidden":!0}),y?f.nlBuilderGenerating:D?f.nlBuilderRewriteExisting:f.nlBuilderGenerate]})}),x?(0,$.jsx)(Ht,{text:x}):null,h?(0,$.jsx)(Nt,{draft:h,labels:f}):null]}),(0,$.jsxs)(`section`,{className:`min-w-0 space-y-3`,children:[(0,$.jsx)(jt,{initialDraft:r,labels:f}),(0,$.jsx)(At,{labels:f,name:i,setName:o}),(0,$.jsx)(Mt,{labels:f,script:s,setScript:c,minHeightClass:`min-h-96`}),h?(0,$.jsx)(Pt,{draft:h,labels:f,validationIssues:C}):null]})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,$.jsx)(J,{variant:`secondary`,onClick:l,disabled:n||y,children:f.cancelDialog}),(0,$.jsx)(J,{variant:`secondary`,disabled:!E,onClick:()=>void M(),children:n?f.savingWorkflow:f.saveWorkflow}),(0,$.jsx)(J,{variant:`primary`,disabled:!E,onClick:()=>void N(),children:f.nlBuilderSaveAndStart})]})]})}function Ot({language:e,saving:t,initialDraft:n,name:r,setName:i,script:o,setScript:s,onClose:c,onSave:l}){let u=a(e).workflows,[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(null),y=r.trim(),b=!!(y&&o.trim());(0,Z.useEffect)(()=>{if(!b){m(!1),g(null),v(null);return}let e=!1,t=window.setTimeout(()=>{m(!0),g(null),Ue(y,o).then(t=>{e||v(t)}).catch(t=>{e||(v(null),g(t instanceof Error?t.message:u.validateWorkflowFailed))}).finally(()=>{e||m(!1)})},450);return()=>{e=!0,window.clearTimeout(t)}},[b,u.validateWorkflowFailed,o,y]);let x=(0,Z.useMemo)(()=>h?[h]:_?.errors.map(e=>e.message)??[],[h,_]),S=d||p||_!=null||h!=null,C=b&&!t&&!p&&_?.valid===!0;(0,Z.useEffect)(()=>{!n&&!o.trim()&&s(wt),f(!1),m(!1),g(null),v(null)},[n,o,s]);let w=async()=>{if(f(!0),!(!b||t)){m(!0),g(null);try{let e=await Ue(y,o);if(v(e),!e.valid)return;await l({name:y,script:o})&&c()}catch(e){v(null),g(e instanceof Error?e.message:u.validateWorkflowFailed)}finally{m(!1)}}};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-3 overflow-auto px-5 py-4`,children:[(0,$.jsx)(jt,{initialDraft:n,labels:u}),(0,$.jsx)(At,{labels:u,name:r,setName:e=>{i(e),v(null),g(null)}}),(0,$.jsx)(Mt,{labels:u,script:o,setScript:e=>{s(e),v(null),g(null)},minHeightClass:`min-h-72`}),S?(0,$.jsx)(Rt,{labels:u,validating:p,validationIssues:x,validationResult:_}):null]}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,$.jsx)(J,{variant:`secondary`,onClick:c,disabled:t,children:u.cancelDialog}),(0,$.jsx)(J,{variant:`primary`,disabled:!C,onClick:()=>void w(),children:t?u.savingWorkflow:u.saveWorkflow})]})]})}function kt(e){let t=(0,Q.c)(12),{label:n,value:r,min:i,max:a,onChange:o}=e,s;t[0]===n?s=t[1]:(s=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:n}),t[0]=n,t[1]=s);let c;t[2]===o?c=t[3]:(c=e=>o(Number(e.target.value)||void 0),t[2]=o,t[3]=c);let l;t[4]!==a||t[5]!==i||t[6]!==c||t[7]!==r?(l=(0,$.jsx)(`input`,{type:`number`,min:i,max:a,value:r,onChange:c,className:`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/20`}),t[4]=a,t[5]=i,t[6]=c,t[7]=r,t[8]=l):l=t[8];let u;return t[9]!==s||t[10]!==l?(u=(0,$.jsxs)(`label`,{className:`block`,children:[s,l]}),t[9]=s,t[10]=l,t[11]=u):u=t[11],u}function At(e){let t=(0,Q.c)(11),{labels:n,name:r,setName:i}=e,a;t[0]===n.workflowNameLabel?a=t[1]:(a=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:n.workflowNameLabel}),t[0]=n.workflowNameLabel,t[1]=a);let o;t[2]===i?o=t[3]:(o=e=>i(e.target.value),t[2]=i,t[3]=o);let s;t[4]!==n.workflowNamePlaceholder||t[5]!==r||t[6]!==o?(s=(0,$.jsx)(`input`,{value:r,onChange:o,placeholder:n.workflowNamePlaceholder,className:`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 font-mono text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`}),t[4]=n.workflowNamePlaceholder,t[5]=r,t[6]=o,t[7]=s):s=t[7];let c;return t[8]!==a||t[9]!==s?(c=(0,$.jsxs)(`label`,{className:`block`,children:[a,s]}),t[8]=a,t[9]=s,t[10]=c):c=t[10],c}function jt(e){let t=(0,Q.c)(7),{initialDraft:n,labels:r}=e;if(!n)return null;let i;t[0]!==n.mode||t[1]!==n.sourceTitle||t[2]!==r.copyWorkflowNotice||t[3]!==r.editWorkflowNotice?(i=n.mode===`copy`?r.copyWorkflowNotice.replace(`{{title}}`,n.sourceTitle):r.editWorkflowNotice.replace(`{{title}}`,n.sourceTitle),t[0]=n.mode,t[1]=n.sourceTitle,t[2]=r.copyWorkflowNotice,t[3]=r.editWorkflowNotice,t[4]=i):i=t[4];let a=i,o;return t[5]===a?o=t[6]:(o=(0,$.jsx)(`div`,{className:`rounded-xl border border-accent/20 bg-accent-soft/60 px-3 py-2 text-sm leading-6 text-accent-fg`,children:a}),t[5]=a,t[6]=o),o}function Mt(e){let t=(0,Q.c)(11),{labels:n,script:r,setScript:i,minHeightClass:a}=e,o;t[0]===n.workflowScriptLabel?o=t[1]:(o=(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:n.workflowScriptLabel}),t[0]=n.workflowScriptLabel,t[1]=o);let s;t[2]===i?s=t[3]:(s=e=>i(e.target.value),t[2]=i,t[3]=s);let c=`mt-1.5 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2 font-mono text-xs leading-5 text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/20 ${a}`,l;t[4]!==r||t[5]!==s||t[6]!==c?(l=(0,$.jsx)(`textarea`,{value:r,onChange:s,spellCheck:!1,className:c}),t[4]=r,t[5]=s,t[6]=c,t[7]=l):l=t[7];let u;return t[8]!==o||t[9]!==l?(u=(0,$.jsxs)(`label`,{className:`block`,children:[o,l]}),t[8]=o,t[9]=l,t[10]=u):u=t[10],u}function Nt(e){let t=(0,Q.c)(23),{draft:n,labels:r}=e,i=n.manifest.title??n.name,a;t[0]===i?a=t[1]:(a=(0,$.jsx)(`div`,{className:`text-sm font-semibold text-fg`,children:i}),t[0]=i,t[1]=a);let o;t[2]===n.explanation?o=t[3]:(o=(0,$.jsx)(`p`,{className:`text-xs leading-5 text-fg-muted`,children:n.explanation}),t[2]=n.explanation,t[3]=o);let s;t[4]!==n.repairAttempts||t[5]!==r.nlBuilderAutoRepaired?(s=n.repairAttempts>0?(0,$.jsx)(`div`,{className:`text-xs font-medium text-accent-fg`,children:r.nlBuilderAutoRepaired.replace(`{count}`,String(n.repairAttempts))}):null,t[4]=n.repairAttempts,t[5]=r.nlBuilderAutoRepaired,t[6]=s):s=t[6];let c;t[7]!==n.permissionsSummary||t[8]!==r.nlBuilderPermissions?(c=(0,$.jsx)(Bt,{title:r.nlBuilderPermissions,items:n.permissionsSummary}),t[7]=n.permissionsSummary,t[8]=r.nlBuilderPermissions,t[9]=c):c=t[9];let l;t[10]!==n.assumptions||t[11]!==r.nlBuilderAssumptions?(l=(0,$.jsx)(Bt,{title:r.nlBuilderAssumptions,items:n.assumptions}),t[10]=n.assumptions,t[11]=r.nlBuilderAssumptions,t[12]=l):l=t[12];let u;t[13]!==n.risks||t[14]!==r.nlBuilderRisks?(u=(0,$.jsx)(Bt,{title:r.nlBuilderRisks,items:n.risks}),t[13]=n.risks,t[14]=r.nlBuilderRisks,t[15]=u):u=t[15];let d;return t[16]!==a||t[17]!==o||t[18]!==s||t[19]!==c||t[20]!==l||t[21]!==u?(d=(0,$.jsxs)(`div`,{className:`space-y-2 rounded-xl border border-edge bg-surface-base/50 p-3`,children:[a,o,s,c,l,u]}),t[16]=a,t[17]=o,t[18]=s,t[19]=c,t[20]=l,t[21]=u,t[22]=d):d=t[22],d}function Pt(e){let t=(0,Q.c)(17),{draft:n,labels:r,validationIssues:i}=e,a=n.lint,o;t[0]!==n.validation.valid||t[1]!==a?(o=n.validation.valid&&a.every(Lt),t[0]=n.validation.valid,t[1]=a,t[2]=o):o=t[2];let s=o,c=s?`rounded-xl border border-emerald-500/30 bg-emerald-500/10 p-3 text-sm text-emerald-800 dark:text-emerald-200`:`rounded-xl border border-amber-500/30 bg-amber-500/10 p-3 text-sm text-amber-800 dark:text-amber-200`,l;t[3]===s?l=t[4]:(l=s?(0,$.jsx)(D,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(He,{className:`size-4`,"aria-hidden":!0}),t[3]=s,t[4]=l);let u=s?r.validationPassed:r.nlBuilderReviewIssues,d;t[5]!==l||t[6]!==u?(d=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 font-medium`,children:[l,u]}),t[5]=l,t[6]=u,t[7]=d):d=t[7];let f;t[8]!==n.validation.definition?.phases||t[9]!==r.validationPreview||t[10]!==a||t[11]!==i?(f=i.length>0||a.length>0?(0,$.jsxs)(`ul`,{className:`mt-2 list-disc space-y-1 pl-5 text-xs leading-5`,children:[i.map(It),a.map(Ft)]}):(0,$.jsx)(`p`,{className:`mt-1 text-xs opacity-80`,children:r.validationPreview.replace(`{{phaseCount}}`,String(n.validation.definition?.phases.length??0))}),t[8]=n.validation.definition?.phases,t[9]=r.validationPreview,t[10]=a,t[11]=i,t[12]=f):f=t[12];let p;return t[13]!==c||t[14]!==d||t[15]!==f?(p=(0,$.jsxs)(`div`,{className:c,children:[d,f]}),t[13]=c,t[14]=d,t[15]=f,t[16]=p):p=t[16],p}function Ft(e){return(0,$.jsx)(`li`,{children:e.message},`${e.code}:${e.message}`)}function It(e){return(0,$.jsx)(`li`,{children:e},e)}function Lt(e){return e.severity!==`error`}function Rt(e){let t=(0,Q.c)(10),{labels:n,validating:r,validationIssues:i,validationResult:a}=e,o=i.length>0?`rounded-xl border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-200`:`rounded-xl border border-emerald-500/30 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-700 dark:text-emerald-200`,s=r?n.validatingWorkflow:i.length>0?n.validationFailed:n.validationPassed,c;t[0]===s?c=t[1]:(c=(0,$.jsx)(`div`,{className:`font-medium`,children:s}),t[0]=s,t[1]=c);let l;t[2]!==n.validationPreview||t[3]!==i||t[4]!==a?(l=i.length>0?(0,$.jsx)(`ul`,{className:`mt-1 list-disc space-y-1 pl-5`,children:i.map(zt)}):a?.definition?(0,$.jsx)(`div`,{className:`mt-1 text-xs opacity-80`,children:n.validationPreview.replace(`{{phaseCount}}`,String(a.definition.phases.length))}):null,t[2]=n.validationPreview,t[3]=i,t[4]=a,t[5]=l):l=t[5];let u;return t[6]!==o||t[7]!==c||t[8]!==l?(u=(0,$.jsxs)(`div`,{className:o,role:`status`,children:[c,l]}),t[6]=o,t[7]=c,t[8]=l,t[9]=u):u=t[9],u}function zt(e){return(0,$.jsx)(`li`,{children:e},e)}function Bt(e){let t=(0,Q.c)(10),{title:n,items:r}=e;if(!r.length)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,$.jsx)(j,{className:`size-3`,"aria-hidden":!0}),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,$.jsxs)(`div`,{className:`mb-1 flex items-center gap-1 text-[10px] font-semibold uppercase tracking-wide text-fg-subtle`,children:[i,n]}),t[1]=n,t[2]=a);let o;t[3]===r?o=t[4]:(o=r.slice(0,5).map(Vt),t[3]=r,t[4]=o);let s;t[5]===o?s=t[6]:(s=(0,$.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:o}),t[5]=o,t[6]=s);let c;return t[7]!==a||t[8]!==s?(c=(0,$.jsxs)(`div`,{children:[a,s]}),t[7]=a,t[8]=s,t[9]=c):c=t[9],c}function Vt(e){return(0,$.jsx)(`span`,{className:`rounded-lg border border-edge-subtle bg-surface-panel px-2 py-1 text-[11px] text-fg-muted`,children:e},e)}function Ht(e){let t=(0,Q.c)(2),{text:n}=e,r;return t[0]===n?r=t[1]:(r=(0,$.jsx)(`div`,{className:`rounded-xl border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-200`,children:n}),t[0]=n,t[1]=r),r}function Ut(e){let t=(0,Q.c)(57),{open:n,definition:r,language:i,onClose:o,onRun:s}=e,c;t[0]===i?c=t[1]:(c=a(i),t[0]=i,t[1]=c);let l=c.workflows;if(!r)return null;let u;t[2]!==r||t[3]!==i?(u=G(r,i),t[2]=r,t[3]=i,t[4]=u):u=t[4];let d=u,p=r.runtime?.source??``,m;t[5]===o?m=t[6]:(m=e=>!e&&o(),t[5]=o,t[6]=m);let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(F,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[7]=h):h=t[7];let g;t[8]===r.title?g=t[9]:(g=(0,$.jsx)(xe,{className:`text-base font-semibold text-fg`,children:r.title}),t[8]=r.title,t[9]=g);let _;t[10]===d.description?_=t[11]:(_=(0,$.jsx)(v,{className:`mt-1 text-sm text-fg-muted`,children:d.description}),t[10]=d.description,t[11]=_);let y;t[12]!==g||t[13]!==_?(y=(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[g,_]}),t[12]=g,t[13]=_,t[14]=y):y=t[14];let x;t[15]!==l.whenToUseHeading||t[16]!==d.whenToUse?(x=d.whenToUse?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:l.whenToUseHeading}),(0,$.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-fg-muted`,children:d.whenToUse})]}):null,t[15]=l.whenToUseHeading,t[16]=d.whenToUse,t[17]=x):x=t[17];let S;t[18]!==r||t[19]!==l?(S=(0,$.jsx)(Gt,{definition:r,labels:l}),t[18]=r,t[19]=l,t[20]=S):S=t[20];let C;t[21]!==r.inputSchema||t[22]!==l.inputsHeading?(C=r.inputSchema?(0,$.jsx)(qt,{title:l.inputsHeading,schema:r.inputSchema}):null,t[21]=r.inputSchema,t[22]=l.inputsHeading,t[23]=C):C=t[23];let w;t[24]!==r.outputSchema||t[25]!==l.outputsHeading?(w=r.outputSchema?(0,$.jsx)(qt,{title:l.outputsHeading,schema:r.outputSchema}):null,t[24]=r.outputSchema,t[25]=l.outputsHeading,t[26]=w):w=t[26];let T;t[27]!==r.phases||t[28]!==l.phasesHeading?(T=r.phases.length>0?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:l.phasesHeading}),(0,$.jsx)(`ol`,{className:`mt-2 space-y-2`,children:r.phases.map(Wt)})]}):null,t[27]=r.phases,t[28]=l.phasesHeading,t[29]=T):T=t[29];let E;t[30]!==l.scriptHeading||t[31]!==p?(E=p?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:l.scriptHeading}),(0,$.jsx)(`pre`,{className:`mt-2 max-h-64 overflow-auto rounded-xl border border-edge bg-surface-base/50 p-3 font-mono text-xs leading-5 text-fg-muted`,children:p})]}):null,t[30]=l.scriptHeading,t[31]=p,t[32]=E):E=t[32];let D;t[33]!==C||t[34]!==w||t[35]!==T||t[36]!==E||t[37]!==x||t[38]!==S?(D=(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-auto px-5 py-4`,children:[x,S,C,w,T,E]}),t[33]=C,t[34]=w,t[35]=T,t[36]=E,t[37]=x,t[38]=S,t[39]=D):D=t[39];let O;t[40]!==l.closeResult||t[41]!==o?(O=(0,$.jsx)(J,{variant:`secondary`,onClick:o,children:l.closeResult}),t[40]=l.closeResult,t[41]=o,t[42]=O):O=t[42];let k;t[43]!==l.runWorkflow||t[44]!==s?(k=(0,$.jsx)(J,{variant:`primary`,onClick:s,children:l.runWorkflow}),t[43]=l.runWorkflow,t[44]=s,t[45]=k):k=t[45];let A;t[46]!==O||t[47]!==k?(A=(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[O,k]}),t[46]=O,t[47]=k,t[48]=A):A=t[48];let j;t[49]!==D||t[50]!==A||t[51]!==y?(j=(0,$.jsxs)(Se,{children:[h,(0,$.jsxs)(b,{className:`fixed left-1/2 top-1/2 z-66 flex max-h-[min(85vh,44rem)] w-[min(100%-2rem,48rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[y,D,A]})]}),t[49]=D,t[50]=A,t[51]=y,t[52]=j):j=t[52];let M;return t[53]!==n||t[54]!==j||t[55]!==m?(M=(0,$.jsx)(f,{open:n,onOpenChange:m,children:j}),t[53]=n,t[54]=j,t[55]=m,t[56]=M):M=t[56],M}function Wt(e,t){return(0,$.jsxs)(`li`,{className:`rounded-xl border border-edge bg-surface-base/40 px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`text-sm font-medium text-fg`,children:[t+1,`. `,e.title]}),e.description?(0,$.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:e.description}):null]},e.id)}function Gt(e){let t=(0,Q.c)(39),{definition:n,labels:r}=e,i=n.permissions,a=n.resources,o;t[0]!==r.permissionsTools||t[1]!==i?(o=i?.tools?.length?[r.permissionsTools,i.tools.join(`, `)]:null,t[0]=r.permissionsTools,t[1]=i,t[2]=o):o=t[2];let s;t[3]!==r.networkDisabled||t[4]!==r.networkEnabled||t[5]!==r.permissionsNetwork||t[6]!==i?(s=i?.network==null?null:[r.permissionsNetwork,i.network?r.networkEnabled:r.networkDisabled],t[3]=r.networkDisabled,t[4]=r.networkEnabled,t[5]=r.permissionsNetwork,t[6]=i,t[7]=s):s=t[7];let c;t[8]!==r.permissionsFileSystem||t[9]!==i?(c=i?.fileSystem?[r.permissionsFileSystem,i.fileSystem]:null,t[8]=r.permissionsFileSystem,t[9]=i,t[10]=c):c=t[10];let l;t[11]!==r.permissionsApproval||t[12]!==i?.approvalRequired?(l=i?.approvalRequired?[r.permissionsApproval,r.permissionsApproval]:null,t[11]=r.permissionsApproval,t[12]=i?.approvalRequired,t[13]=l):l=t[13];let u;t[14]!==r.resourcesSkills||t[15]!==a?(u=a?.skills?.length?[r.resourcesSkills,a.skills.join(`, `)]:null,t[14]=r.resourcesSkills,t[15]=a,t[16]=u):u=t[16];let d;t[17]!==r.resourcesContextFiles||t[18]!==a?(d=a?.contextFiles?.length?[r.resourcesContextFiles,a.contextFiles.join(`, `)]:null,t[17]=r.resourcesContextFiles,t[18]=a,t[19]=d):d=t[19];let f;t[20]!==r.resourcesPromptTemplates||t[21]!==a?(f=a?.promptTemplates?.length?[r.resourcesPromptTemplates,a.promptTemplates.join(`, `)]:null,t[20]=r.resourcesPromptTemplates,t[21]=a,t[22]=f):f=t[22];let p;t[23]!==o||t[24]!==s||t[25]!==c||t[26]!==l||t[27]!==u||t[28]!==d||t[29]!==f?(p=[o,s,c,l,u,d,f].filter(Boolean),t[23]=o,t[24]=s,t[25]=c,t[26]=l,t[27]=u,t[28]=d,t[29]=f,t[30]=p):p=t[30];let m=p,h;t[31]===r.capabilitiesHeading?h=t[32]:(h=(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:r.capabilitiesHeading}),t[31]=r.capabilitiesHeading,t[32]=h);let g;t[33]!==r.capabilityNone||t[34]!==m?(g=m.length>0?(0,$.jsx)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-2`,children:m.map(Kt)}):(0,$.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:r.capabilityNone}),t[33]=r.capabilityNone,t[34]=m,t[35]=g):g=t[35];let _;return t[36]!==g||t[37]!==h?(_=(0,$.jsxs)(`section`,{children:[h,g]}),t[36]=g,t[37]=h,t[38]=_):_=t[38],_}function Kt(e){let[t,n]=e;return(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge bg-surface-base/40 px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs font-medium text-fg-muted`,children:[(0,$.jsx)(T,{className:`size-3.5 text-fg-subtle`,"aria-hidden":!0}),t]}),(0,$.jsx)(`div`,{className:`mt-1 break-words text-sm text-fg`,children:n})]},`${t}:${n}`)}function qt(e){let t=(0,Q.c)(16),{title:n,schema:r}=e,i;t[0]===r.properties?i=t[1]:(i=Object.keys(r.properties??{}),t[0]=r.properties,t[1]=i);let a=i,o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(j,{className:`size-3.5`,"aria-hidden":!0}),t[2]=o):o=t[2];let s;t[3]===n?s=t[4]:(s=(0,$.jsxs)(`h3`,{className:`flex items-center gap-2 text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:[o,n]}),t[3]=n,t[4]=s);let c;t[5]===a?c=t[6]:(c=a.length>0?(0,$.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:a.map(Jt)}):null,t[5]=a,t[6]=c);let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(`summary`,{className:`cursor-pointer text-xs text-fg-subtle hover:text-fg-muted`,children:`JSON`}),t[7]=l):l=t[7];let u;t[8]===r?u=t[9]:(u=JSON.stringify(r,null,2),t[8]=r,t[9]=u);let d;t[10]===u?d=t[11]:(d=(0,$.jsxs)(`details`,{className:`mt-2`,children:[l,(0,$.jsx)(`pre`,{className:`mt-2 max-h-48 overflow-auto rounded-xl border border-edge bg-surface-base/50 p-3 font-mono text-xs leading-5 text-fg-muted`,children:u})]}),t[10]=u,t[11]=d);let f;return t[12]!==s||t[13]!==c||t[14]!==d?(f=(0,$.jsxs)(`section`,{children:[s,c,d]}),t[12]=s,t[13]=c,t[14]=d,t[15]=f):f=t[15],f}function Jt(e){return(0,$.jsx)(`span`,{className:`rounded-lg border border-edge-subtle bg-surface-base px-2 py-1 text-xs text-fg-muted`,children:e},e)}function Yt(e,t){let n=e.metadata.estimatedAgents;return n?n.min===n.max?Y(t.agentScaleExact,{count:n.min}):Y(t.agentScaleRange,{min:n.min,max:n.max}):null}function Xt(e){let t=(0,Q.c)(81),{definition:n,language:r,labels:a,onPick:o,onDetail:s,onEdit:c}=e,l;t[0]!==n||t[1]!==r?(l=G(n,r),t[0]=n,t[1]=r,t[2]=l):l=t[2];let u=l,d;t[3]!==n||t[4]!==a?(d=Yt(n,a),t[3]=n,t[4]=a,t[5]=d):d=t[5];let f=d,p=n.metadata.source===`user`,h;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(h=i(`group flex h-full flex-col rounded-xl bg-surface-panel p-4 text-left shadow-surface transition-colors`,`hover:bg-surface-hover`),t[6]=h):h=t[6];let g;t[7]!==n||t[8]!==s?(g=()=>s(n),t[7]=n,t[8]=s,t[9]=g):g=t[9];let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=i(`flex flex-1 flex-col text-left`,ke.focusRingPanel),t[10]=_):_=t[10];let v=p?`bg-accent-soft text-accent-fg`:`bg-surface-hover text-fg-muted`,y;t[11]===v?y=t[12]:(y=i(`rounded-full px-2 py-0.5 text-[10px] font-medium`,v),t[11]=v,t[12]=y);let b=p?a.badgeUser:a.badgeBuiltin,x;t[13]!==y||t[14]!==b?(x=(0,$.jsx)(`span`,{className:y,children:b}),t[13]=y,t[14]=b,t[15]=x):x=t[15];let S;t[16]!==n.inputSchema||t[17]!==a.inputSchemaBadge?(S=n.inputSchema?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-surface-hover px-2 py-0.5 text-[10px] text-fg-subtle`,children:[(0,$.jsx)(j,{className:`size-2.5`,"aria-hidden":!0}),a.inputSchemaBadge]}):null,t[16]=n.inputSchema,t[17]=a.inputSchemaBadge,t[18]=S):S=t[18];let C;t[19]===n.metadata.tags?C=t[20]:(C=n.metadata.tags.slice(0,2).map(Zt),t[19]=n.metadata.tags,t[20]=C);let w;t[21]!==S||t[22]!==C||t[23]!==x?(w=(0,$.jsxs)(`div`,{className:`mb-2 flex flex-wrap items-center gap-1.5`,children:[x,S,C]}),t[21]=S,t[22]=C,t[23]=x,t[24]=w):w=t[24];let T;t[25]===n.title?T=t[26]:(T=(0,$.jsx)(`span`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-fg`,children:n.title}),t[25]=n.title,t[26]=T);let E;t[27]!==w||t[28]!==T?(E=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[w,T]}),t[27]=w,t[28]=T,t[29]=E):E=t[29];let D;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center rounded-lg bg-accent-soft text-accent-fg opacity-80 transition-opacity group-hover:opacity-100`,children:(0,$.jsx)(le,{className:`size-3.5`,"aria-hidden":!0})}),t[30]=D):D=t[30];let O;t[31]===E?O=t[32]:(O=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[E,D]}),t[31]=E,t[32]=O);let k;t[33]===u.description?k=t[34]:(k=u.description?(0,$.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-5 text-fg-muted`,children:u.description}):null,t[33]=u.description,t[34]=k);let A;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,$.jsx)(m,{className:`size-3`,"aria-hidden":!0}),t[35]=A):A=t[35];let M;t[36]!==n.phases.length||t[37]!==a.phaseCount?(M=Y(a.phaseCount,{count:n.phases.length}),t[36]=n.phases.length,t[37]=a.phaseCount,t[38]=M):M=t[38];let N;t[39]===M?N=t[40]:(N=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[A,M]}),t[39]=M,t[40]=N);let ee;t[41]===f?ee=t[42]:(ee=f?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(Ge,{className:`size-3`,"aria-hidden":!0}),f]}):null,t[41]=f,t[42]=ee);let te;t[43]!==N||t[44]!==ee?(te=(0,$.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center gap-3 pt-3 text-[11px] text-fg-subtle`,children:[N,ee]}),t[43]=N,t[44]=ee,t[45]=te):te=t[45];let ne;t[46]!==O||t[47]!==k||t[48]!==te||t[49]!==g?(ne=(0,$.jsxs)(`button`,{type:`button`,onClick:g,className:_,children:[O,k,te]}),t[46]=O,t[47]=k,t[48]=te,t[49]=g,t[50]=ne):ne=t[50];let P;t[51]!==n||t[52]!==o?(P=()=>o(n),t[51]=n,t[52]=o,t[53]=P):P=t[53];let F;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(q,{className:`size-3.5`,"aria-hidden":!0}),t[54]=F):F=t[54];let I;t[55]!==a.runWorkflow||t[56]!==P?(I=(0,$.jsxs)(J,{type:`button`,variant:`primary`,className:`h-8 flex-1 rounded-lg text-xs`,onClick:P,children:[F,a.runWorkflow]}),t[55]=a.runWorkflow,t[56]=P,t[57]=I):I=t[57];let L;t[58]!==n||t[59]!==s?(L=()=>s(n),t[58]=n,t[59]=s,t[60]=L):L=t[60];let R;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(le,{className:`size-3.5`,"aria-hidden":!0}),t[61]=R):R=t[61];let z;t[62]!==a.viewDetails||t[63]!==L?(z=(0,$.jsxs)(J,{type:`button`,variant:`secondary`,className:`h-8 rounded-lg text-xs`,onClick:L,children:[R,a.viewDetails]}),t[62]=a.viewDetails,t[63]=L,t[64]=z):z=t[64];let re;t[65]!==n||t[66]!==c?(re=()=>c(n),t[65]=n,t[66]=c,t[67]=re):re=t[67];let B;t[68]===p?B=t[69]:(B=p?(0,$.jsx)(he,{className:`size-3.5`,"aria-hidden":!0}):(0,$.jsx)(We,{className:`size-3.5`,"aria-hidden":!0}),t[68]=p,t[69]=B);let V=p?a.editWorkflow:a.copyAndEditWorkflow,H;t[70]!==re||t[71]!==B||t[72]!==V?(H=(0,$.jsxs)(J,{type:`button`,variant:`secondary`,className:`h-8 rounded-lg text-xs`,onClick:re,children:[B,V]}),t[70]=re,t[71]=B,t[72]=V,t[73]=H):H=t[73];let U;t[74]!==I||t[75]!==z||t[76]!==H?(U=(0,$.jsxs)(`div`,{className:`mt-4 flex flex-wrap gap-2 border-t border-edge-subtle pt-3`,children:[I,z,H]}),t[74]=I,t[75]=z,t[76]=H,t[77]=U):U=t[77];let W;return t[78]!==ne||t[79]!==U?(W=(0,$.jsxs)(`article`,{className:h,children:[ne,U]}),t[78]=ne,t[79]=U,t[80]=W):W=t[80],W}function Zt(e){return(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-[10px] text-fg-subtle`,children:e},e)}function Qt(e,t){return e===`uncategorized`?t.categories.uncategorized:t.categories[e]}function $t(e){let t=(0,Q.c)(11),{definitions:n,language:r,onPick:o,onDetail:s,onEdit:c}=e,l=a(r).workflows,[u,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(`all`),h;t[0]!==p||t[1]!==n||t[2]!==u?(h=_(n,u,p,`all`),t[0]=p,t[1]=n,t[2]=u,t[3]=h):h=t[3];let g=h,v;t[4]===g?v=t[5]:(v=d(g),t[4]=g,t[5]=v);let y=v,b;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(k,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[6]=b):b=t[6];let x;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>f(e.target.value),t[7]=x):x=t[7];let S=l.searchPlaceholder,w;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(w=i(`h-10 w-full rounded-xl border border-edge bg-surface-base py-2 pl-10 pr-3 text-sm text-fg`,`placeholder:text-fg-subtle`,ke.focusRingPanel),t[8]=w):w=t[8];let T=g.length===0?(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center px-4 py-12 text-center`,children:[(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:l.noDefinitions}),(0,$.jsx)(`p`,{className:`mt-1 max-w-sm text-xs leading-5 text-fg-subtle`,children:l.noDefinitionsHint})]}):p===`all`?(0,$.jsx)(`div`,{className:`flex flex-col gap-6 pb-1`,children:y.map(e=>(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`mb-3 text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:Qt(e.category,l)}),(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-3`,children:e.items.map(e=>(0,$.jsx)(Xt,{definition:e,language:r,labels:l,onPick:o,onDetail:s,onEdit:c},e.id))})]},e.category))}):(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 pb-1 sm:grid-cols-2 xl:grid-cols-3`,children:g.map(e=>(0,$.jsx)(Xt,{definition:e,language:r,labels:l,onPick:o,onDetail:s,onEdit:c},e.id))}),E;return t[9]===T?E=t[10]:(E=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:T}),t[9]=T,t[10]=E),(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-4`,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[b,(0,$.jsx)(`input`,{value:u,onChange:x,placeholder:S,className:w})]}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,role:`group`,"aria-label":l.categoryFilterAria,children:C.map(e=>(0,$.jsx)(J,{type:`button`,variant:p===e?`secondary`:`ghost`,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:()=>m(e),children:l.categories[e]},e))})]}),E]})}function en(e){let t=(0,Q.c)(32),{open:n,definitions:r,language:o,onClose:s,onPick:c,onDetail:l,onEdit:u}=e,d;t[0]===o?d=t[1]:(d=a(o),t[0]=o,t[1]=d);let p=d.workflows,m;t[2]===s?m=t[3]:(m=e=>!e&&s(),t[2]=s,t[3]=m);let h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(F,{className:`fixed inset-0 z-50 bg-scrim`}),t[4]=h):h=t[4];let g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(g=i(`pointer-events-auto relative flex h-[min(90vh,840px)] w-full max-w-5xl flex-col`,`rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,ke.focusRingPanel),t[5]=g):g=t[5];let _;t[6]===p.pickStartTitle?_=t[7]:(_=(0,$.jsx)(xe,{className:`text-lg font-semibold text-fg`,children:p.pickStartTitle}),t[6]=p.pickStartTitle,t[7]=_);let y;t[8]===p.pickStartHint?y=t[9]:(y=(0,$.jsx)(v,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:p.pickStartHint}),t[8]=p.pickStartHint,t[9]=y);let x;t[10]!==_||t[11]!==y?(x=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[_,y]}),t[10]=_,t[11]=y,t[12]=x):x=t[12];let S;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(Te,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[13]=S):S=t[13];let C;t[14]===p.pickStartClose?C=t[15]:(C=(0,$.jsx)(B,{asChild:!0,children:(0,$.jsx)(J,{variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":p.pickStartClose,children:S})}),t[14]=p.pickStartClose,t[15]=C);let w;t[16]!==x||t[17]!==C?(w=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-4 border-b border-edge-subtle px-6 py-5`,children:[x,C]}),t[16]=x,t[17]=C,t[18]=w):w=t[18];let T;t[19]!==r||t[20]!==o||t[21]!==l||t[22]!==u||t[23]!==c?(T=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-6 py-5`,children:(0,$.jsx)($t,{definitions:r,language:o,onPick:c,onDetail:l,onEdit:u})}),t[19]=r,t[20]=o,t[21]=l,t[22]=u,t[23]=c,t[24]=T):T=t[24];let E;t[25]!==w||t[26]!==T?(E=(0,$.jsxs)(Se,{children:[h,(0,$.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(b,{className:g,onOpenAutoFocus:tn,children:[w,T]})})]}),t[25]=w,t[26]=T,t[27]=E):E=t[27];let D;return t[28]!==n||t[29]!==E||t[30]!==m?(D=(0,$.jsx)(f,{open:n,onOpenChange:m,children:E}),t[28]=n,t[29]=E,t[30]=m,t[31]=D):D=t[31],D}function tn(e){return e.preventDefault()}function nn(e,t){return t.status[e]??e}function rn(e,t){return t.phaseStatus[e]??e}function an(e,t){let{run:n}=e;return n.status===`succeeded`?Y(t.runSummarySucceeded,{agents:n.metrics.doneAgentCount,artifacts:n.metrics.artifactCount}):n.status===`failed`||n.status===`timeout`?n.error?.message??t.runSummaryFailedFallback:n.status===`cancelled`?t.runSummaryCancelled:Y(t.runSummaryActive,{done:n.metrics.doneAgentCount,total:n.metrics.agentCount})}function on(e,t){let{run:n}=e;return n.status===`failed`?t.diagnosticFailedHint:n.status===`timeout`?t.diagnosticTimeoutHint:n.status===`cancelled`?t.diagnosticCancelledHint:n.status===`succeeded`&&n.metrics.errorAgentCount>0?t.diagnosticPartialHint:null}function sn(e){return ne(e)}function cn({view:e,comparison:t,loading:n,language:r,localeTag:o,activeTab:s,onTabChange:c,onCancel:l,onRetry:d,onReplay:p,onOpenRunId:m,ownerAgentId:h,onClose:_}){let v=a(r).workflows,S=a(r).automations.suggestions,C=Ve(r),T=Le(),[D,O]=(0,Z.useState)(!0),[k,A]=(0,Z.useState)(!1),[j,N]=(0,Z.useState)(null),[te,ne]=(0,Z.useState)(!1),[I,z]=(0,Z.useState)(null),[re,B]=(0,Z.useState)(null),[,V]=(0,Z.useState)(0),H=e?.run.status,U=H?Ke.has(H):!1;(0,Z.useEffect)(()=>{e?.run.id&&(O(U||H===`failed`||H===`timeout`),z(null))},[e?.run.id,U,H,e?.run.metrics.errorAgentCount]),(0,Z.useEffect)(()=>{if(!U)return;let e=window.setInterval(()=>V(e=>e+1),1e3);return()=>window.clearInterval(e)},[U]);let W=(0,Z.useMemo)(()=>e?K(e):null,[e]),ie=(0,Z.useMemo)(()=>W?Oe(W):{phases:[],unphased:null},[W]),ae=(0,Z.useMemo)(()=>j==null||!W?null:W.agents.find(e=>e.id===j)??null,[j,W]);(0,Z.useEffect)(()=>{W?.runId&&N((W.agents.find(e=>e.status===`error`||e.status===`skipped`)??W.agents.find(e=>e.status===`running`)??null)?.id??null)},[W?.runId]);let G=(0,Z.useCallback)(e=>{N(e.id)},[]),oe=(0,Z.useMemo)(()=>e?y(e):[],[e]),se=e?M(e.run.result):void 0,q=se?Cn(se):null,ce=se?E(se):``,le=!!se,ue=(0,Z.useCallback)(async()=>{le&&await De(ce)&&(ne(!0),window.setTimeout(()=>ne(!1),1500))},[le,ce]),de=(0,Z.useCallback)(()=>{if(!le||!e)return;let t=new Blob([ce],{type:`text/markdown;charset=utf-8`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${e.run.definitionId}-${e.run.id.slice(0,8)}.md`,r.click(),URL.revokeObjectURL(n)},[le,ce,e]),fe=(0,Z.useCallback)(()=>{if(!e)return;let t=sn(e);t&&T(R(t))},[T,e]),pe=(0,Z.useCallback)(async t=>{if(e){z(null),B(t.id);try{xn(await Re(e.run.id,t.id,{ownerAgentId:h}),t.name||t.id)}catch(e){z(e instanceof Error?e.message:String(e))}finally{B(null)}}},[h,e]),me=(0,Z.useCallback)(t=>{if(!e||!t.prompt)return;let n=sn(e);if(!n){De(t.prompt);return}T(R(n,t.prompt))},[T,e]),he=(0,Z.useCallback)(t=>{if(!e||t==null)return;let n=String(t),r=e.agents.findIndex(e=>String(e.id)===n);if(r<0)return;let i=Number.parseInt(n,10);N(Number.isFinite(i)?i:r+1)},[e]),ge=e?sn(e):null,_e=H===`failed`;if(n)return(0,$.jsx)(f,{open:!0,onOpenChange:e=>!e&&_(),children:(0,$.jsxs)(Se,{children:[(0,$.jsx)(F,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(b,{className:`fixed left-1/2 top-1/2 z-66 flex h-[min(85vh,44rem)] w-[min(100%-2rem,48rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-5 py-4`,children:[(0,$.jsx)(xe,{className:`text-base font-semibold tracking-tight text-fg`,children:v.runSummaryTitle}),(0,$.jsx)(J,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":v.pickStartClose,onClick:_,children:(0,$.jsx)(Te,{className:`size-5`,"aria-hidden":!0})})]}),(0,$.jsx)(`div`,{className:`p-5 text-sm text-fg-muted`,children:v.loading})]})]})});if(!e||!W)return null;let{run:be}=e,Ce=e.controls.canCancel&&U,we=U&&be.startedAtMs!=null?P(Date.now()-be.startedAtMs):P(be.metrics.durationMs??void 0),Ee=an(e,v),ke=on(e,v),Ae=e.controls.canRetry&&e.agents.some(e=>(e.status===`error`||e.status===`skipped`)&&e.prompt?.trim()),je=e.controls.canRetry&&(e.phases.some(t=>t.status===`failed`&&e.agents.some(e=>e.phaseId===t.id&&e.prompt?.trim()))||e.agents.some(e=>(e.status===`error`||e.status===`skipped`)&&e.phaseId&&e.prompt?.trim())),Me=be.goal?.trim()||be.title,Ne=oe.length>0||!!ke,Pe=!!ge||Ce,Fe=e.controls.canRetry||Ae||je,Ie=le,Be=Pe||Fe||Ie,He=s===`diagnostics`||s===`debug`?`process`:s;return(0,$.jsx)($.Fragment,{children:(0,$.jsx)(f,{open:!0,onOpenChange:e=>!e&&_(),children:(0,$.jsxs)(Se,{children:[(0,$.jsx)(F,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(b,{className:`fixed left-1/2 top-1/2 z-66 flex h-[min(90vh,52rem)] w-[min(100%-2rem,64rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-5 py-4`,children:[(0,$.jsx)(xe,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:Me}),(0,$.jsx)(J,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":v.pickStartClose,onClick:_,children:(0,$.jsx)(Te,{className:`size-5`,"aria-hidden":!0})})]}),(0,$.jsxs)(`section`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:[(0,$.jsxs)(`header`,{className:`rounded-2xl border border-edge-subtle bg-surface-base/60 p-4`,children:[(0,$.jsx)(`div`,{className:`flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between`,children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`h2`,{className:`text-lg font-semibold leading-7 text-fg`,children:Me}),(0,$.jsx)(`span`,{className:i(`rounded-full px-2 py-0.5 text-xs font-medium`,x(be.status)),children:nn(be.status,v)})]}),(0,$.jsxs)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:[be.title,` · `,be.definitionId]}),(0,$.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-fg-muted`,children:Ee}),ke?(0,$.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-fg-subtle`,children:ke}):null]})}),(0,$.jsxs)(`dl`,{className:`mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-4`,children:[(0,$.jsx)(On,{label:v.metrics.startedAt,value:X(be.startedAtMs??be.createdAtMs,o)}),(0,$.jsx)(On,{label:v.metrics.duration,value:we}),(0,$.jsx)(On,{label:v.metrics.agents,value:Y(v.agentProgress,{done:be.metrics.doneAgentCount,total:be.metrics.agentCount})}),(0,$.jsx)(On,{label:v.metrics.artifacts,value:String(be.metrics.artifactCount)})]})]}),(0,$.jsx)(ve,{eventType:`workflow.run.completed`,source:`workflows`,payloadKey:`runId`,payloadValue:be.id,className:`mt-4`}),_e?(0,$.jsx)(Je,{title:S.workflowFailedTitle,description:S.workflowFailedDescription,prompt:Y(S.workflowFailedPrompt,{runId:be.id,definitionId:be.definitionId}),coverage:{eventType:`workflow.run.completed`,source:`workflows`,eventPayload:{runId:be.id,status:`failed`}},className:`mt-4`}):null,(0,$.jsx)(un,{activeTab:He,onChange:c,labels:v,artifactCount:q?.artifacts.length??e.artifacts.length}),He===`result`?(0,$.jsxs)(`section`,{className:`mt-5 space-y-4`,children:[le?(0,$.jsx)(`div`,{className:`rounded-xl border border-edge bg-surface-base/50 p-3`,children:(0,$.jsx)(L,{result:se,labels:C.result})}):(0,$.jsx)(`div`,{className:`rounded-xl border border-dashed border-edge p-4 text-sm text-fg-muted`,children:v.noResult}),Be?(0,$.jsxs)(`section`,{className:`rounded-2xl border border-edge-subtle bg-surface-base/35 p-4`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:v.nextActionsTitle}),(0,$.jsxs)(`div`,{className:`mt-3 grid gap-3 lg:grid-cols-3`,children:[Pe?(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h4`,{className:`text-xs font-medium text-fg-subtle`,children:v.primaryActionsTitle}),(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[ge?(0,$.jsxs)(J,{variant:`primary`,onClick:fe,children:[(0,$.jsx)(g,{className:`size-4`,"aria-hidden":!0}),v.continueInChat]}):null,Ce?(0,$.jsxs)(J,{variant:`secondary`,onClick:l,className:`text-red-600 dark:text-red-300`,children:[(0,$.jsx)(ee,{className:`size-4`,"aria-hidden":!0}),v.cancel]}):null]})]}):null,Fe?(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h4`,{className:`text-xs font-medium text-fg-subtle`,children:v.recoveryActionsTitle}),(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[Ae?(0,$.jsxs)(J,{variant:`secondary`,onClick:()=>p(`failed_agents`),children:[(0,$.jsx)(u,{className:`size-4`,"aria-hidden":!0}),v.replayFailedAgents]}):null,je?(0,$.jsxs)(J,{variant:`secondary`,onClick:()=>p(`failed_phases`),children:[(0,$.jsx)(u,{className:`size-4`,"aria-hidden":!0}),v.replayFailedPhases]}):null,e.controls.canRetry?(0,$.jsxs)(J,{variant:`secondary`,onClick:d,children:[(0,$.jsx)(u,{className:`size-4`,"aria-hidden":!0}),v.rerun]}):null]})]}):null,Ie?(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h4`,{className:`text-xs font-medium text-fg-subtle`,children:v.resultActionsTitle}),(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[(0,$.jsxs)(J,{variant:`secondary`,onClick:ue,children:[te?(0,$.jsx)(w,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(ze,{className:`size-4`,"aria-hidden":!0}),te?v.copied:v.copyResult]}),(0,$.jsxs)(J,{variant:`secondary`,onClick:de,children:[(0,$.jsx)(ye,{className:`size-4`,"aria-hidden":!0}),v.exportResult]})]})]}):null]})]}):null,Ne?(0,$.jsx)(ln,{diagnostics:oe,labels:v,hint:ke,onOpenAgent:he}):null,(0,$.jsx)(_n,{view:e,comparison:t,labels:v,onOpenRunId:m})]}):null,He===`process`?(0,$.jsxs)($.Fragment,{children:[Ne?(0,$.jsx)(ln,{diagnostics:oe,labels:v,hint:ke,onOpenAgent:he}):null,(0,$.jsx)(dn,{snapshot:W,rollup:ie,view:e,labels:v,cardLabels:C,isActive:U,processExpanded:D,logsExpanded:k,selectedAgentId:j,selectedAgent:ae,durationText:we,onToggleProcess:()=>O(e=>!e),onToggleLogs:()=>A(e=>!e),onSelectAgent:G})]}):null,He===`artifacts`?(0,$.jsx)(bn,{outcome:q,labels:v,downloadingArtifactId:re,downloadError:I,onCopyText:e=>void De(e),onDownloadArtifact:e=>void pe(e),onStartFollowUp:me}):null]})]})]})})})}function ln(e){let t=(0,Q.c)(13),{diagnostics:n,labels:r,hint:i,onOpenAgent:a}=e;if(n.length===0&&!i)return null;let o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(`div`,{className:`rounded-xl bg-rose-500/10 p-2 text-rose-700 dark:text-rose-300`,children:(0,$.jsx)(He,{className:`size-4`,"aria-hidden":!0})}),t[0]=o):o=t[0];let s;t[1]===r.reliabilityTitle?s=t[2]:(s=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:r.reliabilityTitle}),t[1]=r.reliabilityTitle,t[2]=s);let c=i??r.reliabilityHint,l;t[3]===c?l=t[4]:(l=(0,$.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:c}),t[3]=c,t[4]=l);let u;t[5]!==n||t[6]!==r||t[7]!==a?(u=n.length>0?(0,$.jsx)(`ul`,{className:`mt-3 space-y-2`,children:n.slice(0,5).map(e=>(0,$.jsx)(`li`,{className:`rounded-xl border border-edge-subtle bg-surface-panel px-3 py-2`,children:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:gn(e,r)}),e.message?(0,$.jsx)(`div`,{className:`mt-0.5 text-xs leading-5 text-fg-muted`,children:e.message}):null,e.detail?(0,$.jsx)(`div`,{className:`mt-0.5 line-clamp-2 text-xs leading-5 text-fg-subtle`,children:e.detail}):null]}),e.agentId==null?null:(0,$.jsx)(J,{type:`button`,variant:`ghost`,className:`h-8 shrink-0 px-2 text-xs`,onClick:()=>a(e.agentId),children:r.openAgentDetails})]})},e.key))}):null,t[5]=n,t[6]=r,t[7]=a,t[8]=u):u=t[8];let d;return t[9]!==s||t[10]!==l||t[11]!==u?(d=(0,$.jsx)(`section`,{className:`mt-5 rounded-2xl border border-rose-500/20 bg-rose-500/5 p-4`,children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[o,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[s,l,u]})]})}),t[9]=s,t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function un(e){let t=(0,Q.c)(16),{activeTab:n,onChange:r,labels:i,artifactCount:a}=e,o;t[0]===i.resultTitle?o=t[1]:(o={id:`result`,label:i.resultTitle},t[0]=i.resultTitle,t[1]=o);let s;t[2]===i.process?s=t[3]:(s={id:`process`,label:i.process},t[2]=i.process,t[3]=s);let c=a||void 0,l;t[4]!==i.outcomeArtifacts||t[5]!==c?(l={id:`artifacts`,label:i.outcomeArtifacts,count:c},t[4]=i.outcomeArtifacts,t[5]=c,t[6]=l):l=t[6];let u;t[7]!==o||t[8]!==s||t[9]!==l?(u=[o,s,l],t[7]=o,t[8]=s,t[9]=l,t[10]=u):u=t[10];let d=u,f;return t[11]!==n||t[12]!==i.taskActionsAria||t[13]!==r||t[14]!==d?(f=(0,$.jsx)(`div`,{className:`mt-5 flex overflow-x-auto border-b border-edge pb-2`,children:(0,$.jsx)(qe,{items:d,activeTab:n,onChange:r,ariaLabel:i.taskActionsAria})}),t[11]=n,t[12]=i.taskActionsAria,t[13]=r,t[14]=d,t[15]=f):f=t[15],f}function dn(e){let t=(0,Q.c)(37),{snapshot:n,rollup:r,view:a,labels:o,cardLabels:s,isActive:c,processExpanded:u,logsExpanded:d,selectedAgentId:f,selectedAgent:p,durationText:m,onToggleProcess:h,onToggleLogs:g,onSelectAgent:_}=e,v;t[0]===o.process?v=t[1]:(v=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:o.process}),t[0]=o.process,t[1]=v);let y;t[2]!==o.agentProgress||t[3]!==a.run.metrics.agentCount||t[4]!==a.run.metrics.doneAgentCount?(y=Y(o.agentProgress,{done:a.run.metrics.doneAgentCount,total:a.run.metrics.agentCount}),t[2]=o.agentProgress,t[3]=a.run.metrics.agentCount,t[4]=a.run.metrics.doneAgentCount,t[5]=y):y=t[5];let b;t[6]!==m||t[7]!==y?(b=(0,$.jsxs)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:[y,` · `,m]}),t[6]=m,t[7]=y,t[8]=b):b=t[8];let x;t[9]!==v||t[10]!==b?(x=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[v,b]}),t[9]=v,t[10]=b,t[11]=x):x=t[11];let S=u?`rotate-180`:null,C;t[12]===S?C=t[13]:(C=i(`size-4 shrink-0 text-fg-subtle transition-transform`,S),t[12]=S,t[13]=C);let w;t[14]===C?w=t[15]:(w=(0,$.jsx)(W,{className:C,"aria-hidden":!0}),t[14]=C,t[15]=w);let T;t[16]!==h||t[17]!==u||t[18]!==x||t[19]!==w?(T=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between gap-4 px-4 py-3 text-left`,onClick:h,"aria-expanded":u,children:[x,w]}),t[16]=h,t[17]=u,t[18]=x,t[19]=w,t[20]=T):T=t[20];let E;t[21]!==s||t[22]!==c||t[23]!==o||t[24]!==d||t[25]!==_||t[26]!==g||t[27]!==u||t[28]!==r||t[29]!==p||t[30]!==f||t[31]!==n||t[32]!==a.phases?(E=u?(0,$.jsx)(`div`,{className:`border-t border-edge px-4 pb-4 pt-4`,children:(0,$.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[minmax(0,1fr)_minmax(20rem,26rem)]`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[c?(0,$.jsx)(pe,{snapshot:n,labels:s,logsExpanded:d,onToggleLogs:g,selectedAgentId:f,onSelectAgent:_}):(0,$.jsx)(l,{rollup:r,currentPhase:n.currentPhase,labels:s.phase,recentLogs:n.logs,recentLogsHeading:s.recentLogsHeading,showAllLogsLabel:s.showAllLogs,logsExpanded:d,onToggleLogs:g,selectedAgentId:f,onSelectAgent:_}),a.phases.length>0?(0,$.jsx)(`div`,{className:`mt-4 grid gap-2 sm:grid-cols-2`,children:a.phases.map(e=>(0,$.jsx)(`div`,{className:`rounded-xl border border-edge bg-surface-panel px-3 py-2`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:e.title}),(0,$.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:rn(e.status,o)})]})},e.id))}):null]}),(0,$.jsx)(fn,{agent:p,snapshot:n,labels:o,cardLabels:s})]})}):null,t[21]=s,t[22]=c,t[23]=o,t[24]=d,t[25]=_,t[26]=g,t[27]=u,t[28]=r,t[29]=p,t[30]=f,t[31]=n,t[32]=a.phases,t[33]=E):E=t[33];let D;return t[34]!==T||t[35]!==E?(D=(0,$.jsxs)(`div`,{className:`mt-5 rounded-2xl border border-edge bg-surface-base/35`,children:[T,E]}),t[34]=T,t[35]=E,t[36]=D):D=t[36],D}function fn(e){let t=(0,Q.c)(68),{agent:n,snapshot:r,labels:a,cardLabels:o}=e,[s,c]=(0,Z.useState)(!1),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{c(!1)},t[0]=l):l=t[0];let u=n?.id,d;if(t[1]===u?d=t[2]:(d=[u],t[1]=u,t[2]=d),(0,Z.useEffect)(l,d),!n){let e;return t[3]===a.noSubagents?e=t[4]:(e=(0,$.jsx)(`aside`,{className:`min-w-0 rounded-2xl border border-dashed border-edge bg-surface-panel/45 p-4 text-sm text-fg-muted`,children:a.noSubagents}),t[3]=a.noSubagents,t[4]=e),e}let f;t[5]===n?f=t[6]:(f=Fe(n),t[5]=n,t[6]=f);let p=f,m=n.error||n.resultPreview||n.currentStep||o.checkDetail.runningPlaceholder,h;t[7]===n.label?h=t[8]:(h=(0,$.jsx)(`h3`,{className:`truncate text-sm font-semibold text-fg`,children:n.label}),t[7]=n.label,t[8]=h);let g=n.phase||a.process,_;t[9]===g?_=t[10]:(_=(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:g}),t[9]=g,t[10]=_);let v;t[11]!==h||t[12]!==_?(v=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[h,_]}),t[11]=h,t[12]=_,t[13]=v):v=t[13];let y;t[14]===n.status?y=t[15]:(y=i(`rounded-full px-2 py-0.5 text-xs font-medium`,Dn(n.status)),t[14]=n.status,t[15]=y);let b=a.agentStatus[n.status]??n.status,x;t[16]!==b||t[17]!==y?(x=(0,$.jsx)(`span`,{className:y,children:b}),t[16]=b,t[17]=y,t[18]=x):x=t[18];let S;t[19]!==x||t[20]!==v?(S=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[v,x]}),t[19]=x,t[20]=v,t[21]=S):S=t[21];let C=n.invocation?.modelRef??n.invocation?.resolvedModelRef??`—`,w;t[22]!==a.agentInvocationModel||t[23]!==C?(w=(0,$.jsx)(kn,{label:a.agentInvocationModel,value:C}),t[22]=a.agentInvocationModel,t[23]=C,t[24]=w):w=t[24];let T=p||`—`,E;t[25]!==a.metrics.duration||t[26]!==T?(E=(0,$.jsx)(kn,{label:a.metrics.duration,value:T}),t[25]=a.metrics.duration,t[26]=T,t[27]=E):E=t[27];let D;t[28]!==w||t[29]!==E?(D=(0,$.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs sm:grid-cols-2 xl:grid-cols-1`,children:[w,E]}),t[28]=w,t[29]=E,t[30]=D):D=t[30];let O;t[31]===a.agentOutputHeading?O=t[32]:(O=(0,$.jsx)(`h4`,{className:`text-xs font-semibold text-fg`,children:a.agentOutputHeading}),t[31]=a.agentOutputHeading,t[32]=O);let k=n.error?`font-mono text-rose-600 dark:text-rose-400`:`text-fg-muted`,A;t[33]===k?A=t[34]:(A=i(`mt-2 max-h-72 overflow-auto whitespace-pre-wrap wrap-break-word text-sm leading-6`,k),t[33]=k,t[34]=A);let j;t[35]!==m||t[36]!==A?(j=(0,$.jsx)(`div`,{className:A,children:m}),t[35]=m,t[36]=A,t[37]=j):j=t[37];let M;t[38]!==O||t[39]!==j?(M=(0,$.jsxs)(`section`,{className:`mt-4 rounded-xl border border-edge-subtle bg-surface-base/60 p-3`,children:[O,j]}),t[38]=O,t[39]=j,t[40]=M):M=t[40];let N;t[41]!==n.steps||t[42]!==o?(N=n.steps?.length?(0,$.jsxs)(`section`,{className:`mt-3 rounded-xl border border-edge-subtle bg-surface-base/40 p-3`,children:[(0,$.jsx)(`h4`,{className:`text-xs font-semibold text-fg`,children:o.checkDetail.stepsHeading}),(0,$.jsx)(`div`,{className:`mt-2 space-y-2`,children:n.steps.slice(0,4).map(hn)})]}):null,t[41]=n.steps,t[42]=o,t[43]=N):N=t[43];let ee;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(ee=()=>c(mn),t[44]=ee):ee=t[44];let te=a.debugDetailsTitle,ne=s&&`rotate-180`,P;t[45]===ne?P=t[46]:(P=i(`size-4 shrink-0 text-fg-subtle transition-transform`,ne),t[45]=ne,t[46]=P);let F;t[47]===P?F=t[48]:(F=(0,$.jsx)(W,{className:P,"aria-hidden":!0}),t[47]=P,t[48]=F);let I;t[49]!==s||t[50]!==a.debugDetailsTitle||t[51]!==F?(I=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between gap-3 px-3 py-2 text-left text-xs font-semibold text-fg`,onClick:ee,"aria-expanded":s,children:[te,F]}),t[49]=s,t[50]=a.debugDetailsTitle,t[51]=F,t[52]=I):I=t[52];let L;t[53]!==s||t[54]!==n||t[55]!==o||t[56]!==a||t[57]!==r?(L=s?(0,$.jsxs)(`div`,{className:`space-y-3 border-t border-edge-subtle p-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-fg-subtle`,children:a.agentInputHeading}),(0,$.jsx)(`pre`,{className:`mt-1 max-h-44 overflow-auto whitespace-pre-wrap wrap-break-word rounded-lg bg-surface-panel p-2 font-mono text-xs leading-5 text-fg-muted`,children:n.prompt||`—`})]}),(0,$.jsx)(wn,{agent:n,labels:a}),r.logs.length>0?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-fg-subtle`,children:o.recentLogsHeading}),(0,$.jsx)(`div`,{className:`mt-1 max-h-36 space-y-0.5 overflow-auto rounded-lg bg-surface-panel p-2 font-mono text-xs text-fg-subtle`,children:r.logs.map(pn)})]}):null]}):null,t[53]=s,t[54]=n,t[55]=o,t[56]=a,t[57]=r,t[58]=L):L=t[58];let R;t[59]!==I||t[60]!==L?(R=(0,$.jsxs)(`section`,{className:`mt-3 rounded-xl border border-edge-subtle bg-surface-base/40`,children:[I,L]}),t[59]=I,t[60]=L,t[61]=R):R=t[61];let z;return t[62]!==S||t[63]!==D||t[64]!==M||t[65]!==N||t[66]!==R?(z=(0,$.jsxs)(`aside`,{className:`min-w-0 rounded-2xl border border-edge bg-surface-panel p-4`,children:[S,D,M,N,R]}),t[62]=S,t[63]=D,t[64]=M,t[65]=N,t[66]=R,t[67]=z):z=t[67],z}function pn(e){return(0,$.jsx)(`div`,{className:`wrap-break-word`,children:e},e)}function mn(e){return!e}function hn(e){return(0,$.jsxs)(`div`,{className:`rounded-lg bg-surface-panel px-2.5 py-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-fg`,children:e.label}),(0,$.jsx)(`span`,{className:`shrink-0 text-[10px] text-fg-subtle`,children:e.status})]}),e.detail||e.resultPreview||e.error?(0,$.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:e.error||e.resultPreview||e.detail}):null]},e.id)}function gn(e,t){return e.kind===`run_error`?e.code?Y(t.diagnosticsRunErrorWithCode,{code:e.code}):t.diagnosticsRunError:e.kind===`agent_error`?Y(t.diagnosticsAgentError,{agent:e.agentLabel??String(e.agentId??`—`)}):e.kind===`step_error`?Y(t.diagnosticsStepError,{agent:e.agentLabel??String(e.agentId??`—`),step:e.stepLabel??e.stepId??`—`}):Y(t.diagnosticsAgentSkipped,{agent:e.agentLabel??String(e.agentId??`—`)})}function _n(e){let t=(0,Q.c)(36),{view:n,comparison:r,labels:i,onOpenRunId:a}=e,o=n.run.metadata?.replay;if(!o)return null;let s;t[0]===i.replayLineageTitle?s=t[1]:(s=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:i.replayLineageTitle}),t[0]=i.replayLineageTitle,t[1]=s);let c;t[2]!==i||t[3]!==o.scope||t[4]!==o.targetCount?(c=Y(i.replayLineageSummary,{scope:yn(o.scope,i),count:o.targetCount}),t[2]=i,t[3]=o.scope,t[4]=o.targetCount,t[5]=c):c=t[5];let l;t[6]===c?l=t[7]:(l=(0,$.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:c}),t[6]=c,t[7]=l);let u;t[8]!==i.replaySourceRun||t[9]!==o.sourceRunId?(u=(0,$.jsx)(kn,{label:i.replaySourceRun,value:o.sourceRunId}),t[8]=i.replaySourceRun,t[9]=o.sourceRunId,t[10]=u):u=t[10];let d=i.replayTargetAgents,f;t[11]===o.agentIds?f=t[12]:(f=o.agentIds.join(`, `),t[11]=o.agentIds,t[12]=f);let p;t[13]!==i.replayTargetAgents||t[14]!==f?(p=(0,$.jsx)(kn,{label:d,value:f}),t[13]=i.replayTargetAgents,t[14]=f,t[15]=p):p=t[15];let m;t[16]!==u||t[17]!==p?(m=(0,$.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs sm:grid-cols-2`,children:[u,p]}),t[16]=u,t[17]=p,t[18]=m):m=t[18];let h;t[19]!==r||t[20]!==i.replayDurationDelta||t[21]!==i.replayFixedAgents||t[22]!==i.replayStillFailingAgents?(h=r?(0,$.jsxs)(`div`,{className:`mt-3 grid gap-2 sm:grid-cols-3`,children:[(0,$.jsx)(On,{label:i.replayFixedAgents,value:String(r.fixedAgentIds.length)}),(0,$.jsx)(On,{label:i.replayStillFailingAgents,value:String(r.stillFailingAgentIds.length)}),(0,$.jsx)(On,{label:i.replayDurationDelta,value:vn(r.durationDeltaMs)})]}):null,t[19]=r,t[20]=i.replayDurationDelta,t[21]=i.replayFixedAgents,t[22]=i.replayStillFailingAgents,t[23]=h):h=t[23];let g;t[24]!==s||t[25]!==l||t[26]!==m||t[27]!==h?(g=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[s,l,m,h]}),t[24]=s,t[25]=l,t[26]=m,t[27]=h,t[28]=g):g=t[28];let _;t[29]!==i.replayOpenSource||t[30]!==a||t[31]!==o.sourceRunId?(_=a?(0,$.jsx)(J,{type:`button`,variant:`secondary`,className:`shrink-0`,onClick:()=>a(o.sourceRunId),children:i.replayOpenSource}):null,t[29]=i.replayOpenSource,t[30]=a,t[31]=o.sourceRunId,t[32]=_):_=t[32];let v;return t[33]!==g||t[34]!==_?(v=(0,$.jsx)(`section`,{className:`mt-5 rounded-2xl border border-edge-subtle bg-surface-base/35 p-4`,children:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[g,_]})}),t[33]=g,t[34]=_,t[35]=v):v=t[35],v}function vn(e){return e==null?`—`:`${e>0?`+`:e<0?`-`:``}${P(Math.abs(e))}`}function yn(e,t){return e===`failed_phases`?t.replayScopeFailedPhases:t.replayScopeFailedAgents}function bn(e){let t=(0,Q.c)(20),{outcome:n,labels:r,downloadingArtifactId:i,downloadError:a,onCopyText:o,onDownloadArtifact:s,onStartFollowUp:c}=e;if(!n||!n.artifacts.length&&!n.followUps.length&&n.structuredOutput===void 0){let e;return t[0]===r.noArtifacts?e=t[1]:(e=(0,$.jsx)(`section`,{className:`mt-5 rounded-xl border border-dashed border-edge p-4 text-sm text-fg-muted`,children:r.noArtifacts}),t[0]=r.noArtifacts,t[1]=e),e}let l;t[2]!==a||t[3]!==i||t[4]!==r||t[5]!==s||t[6]!==n.artifacts?(l=n.artifacts.length>0?(0,$.jsxs)(Sn,{title:r.outcomeArtifacts,children:[(0,$.jsx)(`ul`,{className:`space-y-2`,children:n.artifacts.map(e=>(0,$.jsxs)(`li`,{className:`min-w-0 rounded-lg bg-surface-base px-2.5 py-2`,children:[(0,$.jsx)(`div`,{className:`truncate text-sm font-medium text-fg`,title:e.title??e.name,children:e.title??e.name}),(0,$.jsx)(`div`,{className:`mt-0.5 text-xs text-fg-subtle`,children:e.mimeType}),(0,$.jsxs)(`button`,{type:`button`,className:`mt-1 inline-flex items-center gap-1 text-xs font-medium text-accent-fg hover:underline disabled:cursor-wait disabled:opacity-60`,disabled:i===e.id,onClick:()=>s(e),children:[(0,$.jsx)(ye,{className:`size-3`,"aria-hidden":!0}),i===e.id?r.downloadingArtifact:r.downloadArtifact]})]},e.id))}),a?(0,$.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-rose-600 dark:text-rose-400`,children:a}):null]}):null,t[2]=a,t[3]=i,t[4]=r,t[5]=s,t[6]=n.artifacts,t[7]=l):l=t[7];let u;t[8]!==r||t[9]!==o||t[10]!==c||t[11]!==n.followUps?(u=n.followUps.length>0?(0,$.jsx)(Sn,{title:r.outcomeFollowUps,children:(0,$.jsx)(`ul`,{className:`space-y-2`,children:n.followUps.map(e=>(0,$.jsxs)(`li`,{className:`rounded-lg bg-surface-base px-2.5 py-2`,children:[(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:e.title}),e.prompt?(0,$.jsxs)(`div`,{className:`mt-1 flex flex-wrap gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent-fg hover:underline`,onClick:()=>c(e),children:r.startFollowUp}),(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-fg-subtle hover:text-fg`,onClick:()=>o(e.prompt??``),children:r.copyPrompt})]}):null]},e.id))})}):null,t[8]=r,t[9]=o,t[10]=c,t[11]=n.followUps,t[12]=u):u=t[12];let d;t[13]!==r||t[14]!==n.structuredOutput?(d=n.structuredOutput===void 0?null:(0,$.jsx)(Sn,{title:r.outcomeStructuredOutput,className:`lg:col-span-3`,children:(0,$.jsx)(`pre`,{className:`max-h-[28rem] min-w-0 overflow-auto whitespace-pre-wrap break-words rounded-lg bg-surface-base p-3 font-mono text-xs leading-5 text-fg-muted`,children:E(n.structuredOutput)})}),t[13]=r,t[14]=n.structuredOutput,t[15]=d):d=t[15];let f;return t[16]!==l||t[17]!==u||t[18]!==d?(f=(0,$.jsxs)(`div`,{className:`mt-5 grid gap-3 lg:grid-cols-3`,children:[l,u,d]}),t[16]=l,t[17]=u,t[18]=d,t[19]=f):f=t[19],f}function xn(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),URL.revokeObjectURL(n)}function Sn(e){let t=(0,Q.c)(10),{title:n,children:r,className:a}=e,o;t[0]===a?o=t[1]:(o=i(`min-w-0 rounded-xl border border-edge-subtle bg-surface-base/35 p-3`,a),t[0]=a,t[1]=o);let s;t[2]===n?s=t[3]:(s=(0,$.jsx)(`h4`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:n}),t[2]=n,t[3]=s);let c;t[4]===r?c=t[5]:(c=(0,$.jsx)(`div`,{className:`mt-2`,children:r}),t[4]=r,t[5]=c);let l;return t[6]!==o||t[7]!==s||t[8]!==c?(l=(0,$.jsxs)(`section`,{className:o,children:[s,c]}),t[6]=o,t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function Cn(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e,n=Array.isArray(t.artifacts)?t.artifacts:[],r=Array.isArray(t.followUps)?t.followUps:[];return n.length===0&&r.length===0&&t.structuredOutput===void 0?null:{artifacts:n,followUps:r,structuredOutput:t.structuredOutput}}function wn(e){let t=(0,Q.c)(21),{agent:n,labels:r}=e,i=n.invocation;if(!i)return null;let a=i.resolvedModelRef??i.modelRef,o;t[0]!==r.agentInvocationModel||t[1]!==a?(o={label:r.agentInvocationModel,value:a},t[0]=r.agentInvocationModel,t[1]=a,t[2]=o):o=t[2];let s;t[3]===i.toolset?s=t[4]:(s=i.toolset?.join(`, `),t[3]=i.toolset,t[4]=s);let c;t[5]!==r.agentInvocationTools||t[6]!==s?(c={label:r.agentInvocationTools,value:s},t[5]=r.agentInvocationTools,t[6]=s,t[7]=c):c=t[7];let l=i.maxIterations==null?void 0:String(i.maxIterations),u;t[8]!==r.agentInvocationIterations||t[9]!==l?(u={label:r.agentInvocationIterations,value:l},t[8]=r.agentInvocationIterations,t[9]=l,t[10]=u):u=t[10];let d=i.schema?r.agentInvocationSchemaPresent:void 0,f;t[11]!==r.agentInvocationSchema||t[12]!==d?(f={label:r.agentInvocationSchema,value:d},t[11]=r.agentInvocationSchema,t[12]=d,t[13]=f):f=t[13];let p;t[14]!==o||t[15]!==c||t[16]!==u||t[17]!==f?(p=[o,c,u,f].filter(En),t[14]=o,t[15]=c,t[16]=u,t[17]=f,t[18]=p):p=t[18];let m=p;if(m.length===0)return null;let h;return t[19]===m?h=t[20]:(h=(0,$.jsx)(`dl`,{className:`mt-3 grid gap-2 border-t border-edge-subtle pt-3 text-xs sm:grid-cols-2 lg:grid-cols-4`,children:m.map(Tn)}),t[19]=m,t[20]=h),h}function Tn(e){return(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`dt`,{className:`text-fg-subtle`,children:e.label}),(0,$.jsx)(`dd`,{className:`mt-0.5 truncate font-medium text-fg-muted`,title:e.value,children:e.value})]},e.label)}function En(e){return!!e.value}function Dn(e){return e===`done`?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:e===`error`?`bg-rose-500/10 text-rose-700 dark:text-rose-300`:e===`running`?`bg-accent-soft text-accent-fg`:`bg-surface-hover text-fg-subtle`}function On(e){let t=(0,Q.c)(7),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`dt`,{className:`text-xs text-fg-subtle`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,$.jsx)(`dd`,{className:`mt-1 text-sm font-semibold text-fg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge bg-surface-base/40 p-3`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function kn(e){let t=(0,Q.c)(7),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`div`,{className:`text-xs text-fg-subtle`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,$.jsx)(`div`,{className:`mt-1 truncate text-sm font-medium text-fg`,title:r,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function An(e){let t=(0,Q.c)(30),{stats:n,language:r}=e,i,o,s;if(t[0]!==r||t[1]!==n){s=Symbol.for(`react.early_return_sentinel`);bb0:{if(i=a(r).workflows,!n||n.totalRuns===0){s=null;break bb0}o=n.topDefinitions[0]?Y(i.statsTopWorkflow,{name:n.topDefinitions[0].definitionId,count:n.topDefinitions[0].count}):null}t[0]=r,t[1]=n,t[2]=i,t[3]=o,t[4]=s}else i=t[2],o=t[3],s=t[4];if(s!==Symbol.for(`react.early_return_sentinel`))return s;let c=o,l=i.statsTotalRuns,u=String(n.totalRuns),d;t[5]!==i.statsTotalRuns||t[6]!==u?(d=(0,$.jsx)(jn,{label:l,value:u}),t[5]=i.statsTotalRuns,t[6]=u,t[7]=d):d=t[7];let f=i.statsActiveRuns,p=String(n.activeRuns),m;t[8]!==i.statsActiveRuns||t[9]!==p?(m=(0,$.jsx)(jn,{label:f,value:p}),t[8]=i.statsActiveRuns,t[9]=p,t[10]=m):m=t[10];let h;t[11]!==n.succeededRuns||t[12]!==n.totalRuns?(h=n.totalRuns>0?`${Math.round(n.succeededRuns/n.totalRuns*100)}%`:`—`,t[11]=n.succeededRuns,t[12]=n.totalRuns,t[13]=h):h=t[13];let g;t[14]!==i.statsSuccessRate||t[15]!==h?(g=(0,$.jsx)(jn,{label:i.statsSuccessRate,value:h}),t[14]=i.statsSuccessRate,t[15]=h,t[16]=g):g=t[16];let _;t[17]===n.averageDurationMs?_=t[18]:(_=n.averageDurationMs==null?`—`:P(n.averageDurationMs),t[17]=n.averageDurationMs,t[18]=_);let v;t[19]!==i.statsAvgDuration||t[20]!==_?(v=(0,$.jsx)(jn,{label:i.statsAvgDuration,value:_}),t[19]=i.statsAvgDuration,t[20]=_,t[21]=v):v=t[21];let y;t[22]===c?y=t[23]:(y=c?(0,$.jsx)(`span`,{className:`min-w-0 truncate text-xs text-fg-muted`,children:c}):null,t[22]=c,t[23]=y);let b;return t[24]!==g||t[25]!==v||t[26]!==y||t[27]!==d||t[28]!==m?(b=(0,$.jsxs)(`section`,{className:`flex min-w-0 flex-wrap items-center gap-2 rounded-lg bg-surface-panel/70 px-3 py-2 shadow-surface`,children:[d,m,g,v,y]}),t[24]=g,t[25]=v,t[26]=y,t[27]=d,t[28]=m,t[29]=b):b=t[29],b}function jn(e){let t=(0,Q.c)(7),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`span`,{children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,$.jsx)(`span`,{className:`font-semibold tabular-nums text-fg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full bg-surface-muted px-2.5 py-1 text-xs text-fg-muted`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Mn(e){let t=(0,Q.c)(20),{vm:n}=e,{labels:r,loading:i,refreshAll:a,setManageOpen:o,setPickStartOpen:s}=n,c;t[0]===s?c=t[1]:(c=()=>s(!0),t[0]=s,t[1]=c);let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(q,{className:`size-4`,"aria-hidden":!0}),t[2]=l):l=t[2];let u;t[3]!==r.boardStart||t[4]!==c?(u=(0,$.jsxs)(J,{variant:`primary`,className:`h-9 rounded-lg`,onClick:c,children:[l,r.boardStart]}),t[3]=r.boardStart,t[4]=c,t[5]=u):u=t[5];let d;t[6]===o?d=t[7]:(d=()=>o(!0),t[6]=o,t[7]=d);let f;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(Ae,{className:`size-4`,"aria-hidden":!0}),t[8]=f):f=t[8];let p;t[9]!==r.addWorkflow||t[10]!==d?(p=(0,$.jsxs)(J,{variant:`secondary`,className:`h-9 rounded-lg`,onClick:d,children:[f,r.addWorkflow]}),t[9]=r.addWorkflow,t[10]=d,t[11]=p):p=t[11];let m;t[12]!==r.refresh||t[13]!==i||t[14]!==a?(m=(0,$.jsx)(Ie,{className:`size-9 shrink-0 p-0`,loading:i,label:r.refresh,onClick:a}),t[12]=r.refresh,t[13]=i,t[14]=a,t[15]=m):m=t[15];let h;return t[16]!==u||t[17]!==p||t[18]!==m?(h=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[u,p,m]}),t[16]=u,t[17]=p,t[18]=m,t[19]=h):h=t[19],h}var Nn=[`attention`,`running`,`queued`,`recent`];function Pn(e){return e.status===`failed`||e.status===`timeout`||e.status===`cancelled`?`attention`:e.status===`running`?`running`:e.status===`queued`?`queued`:e.status===`succeeded`?`recent`:null}function Fn(e){return e.completedAtMs??e.startedAtMs??e.createdAtMs}function In(e,t){let n=[...t];return e===`queued`?n.sort((e,t)=>e.createdAtMs-t.createdAtMs):n.sort((e,t)=>Fn(t)-Fn(e))}function Ln(e){let t=new Map(Nn.map(e=>[e,[]]));for(let n of e){let e=Pn(n);e&&t.get(e)?.push(n)}for(let e of Nn)t.set(e,In(e,t.get(e)??[]));return t}function Rn(e){let t=(0,Q.c)(197),{vm:n}=e,{language:r,localeTag:o,labels:s,hasToken:c,definitions:l,runs:u,searchQuery:d,setSearchQuery:f,ownerAgentId:p,agentOptions:m,setOwnerAgentId:h,workflowFilterId:g,setWorkflowFilterId:_,triggerFilter:v,setTriggerFilter:y,viewMode:b,setViewMode:x,runTab:S,setRunTab:C,selectedRunId:w,selectedRunView:T,selectedRunComparison:E,selectedRunLoading:D,selectedRunError:O,openRunDetails:A,closeRunDetails:j,openRunDetailsById:M,openRunInChat:ee,pickStartOpen:ne,setPickStartOpen:P,startDefinition:F,setStartDefinition:I,detailDefinition:L,setDetailDefinition:R,manageOpen:z,setManageOpen:B,workflowEditorDraft:V,openWorkflowEditor:W,actionError:ie,actionFeedback:ae,starting:G,savingWorkflow:oe,loading:K,error:se,stats:q,submitStart:ce,cancelRun:le,retryRun:ue,replayRun:fe,saveCustomWorkflow:pe,saveDraftAndStart:me}=n,J=N(Vn),he=N(Bn),ge;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(ge=Date.now(),t[0]=ge):ge=t[0];let _e=ge,ve=Ln(at(u,{searchQuery:d,workflowFilterId:g,triggerFilter:v})),ye;t[1]!==he||t[2]!==c||t[3]!==s.statsActiveRuns||t[4]!==s.statsTotalRuns||t[5]!==s.subtitleBoard||t[6]!==s.title||t[7]!==J||t[8]!==q||t[9]!==n?(ye=()=>{if(!c){he();return}return J({startExtra:null,main:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h1`,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:s.title}),(0,$.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:q?`${s.statsTotalRuns}: ${q.totalRuns} · ${s.statsActiveRuns}: ${q.activeRuns}`:s.subtitleBoard})]}),end:(0,$.jsx)(Mn,{vm:n})}),()=>he()},t[1]=he,t[2]=c,t[3]=s.statsActiveRuns,t[4]=s.statsTotalRuns,t[5]=s.subtitleBoard,t[6]=s.title,t[7]=J,t[8]=q,t[9]=n,t[10]=ye):ye=t[10];let be;if(t[11]!==he||t[12]!==c||t[13]!==s.statsActiveRuns||t[14]!==s.statsTotalRuns||t[15]!==s.subtitleBoard||t[16]!==s.title||t[17]!==K||t[18]!==q||t[19]!==n?(be=[he,c,s.title,s.statsActiveRuns,s.statsTotalRuns,s.subtitleBoard,K,q,n,n.refreshAll,n.setManageOpen,n.setSearchQuery],t[11]=he,t[12]=c,t[13]=s.statsActiveRuns,t[14]=s.statsTotalRuns,t[15]=s.subtitleBoard,t[16]=s.title,t[17]=K,t[18]=q,t[19]=n,t[20]=be):be=t[20],(0,Z.useLayoutEffect)(ye,be),!c){let e;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(de,{className:`size-10 text-accent-fg`,"aria-hidden":!0}),t[21]=e):e=t[21];let n;t[22]===s.title?n=t[23]:(n=(0,$.jsx)(`h1`,{className:`mt-4 text-xl font-semibold text-fg`,children:s.title}),t[22]=s.title,t[23]=n);let r;t[24]===s.needToken?r=t[25]:(r=(0,$.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-fg-muted`,children:s.needToken}),t[24]=s.needToken,t[25]=r);let i;return t[26]!==n||t[27]!==r?(i=(0,$.jsx)(`main`,{className:`min-h-0 flex-1 overflow-auto bg-surface-panel`,children:(0,$.jsxs)(`div`,{className:`flex w-full flex-col items-center px-3 py-16 text-center sm:px-5 xl:px-6`,children:[e,n,r]})}),t[26]=n,t[27]=r,t[28]=i):i=t[28],i}let Y;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,$.jsx)(k,{className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[29]=Y):Y=t[29];let xe;t[30]===f?xe=t[31]:(xe=e=>f(e.target.value),t[30]=f,t[31]=xe);let X=s.searchPlaceholder,Se;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(Se=i(`h-9 w-full rounded-lg border border-edge bg-surface-panel py-2 pl-9 pr-3 text-sm text-fg shadow-surface`,`placeholder:text-fg-subtle`,ke.focusRingPanel),t[32]=Se):Se=t[32];let Ce;t[33]!==s.searchPlaceholder||t[34]!==d||t[35]!==xe?(Ce=(0,$.jsxs)(`div`,{className:`relative min-w-48 flex-1 sm:max-w-xs`,children:[Y,(0,$.jsx)(`input`,{value:d,onChange:xe,placeholder:X,className:Se})]}),t[33]=s.searchPlaceholder,t[34]=d,t[35]=xe,t[36]=Ce):Ce=t[36];let we;t[37]!==m||t[38]!==r||t[39]!==p||t[40]!==h?(we=m.length>1?(0,$.jsx)(U,{value:p??``,"aria-label":`Agent`,onChange:e=>h(e.target.value),className:i(`h-9 min-w-32 rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,ke.focusRingPanel),children:m.map(e=>(0,$.jsx)(H,{value:e.id,children:Ne(e,a(r).agentsSettings)},e.id))}):null,t[37]=m,t[38]=r,t[39]=p,t[40]=h,t[41]=we):we=t[41];let Te=s.boardTriggerFilterAria,Ee;t[42]===y?Ee=t[43]:(Ee=e=>y(e.target.value),t[42]=y,t[43]=Ee);let De;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(De=i(`h-9 min-w-[7.5rem] rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,ke.focusRingPanel),t[44]=De):De=t[44];let Oe;t[45]===s.boardTriggerFilterAll?Oe=t[46]:(Oe=(0,$.jsx)(H,{value:`all`,children:s.boardTriggerFilterAll}),t[45]=s.boardTriggerFilterAll,t[46]=Oe);let Ae;t[47]===s.boardTriggerFilterAutomation?Ae=t[48]:(Ae=(0,$.jsx)(H,{value:`automation`,children:s.boardTriggerFilterAutomation}),t[47]=s.boardTriggerFilterAutomation,t[48]=Ae);let je;t[49]===s.boardTriggerFilterWebui?je=t[50]:(je=(0,$.jsx)(H,{value:`webui`,children:s.boardTriggerFilterWebui}),t[49]=s.boardTriggerFilterWebui,t[50]=je);let Me;t[51]===s.boardTriggerFilterChat?Me=t[52]:(Me=(0,$.jsx)(H,{value:`chat`,children:s.boardTriggerFilterChat}),t[51]=s.boardTriggerFilterChat,t[52]=Me);let Pe;t[53]===s.boardTriggerFilterApi?Pe=t[54]:(Pe=(0,$.jsx)(H,{value:`api`,children:s.boardTriggerFilterApi}),t[53]=s.boardTriggerFilterApi,t[54]=Pe);let Fe;t[55]!==s.boardTriggerFilterAria||t[56]!==Ee||t[57]!==Oe||t[58]!==Ae||t[59]!==je||t[60]!==Me||t[61]!==Pe||t[62]!==v?(Fe=(0,$.jsxs)(U,{value:v,"aria-label":Te,onChange:Ee,className:De,children:[Oe,Ae,je,Me,Pe]}),t[55]=s.boardTriggerFilterAria,t[56]=Ee,t[57]=Oe,t[58]=Ae,t[59]=je,t[60]=Me,t[61]=Pe,t[62]=v,t[63]=Fe):Fe=t[63];let Ie=s.boardWorkflowFilterAria,Le;t[64]===_?Le=t[65]:(Le=e=>_(e.target.value),t[64]=_,t[65]=Le);let Re;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(Re=i(`h-9 min-w-40 rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,ke.focusRingPanel),t[66]=Re):Re=t[66];let ze;t[67]===s.boardWorkflowFilterAll?ze=t[68]:(ze=(0,$.jsx)(H,{value:``,children:s.boardWorkflowFilterAll}),t[67]=s.boardWorkflowFilterAll,t[68]=ze);let Be;t[69]===l?Be=t[70]:(Be=l.map(zn),t[69]=l,t[70]=Be);let Ve;t[71]!==s.boardWorkflowFilterAria||t[72]!==Le||t[73]!==ze||t[74]!==Be||t[75]!==g?(Ve=(0,$.jsxs)(U,{value:g,"aria-label":Ie,onChange:Le,className:Re,children:[ze,Be]}),t[71]=s.boardWorkflowFilterAria,t[72]=Le,t[73]=ze,t[74]=Be,t[75]=g,t[76]=Ve):Ve=t[76];let He=b===`operations`?`bg-surface-panel text-fg shadow-surface`:`text-fg-muted hover:text-fg`,Ue;t[77]===He?Ue=t[78]:(Ue=i(`inline-flex h-8 items-center gap-1.5 rounded-md px-2.5 text-xs font-medium transition-colors`,He),t[77]=He,t[78]=Ue);let We;t[79]===x?We=t[80]:(We=()=>x(`operations`),t[79]=x,t[80]=We);let Ge;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,$.jsx)(te,{className:`size-3.5`,"aria-hidden":!0}),t[81]=Ge):Ge=t[81];let Ke;t[82]!==s.viewModes.operations||t[83]!==Ue||t[84]!==We?(Ke=(0,$.jsxs)(`button`,{type:`button`,className:Ue,onClick:We,children:[Ge,s.viewModes.operations]}),t[82]=s.viewModes.operations,t[83]=Ue,t[84]=We,t[85]=Ke):Ke=t[85];let qe=b===`board`?`bg-surface-panel text-fg shadow-surface`:`text-fg-muted hover:text-fg`,Je;t[86]===qe?Je=t[87]:(Je=i(`inline-flex h-8 items-center gap-1.5 rounded-md px-2.5 text-xs font-medium transition-colors`,qe),t[86]=qe,t[87]=Je);let Xe;t[88]===x?Xe=t[89]:(Xe=()=>x(`board`),t[88]=x,t[89]=Xe);let Ze;t[90]===Symbol.for(`react.memo_cache_sentinel`)?(Ze=(0,$.jsx)(re,{className:`size-3.5`,"aria-hidden":!0}),t[90]=Ze):Ze=t[90];let Qe;t[91]!==s.viewModes.board||t[92]!==Je||t[93]!==Xe?(Qe=(0,$.jsxs)(`button`,{type:`button`,className:Je,onClick:Xe,children:[Ze,s.viewModes.board]}),t[91]=s.viewModes.board,t[92]=Je,t[93]=Xe,t[94]=Qe):Qe=t[94];let $e;t[95]!==Ke||t[96]!==Qe?($e=(0,$.jsxs)(`div`,{className:`flex rounded-lg bg-surface-muted p-0.5`,children:[Ke,Qe]}),t[95]=Ke,t[96]=Qe,t[97]=$e):$e=t[97];let et;t[98]!==Fe||t[99]!==Ve||t[100]!==$e||t[101]!==Ce||t[102]!==we?(et=(0,$.jsxs)(`section`,{className:`flex w-full flex-wrap items-center gap-2 rounded-lg border border-edge-subtle bg-surface-base px-3 py-2 shadow-surface`,children:[Ce,we,Fe,Ve,$e]}),t[98]=Fe,t[99]=Ve,t[100]=$e,t[101]=Ce,t[102]=we,t[103]=et):et=t[103];let tt;t[104]===ae?tt=t[105]:(tt=ae?(0,$.jsx)(`div`,{className:`w-full rounded-xl border border-emerald-500/25 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-800 dark:text-emerald-200`,children:ae}):null,t[104]=ae,t[105]=tt);let nt;t[106]!==ie||t[107]!==se?(nt=ie??se?(0,$.jsx)(`div`,{className:`w-full rounded-xl border border-red-500/25 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:ie??se}):null,t[106]=ie,t[107]=se,t[108]=nt):nt=t[108];let rt;t[109]!==r||t[110]!==q?(rt=(0,$.jsx)(`div`,{className:`w-full`,children:(0,$.jsx)(An,{stats:q,language:r})}),t[109]=r,t[110]=q,t[111]=rt):rt=t[111];let it;t[112]===O?it=t[113]:(it=O?(0,$.jsx)(`div`,{className:`w-full rounded-xl border border-amber-500/25 bg-amber-500/10 px-3 py-2 text-sm text-amber-800 dark:text-amber-200`,children:O}):null,t[112]=O,t[113]=it);let ot;if(t[114]!==l||t[115]!==T?.run){let e;t[117]===T?.run?e=t[118]:(e=e=>e.id===T?.run.definitionId,t[117]=T?.run,t[118]=e),ot=l.find(e),t[114]=l,t[115]=T?.run,t[116]=ot}else ot=t[116];let st=!!w&&D,ct;t[119]!==le||t[120]!==w?(ct=()=>{w&&le(w)},t[119]=le,t[120]=w,t[121]=ct):ct=t[121];let lt;t[122]!==ue||t[123]!==w?(lt=()=>{w&&ue(w)},t[122]=ue,t[123]=w,t[124]=lt):lt=t[124];let ut;t[125]!==fe||t[126]!==w?(ut=e=>{w&&fe(w,e)},t[125]=fe,t[126]=w,t[127]=ut):ut=t[127];let dt;t[128]!==j||t[129]!==r||t[130]!==o||t[131]!==M||t[132]!==p||t[133]!==S||t[134]!==E||t[135]!==T||t[136]!==C||t[137]!==ot||t[138]!==st||t[139]!==ct||t[140]!==lt||t[141]!==ut?(dt=(0,$.jsx)(cn,{view:T,comparison:E,currentDefinition:ot,loading:st,language:r,localeTag:o,activeTab:S,onTabChange:C,onCancel:ct,onRetry:lt,onReplay:ut,onOpenRunId:M,ownerAgentId:p,onClose:j}),t[128]=j,t[129]=r,t[130]=o,t[131]=M,t[132]=p,t[133]=S,t[134]=E,t[135]=T,t[136]=C,t[137]=ot,t[138]=st,t[139]=ct,t[140]=lt,t[141]=ut,t[142]=dt):dt=t[142];let ft;t[143]===P?ft=t[144]:(ft=()=>P(!1),t[143]=P,t[144]=ft);let pt;t[145]!==P||t[146]!==I?(pt=e=>{P(!1),I(e)},t[145]=P,t[146]=I,t[147]=pt):pt=t[147];let mt;t[148]!==R||t[149]!==P?(mt=e=>{P(!1),R(e)},t[148]=R,t[149]=P,t[150]=mt):mt=t[150];let gt;t[151]!==l||t[152]!==r||t[153]!==W||t[154]!==ne||t[155]!==ft||t[156]!==pt||t[157]!==mt?(gt=(0,$.jsx)(en,{open:ne,definitions:l,language:r,onClose:ft,onPick:pt,onDetail:mt,onEdit:W}),t[151]=l,t[152]=r,t[153]=W,t[154]=ne,t[155]=ft,t[156]=pt,t[157]=mt,t[158]=gt):gt=t[158];let _t=F!=null,vt;t[159]===I?vt=t[160]:(vt=()=>I(null),t[159]=I,t[160]=vt);let yt;t[161]===ce?yt=t[162]:(yt=e=>void ce(e),t[161]=ce,t[162]=yt);let xt;t[163]!==r||t[164]!==F||t[165]!==G||t[166]!==_t||t[167]!==vt||t[168]!==yt?(xt=(0,$.jsx)(Ye,{open:_t,definition:F,language:r,starting:G,onClose:vt,onStart:yt}),t[163]=r,t[164]=F,t[165]=G,t[166]=_t,t[167]=vt,t[168]=yt,t[169]=xt):xt=t[169];let St=L!=null,Ct;t[170]===R?Ct=t[171]:(Ct=()=>R(null),t[170]=R,t[171]=Ct);let wt;t[172]!==L||t[173]!==R||t[174]!==I?(wt=()=>{L&&(R(null),I(L))},t[172]=L,t[173]=R,t[174]=I,t[175]=wt):wt=t[175];let Et;t[176]!==L||t[177]!==r||t[178]!==St||t[179]!==Ct||t[180]!==wt?(Et=(0,$.jsx)(Ut,{open:St,definition:L,language:r,onClose:Ct,onRun:wt}),t[176]=L,t[177]=r,t[178]=St,t[179]=Ct,t[180]=wt,t[181]=Et):Et=t[181];let Dt;t[182]===V?Dt=t[183]:(Dt=V?{mode:V.mode,name:V.initialName,script:V.initialScript,sourceTitle:V.definition.title}:null,t[182]=V,t[183]=Dt);let Ot;t[184]===B?Ot=t[185]:(Ot=()=>B(!1),t[184]=B,t[185]=Ot);let kt;t[186]===pe?kt=t[187]:(kt=e=>pe(e),t[186]=pe,t[187]=kt);let At;return t[188]!==r||t[189]!==z||t[190]!==p||t[191]!==me||t[192]!==oe||t[193]!==Dt||t[194]!==Ot||t[195]!==kt?(At=(0,$.jsx)(Tt,{open:z,language:r,ownerAgentId:p,saving:oe,initialDraft:Dt,onClose:Ot,onSave:kt,onSaveAndStart:me}),t[188]=r,t[189]=z,t[190]=p,t[191]=me,t[192]=oe,t[193]=Dt,t[194]=Ot,t[195]=kt,t[196]=At):At=t[196],(0,$.jsxs)(`main`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden bg-surface-panel`,children:[(0,$.jsxs)(`div`,{className:`flex min-h-0 w-full flex-1 flex-col gap-4 px-3 py-5 sm:px-5 xl:px-6`,children:[et,tt,nt,(0,$.jsx)(`section`,{className:`grid w-full gap-2 sm:grid-cols-2 xl:grid-cols-4`,"aria-label":s.subtitleBoard,children:Nn.map(e=>{let t=ve.get(e)?.length??0;return(0,$.jsxs)(`button`,{type:`button`,className:i(`min-w-0 rounded-lg border border-edge-subtle bg-surface-base px-3 py-2 text-left shadow-surface`,`hover:bg-surface-hover/45`,ke.focusRingPanel),onClick:()=>x(`operations`),children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`truncate text-xs font-medium text-fg-muted`,children:s.operationSections[e].title}),(0,$.jsx)(`span`,{className:`font-mono text-sm font-semibold tabular-nums text-fg`,children:t})]}),(0,$.jsx)(`p`,{className:`mt-1 truncate text-xs text-fg-subtle`,children:s.operationSections[e].description})]},e)})}),rt,it,b===`operations`?(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto pb-3`,children:(0,$.jsx)(`div`,{className:`grid w-full gap-4`,children:Nn.map(e=>{let t=ve.get(e)??[];return(0,$.jsxs)(`section`,{className:`rounded-lg border border-edge-subtle bg-surface-base shadow-surface`,children:[(0,$.jsxs)(`header`,{className:`flex flex-wrap items-start justify-between gap-3 border-b border-edge-subtle px-4 py-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:s.operationSections[e].title}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:s.operationSections[e].description})]}),(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2.5 py-1 text-xs font-semibold tabular-nums text-fg-muted`,children:t.length})]}),(0,$.jsxs)(`div`,{className:`grid gap-2 p-2.5 md:grid-cols-2 xl:grid-cols-3`,children:[t.map(e=>(0,$.jsx)(ht,{run:e,language:r,localeTag:o,nowMs:_e,selected:e.id===w,onOpen:A,onOpenChat:ee,onCancel:e=>void le(e),onRetry:e=>void ue(e)},e.id)),!K&&t.length===0?(0,$.jsx)(`div`,{className:`flex min-h-24 items-center justify-center rounded-md border border-dashed border-edge bg-surface-panel/40 px-4 py-5 text-center text-xs text-fg-subtle md:col-span-2 xl:col-span-3`,children:s.operationSections[e].empty}):null]})]},e)})})}):(0,$.jsx)(`div`,{className:`min-h-0 w-full flex-1`,children:(0,$.jsx)(bt,{runs:u,language:r,localeTag:o,labels:{boardEmptyTitle:s.boardEmptyTitle,boardEmptyHint:s.boardEmptyHint,boardStart:s.boardStart,loading:s.loading},searchQuery:d,workflowFilterId:g,triggerFilter:v,selectedRunId:w,loading:K,onOpenRun:A,onOpenRunChat:ee,onCancelRun:e=>void le(e),onRetryRun:e=>void ue(e),onStart:()=>P(!0)})})]}),dt,gt,xt,Et,At]})}function zn(e){return(0,$.jsx)(H,{value:e.id,children:e.title},e.id)}function Bn(e){return e.clearPageHeader}function Vn(e){return e.setPageHeader}function Hn(){let e=o(e=>e.language),t=a(e).workflows,n=e===`zh`?`zh-CN`:`en-US`,r=s(e=>e.token),i=!!r,l=Le(),[u,d]=me(),f=u.get(`q`)??``,m=u.get(`wf`)?.trim()??``,h=u.get(`trigger`)?.trim()||`all`,g=u.get(`run`)?.trim()??``,v=u.get(`view`)?.trim()??``,y=u.get(`runTab`)?.trim()??``,b=u.get(`agent`)?.trim()??``,x=O.has(v)?v:`operations`,C=ie.has(y)?y:`result`,[w,T]=(0,Z.useState)(null),[E,D]=(0,Z.useState)(!1),[k,j]=(0,Z.useState)(null),[M,N]=(0,Z.useState)(!1),[ee,te]=(0,Z.useState)(null),[ne,P]=(0,Z.useState)(null),[F,I]=(0,Z.useState)(null),[L,z]=(0,Z.useState)(!1),[re,B]=(0,Z.useState)(!1),H=c(i?[`workflow-agents`,r]:null,fe,{revalidateOnFocus:!1}),U=(0,Z.useMemo)(()=>{let e=H.data?.agents??[];return b&&e.some(e=>e.id===b)||b&&e.length===0?b:H.data?.defaultId??(b||void 0)},[H.data,b]),W=c(i?[`workflow-definitions`,r]:null,Ee,{revalidateOnFocus:!1}),G=c(i&&U?[`workflow-runs`,r,U]:null,()=>be(100,{ownerAgentId:U}),{revalidateOnFocus:!1,refreshInterval:e=>e?.length&&e.some(e=>e.status===`queued`||e.status===`running`)?3e3:0}),K=c(i&&U?[`workflow-stats`,r,U,m]:null,()=>ge(m,{ownerAgentId:U}),{revalidateOnFocus:!1});(0,Z.useEffect)(()=>{if(!F)return;let e=window.setTimeout(()=>I(null),4e3);return()=>window.clearTimeout(e)},[F]);let q=W.data??[],ce=H.data?.agents??[],le=G.data??[],de=g||null,pe=we(de,{ownerAgentId:U}),J=c(i&&U&&de&&pe.view?.run.metadata?.replay?[`workflow-run-comparison`,r,U,de]:null,()=>ue(de,{ownerAgentId:U}),{revalidateOnFocus:!1}),he=(0,Z.useMemo)(()=>_(q,f,`all`,`all`),[q,f]),ve=(0,Z.useCallback)(e=>{e&&te(null),N(e)},[]),ye=(0,Z.useCallback)(e=>{let t=new Set(q.map(e=>e.name)),n=`${e.name}_copy`;if(!t.has(n))return n;for(let e=2;e<100;e+=1){let r=`${n}_${e}`;if(!t.has(r))return r}return`${n}_${Date.now()}`},[q]),xe=(0,Z.useCallback)((e,n)=>{let r=e.runtime?.source??``;if(!r.trim()){P(t.editWorkflowSourceMissing);return}let i=n??(e.metadata.source===`user`?`edit`:`copy`),a=i===`edit`?e.name:ye(e);P(null),D(!1),te({mode:i,definition:e,initialName:a,initialScript:i===`copy`?Un(r,a):r}),N(!0)},[ye,t.editWorkflowSourceMissing]),X=(0,Z.useCallback)(e=>{d(t=>{let n=new URLSearchParams(t);return e(n,t),n},{replace:!0})},[d]);(0,Z.useEffect)(()=>{let e=H.data?.agents??[];!b||e.length===0||e.some(e=>e.id===b)||X(e=>{H.data?.defaultId?e.set(p,H.data.defaultId):e.delete(p),e.delete(`run`)})},[H.data,b,X]);let Se=(0,Z.useCallback)(e=>{X(t=>{let n=e.trim();n?t.set(`q`,n):t.delete(`q`)})},[X]),Te=(0,Z.useCallback)(e=>{X(t=>{let n=e.trim();n?t.set(p,n):t.delete(p),t.delete(`run`)})},[X]),De=(0,Z.useCallback)(e=>{X(t=>{let n=e.trim();n?t.set(`wf`,n):t.delete(`wf`)})},[X]),Oe=(0,Z.useCallback)(e=>{X(t=>{let n=e.trim();n&&n!==`all`?t.set(Me,n):t.delete(Me)})},[X]),ke=(0,Z.useCallback)(e=>{X(t=>{e===`operations`?t.delete(ae):t.set(ae,e)})},[X]),Ae=(0,Z.useCallback)(e=>{X(t=>{e===`result`?t.delete(S):t.set(S,e)})},[X]),je=(0,Z.useCallback)(e=>{X(t=>{U&&t.set(p,U),t.set(`run`,e.id),t.delete(S)})},[U,X]),Ne=(0,Z.useCallback)(()=>{X(e=>{e.delete(`run`),e.delete(S)})},[X]),Fe=(0,Z.useCallback)(e=>{X(t=>{U&&t.set(p,U),t.set(`run`,e),t.delete(S)})},[U,X]),Ie=(0,Z.useCallback)(e=>{let t=Qe(e);t&&l(R(t))},[l]);(0,Z.useEffect)(()=>{let e=u.get(`def`),t=u.get(A)===`1`,n=u.get(V)===`1`;if(!e||!q.length)return;let r=q.find(t=>t.id===e||t.name===e);r&&(n?xe(r,`copy`):t?T(r):j(r),X(e=>{e.delete(`def`),e.delete(A),e.delete(V)}))},[q,xe,X,u]),(0,Z.useEffect)(()=>{let e=()=>{G.mutate(),K.mutate()};return window.addEventListener(`workflow-event-appended`,e),window.addEventListener(`workflow-run-updated`,e),window.addEventListener(`workflow-run-error`,e),()=>{window.removeEventListener(`workflow-event-appended`,e),window.removeEventListener(`workflow-run-updated`,e),window.removeEventListener(`workflow-run-error`,e)}},[G,K]);let Re=(0,Z.useCallback)(()=>{H.mutate(),W.mutate(),G.mutate(),K.mutate()},[H,W,G,K]),ze=(0,Z.useCallback)(async e=>{if(w){z(!0),P(null);try{let n=await se({definitionId:w.id,goal:e.goal,input:e.input,agentId:U,concurrency:e.concurrency,maxSubagents:e.maxSubagents});T(null),await G.mutate(),await K.mutate(),I(t.startSuccess),X(e=>{U&&e.set(p,U),e.set(`run`,n.runId),e.delete(S)})}catch(e){P(e instanceof Error?e.message:t.startFailed)}finally{z(!1)}}},[t.startFailed,t.startSuccess,U,X,G,w,K]),Ve=(0,Z.useCallback)(async e=>{try{await Pe(e,{ownerAgentId:U}),await G.mutate(),await K.mutate()}catch(e){let n=e instanceof Error?e.message:t.cancelFailed;if(/not active|already finished/i.test(n)){await G.mutate(),await K.mutate();return}P(n)}},[t.cancelFailed,U,G,K]),He=(0,Z.useCallback)(async e=>{try{let t=await oe(e,{ownerAgentId:U});await G.mutate(),await K.mutate(),X(e=>{U&&e.set(p,U),e.set(`run`,t.runId),e.delete(S)})}catch(e){P(e instanceof Error?e.message:t.retryFailed)}},[t.retryFailed,U,X,G,K]),Ue=(0,Z.useCallback)(async(e,n)=>{try{let t=await _e(e,n,{ownerAgentId:U});await G.mutate(),await K.mutate(),X(e=>{U&&e.set(p,U),e.set(`run`,t.runId),e.delete(S)})}catch(e){P(e instanceof Error?e.message:t.retryFailed)}},[t.retryFailed,U,X,G,K]),We=(0,Z.useCallback)(async e=>{B(!0),P(null);try{let n=await Be(e.name,e.script);return N(!1),te(null),await W.mutate(),I(t.saveWorkflowSuccess),n}catch(e){P(e instanceof Error?e.message:t.saveWorkflowFailed)}finally{B(!1)}},[W,t.saveWorkflowFailed,t.saveWorkflowSuccess]),Ge=(0,Z.useCallback)(async e=>{B(!0),P(null);try{let n=await Be(e.name,e.script);await W.mutate();let r=await se({definitionId:n.id,goal:e.goal,input:{goal:e.goal},agentId:U});N(!1),te(null),await G.mutate(),await K.mutate(),I(t.startSuccess),X(e=>{U&&e.set(p,U),e.set(`run`,r.runId),e.delete(S)})}catch(e){P(e instanceof Error?e.message:t.startFailed)}finally{B(!1)}},[W,t.startFailed,t.startSuccess,U,X,G,K]),Ke=(0,Z.useCallback)(async e=>{if(e.metadata.source===`user`&&window.confirm(Y(t.deleteConfirm,{name:e.name}))){P(null);try{await Ce(e.id),await W.mutate(),I(t.deleteWorkflowSuccess)}catch(e){P(e instanceof Error?e.message:t.deleteWorkflowFailed)}}},[W,t]),qe=H.isLoading||W.isLoading||G.isLoading,Je=H.error?.message??W.error?.message??G.error?.message??null;return{language:e,localeTag:n,labels:t,hasToken:i,searchQuery:f,setSearchQuery:Se,ownerAgentId:U,agentOptions:ce,setOwnerAgentId:Te,workflowFilterId:m,setWorkflowFilterId:De,triggerFilter:h,setTriggerFilter:Oe,viewMode:x,setViewMode:ke,runTab:C,setRunTab:Ae,definitions:q,filteredDefinitions:he,runs:le,selectedRunId:de,selectedRunView:pe.view,selectedRunComparison:J.data,selectedRunLoading:pe.loading,selectedRunError:pe.error?.message??J.error?.message??null,openRunDetails:je,closeRunDetails:Ne,openRunDetailsById:Fe,openRunInChat:Ie,pickStartOpen:E,setPickStartOpen:D,startDefinition:w,setStartDefinition:T,detailDefinition:k,setDetailDefinition:j,manageOpen:M,setManageOpen:ve,workflowEditorDraft:ee,openWorkflowEditor:xe,actionError:ne,actionFeedback:F,starting:L,savingWorkflow:re,loading:qe,error:Je,stats:K.data,refreshAll:Re,submitStart:ze,cancelRun:Ve,retryRun:He,replayRun:Ue,saveCustomWorkflow:We,saveDraftAndStart:Ge,removeCustomWorkflow:Ke}}function Un(e,t){return e.replace(/(name\s*:\s*['"`])([^'"`]+)(['"`])/,(e,n,r,i)=>`${n}${t}${i}`)}function Wn(){let e=(0,Q.c)(2),t=Hn(),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(Rn,{vm:t}),e[0]=t,e[1]=n),n}export{Wn as WorkflowsPage};
|
|
@@ -10,23 +10,24 @@
|
|
|
10
10
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.pngv=20260623-2" />
|
|
11
11
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=20260623-2" />
|
|
12
12
|
<title>xopc</title>
|
|
13
|
-
<script type="module" crossorigin src="/assets/index-
|
|
13
|
+
<script type="module" crossorigin src="/assets/index-CA2tR2vm.js"></script>
|
|
14
14
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
|
|
15
15
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
|
|
16
16
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-BOUWij0V.js">
|
|
17
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
18
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
17
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-DokQNVMQ.js">
|
|
18
|
+
<link rel="modulepreload" crossorigin href="/assets/Combination-BzaXOLd9.js">
|
|
19
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-CkobR7mk.js">
|
|
19
20
|
<link rel="modulepreload" crossorigin href="/assets/cn-BQ_8x0bT.js">
|
|
20
21
|
<link rel="modulepreload" crossorigin href="/assets/vendor-swr-BIWyz7Rc.js">
|
|
21
22
|
<link rel="modulepreload" crossorigin href="/assets/middleware-Pd0e8Igk.js">
|
|
22
23
|
<link rel="modulepreload" crossorigin href="/assets/locale-store-Ba72bFmP.js">
|
|
23
24
|
<link rel="modulepreload" crossorigin href="/assets/config-reload-event-Bjh2zoKp.js">
|
|
24
|
-
<link rel="modulepreload" crossorigin href="/assets/messages-
|
|
25
|
-
<link rel="modulepreload" crossorigin href="/assets/fetch-
|
|
26
|
-
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-
|
|
25
|
+
<link rel="modulepreload" crossorigin href="/assets/messages-C22hxE1N.js">
|
|
26
|
+
<link rel="modulepreload" crossorigin href="/assets/fetch-5V96dUz3.js">
|
|
27
|
+
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-DEMad2wt.js">
|
|
27
28
|
<link rel="modulepreload" crossorigin href="/assets/toast-z0toXu32.js">
|
|
28
29
|
<link rel="modulepreload" crossorigin href="/assets/theme-store-Bt6vAkSB.js">
|
|
29
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
30
|
+
<link rel="stylesheet" crossorigin href="/assets/index-Ds3u0LOk.css">
|
|
30
31
|
</head>
|
|
31
32
|
<body>
|
|
32
33
|
<div id="root"></div>
|
package/dist/package.js
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ActivityPrincipal, ActivitySource } from './types.js';
|
|
2
|
+
export interface ActivityContext {
|
|
3
|
+
actor?: ActivityPrincipal;
|
|
4
|
+
initiator?: ActivityPrincipal;
|
|
5
|
+
source?: ActivitySource;
|
|
6
|
+
}
|
|
7
|
+
export declare function runWithActivityContext<T>(context: ActivityContext, fn: () => T): T;
|
|
8
|
+
export declare function getActivityContext(): ActivityContext | undefined;
|
|
9
|
+
export declare function currentActivityActor(fallback?: ActivityPrincipal): ActivityPrincipal;
|
|
10
|
+
export declare function currentActivityInitiator(): ActivityPrincipal | undefined;
|
|
11
|
+
export declare function currentActivitySource(fallback?: ActivitySource): ActivitySource;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { getAsyncLogContext, init_context } from "../utils/logger/context.js";
|
|
2
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
|
+
//#region src/activity/context.ts
|
|
4
|
+
init_context();
|
|
5
|
+
const activityContextStorage = new AsyncLocalStorage();
|
|
6
|
+
function runWithActivityContext(context, fn) {
|
|
7
|
+
const parent = activityContextStorage.getStore();
|
|
8
|
+
return activityContextStorage.run({
|
|
9
|
+
...parent,
|
|
10
|
+
...context
|
|
11
|
+
}, fn);
|
|
12
|
+
}
|
|
13
|
+
function getActivityContext() {
|
|
14
|
+
return activityContextStorage.getStore();
|
|
15
|
+
}
|
|
16
|
+
function currentActivityActor(fallback = { kind: "system" }) {
|
|
17
|
+
return getActivityContext()?.actor ?? fallback;
|
|
18
|
+
}
|
|
19
|
+
function currentActivityInitiator() {
|
|
20
|
+
return getActivityContext()?.initiator;
|
|
21
|
+
}
|
|
22
|
+
function currentActivitySource(fallback = { kind: "system" }) {
|
|
23
|
+
const source = getActivityContext()?.source ?? fallback;
|
|
24
|
+
const requestId = source.requestId ?? stringValue(getAsyncLogContext()?.requestId);
|
|
25
|
+
return requestId ? {
|
|
26
|
+
...source,
|
|
27
|
+
requestId
|
|
28
|
+
} : source;
|
|
29
|
+
}
|
|
30
|
+
function stringValue(value) {
|
|
31
|
+
return typeof value === "string" && value.trim() ? value.trim() : void 0;
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { currentActivityActor, currentActivityInitiator, currentActivitySource, getActivityContext, runWithActivityContext };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../src/activity/context.ts"],"sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\n\nimport { getAsyncLogContext } from '../utils/logger/context.js';\nimport type { ActivityPrincipal, ActivitySource } from './types.js';\n\nexport interface ActivityContext {\n actor?: ActivityPrincipal;\n initiator?: ActivityPrincipal;\n source?: ActivitySource;\n}\n\nconst activityContextStorage = new AsyncLocalStorage<ActivityContext>();\n\nexport function runWithActivityContext<T>(context: ActivityContext, fn: () => T): T {\n const parent = activityContextStorage.getStore();\n return activityContextStorage.run({ ...parent, ...context }, fn);\n}\n\nexport function getActivityContext(): ActivityContext | undefined {\n return activityContextStorage.getStore();\n}\n\nexport function currentActivityActor(fallback: ActivityPrincipal = { kind: 'system' }): ActivityPrincipal {\n return getActivityContext()?.actor ?? fallback;\n}\n\nexport function currentActivityInitiator(): ActivityPrincipal | undefined {\n return getActivityContext()?.initiator;\n}\n\nexport function currentActivitySource(fallback: ActivitySource = { kind: 'system' }): ActivitySource {\n const source = getActivityContext()?.source ?? fallback;\n const requestId = source.requestId ?? stringValue(getAsyncLogContext()?.requestId);\n return requestId ? { ...source, requestId } : source;\n}\n\nfunction stringValue(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() ? value.trim() : undefined;\n}\n"],"mappings":";;;cAEgE;AAShE,MAAM,yBAAyB,IAAI,mBAAoC;AAEvE,SAAgB,uBAA0B,SAA0B,IAAgB;CAClF,MAAM,SAAS,uBAAuB,UAAU;AAChD,QAAO,uBAAuB,IAAI;EAAE,GAAG;EAAQ,GAAG;EAAS,EAAE,GAAG;;AAGlE,SAAgB,qBAAkD;AAChE,QAAO,uBAAuB,UAAU;;AAG1C,SAAgB,qBAAqB,WAA8B,EAAE,MAAM,UAAU,EAAqB;AACxG,QAAO,oBAAoB,EAAE,SAAS;;AAGxC,SAAgB,2BAA0D;AACxE,QAAO,oBAAoB,EAAE;;AAG/B,SAAgB,sBAAsB,WAA2B,EAAE,MAAM,UAAU,EAAkB;CACnG,MAAM,SAAS,oBAAoB,EAAE,UAAU;CAC/C,MAAM,YAAY,OAAO,aAAa,YAAY,oBAAoB,EAAE,UAAU;AAClF,QAAO,YAAY;EAAE,GAAG;EAAQ;EAAW,GAAG;;AAGhD,SAAS,YAAY,OAAoC;AACvD,QAAO,OAAO,UAAU,YAAY,MAAM,MAAM,GAAG,MAAM,MAAM,GAAG,KAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ActivityPrincipal, ActivitySource, RecordActivityInput } from './types.js';
|
|
2
|
+
export declare function systemActivityActor(): ActivityPrincipal;
|
|
3
|
+
export declare function systemActivitySource(): ActivitySource;
|
|
4
|
+
export declare function previewText(value: string | undefined, maxLength?: number): string | undefined;
|
|
5
|
+
export declare function changedFieldsFromPatch(patch: Record<string, unknown>, ignoredKeys?: readonly string[]): string[];
|
|
6
|
+
export declare function emitActivity(input: RecordActivityInput): void;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { currentActivityActor, currentActivityInitiator, currentActivitySource } from "./context.js";
|
|
2
|
+
import { createLogger } from "../utils/logger/index.js";
|
|
3
|
+
import { init_logger } from "../utils/logger.js";
|
|
4
|
+
import { isXopcDatabaseOpen } from "../storage/sqlite/connection.js";
|
|
5
|
+
import "../storage/sqlite/index.js";
|
|
6
|
+
import { ActivityService } from "./service.js";
|
|
7
|
+
//#region src/activity/emitter.ts
|
|
8
|
+
init_logger();
|
|
9
|
+
const log = createLogger("ActivityEmitter");
|
|
10
|
+
const activityService = new ActivityService();
|
|
11
|
+
function systemActivityActor() {
|
|
12
|
+
return currentActivityActor({ kind: "system" });
|
|
13
|
+
}
|
|
14
|
+
function systemActivitySource() {
|
|
15
|
+
return currentActivitySource({ kind: "system" });
|
|
16
|
+
}
|
|
17
|
+
function previewText(value, maxLength = 180) {
|
|
18
|
+
const normalized = value?.trim().replace(/\s+/g, " ");
|
|
19
|
+
if (!normalized) return void 0;
|
|
20
|
+
return normalized.length > maxLength ? `${normalized.slice(0, maxLength)}...` : normalized;
|
|
21
|
+
}
|
|
22
|
+
function changedFieldsFromPatch(patch, ignoredKeys = []) {
|
|
23
|
+
const ignored = new Set(ignoredKeys);
|
|
24
|
+
return Object.keys(patch).filter((key) => !ignored.has(key) && patch[key] !== void 0).sort();
|
|
25
|
+
}
|
|
26
|
+
function emitActivity(input) {
|
|
27
|
+
if (!isXopcDatabaseOpen()) {
|
|
28
|
+
log.debug({
|
|
29
|
+
type: input.type,
|
|
30
|
+
object: input.primaryObject
|
|
31
|
+
}, "Skipped activity event because SQLite is not open");
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
activityService.record({
|
|
35
|
+
...input,
|
|
36
|
+
initiator: input.initiator ?? currentActivityInitiator(),
|
|
37
|
+
source: currentActivitySource(input.source)
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
export { changedFieldsFromPatch, emitActivity, previewText, systemActivityActor, systemActivitySource };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emitter.js","names":[],"sources":["../../../src/activity/emitter.ts"],"sourcesContent":["import { isXopcDatabaseOpen } from '../storage/sqlite/index.js';\nimport { createLogger } from '../utils/logger.js';\nimport { currentActivityActor, currentActivityInitiator, currentActivitySource } from './context.js';\nimport { ActivityService } from './service.js';\nimport type { ActivityPrincipal, ActivitySource, RecordActivityInput } from './types.js';\n\nconst log = createLogger('ActivityEmitter');\n\nconst activityService = new ActivityService();\n\nexport function systemActivityActor(): ActivityPrincipal {\n return currentActivityActor({ kind: 'system' });\n}\n\nexport function systemActivitySource(): ActivitySource {\n return currentActivitySource({ kind: 'system' });\n}\n\nexport function previewText(value: string | undefined, maxLength = 180): string | undefined {\n const normalized = value?.trim().replace(/\\s+/g, ' ');\n if (!normalized) return undefined;\n return normalized.length > maxLength ? `${normalized.slice(0, maxLength)}...` : normalized;\n}\n\nexport function changedFieldsFromPatch(\n patch: Record<string, unknown>,\n ignoredKeys: readonly string[] = [],\n): string[] {\n const ignored = new Set(ignoredKeys);\n return Object.keys(patch).filter((key) => !ignored.has(key) && patch[key] !== undefined).sort();\n}\n\nexport function emitActivity(input: RecordActivityInput): void {\n if (!isXopcDatabaseOpen()) {\n log.debug({ type: input.type, object: input.primaryObject }, 'Skipped activity event because SQLite is not open');\n return;\n }\n activityService.record({\n ...input,\n initiator: input.initiator ?? currentActivityInitiator(),\n source: currentActivitySource(input.source),\n });\n}\n"],"mappings":";;;;;;;aACkD;AAKlD,MAAM,MAAM,aAAa,kBAAkB;AAE3C,MAAM,kBAAkB,IAAI,iBAAiB;AAE7C,SAAgB,sBAAyC;AACvD,QAAO,qBAAqB,EAAE,MAAM,UAAU,CAAC;;AAGjD,SAAgB,uBAAuC;AACrD,QAAO,sBAAsB,EAAE,MAAM,UAAU,CAAC;;AAGlD,SAAgB,YAAY,OAA2B,YAAY,KAAyB;CAC1F,MAAM,aAAa,OAAO,MAAM,CAAC,QAAQ,QAAQ,IAAI;AACrD,KAAI,CAAC,WAAY,QAAO,KAAA;AACxB,QAAO,WAAW,SAAS,YAAY,GAAG,WAAW,MAAM,GAAG,UAAU,CAAC,OAAO;;AAGlF,SAAgB,uBACd,OACA,cAAiC,EAAE,EACzB;CACV,MAAM,UAAU,IAAI,IAAI,YAAY;AACpC,QAAO,OAAO,KAAK,MAAM,CAAC,QAAQ,QAAQ,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,SAAS,KAAA,EAAU,CAAC,MAAM;;AAGjG,SAAgB,aAAa,OAAkC;AAC7D,KAAI,CAAC,oBAAoB,EAAE;AACzB,MAAI,MAAM;GAAE,MAAM,MAAM;GAAM,QAAQ,MAAM;GAAe,EAAE,oDAAoD;AACjH;;AAEF,iBAAgB,OAAO;EACrB,GAAG;EACH,WAAW,MAAM,aAAa,0BAA0B;EACxD,QAAQ,sBAAsB,MAAM,OAAO;EAC5C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ActivityEventWithRelations, ActivityListResult, ActivityObjectRef, CreateObjectLinkInput, ListActivityOptions, ListObjectActivityOptions, ListProjectActivityOptions, ObjectLink, RecordActivityInput } from './types.js';
|
|
2
|
+
export declare class ActivityService {
|
|
3
|
+
record(input: RecordActivityInput): ActivityEventWithRelations;
|
|
4
|
+
get(id: string): ActivityEventWithRelations | null;
|
|
5
|
+
list(options?: ListActivityOptions): ActivityListResult;
|
|
6
|
+
listForObject(options: ListObjectActivityOptions): ActivityListResult;
|
|
7
|
+
listForProject(options: ListProjectActivityOptions): ActivityListResult;
|
|
8
|
+
}
|
|
9
|
+
export declare class ObjectLinkService {
|
|
10
|
+
create(input: CreateObjectLinkInput): ObjectLink;
|
|
11
|
+
listForObject(object: ActivityObjectRef): ObjectLink[];
|
|
12
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { createObjectLinkRecord, getActivityEventRecord, listActivityRecords, listObjectActivityRecords, listObjectLinkRecords, listProjectActivityRecords, recordActivityEvent } from "../storage/sqlite/activity-repository.js";
|
|
2
|
+
import "../storage/sqlite/index.js";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
4
|
+
//#region src/activity/service.ts
|
|
5
|
+
function normalizeLimit(limit) {
|
|
6
|
+
return Math.max(1, Math.min(100, Math.floor(limit ?? 50)));
|
|
7
|
+
}
|
|
8
|
+
function normalizeOffset(offset) {
|
|
9
|
+
return Math.max(0, Math.floor(offset ?? 0));
|
|
10
|
+
}
|
|
11
|
+
var ActivityService = class {
|
|
12
|
+
record(input) {
|
|
13
|
+
return recordActivityEvent({
|
|
14
|
+
...input,
|
|
15
|
+
id: input.id ?? randomUUID(),
|
|
16
|
+
nowMs: input.nowMs ?? Date.now()
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
get(id) {
|
|
20
|
+
return getActivityEventRecord(id);
|
|
21
|
+
}
|
|
22
|
+
list(options = {}) {
|
|
23
|
+
return listActivityRecords({
|
|
24
|
+
...options,
|
|
25
|
+
limit: normalizeLimit(options.limit),
|
|
26
|
+
offset: normalizeOffset(options.offset)
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
listForObject(options) {
|
|
30
|
+
return listObjectActivityRecords({
|
|
31
|
+
...options,
|
|
32
|
+
limit: normalizeLimit(options.limit),
|
|
33
|
+
offset: normalizeOffset(options.offset)
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
listForProject(options) {
|
|
37
|
+
return listProjectActivityRecords({
|
|
38
|
+
...options,
|
|
39
|
+
limit: normalizeLimit(options.limit),
|
|
40
|
+
offset: normalizeOffset(options.offset)
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var ObjectLinkService = class {
|
|
45
|
+
create(input) {
|
|
46
|
+
return createObjectLinkRecord({
|
|
47
|
+
...input,
|
|
48
|
+
id: input.id ?? randomUUID(),
|
|
49
|
+
nowMs: input.nowMs ?? Date.now()
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
listForObject(object) {
|
|
53
|
+
return listObjectLinkRecords(object);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
//#endregion
|
|
57
|
+
export { ActivityService, ObjectLinkService };
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","names":[],"sources":["../../../src/activity/service.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\n\nimport {\n createObjectLinkRecord,\n getActivityEventRecord,\n listActivityRecords,\n listObjectActivityRecords,\n listObjectLinkRecords,\n listProjectActivityRecords,\n recordActivityEvent,\n} from '../storage/sqlite/index.js';\nimport type {\n ActivityEventWithRelations,\n ActivityListResult,\n ActivityObjectRef,\n CreateObjectLinkInput,\n ListActivityOptions,\n ListObjectActivityOptions,\n ListProjectActivityOptions,\n ObjectLink,\n RecordActivityInput,\n} from './types.js';\n\nfunction normalizeLimit(limit: number | undefined): number {\n return Math.max(1, Math.min(100, Math.floor(limit ?? 50)));\n}\n\nfunction normalizeOffset(offset: number | undefined): number {\n return Math.max(0, Math.floor(offset ?? 0));\n}\n\nexport class ActivityService {\n record(input: RecordActivityInput): ActivityEventWithRelations {\n return recordActivityEvent({\n ...input,\n id: input.id ?? randomUUID(),\n nowMs: input.nowMs ?? Date.now(),\n });\n }\n\n get(id: string): ActivityEventWithRelations | null {\n return getActivityEventRecord(id);\n }\n\n list(options: ListActivityOptions = {}): ActivityListResult {\n return listActivityRecords({\n ...options,\n limit: normalizeLimit(options.limit),\n offset: normalizeOffset(options.offset),\n });\n }\n\n listForObject(options: ListObjectActivityOptions): ActivityListResult {\n return listObjectActivityRecords({\n ...options,\n limit: normalizeLimit(options.limit),\n offset: normalizeOffset(options.offset),\n });\n }\n\n listForProject(options: ListProjectActivityOptions): ActivityListResult {\n return listProjectActivityRecords({\n ...options,\n limit: normalizeLimit(options.limit),\n offset: normalizeOffset(options.offset),\n });\n }\n}\n\nexport class ObjectLinkService {\n create(input: CreateObjectLinkInput): ObjectLink {\n return createObjectLinkRecord({\n ...input,\n id: input.id ?? randomUUID(),\n nowMs: input.nowMs ?? Date.now(),\n });\n }\n\n listForObject(object: ActivityObjectRef): ObjectLink[] {\n return listObjectLinkRecords(object);\n }\n}\n"],"mappings":";;;;AAuBA,SAAS,eAAe,OAAmC;AACzD,QAAO,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,KAAK,MAAM,SAAS,GAAG,CAAC,CAAC;;AAG5D,SAAS,gBAAgB,QAAoC;AAC3D,QAAO,KAAK,IAAI,GAAG,KAAK,MAAM,UAAU,EAAE,CAAC;;AAG7C,IAAa,kBAAb,MAA6B;CAC3B,OAAO,OAAwD;AAC7D,SAAO,oBAAoB;GACzB,GAAG;GACH,IAAI,MAAM,MAAM,YAAY;GAC5B,OAAO,MAAM,SAAS,KAAK,KAAK;GACjC,CAAC;;CAGJ,IAAI,IAA+C;AACjD,SAAO,uBAAuB,GAAG;;CAGnC,KAAK,UAA+B,EAAE,EAAsB;AAC1D,SAAO,oBAAoB;GACzB,GAAG;GACH,OAAO,eAAe,QAAQ,MAAM;GACpC,QAAQ,gBAAgB,QAAQ,OAAO;GACxC,CAAC;;CAGJ,cAAc,SAAwD;AACpE,SAAO,0BAA0B;GAC/B,GAAG;GACH,OAAO,eAAe,QAAQ,MAAM;GACpC,QAAQ,gBAAgB,QAAQ,OAAO;GACxC,CAAC;;CAGJ,eAAe,SAAyD;AACtE,SAAO,2BAA2B;GAChC,GAAG;GACH,OAAO,eAAe,QAAQ,MAAM;GACpC,QAAQ,gBAAgB,QAAQ,OAAO;GACxC,CAAC;;;AAIN,IAAa,oBAAb,MAA+B;CAC7B,OAAO,OAA0C;AAC/C,SAAO,uBAAuB;GAC5B,GAAG;GACH,IAAI,MAAM,MAAM,YAAY;GAC5B,OAAO,MAAM,SAAS,KAAK,KAAK;GACjC,CAAC;;CAGJ,cAAc,QAAyC;AACrD,SAAO,sBAAsB,OAAO"}
|