@xopcai/xopc 0.0.110 → 0.0.111
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 +46 -4
- package/README.zh-CN.md +46 -4
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/Combination-BzaXOLd9.js +41 -0
- package/dist/gateway/static/root/assets/agent-avatar-dicebear-zlx9l5Yp.js +1 -0
- package/dist/gateway/static/root/assets/agent-browser-settings-page-B-0zGjt8.js +6 -0
- package/dist/gateway/static/root/assets/agent-defaults-tabbed-page-Bz7JWjRM.js +1 -0
- package/dist/gateway/static/root/assets/agents-DwDnJlXT.js +71 -0
- package/dist/gateway/static/root/assets/app-management-settings-panel-DaQwdeCq.js +1 -0
- package/dist/gateway/static/root/assets/appearance-settings-D2zv6r3P.js +1 -0
- package/dist/gateway/static/root/assets/apps-page-BIppe_jj.js +1 -0
- package/dist/gateway/static/root/assets/archive-plugin-DEmu8eH7.js +1 -0
- package/dist/gateway/static/root/assets/attachment-load-B98lJoN5.js +2 -0
- package/dist/gateway/static/root/assets/{attachment-preview-renderer-CybMSIoS.js → attachment-preview-renderer-DonnL2dL.js} +1 -1
- package/dist/gateway/static/root/assets/binary-plugins-CL9QKmyo.js +2 -0
- package/dist/gateway/static/root/assets/block-editor-BOAhMAhT.js +180 -0
- package/dist/gateway/static/root/assets/channels-settings-Br8iRnXp.js +1 -0
- package/dist/gateway/static/root/assets/cn-JdwAhgNB.js +1 -0
- package/dist/gateway/static/root/assets/code-editor-dZTY2dRW.js +1 -0
- package/dist/gateway/static/root/assets/config-api-0o1WYdz2.js +3 -0
- package/dist/gateway/static/root/assets/connectors-settings-DDvHo9in.js +2 -0
- package/dist/gateway/static/root/assets/cron-api-Dj_UZKST.js +1 -0
- package/dist/gateway/static/root/assets/cron-dreaming-jobs-nCMWCf0p.js +1 -0
- package/dist/gateway/static/root/assets/cron-page-Dv7GII9G.js +1 -0
- package/dist/gateway/static/root/assets/cron-schedule-picker-DH10KgD6.js +1 -0
- 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-scene-BHMRVEUS.js +4585 -0
- package/dist/gateway/static/root/assets/dreaming-settings-L2rgZDQl.js +1 -0
- package/dist/gateway/static/root/assets/extension-debug-page-Cjx6pZVz.js +1 -0
- package/dist/gateway/static/root/assets/{extension-page-W1wiG38F.js → extension-page-BSPNL90V.js} +1 -1
- package/dist/gateway/static/root/assets/extension-settings-page-m_UQYkVc.js +1 -0
- package/dist/gateway/static/root/assets/fetch-Bs7in_4F.js +1 -0
- package/dist/gateway/static/root/assets/format-interval-label-CftJ5uXu.js +1 -0
- package/dist/gateway/static/root/assets/gateway-config-api-Clfck-hW.js +1 -0
- package/dist/gateway/static/root/assets/gateway-settings-CS177xni.js +1 -0
- package/dist/gateway/static/root/assets/gateway-startup-retry-BkjVJc38.js +1 -0
- package/dist/gateway/static/root/assets/goal-detail-page-kqJue0sE.js +1 -0
- package/dist/gateway/static/root/assets/goals-page-C0FujUB5.js +2 -0
- package/dist/gateway/static/root/assets/goals-settings-CJnzNSDo.js +1 -0
- package/dist/gateway/static/root/assets/heartbeat-config-api-Cp7CPuIn.js +1 -0
- package/dist/gateway/static/root/assets/heartbeat-settings-ifSI1Wbh.js +1 -0
- package/dist/gateway/static/root/assets/html-workspace-editor-CQLWDiwE.js +1 -0
- package/dist/gateway/static/root/assets/index-COkF54xv.js +121 -0
- package/dist/gateway/static/root/assets/index-DIaSNGEO.css +1 -0
- package/dist/gateway/static/root/assets/interval-presets-B29Ss_2y.js +2 -0
- package/dist/gateway/static/root/assets/keyboard-shortcuts-settings--MI1rYl7.js +1 -0
- package/dist/gateway/static/root/assets/locale-store-DjbfSsfA.js +1 -0
- package/dist/gateway/static/root/assets/logs-page-BwrVNlyW.js +2 -0
- package/dist/gateway/static/root/assets/markdown-editor-AssmZFx4.js +2 -0
- package/dist/gateway/static/root/assets/markdown-split-B_oc9lJe.js +1 -0
- package/dist/gateway/static/root/assets/media-plugins-DLPvB5H3.js +1 -0
- package/dist/gateway/static/root/assets/mermaid-render-BbqDc_LQ.js +134 -0
- package/dist/gateway/static/root/assets/messages-Csef1aW7.js +3 -0
- package/dist/gateway/static/root/assets/middleware-Pd0e8Igk.js +1 -0
- package/dist/gateway/static/root/assets/models-hub-panel-DHGiTIvf.js +2 -0
- package/dist/gateway/static/root/assets/note-detail-page-BM7zlDiT.js +2 -0
- package/dist/gateway/static/root/assets/note-image-lightbox-rSqAgOi9.js +1 -0
- package/dist/gateway/static/root/assets/note-time-hm6JO_Wi.js +1 -0
- package/dist/gateway/static/root/assets/notes-page-C9ACGEty.js +1 -0
- package/dist/gateway/static/root/assets/preview-open-alternatives-Bw_N2oZi.js +1 -0
- package/dist/gateway/static/root/assets/remote-access-hub-BhcWIKuM.js +1 -0
- package/dist/gateway/static/root/assets/save-bar-controls-CNP2jmw0.js +1 -0
- package/dist/gateway/static/root/assets/schedule-field-BPAWui3P.js +1 -0
- package/dist/gateway/static/root/assets/schedule-summary-B-hdSRdR.js +1 -0
- package/dist/gateway/static/root/assets/schema-form-CDPzua9q.js +1 -0
- package/dist/gateway/static/root/assets/sessions-page-DzkpSDZr.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-BYS-rpzn.js +1 -0
- package/dist/gateway/static/root/assets/settings-collapsible-section-C9bff85B.js +1 -0
- package/dist/gateway/static/root/assets/settings-form-section-BsrK7TBF.js +1 -0
- package/dist/gateway/static/root/assets/settings-page-DWK4Zo7s.js +1 -0
- package/dist/gateway/static/root/assets/setup-status-panel-DJiksNu4.js +1 -0
- package/dist/gateway/static/root/assets/share-preview-page-DnutoY_S.js +2 -0
- package/dist/gateway/static/root/assets/shares-settings-6oRgJMpn.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-CU9i0nJV.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-ERbdWENm.js +2 -0
- package/dist/gateway/static/root/assets/system-settings-panel-qP1JDtDd.js +1 -0
- package/dist/gateway/static/root/assets/theme-store-CD2wtgZV.js +1 -0
- package/dist/gateway/static/root/assets/use-agent-defaults-form-D3FGVLZb.js +1 -0
- package/dist/gateway/static/root/assets/use-blob-object-url-D4BFuzZB.js +1 -0
- package/dist/gateway/static/root/assets/use-channel-catalog-C4mg1hjD.js +1 -0
- package/dist/gateway/static/root/assets/use-settings-tab-guard-F6C0mpJt.js +1 -0
- package/dist/gateway/static/root/assets/vendor-codemirror-CNP1wPe7.js +45 -0
- package/dist/gateway/static/root/assets/voice-api-key-field-BnDDb6qO.js +1 -0
- package/dist/gateway/static/root/assets/voice-player-store-B2EwIhtY.js +1 -0
- package/dist/gateway/static/root/assets/{workflow-page.utils-EYg_xBQS.js → workflow-page.utils-CRB7WX9l.js} +1 -1
- package/dist/gateway/static/root/assets/workflows-page-2Fptr0je.js +18 -0
- package/dist/gateway/static/root/index.html +12 -10
- package/dist/package.js +1 -1
- package/dist/src/agent/goals/checklist-judge.d.ts +5 -0
- package/dist/src/agent/goals/checklist-judge.js +26 -2
- package/dist/src/agent/goals/checklist-judge.js.map +1 -1
- package/dist/src/agent/goals/evaluate-turn.d.ts +5 -1
- package/dist/src/agent/goals/evaluate-turn.js +29 -3
- package/dist/src/agent/goals/evaluate-turn.js.map +1 -1
- package/dist/src/agent/goals/goal-locale.d.ts +0 -2
- package/dist/src/agent/goals/goal-locale.js +2 -15
- package/dist/src/agent/goals/goal-locale.js.map +1 -1
- package/dist/src/agent/goals/persistent-goal-service.d.ts +9 -0
- package/dist/src/agent/goals/persistent-goal-service.js +2 -1
- package/dist/src/agent/goals/persistent-goal-service.js.map +1 -1
- package/dist/src/agent/goals/post-turn.d.ts +7 -0
- package/dist/src/agent/goals/post-turn.js +68 -23
- package/dist/src/agent/goals/post-turn.js.map +1 -1
- package/dist/src/agent/goals/state.d.ts +0 -5
- package/dist/src/agent/goals/state.js +1 -96
- package/dist/src/agent/goals/state.js.map +1 -1
- package/dist/src/agent/messaging/command-handler.d.ts +4 -0
- package/dist/src/agent/messaging/command-handler.js +6 -2
- package/dist/src/agent/messaging/command-handler.js.map +1 -1
- package/dist/src/agent/service/direct-turn-helpers.d.ts +2 -0
- package/dist/src/agent/service/direct-turn-helpers.js +3 -2
- package/dist/src/agent/service/direct-turn-helpers.js.map +1 -1
- package/dist/src/agent/service/process-direct-streaming.js +10 -1
- package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
- package/dist/src/agent/service.js +20 -1
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/service.types.d.ts +8 -0
- package/dist/src/agent/tools/cronjob-tool.d.ts +2 -0
- package/dist/src/agent/tools/cronjob-tool.js +27 -4
- package/dist/src/agent/tools/cronjob-tool.js.map +1 -1
- package/dist/src/agent/tools/edit.d.ts +2 -0
- package/dist/src/agent/tools/edit.js +10 -0
- package/dist/src/agent/tools/edit.js.map +1 -1
- package/dist/src/agent/tools/factory.js +16 -3
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/goal-evidence-recorder.d.ts +6 -0
- package/dist/src/agent/tools/goal-evidence-recorder.js +34 -0
- package/dist/src/agent/tools/goal-evidence-recorder.js.map +1 -0
- package/dist/src/agent/tools/goal-tool.d.ts +19 -0
- package/dist/src/agent/tools/goal-tool.js +101 -0
- package/dist/src/agent/tools/goal-tool.js.map +1 -0
- package/dist/src/agent/tools/index.d.ts +1 -0
- package/dist/src/agent/tools/index.js +2 -1
- package/dist/src/agent/tools/shell.d.ts +2 -0
- package/dist/src/agent/tools/shell.js +17 -2
- package/dist/src/agent/tools/shell.js.map +1 -1
- package/dist/src/agent/tools/workflow-tool.d.ts +1 -0
- package/dist/src/agent/tools/workflow-tool.js +10 -2
- package/dist/src/agent/tools/workflow-tool.js.map +1 -1
- package/dist/src/agent/tools/write.d.ts +2 -0
- package/dist/src/agent/tools/write.js +11 -0
- package/dist/src/agent/tools/write.js.map +1 -1
- package/dist/src/channels/attachments/inbound-persist.d.ts +7 -0
- package/dist/src/channels/attachments/inbound-persist.js +20 -2
- package/dist/src/channels/attachments/inbound-persist.js.map +1 -1
- package/dist/src/chat-commands/builtins/goal.d.ts +1 -1
- package/dist/src/chat-commands/builtins/goal.js +55 -97
- package/dist/src/chat-commands/builtins/goal.js.map +1 -1
- package/dist/src/chat-commands/builtins/subgoal.d.ts +1 -1
- package/dist/src/chat-commands/builtins/subgoal.js +49 -108
- package/dist/src/chat-commands/builtins/subgoal.js.map +1 -1
- package/dist/src/chat-commands/builtins/workflow.js +132 -8
- package/dist/src/chat-commands/builtins/workflow.js.map +1 -1
- package/dist/src/chat-commands/context.d.ts +3 -0
- package/dist/src/chat-commands/context.js +5 -0
- package/dist/src/chat-commands/context.js.map +1 -1
- package/dist/src/chat-commands/types.d.ts +5 -0
- package/dist/src/cli/command-catalog.js +43 -0
- package/dist/src/cli/command-catalog.js.map +1 -1
- package/dist/src/cli/command-loaders.js +1 -0
- package/dist/src/cli/command-loaders.js.map +1 -1
- package/dist/src/cli/command-manifest.js +4 -0
- package/dist/src/cli/command-manifest.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/goal.d.ts +4 -0
- package/dist/src/cli/commands/goal.js +213 -0
- package/dist/src/cli/commands/goal.js.map +1 -0
- package/dist/src/cli/commands/onboard.js +11 -5
- package/dist/src/cli/commands/onboard.js.map +1 -1
- package/dist/src/config/index.js +2 -2
- package/dist/src/config/schema.d.ts +115 -0
- package/dist/src/config/schema.js +63 -4
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/config/web-patch.d.ts +14 -0
- package/dist/src/config/web-patch.js +45 -6
- package/dist/src/config/web-patch.js.map +1 -1
- package/dist/src/cron/executor.d.ts +2 -0
- package/dist/src/cron/executor.js +25 -0
- package/dist/src/cron/executor.js.map +1 -1
- package/dist/src/cron/job-content.js +1 -0
- package/dist/src/cron/job-content.js.map +1 -1
- package/dist/src/cron/types.d.ts +19 -1
- package/dist/src/cron/validation.d.ts +20 -0
- package/dist/src/cron/validation.js +7 -0
- package/dist/src/cron/validation.js.map +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +14 -0
- package/dist/src/gateway/hono/routes/goals.d.ts +1 -1
- package/dist/src/gateway/hono/routes/goals.js +670 -173
- package/dist/src/gateway/hono/routes/goals.js.map +1 -1
- package/dist/src/gateway/hono/routes/home.d.ts +5 -0
- package/dist/src/gateway/hono/routes/home.js +88 -3
- package/dist/src/gateway/hono/routes/home.js.map +1 -1
- package/dist/src/gateway/hono/routes/notes.js +20 -14
- package/dist/src/gateway/hono/routes/notes.js.map +1 -1
- package/dist/src/gateway/hono/routes/workflows.js +6 -2
- package/dist/src/gateway/hono/routes/workflows.js.map +1 -1
- package/dist/src/gateway/hono/sse.js.map +1 -1
- package/dist/src/gateway/service/agent-runner.d.ts +2 -0
- package/dist/src/gateway/service/agent-runner.js +6 -2
- package/dist/src/gateway/service/agent-runner.js.map +1 -1
- package/dist/src/gateway/service/run-gateway-agent.d.ts +3 -0
- package/dist/src/gateway/service/run-gateway-agent.js.map +1 -1
- package/dist/src/gateway/service.d.ts +8 -0
- package/dist/src/gateway/service.js +69 -2
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/goals/goal-notifications.d.ts +29 -0
- package/dist/src/goals/goal-notifications.js +154 -0
- package/dist/src/goals/goal-notifications.js.map +1 -0
- package/dist/src/goals/goal-queue-store.d.ts +16 -0
- package/dist/src/goals/goal-queue-store.js +131 -0
- package/dist/src/goals/goal-queue-store.js.map +1 -0
- package/dist/src/goals/goal-queue-types.d.ts +31 -0
- package/dist/src/goals/goal-queue-types.js +1 -0
- package/dist/src/goals/goal-runner.d.ts +17 -0
- package/dist/src/goals/goal-runner.js +127 -0
- package/dist/src/goals/goal-runner.js.map +1 -0
- package/dist/src/goals/goal-service.d.ts +77 -0
- package/dist/src/goals/goal-service.js +261 -0
- package/dist/src/goals/goal-service.js.map +1 -0
- package/dist/src/goals/goal-store.d.ts +38 -0
- package/dist/src/goals/goal-store.js +404 -0
- package/dist/src/goals/goal-store.js.map +1 -0
- package/dist/src/goals/goal-workflow-judge.d.ts +13 -0
- package/dist/src/goals/goal-workflow-judge.js +147 -0
- package/dist/src/goals/goal-workflow-judge.js.map +1 -0
- package/dist/src/goals/index.d.ts +10 -0
- package/dist/src/goals/index.js +7 -0
- package/dist/src/goals/types.d.ts +119 -0
- package/dist/src/goals/types.js +1 -0
- package/dist/src/storage/sqlite/migrations/006_add_goals.sql +108 -0
- package/dist/src/storage/sqlite/migrations/007_goal_run_judge_schema.sql +4 -0
- package/dist/src/storage/sqlite/migrations/008_goal_queue_workflow_runs.sql +53 -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/schema.js +1 -1
- package/dist/src/storage/sqlite/schema.sql +163 -0
- package/dist/src/utils/logger/stats.d.ts +1 -1
- package/dist/src/workflows/domain/run.d.ts +1 -0
- package/dist/src/workflows/domain/run.js.map +1 -1
- package/dist/src/workflows/service/workflow-run-service.d.ts +1 -0
- package/dist/src/workflows/service/workflow-run-service.js +5 -1
- package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
- package/dist/src/workflows/service/workflow-run-service.types.d.ts +1 -0
- package/dist/src/workflows/service/workflow-session-bridge.js +7 -0
- package/dist/src/workflows/service/workflow-session-bridge.js.map +1 -1
- package/dist/src/workflows/store/run-index-store.d.ts +8 -0
- package/dist/src/workflows/store/run-index-store.js +58 -0
- package/dist/src/workflows/store/run-index-store.js.map +1 -0
- package/dist/src/workflows/store/run-store.d.ts +2 -0
- package/dist/src/workflows/store/run-store.js +14 -21
- package/dist/src/workflows/store/run-store.js.map +1 -1
- package/package.json +9 -3
- package/dist/gateway/static/root/assets/Combination-HAlzriaz.js +0 -41
- package/dist/gateway/static/root/assets/agents-CFFioJCI.js +0 -78
- package/dist/gateway/static/root/assets/apps-page-BYDmkbzG.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-CsbDaMvd.js +0 -1
- package/dist/gateway/static/root/assets/circle-check-C23XjkUj.js +0 -1
- package/dist/gateway/static/root/assets/copy-Dv6d4Dvw.js +0 -1
- package/dist/gateway/static/root/assets/cron-page-Apk-7p4p.js +0 -1
- package/dist/gateway/static/root/assets/dist-DmGDgpy2.js +0 -1
- package/dist/gateway/static/root/assets/extension-debug-page-pxFC-tUa.js +0 -1
- package/dist/gateway/static/root/assets/extension-settings-page-COXSv6xP.js +0 -1
- package/dist/gateway/static/root/assets/fetch-CFdKBnE6.js +0 -1
- package/dist/gateway/static/root/assets/gateway-startup-retry-DdngdObI.js +0 -1
- package/dist/gateway/static/root/assets/heartbeat-config-api-DcmAMYmN.js +0 -1
- package/dist/gateway/static/root/assets/index-C_2yKRJX.js +0 -4845
- package/dist/gateway/static/root/assets/index-DI5_GsZt.css +0 -1
- package/dist/gateway/static/root/assets/logs-page-DvTWUOzd.js +0 -2
- package/dist/gateway/static/root/assets/note-detail-page-CZbdugWZ.js +0 -180
- package/dist/gateway/static/root/assets/note-time-RdyBZxj3.js +0 -1
- package/dist/gateway/static/root/assets/notes-page-mEAwy3e1.js +0 -1
- package/dist/gateway/static/root/assets/schema-form-DEvdni_r.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-BsgffzV4.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-t6v8Dwb8.js +0 -2
- package/dist/gateway/static/root/assets/settings-form-section-BoYYZmJG.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-ClIthYF8.js +0 -3
- package/dist/gateway/static/root/assets/share-preview-page-Dd9et7KD.js +0 -2
- package/dist/gateway/static/root/assets/skills-page-DEXtxyfQ.js +0 -2
- package/dist/gateway/static/root/assets/theme-store-BZozwAeK.js +0 -1
- package/dist/gateway/static/root/assets/url-DQRqHuL-.js +0 -3
- package/dist/gateway/static/root/assets/vendor-codemirror-DYoKfS8f.js +0 -45
- package/dist/gateway/static/root/assets/voice-api-key-field-CNrKzQrf.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-EMZkzJNN.js +0 -18
- package/dist/src/agent/goals/checklist-user.d.ts +0 -24
- package/dist/src/agent/goals/checklist-user.js +0 -92
- package/dist/src/agent/goals/checklist-user.js.map +0 -1
- package/dist/src/agent/goals/goal-run-store.d.ts +0 -19
- package/dist/src/agent/goals/goal-run-store.js +0 -138
- package/dist/src/agent/goals/goal-run-store.js.map +0 -1
- package/dist/src/agent/goals/goal-run-types.d.ts +0 -28
- package/dist/src/agent/goals/goal-run-types.js +0 -6
- package/dist/src/agent/goals/goal-run-types.js.map +0 -1
- package/dist/src/agent/goals/patch-from-user-action.d.ts +0 -20
- package/dist/src/agent/goals/patch-from-user-action.js +0 -103
- package/dist/src/agent/goals/patch-from-user-action.js.map +0 -1
- /package/dist/gateway/static/root/assets/{note-detail-page-D4ZIVQbk.css → block-editor-D4ZIVQbk.css} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-JdwAhgNB.js";import{c as a,i as o,n as s}from"./fetch-Bs7in_4F.js";import{o as c}from"./vendor-swr-BIWyz7Rc.js";import{$ as l,Oi as u,Ss as d,X as f,Y as p,_a as m,br as h,gi as g,ki as _,ko as v,qa as y,rs as b,yr as x}from"./index-COkF54xv.js";var S=`/api/image/providers`;async function C(){return(await s(o(`/api/image/providers`)))?.payload?.providers??[]}var w=e(t(),1),ee=n();function T(){return{apiKey:``,region:``,baseUrl:``,imageBaseUrl:``}}function te(e){return e?.apiKey?`••••••••••••`:``}function E(e,t){let n=(()=>{if(!e||typeof e!=`object`||!(`providersConfig`in e))return;let t=e.providersConfig;if(!(!t||typeof t!=`object`||Array.isArray(t)))return t})(),r={};for(let e of t){let t=n?.[e];r[e]={apiKey:te(t),region:t?.region??``,baseUrl:t?.baseUrl??``,imageBaseUrl:t?.imageBaseUrl??``}}return r}function D(e,t,n){let r=e[n].trim();if(r!==t[n].trim())return r||null}function O(e,t){let n=e.trim(),r=t.trim();if(n!==r&&!(l(n)&&l(r)))return n||(r?null:void 0)}function k(e,t,n){let r={};for(let i of e){let e=t[i]??T(),a=n[i]??T();if(JSON.stringify(e)===JSON.stringify(a))continue;let o={},s=O(e.apiKey,a.apiKey);s!==void 0&&(o.apiKey=s);let c=D(e,a,`region`);c!==void 0&&(o.region=c);let l=D(e,a,`baseUrl`);l!==void 0&&(o.baseUrl=l);let u=D(e,a,`imageBaseUrl`);u!==void 0&&(o.imageBaseUrl=u),Object.keys(o).length>0&&(r[i]=o)}return r}async function A(e){let t=await s(o(`/api/image/providers/${encodeURIComponent(e)}/reveal-api-key`),{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`});if(!t.ok||!t.payload)throw Error(t.error?.message??`Reveal failed`);return t.payload}async function j(e){Object.keys(e).length!==0&&(await s(o(`/api/config`),{method:`PATCH`,body:JSON.stringify({providersConfig:e})}),await x())}var M=r();function ne(e){let t=(0,ee.c)(18),{providerId:n,value:r,onChange:i,labels:a,apiKeyLinks:o,apiKeyLinkLabels:s}=e,c;t[0]===n?c=t[1]:(c=()=>A(n).then(N),t[0]=n,t[1]=c);let l=c,u=`img-cred-key-${n}`,d;t[2]!==a.apiKeyLabel||t[3]!==u?(d=(0,M.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:u,children:a.apiKeyLabel}),t[2]=a.apiKeyLabel,t[3]=u,t[4]=d):d=t[4];let p;t[5]!==s||t[6]!==o?(p=o.length>0?(0,M.jsx)(`div`,{className:`flex flex-col gap-1`,children:o.map(e=>(0,M.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex w-fit items-center gap-1 text-xs font-medium text-accent-fg hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[f(e.kind,s),(0,M.jsx)(v,{className:`size-3`,"aria-hidden":!0})]},`${e.kind}-${e.href}`))}):null,t[5]=s,t[6]=o,t[7]=p):p=t[7];let m=`img-cred-key-${n}`,h;t[8]!==a||t[9]!==i||t[10]!==l||t[11]!==m||t[12]!==r?(h=(0,M.jsx)(g,{id:m,value:r,onChange:i,placeholder:a.optionalPlaceholder,labels:a,reveal:l,loadFailedLabel:a.loadFailed,maskedHelp:a.maskedHelp,notInConfigFile:a.notInConfigFile}),t[8]=a,t[9]=i,t[10]=l,t[11]=m,t[12]=r,t[13]=h):h=t[13];let _;return t[14]!==d||t[15]!==p||t[16]!==h?(_=(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[d,p,h]}),t[14]=d,t[15]=p,t[16]=h,t[17]=_):_=t[17],_}function N(e){return e.apiKey??null}function P(){return i(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,u)}function re(){return i(P(),`appearance-none bg-[length:1rem] bg-[right_0.5rem_center] bg-no-repeat pr-9`)}var F=`__custom__`;function ie(e,t){if(!e.region.trim()&&!e.imageBaseUrl.trim())return``;let n=e.region.trim().toLowerCase();return t.some(e=>e.value===n)?n:F}function ae(e,t){let n=e.baseUrl.trim().replace(/\/+$/,``);if(!n)return``;let r=t.map(e=>e.value.replace(/\/+$/,``)).indexOf(n);return r>=0?t[r].value:F}function oe(e,t,n){return t===`beijing`?e.dashscopeRegion_beijing:t===`singapore`?e.dashscopeRegion_singapore:t===`us`?e.dashscopeRegion_us:n}function se(e,t){return t===`minimax`?e.minimaxClusterLabel:t===`fal`?e.falQueueBaseLabel:e.baseUrlLabel}function ce(e,t){return t===`minimax`?e.minimaxClusterHint:t===`fal`?e.falQueueBaseHint:null}function le(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function ue(e,t){return t===1?e.modelCountOne:e.modelCountMany.replace(`{count}`,String(t))}function I(e){let t=(0,ee.c)(76),{summaries:n,credDraft:r,credBaseline:a,credDirty:o,credSaving:s,credError:c,credSavedFlash:l,credNoopFlash:u,updateCredRow:f,onDiscardCredentials:h,onSaveCredentials:g,extensionIds:x,showExtensionLinks:S,showImageModelsLink:C,hideActions:te,language:E,apiKeyLinkLabels:D,messages:O}=e,k=te===void 0?!1:te,A;t[0]===n?A=t[1]:(A=n.some(he),t[0]=n,t[1]=A);let j=A,N;t[2]===n?N=t[3]:(N=n.some(me),t[2]=n,t[3]=N);let I=N,[ge,_e]=(0,w.useState)(pe),[ve,L]=(0,w.useState)(fe),R;if(t[4]!==a||t[5]!==r||t[6]!==n){R=new Set;for(let e of n)le(r[e.id]??T(),a[e.id]??T())&&R.add(e.id);t[4]=a,t[5]=r,t[6]=n,t[7]=R}else R=t[7];let z=R,B;t[8]!==z||t[9]!==ve||t[10]!==ge?(B=e=>ve.has(e)?!1:ge.has(e)?!0:z.has(e),t[8]=z,t[9]=ve,t[10]=ge,t[11]=B):B=t[11];let V=B,H;t[12]===V?H=t[13]:(H=e=>{if(V(e)){L(t=>new Set(t).add(e)),_e(t=>{let n=new Set(t);return n.delete(e),n});return}L(t=>{let n=new Set(t);return n.delete(e),n}),_e(t=>new Set(t).add(e))},t[12]=V,t[13]=H);let U=H;if(n.length===0)return null;let W;t[14]===O.credentialsIntro?W=t[15]:(W=(0,M.jsx)(`p`,{children:O.credentialsIntro}),t[14]=O.credentialsIntro,t[15]=W);let G;t[16]!==j||t[17]!==O.regionHint?(G=j?(0,M.jsx)(`p`,{className:`text-fg-subtle`,children:O.regionHint}):null,t[16]=j,t[17]=O.regionHint,t[18]=G):G=t[18];let K;t[19]!==I||t[20]!==O.endpointPresetsHint?(K=I?(0,M.jsx)(`p`,{className:`text-fg-subtle`,children:O.endpointPresetsHint}):null,t[19]=I,t[20]=O.endpointPresetsHint,t[21]=K):K=t[21];let q;t[22]!==C||t[23]!==O.imageModelsLinkTitle||t[24]!==O.openImageModelsPage?(q=C?(0,M.jsx)(`p`,{children:(0,M.jsx)(d,{to:`/settings/credentials?tab=image-models`,className:`font-medium text-accent hover:underline`,title:O.imageModelsLinkTitle,children:O.openImageModelsPage})}):null,t[22]=C,t[23]=O.imageModelsLinkTitle,t[24]=O.openImageModelsPage,t[25]=q):q=t[25];let J;t[26]!==W||t[27]!==G||t[28]!==K||t[29]!==q?(J=(0,M.jsxs)(`div`,{className:`flex flex-col gap-1 text-xs leading-relaxed text-fg-muted`,children:[W,G,K,q]}),t[26]=W,t[27]=G,t[28]=K,t[29]=q,t[30]=J):J=t[30];let Y;t[31]===c?Y=t[32]:(Y=c?(0,M.jsx)(`div`,{className:`rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:c}):null,t[31]=c,t[32]=Y);let X;t[33]!==o||t[34]!==u||t[35]!==l||t[36]!==s||t[37]!==k||t[38]!==h||t[39]!==g||t[40]!==O.credentialsNothingToSave||t[41]!==O.credentialsSaved||t[42]!==O.discardCredentials||t[43]!==O.saveCredentials||t[44]!==O.savingCredentials?(X=k?null:(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[l?(0,M.jsx)(`span`,{className:`text-sm text-fg-muted`,children:O.credentialsSaved}):null,u?(0,M.jsx)(`span`,{className:`text-sm text-fg-muted`,children:O.credentialsNothingToSave}):null,(0,M.jsx)(_,{type:`button`,variant:`secondary`,onClick:h,disabled:!o||s,children:O.discardCredentials}),(0,M.jsx)(_,{type:`button`,variant:`primary`,onClick:g,disabled:!o||s,children:s?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(y,{className:`size-3.5 animate-spin`}),(0,M.jsx)(`span`,{className:`ml-1.5`,children:O.savingCredentials})]}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(m,{className:`size-3.5`}),(0,M.jsx)(`span`,{className:`ml-1.5`,children:O.saveCredentials})]})})]}),t[33]=o,t[34]=u,t[35]=l,t[36]=s,t[37]=k,t[38]=h,t[39]=g,t[40]=O.credentialsNothingToSave,t[41]=O.credentialsSaved,t[42]=O.discardCredentials,t[43]=O.saveCredentials,t[44]=O.savingCredentials,t[45]=X):X=t[45];let Z;if(t[46]!==D||t[47]!==a||t[48]!==r||t[49]!==x||t[50]!==V||t[51]!==E||t[52]!==S||t[53]!==n||t[54]!==O||t[55]!==U||t[56]!==f){let e;t[58]!==D||t[59]!==a||t[60]!==r||t[61]!==x||t[62]!==V||t[63]!==E||t[64]!==S||t[65]!==O||t[66]!==U||t[67]!==f?(e=e=>{let t=r[e.id]??T(),n=e.ui,o=S&&x.has(e.id)?`/settings/ext/${encodeURIComponent(e.id)}`:null,s=le(t,a[e.id]??T()),c=V(e.id),l=e.label??e.id,u=ue(O,e.models.length);return(0,M.jsxs)(`section`,{className:i(`overflow-hidden rounded-xl border bg-surface-panel shadow-sm transition-colors dark:shadow-none`,s?`border-accent/50`:`border-edge`),children:[(0,M.jsxs)(`button`,{type:`button`,className:`flex w-full items-start justify-between gap-3 px-4 py-3 text-left hover:bg-surface-hover/70`,"aria-expanded":c,"aria-controls":`img-provider-credentials-${e.id}`,onClick:()=>U(e.id),children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,M.jsx)(`span`,{className:`truncate text-sm font-semibold text-fg`,children:l}),(0,M.jsx)(`span`,{className:`rounded-full bg-surface-subtle px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:e.id}),s?(0,M.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:O.unsavedChanges}):null,e.configured?(0,M.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:O.configured}):(0,M.jsx)(`span`,{className:`rounded-full border border-amber-500/40 bg-amber-500/10 px-2 py-0.5 text-[11px] font-medium text-amber-700 dark:text-amber-300`,children:O.missingKey})]}),(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-xs text-fg-subtle`,children:[(0,M.jsx)(`span`,{children:u}),e.defaultModel?(0,M.jsxs)(`span`,{className:`min-w-0 truncate`,children:[(0,M.jsxs)(`span`,{className:`text-fg-muted`,children:[O.defaultModel,`:`]}),` `,e.id,`/`,e.defaultModel]}):null]})]}),(0,M.jsx)(b,{className:i(`mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform`,c?`rotate-180`:`rotate-0`),"aria-hidden":`true`}),(0,M.jsx)(`span`,{className:`sr-only`,children:c?O.collapseProvider:O.expandProvider})]}),c?(0,M.jsxs)(`div`,{id:`img-provider-credentials-${e.id}`,className:`border-t border-edge px-4 py-4`,children:[o?(0,M.jsxs)(d,{to:o,className:`mb-3 inline-flex items-center gap-1 text-xs font-medium text-accent hover:underline`,title:O.extensionSettingsLinkTitle,children:[(0,M.jsx)(v,{className:`size-3`}),O.openExtensionSettings]}):null,e.models.length>0?(0,M.jsxs)(`p`,{className:`mb-3 text-xs leading-relaxed text-fg-subtle`,children:[(0,M.jsxs)(`span`,{className:`text-fg-muted`,children:[O.modelsLabel,`:`]}),` `,e.models.map(t=>`${e.id}/${t}`).join(`, `)]}):null,(0,M.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,M.jsx)(ne,{providerId:e.id,value:t.apiKey,onChange:t=>f(e.id,{apiKey:t}),apiKeyLinks:p(e.id,E),apiKeyLinkLabels:D,labels:{apiKeyLabel:O.apiKeyLabel,optionalPlaceholder:O.optionalPlaceholder,maskedHelp:O.apiKeyMaskedHelp,copy:O.apiKeyCopy,copied:O.apiKeyCopied,show:O.apiKeyShow,hide:O.apiKeyHide,notInConfigFile:O.apiKeyNotInConfigFile,loadFailed:O.apiKeyRevealFailed}}),n?.regions?.length?(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,M.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-region-preset-${e.id}`,children:O.regionLabel}),(0,M.jsxs)(`select`,{id:`img-cred-region-preset-${e.id}`,className:re(),value:ie(t,n.regions),onChange:t=>{let r=t.target.value;if(r===``){f(e.id,{region:``,imageBaseUrl:``});return}if(r===F){f(e.id,{region:``,imageBaseUrl:``});return}let i=n.regions.find(e=>e.value===r);i&&f(e.id,{region:i.value,imageBaseUrl:i.imageBaseUrl})},children:[(0,M.jsx)(`option`,{value:``,children:O.regionPresetDefault}),n.regions.map(e=>(0,M.jsx)(`option`,{value:e.value,children:oe(O,e.value,e.label)},e.value)),(0,M.jsx)(`option`,{value:F,children:O.regionPresetCustom})]}),ie(t,n.regions)===F?(0,M.jsxs)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-2`,children:[(0,M.jsx)(`input`,{type:`text`,className:P(),value:t.region,placeholder:`region`,onChange:t=>f(e.id,{region:t.target.value})}),(0,M.jsx)(`input`,{type:`url`,className:P(),value:t.imageBaseUrl,placeholder:O.imageBaseUrlLabel,onChange:t=>f(e.id,{imageBaseUrl:t.target.value})})]}):null]}):null,n?.baseUrlPresets?.length?(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,M.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-base-preset-${e.id}`,children:se(O,n.baseUrlPresetKind)}),ce(O,n.baseUrlPresetKind)?(0,M.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:ce(O,n.baseUrlPresetKind)}):null,(0,M.jsxs)(`select`,{id:`img-cred-base-preset-${e.id}`,className:re(),value:ae(t,n.baseUrlPresets),onChange:t=>{let n=t.target.value;if(n===``){f(e.id,{baseUrl:``});return}if(n===F){f(e.id,{baseUrl:``});return}f(e.id,{baseUrl:n.replace(/\/+$/,``)})},children:[(0,M.jsx)(`option`,{value:``,children:O.baseUrlPresetDefault}),n.baseUrlPresets.map(de),(0,M.jsx)(`option`,{value:F,children:O.baseUrlPresetCustom})]}),ae(t,n.baseUrlPresets)===F?(0,M.jsx)(`input`,{type:`url`,className:i(P(),`mt-2`),value:t.baseUrl,placeholder:`https://…`,onChange:t=>f(e.id,{baseUrl:t.target.value})}):null]}):null,n?.regions?.length&&ie(t,n.regions)!==F?(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,M.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-imgbase-ro-${e.id}`,children:O.imageBaseUrlLabel}),(0,M.jsx)(`input`,{id:`img-cred-imgbase-ro-${e.id}`,type:`url`,readOnly:!0,className:i(P(),`cursor-not-allowed opacity-90`),value:t.imageBaseUrl,title:O.imageBaseUrlPresetHint}),(0,M.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:O.imageBaseUrlPresetHint})]}):null]})]}):null]},e.id)},t[58]=D,t[59]=a,t[60]=r,t[61]=x,t[62]=V,t[63]=E,t[64]=S,t[65]=O,t[66]=U,t[67]=f,t[68]=e):e=t[68],Z=n.map(e),t[46]=D,t[47]=a,t[48]=r,t[49]=x,t[50]=V,t[51]=E,t[52]=S,t[53]=n,t[54]=O,t[55]=U,t[56]=f,t[57]=Z}else Z=t[57];let Q;t[69]===Z?Q=t[70]:(Q=(0,M.jsx)(`div`,{className:`flex flex-col gap-4`,children:Z}),t[69]=Z,t[70]=Q);let $;return t[71]!==J||t[72]!==Y||t[73]!==X||t[74]!==Q?($=(0,M.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[J,Y,X,Q]}),t[71]=J,t[72]=Y,t[73]=X,t[74]=Q,t[75]=$):$=t[75],$}function de(e){return(0,M.jsx)(`option`,{value:e.value,children:e.label},e.value)}function fe(){return new Set}function pe(){return new Set}function me(e){return(e.ui?.baseUrlPresets?.length??0)>0}function he(e){return(e.ui?.regions?.length??0)>0}function ge(e){let t=h(a(e=>!!e.token)),n=t.data,r=(0,w.useMemo)(()=>e.map(e=>e.id),[e]),i=(0,w.useRef)(!1),[s,l]=(0,w.useState)(null),[u,d]=(0,w.useState)(!1),[f,p]=(0,w.useState)(null),[m,g]=(0,w.useState)(!1),[_,v]=(0,w.useState)(!1),y=(0,w.useMemo)(()=>E(n?.payload?.config,r),[n?.payload?.config,r]),b=s??y,x=y;return{gwSwr:t,credDraft:b,credBaseline:x,credDirty:(0,w.useMemo)(()=>JSON.stringify(b)!==JSON.stringify(x),[b,x]),credSaving:u,credError:f,credSavedFlash:m,credNoopFlash:_,updateCredRow:(0,w.useCallback)((e,t)=>{i.current=!0,l(n=>{let r=n??y,i=r[e]??T();return{...r,[e]:{...i,...t}}})},[y]),onDiscardCredentials:(0,w.useCallback)(()=>{i.current=!1,l(null),p(null),g(!1),v(!1)},[]),saveCredentials:(0,w.useCallback)(async e=>{let n=k(r,b,x);if(Object.keys(n).length===0){v(!0),window.setTimeout(()=>v(!1),2200);return}d(!0),p(null),g(!1);try{await j(n),await t.mutate?.(),c(o(S)),i.current=!1,l(null),g(!0),window.setTimeout(()=>g(!1),2e3)}catch(t){p(t instanceof Error?t.message:e)}finally{d(!1)}},[r,b,x,t])}}function _e(){return{enabled:!1,provider:`alibaba`,alibaba:{model:`paraformer-v2`},openai:{model:`whisper-1`},fallback:{enabled:!0,order:[`alibaba`,`openai`]}}}function ve(){return{enabled:!1,provider:`openai`,trigger:`always`,maxTextLength:512,timeoutMs:6e4,alibaba:{model:`qwen-tts`,voice:`Cherry`},openai:{model:`tts-1`,voice:`alloy`},edge:{voice:`en-US-MichelleNeural`},minimax:{model:`speech-2.8-hd`,voice:`male-qn-qingse`},"tts-local-cli":{command:``,outputFormat:`wav`}}}function L(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function R(e){return typeof e==`string`&&e.trim().length>0?e.trim():`alibaba`}function z(e,t,n){let r=L(e.providers)?e.providers:void 0,i=r&&L(r[t])?r[t]:void 0;return{...n,...i??{}}}function B(e){let t=_e();if(!L(e))return t;let n=R(e.provider),r=z(e,`alibaba`,t.alibaba??{}),i=z(e,`openai`,t.openai??{}),a=t.fallback??{enabled:!0,order:[`alibaba`,`openai`]};if(L(e.fallback)){let t=Array.isArray(e.fallback.order)?e.fallback.order.filter(e=>typeof e==`string`&&e.trim().length>0):a.order;a={enabled:typeof e.fallback.enabled==`boolean`?e.fallback.enabled:a.enabled,order:t.length?t:a.order}}let o=L(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,L(t)?{...t}:{}])):void 0;return{enabled:!!e.enabled,provider:n,alibaba:r,openai:i,...o?{providers:o}:{},fallback:a}}function V(e){return typeof e==`string`&&e.trim().length>0?e.trim():`openai`}function H(e){let t=ve();if(!L(e))return t;let n=V(e.provider),r=e.trigger===`off`||e.trigger===`always`||e.trigger===`inbound`||e.trigger===`tagged`?e.trigger:`always`,i=t[`tts-local-cli`]??{},a=L(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,L(t)?{...t}:{}])):void 0;return{enabled:!!e.enabled,provider:n,trigger:r,maxTextLength:typeof e.maxTextLength==`number`&&Number.isFinite(e.maxTextLength)?e.maxTextLength:t.maxTextLength,timeoutMs:typeof e.timeoutMs==`number`&&Number.isFinite(e.timeoutMs)?e.timeoutMs:t.timeoutMs,...a?{providers:a}:{},alibaba:z(e,`alibaba`,t.alibaba??{}),openai:z(e,`openai`,t.openai??{}),edge:z(e,`edge`,t.edge??{}),minimax:z(e,`minimax`,t.minimax??{}),"tts-local-cli":z(e,`tts-local-cli`,i)}}function U(e){let{alibaba:t,openai:n,providers:r,...i}=e,a={...r??{}};return t&&(a.alibaba={...a.alibaba??{},...t}),n&&(a.openai={...a.openai??{},...n}),{...i,...Object.keys(a).length>0?{providers:a}:{}}}function W(e){let{alibaba:t,openai:n,edge:r,minimax:i,"tts-local-cli":a,providers:o,...s}=e,c={...o??{}};return t&&(c.alibaba={...c.alibaba??{},...t}),n&&(c.openai={...c.openai??{},...n}),r&&(c.edge={...c.edge??{},...r}),i&&(c.minimax={...c.minimax??{},...i}),a&&(c[`tts-local-cli`]={...c[`tts-local-cli`]??{},...a}),{...s,...Object.keys(c).length>0?{providers:c}:{}}}function G(e){let t=L(e)?e:{};return{stt:B(t.stt),tts:H(t.tts)}}async function K(){return G((await s(o(`/api/config`))).payload?.config??{})}async function q(e){await s(o(`/api/config`),{method:`PATCH`,body:JSON.stringify({stt:U(e.stt),tts:W(e.tts)})}),x()}async function J(){let e=await s(o(`/api/voice/models`));if(!e.payload?.models)throw Error(`Missing voice models payload`);return e.payload.models}async function Y(){let e=await s(o(`/api/voice/providers`));if(!e.payload?.providers)throw Error(`Missing voice providers payload`);return e.payload}async function X(){let e=await s(o(`/api/voice/stt-providers`));if(!e.payload?.providers)throw Error(`Missing STT providers payload`);return e.payload}async function Z(e){let t=await s(o(`/api/voice/reveal-api-key`),{method:`POST`,body:JSON.stringify(e)});if(!t.payload)throw Error(`Missing reveal payload`);return t.payload}function Q(e){let t=(0,ee.c)(15),{kind:n,providerId:r,fieldId:a,value:o,onChange:s,labels:c,placeholder:l,className:u}=e,d=l===void 0?`sk-...`:l,f;t[0]!==n||t[1]!==r?(f=()=>Z({kind:n,provider:r}).then($),t[0]=n,t[1]=r,t[2]=f):f=t[2];let p=f,m;t[3]===u?m=t[4]:(m=i(`flex min-w-0 flex-col gap-1.5`,u),t[3]=u,t[4]=m);let h;t[5]!==a||t[6]!==c||t[7]!==s||t[8]!==d||t[9]!==p||t[10]!==o?(h=(0,M.jsx)(g,{id:a,value:o,onChange:s,placeholder:d,labels:c,reveal:p,loadFailedLabel:c.loadFailed,maskedHelp:c.maskedHelp,notInConfigFile:c.notInConfigFile,inputClassName:`text-xs`}),t[5]=a,t[6]=c,t[7]=s,t[8]=d,t[9]=p,t[10]=o,t[11]=h):h=t[11];let _;return t[12]!==m||t[13]!==h?(_=(0,M.jsx)(`div`,{className:m,children:h}),t[12]=m,t[13]=h,t[14]=_):_=t[14],_}function $(e){return e.apiKey??null}export{X as a,ge as c,S as d,K as i,I as l,J as n,G as o,Y as r,q as s,Q as t,C as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./locale-store-DjbfSsfA.js";import{Ot as t,kt as n}from"./index-COkF54xv.js";var r={noteId:null,attachmentId:null,playing:!1,currentTime:0,duration:0,loading:!1},i=null,a=null,o=null,s=null;function c(){return i||(i=new Audio,i.addEventListener(`timeupdate`,()=>{u.setState({currentTime:i.currentTime})}),i.addEventListener(`loadedmetadata`,()=>{let e=i.duration;Number.isFinite(e)&&u.setState({duration:e})}),i.addEventListener(`ended`,()=>{u.setState({playing:!1,currentTime:0}),i.currentTime=0}),i.addEventListener(`pause`,()=>{u.setState({playing:!1})}),i.addEventListener(`play`,()=>{u.setState({playing:!0})})),i}function l(){o&&s&&n(o,s),a=null,o=null,s=null}var u=e()((e,n)=>({...r,play:async(r,i,u)=>{let d=c(),f=n();if(f.noteId===r&&f.attachmentId===i&&a){d.play();return}d.pause(),l(),e({noteId:r,attachmentId:i,playing:!1,currentTime:0,duration:u??0,loading:!0});try{let n=await t(r,i);a=n,o=r,s=i,d.src=n,await d.play(),e({loading:!1})}catch{e({loading:!1,playing:!1}),l()}},pause:()=>{c().pause()},toggle:(e,t,r)=>{let i=n();i.noteId===e&&i.attachmentId===t&&i.playing?n().pause():n().play(e,t,r)},seek:t=>{let n=c();n.currentTime=t,e({currentTime:t})},reset:()=>{c().pause(),c().src=``,l(),e(r)}}));export{u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,
|
|
1
|
+
import{c as e,ir as t,l as n}from"./index-COkF54xv.js";function r(e){return e===`zh`?`zh`:`en`}function i(e,t){let n=r(t),i=n===`en`?void 0:e.metadata.i18n?.[n],a=i?.examplePrompts&&i.examplePrompts.length>0?i.examplePrompts:e.metadata.examplePrompts??[];return{description:o(i?.description,e.description),whenToUse:s(i?.whenToUse,e.metadata.whenToUse),examplePrompts:a}}function a(e){return[e.name,e.title,e.description,e.metadata.whenToUse??``,...(e.metadata.examplePrompts??[]).map(e=>e.text),...Object.values(e.metadata.i18n??{}).flatMap(e=>[e.description??``,e.whenToUse??``,...(e.examplePrompts??[]).map(e=>e.text)]),...e.metadata.tags].join(` `).toLowerCase()}function o(e,t){return e?.trim()||t}function s(e,t){return e?.trim()||t?.trim()||void 0}function c(e,t,n){if(e.field===`goal`){t(e.text);return}n(t=>({...t,[e.field]:e.text}))}function l(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function u(e,t){return e?new Intl.DateTimeFormat(t,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}).format(new Date(e)):`—`}function d(e){if(!e||!Number.isFinite(e))return`—`;let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r?`${n}m ${r}s`:`${n}m`;let i=Math.floor(n/60),a=n%60;return a?`${i}h ${a}m`:`${i}h`}function f(e){return e===`succeeded`?`bg-emerald-500/15 text-emerald-700 dark:text-emerald-300`:e===`failed`||e===`timeout`?`bg-red-500/15 text-red-700 dark:text-red-300`:e===`cancelled`?`bg-amber-500/15 text-amber-700 dark:text-amber-300`:`bg-accent-soft text-accent-fg`}function p(t){let r=t.metadata.tags.map(e=>e.toLowerCase());for(let t of e)if(n[t].some(e=>r.includes(e)))return t;return null}function m(e,t){if(t===`all`)return!0;let r=e.metadata.tags.map(e=>e.toLowerCase());return n[t].some(e=>r.includes(e))}function h(t){let n=new Map;for(let e of t){let t=p(e)??`uncategorized`,r=n.get(t)??[];r.push(e),n.set(t,r)}let r=[];for(let t of e){let e=n.get(t);e?.length&&r.push({category:t,items:e})}let i=n.get(`uncategorized`);return i?.length&&r.push({category:`uncategorized`,items:i}),r}function g(e,t){return t===`all`?!0:t===`builtin`?e.metadata.builtIn:e.metadata.source===`user`}function _(e,t,n,r){let i=t.trim().toLowerCase();return e.filter(e=>!m(e,n)||!g(e,r)?!1:i?a(e).includes(i):!0)}function v(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function y(e){if(e==null)return e;if(typeof e==`object`&&e&&`raw`in e){let t=e.raw;return t===void 0?e:t}return e}function b(e){let n=e.run.metadata?.sessionKey?.trim();return n&&t(n)?n:null}function x(e,t){let n=`/chat/${encodeURIComponent(e)}`,r=t?.trim();return r?`${n}?${new URLSearchParams({draft:r}).toString()}`:n}function S(e){let t=e.source;return t&&typeof t==`object`&&`kind`in t&&typeof t.kind==`string`?t.kind:e.metadata?.triggerSource?.trim()||`unknown`}function C(e,t){let n=t.trim();return!n||n===`all`?!0:S(e)===n}function w(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.trim();e&&(t[n]=e)}return Object.keys(t).length>0?t:void 0}function T(e){let t=[];e.run.error&&t.push({key:`run-error`,kind:`run_error`,severity:e.run.error.recoverable?`warning`:`error`,code:e.run.error.code,message:e.run.error.message,detail:e.run.error.detail});for(let n of e.agents){n.status===`error`?t.push({key:`agent-error:${n.id}`,kind:`agent_error`,severity:`error`,agentId:n.id,agentLabel:n.label,message:n.error,detail:n.resultPreview}):n.status===`skipped`&&t.push({key:`agent-skipped:${n.id}`,kind:`agent_skipped`,severity:`warning`,agentId:n.id,agentLabel:n.label,message:n.error});for(let e of n.steps??[])e.status===`error`&&t.push({key:`step-error:${n.id}:${e.id}`,kind:`step_error`,severity:`error`,agentId:n.id,agentLabel:n.label,stepId:e.id,stepLabel:e.label,message:e.error,detail:e.resultPreview??e.detail})}return t}export{u as a,y as c,f as d,v as f,i as h,d as i,b as l,c as m,T as n,h as o,x as p,_ as r,l as s,w as t,C as u};
|
|
@@ -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-JdwAhgNB.js";import{t as a}from"./messages-Csef1aW7.js";import{t as o}from"./locale-store-DjbfSsfA.js";import{c as s}from"./fetch-Bs7in_4F.js";import{i as c}from"./vendor-swr-BIWyz7Rc.js";import{$r as l,A as u,Ao as d,C as f,D as p,Ds as m,E as h,Ea as g,F as _,Fo as v,Ft as y,Ha as b,I as x,Ia as S,Ii as C,Jr as w,M as T,Mo as E,N as D,Oa as O,Qr as k,Ro as A,S as j,T as M,Ts as N,Vi as P,Vt as F,Xr as I,Yr as ee,Zo as L,Zr as te,_ as ne,_i as re,a as R,aa as ie,ba as z,bo as B,cs as V,d as ae,f as H,g as U,h as oe,i as se,ii as ce,is as W,j as G,ji as K,k as le,ki as q,m as ue,o as J,oo as de,pa as fe,qi as pe,qo as me,qr as he,r as ge,ra as _e,rs as ve,s as ye,sa as be,u as xe,v as Se,w as Ce,xi as we,y as Te,ya as Ee}from"./index-COkF54xv.js";import{a as De,c as Oe,d as ke,f as Ae,h as Y,i as je,l as Me,m as Ne,n as Pe,o as Fe,p as Ie,r as Le,s as X,t as Re,u as ze}from"./workflow-page.utils-CRB7WX9l.js";var Z=e(t(),1),Q=n(),Be=[`queued`,`running`,`succeeded`,`attention`],Ve=10080*60*1e3,He=new Set([`failed`,`timeout`,`cancelled`]);function Ue(e){return e.metadata?.sessionKey?.trim()||null}function We(e,t){return e.length<=t?e:`${e.slice(0,t-1)}…`}function Ge(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 Ke(e,t=90){let n=e.metadata?.input?.goal?.trim()||(typeof e.metadata?.input?.payload==`string`?e.metadata.input.payload.trim():null)||Ge(e.metadata?.input?.payload,[`query`,`goal`,`prompt`,`input`,`message`])||Ge(e.metadata?.input?.variables,[`query`,`goal`,`prompt`,`input`,`message`]);return n?We(n,t):null}function qe(e,t=90){return Ke(e,t)??We(e.title?.trim()||e.definitionId,t)}function Je(e,t=44){return We(e.title?.trim()||e.definitionId,t)}function Ye(e,t){let n=t.trim().toLowerCase();return n?[Ke(e,500),e.title,e.definitionId,e.id].filter(Boolean).join(` `).toLowerCase().includes(n):!0}function Xe(e,t){let n=t.workflowFilterId.trim();return e.filter(e=>n&&e.definitionId!==n||!ze(e,t.triggerFilter??`all`)?!1:Ye(e,t.searchQuery))}function Ze(e){return e.completedAtMs??e.createdAtMs}function Qe(e,t){return t-Ze(e)<=Ve}function $e(e,t){return e.status===`queued`?`queued`:e.status===`running`?`running`:e.status===`succeeded`?Qe(e,t)?`succeeded`:null:He.has(e.status)?`attention`:null}function et(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)=>Ze(t)-Ze(e))}function tt(e,t){let n={queued:[],running:[],succeeded:[],attention:[]};for(let r of e){let e=$e(r,t);e&&n[e].push(r)}let r=et(`succeeded`,n.succeeded),i=r.length,a=r.slice(0,20),o=Math.max(0,i-20);return Be.map(e=>e===`succeeded`?{id:e,runs:a,totalInWindow:i,hiddenByCap:o}:{id:e,runs:et(e,n[e])})}var nt=new Map;function rt(e){let t=nt.get(e);return t||(t=new Intl.RelativeTimeFormat(e,{numeric:`auto`}),nt.set(e,t)),t}function it(e,t,n){let r=Math.round((t-e)/1e3),i=rt(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 at(e){return e.status===`queued`||e.status===`running`}function ot(e){return e.status===`failed`||e.status===`timeout`||e.status===`cancelled`}var $=r(),st=(0,Z.memo)(function(e){let t=(0,Q.c)(65),{run:n,language:r,localeTag:o,nowMs:s,selected:c,onOpen:l,onOpenChat:u,onCancel:f,onRetry:p}=e,m=a(r).workflows,[h,g]=(0,Z.useState)(!1),_;t[0]===n?_=t[1]:(_=Ue(n),t[0]=n,t[1]=_);let v=!_,y;t[2]===n?y=t[3]:(y=at(n),t[2]=n,t[3]=y);let b=y,x=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=je(b?s-T:n.metrics.durationMs),D=X(m.taskArtifacts,{count:n.metrics.artifactCount}),O;t[7]===n?O=t[8]:(O=qe(n),t[7]=n,t[8]=O);let k=O,A;t[9]===n?A=t[10]:(A=Je(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,F;t[14]!==v||t[15]!==u||t[16]!==n?(F=()=>{v||u(n)},t[14]=v,t[15]=u,t[16]=n,t[17]=F):F=t[17];let I=F,ee=c?`border-accent/70 ring-1 ring-accent/30`:`border-edge`,L;t[18]===ee?L=t[19]:(L=i(`group relative overflow-hidden rounded-xl border bg-surface-panel p-3.5 transition-colors`,ee,`hover:border-edge-strong hover:bg-surface-hover/50`),t[18]=ee,t[19]=L);let te;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(te=i(`w-full text-left`,we.focusRingPanel),t[20]=te):te=t[20];let ne;t[21]===k?ne=t[22]:(ne=(0,$.jsx)(`div`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-fg`,children:k}),t[21]=k,t[22]=ne);let re;t[23]===j?re=t[24]:(re=(0,$.jsx)(`div`,{className:`mt-1 truncate text-[11px] font-medium text-fg-muted`,children:j}),t[23]=j,t[24]=re);let R;t[25]!==ne||t[26]!==re?(R=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[ne,re]}),t[25]=ne,t[26]=re,t[27]=R):R=t[27];let ie;t[28]===n.status?ie=t[29]:(ie=i(`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold shadow-sm`,ke(n.status)),t[28]=n.status,t[29]=ie);let z;t[30]!==o||t[31]!==s||t[32]!==T?(z=it(T,s,o),t[30]=o,t[31]=s,t[32]=T,t[33]=z):z=t[33];let B;t[34]===z?B=t[35]:(B=(0,$.jsx)(`span`,{children:z}),t[34]=z,t[35]=B);let V=E===`—`?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,$.jsx)(`span`,{children:X(m.taskElapsed,{duration:E})})]}),ae;t[36]!==B||t[37]!==V?(ae=(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5 text-[11px] text-fg-subtle`,children:[B,V]}),t[36]=B,t[37]=V,t[38]=ae):ae=t[38];let H=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,U=c?(0,$.jsx)(`span`,{className:`font-medium text-accent-fg`,children:m.taskOpenDetails}):null,oe;t[39]!==H||t[40]!==U?(oe=(0,$.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 text-[11px] text-fg-subtle`,children:[H,U]}),t[39]=H,t[40]=U,t[41]=oe):oe=t[41];let se;t[42]===g?se=t[43]:(se=()=>g(lt),t[42]=g,t[43]=se);let ce;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(d,{className:`size-4`,"aria-hidden":!0}),t[44]=ce):ce=t[44];let W;t[45]!==m.taskActionsAria||t[46]!==h||t[47]!==se?(W=(0,$.jsx)(q,{variant:`ghost`,className:`size-7 p-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100`,"aria-label":m.taskActionsAria,"aria-expanded":h,onClick:se,children:ce}),t[45]=m.taskActionsAria,t[46]=h,t[47]=se,t[48]=W):W=t[48];let G;t[49]!==b||t[50]!==v||t[51]!==I||t[52]!==m.cancel||t[53]!==m.continueInChat||t[54]!==m.rerun||t[55]!==m.taskCloseMenu||t[56]!==h||t[57]!==f||t[58]!==p||t[59]!==n||t[60]!==g?(G=h?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,className:`fixed inset-0 z-10 cursor-default`,"aria-label":m.taskCloseMenu,onClick:()=>g(!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:[(0,$.jsx)(ct,{label:m.continueInChat,disabled:v,onClick:()=>{g(!1),I()}}),b?(0,$.jsx)(ct,{label:m.cancel,tone:`danger`,onClick:()=>{g(!1),f(n.id)}}):null,ot(n)?(0,$.jsx)(ct,{label:m.rerun,onClick:()=>{g(!1),p(n.id)}}):null]})]}):null,t[49]=b,t[50]=v,t[51]=I,t[52]=m.cancel,t[53]=m.continueInChat,t[54]=m.rerun,t[55]=m.taskCloseMenu,t[56]=h,t[57]=f,t[58]=p,t[59]=n,t[60]=g,t[61]=G):G=t[61];let K;return t[62]!==W||t[63]!==G?(K=(0,$.jsxs)(`div`,{className:`absolute right-2 top-2`,children:[W,G]}),t[62]=W,t[63]=G,t[64]=K):K=t[64],(0,$.jsxs)(`div`,{className:L,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:N,"aria-label":`${m.taskOpenDetails}: ${k}`,"aria-current":c?`true`:void 0,className:te,children:[(0,$.jsxs)(`div`,{className:`pr-7`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-2`,children:[R,(0,$.jsx)(`span`,{className:ie,children:m.status[n.status]??n.status})]}),ae]}),x?(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:X(m.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,oe,w?(0,$.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-[11px] text-amber-700 dark:text-amber-300`,children:[(0,$.jsx)(P,{className:`size-3 shrink-0`,"aria-hidden":!0}),X(m.runRowErrorSummary,{count:n.metrics.errorAgentCount})]}):null]}),K]})});function ct(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 lt(e){return!e}function ut(e,t){return t.boardColumns[e]}var dt=(0,Z.memo)(function(e){let t=(0,Q.c)(14),{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 border border-edge bg-surface-panel/40`),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 border border-dashed border-edge bg-surface-panel/40 px-4 py-6 text-center text-xs text-fg-subtle`,children:p.boardColumnEmpty}):y.map(e=>(0,$.jsx)(st,{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)(q,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>h(!0),children:X(p.boardExpandSucceeded,{count:Math.min(n.runs.length,n.totalInWindow??n.runs.length)})}):null,D=x?(0,$.jsx)(q,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>h(!1),children:p.boardCollapseSucceeded}):null,O=g&&(n.hiddenByCap??0)>0?(0,$.jsx)(`p`,{className:`px-1 text-center text-[11px] text-fg-subtle`,children:X(p.boardSucceededCapHint,{count:n.hiddenByCap??0})}):null,k;return t[9]!==T||t[10]!==E||t[11]!==D||t[12]!==O?(k=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2.5`,children:[T,E,D,O]}),t[9]=T,t[10]=E,t[11]=D,t[12]=O,t[13]=k):k=t[13],(0,$.jsxs)(`section`,{className:S,"aria-label":ut(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:ut(n.id,p)})]}),w]}),k]})}),ft=(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(pt),t[0]=n,t[1]=g);let _=g,[v,y]=(0,Z.useState)(mt),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=tt(Xe(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(ht,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)(q,{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)(dt,{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 pt(e){return e.status===`queued`||e.status===`running`}function mt(){return Date.now()}function ht(e,t){return e+t.runs.length}var gt=`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 _t(e){let t=(0,Q.c)(44),{open:n,language:r,ownerAgentId:i,saving:o,onClose:s,onSave:c,onSaveAndStart:u}=e,d;t[0]===r?d=t[1]:(d=a(r),t[0]=r,t[1]=d);let f=d.workflows,[p,m]=(0,Z.useState)(`ai`),h,g;t[2]===n?(h=t[3],g=t[4]):(h=()=>{n&&m(`ai`)},g=[n],t[2]=n,t[3]=h,t[4]=g),(0,Z.useEffect)(h,g);let _;t[5]===s?_=t[6]:(_=e=>!e&&s(),t[5]=s,t[6]=_);let v;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(I,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[7]=v):v=t[7];let y;t[8]===f.createWorkflowTitle?y=t[9]:(y=(0,$.jsx)(l,{className:`text-base font-semibold text-fg`,children:f.createWorkflowTitle}),t[8]=f.createWorkflowTitle,t[9]=y);let b;t[10]===f.createWorkflowHint?b=t[11]:(b=(0,$.jsx)(ee,{className:`mt-1 text-sm text-fg-muted`,children:f.createWorkflowHint}),t[10]=f.createWorkflowHint,t[11]=b);let x=p===`ai`,S,C;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>m(`ai`),S=(0,$.jsx)(_e,{className:`size-4`,"aria-hidden":!0}),t[12]=S,t[13]=C):(S=t[12],C=t[13]);let T;t[14]!==f.createWorkflowAiTab||t[15]!==x?(T=(0,$.jsx)(vt,{active:x,onClick:C,icon:S,children:f.createWorkflowAiTab}),t[14]=f.createWorkflowAiTab,t[15]=x,t[16]=T):T=t[16];let E=p===`manual`,D,O;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(D=()=>m(`manual`),O=(0,$.jsx)(A,{className:`size-4`,"aria-hidden":!0}),t[17]=D,t[18]=O):(D=t[17],O=t[18]);let j;t[19]!==f.createWorkflowManualTab||t[20]!==E?(j=(0,$.jsx)(vt,{active:E,onClick:D,icon:O,children:f.createWorkflowManualTab}),t[19]=f.createWorkflowManualTab,t[20]=E,t[21]=j):j=t[21];let M;t[22]!==T||t[23]!==j?(M=(0,$.jsxs)(`div`,{className:`mt-4 inline-flex rounded-xl border border-edge bg-surface-base p-1`,children:[T,j]}),t[22]=T,t[23]=j,t[24]=M):M=t[24];let N;t[25]!==M||t[26]!==y||t[27]!==b?(N=(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[y,b,M]}),t[25]=M,t[26]=y,t[27]=b,t[28]=N):N=t[28];let P;t[29]!==r||t[30]!==p||t[31]!==s||t[32]!==c||t[33]!==u||t[34]!==i||t[35]!==o?(P=p===`ai`?(0,$.jsx)(yt,{language:r,ownerAgentId:i,saving:o,onClose:s,onSave:c,onSaveAndStart:u}):(0,$.jsx)(bt,{language:r,saving:o,onClose:s,onSave:c}),t[29]=r,t[30]=p,t[31]=s,t[32]=c,t[33]=u,t[34]=i,t[35]=o,t[36]=P):P=t[36];let F;t[37]!==N||t[38]!==P?(F=(0,$.jsxs)(te,{children:[v,(0,$.jsxs)(w,{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:[N,P]})]}),t[37]=N,t[38]=P,t[39]=F):F=t[39];let L;return t[40]!==n||t[41]!==F||t[42]!==_?(L=(0,$.jsx)(k,{open:n,onOpenChange:_,children:F}),t[40]=n,t[41]=F,t[42]=_,t[43]=L):L=t[43],L}function vt(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 yt({language:e,ownerAgentId:t,saving:n,onClose:r,onSave:i,onSaveAndStart:o}){let s=a(e).workflows,[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(``),[_,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)(()=>u?.validation.errors.map(e=>e.message)??[],[u]),w=(0,Z.useMemo)(()=>u?.lint.filter(e=>e.severity===`error`)??[],[u]),T=c.trim().length>0&&!y,E=!!(u&&p.trim()&&h.trim()&&u.validation.valid&&w.length===0&&!n),D=async n=>{if(c.trim()){b(!0),S(null);try{let r=await f({prompt:c,agentId:t,language:e===`zh`?`zh`:`en`,mode:n,existingScript:n===`improve`?h:void 0,constraints:_});d(r),m(r.name),g(r.script)}catch(e){S(e instanceof Error?e.message:s.nlBuilderGenerateFailed)}finally{b(!1)}}},O=async()=>{E&&await i({name:p.trim(),script:h})&&r()},k=async()=>{E&&await o({name:p.trim(),script:h,goal:c.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:s.nlBuilderPromptLabel}),(0,$.jsx)(`textarea`,{value:c,onChange:e=>l(e.target.value),placeholder:s.nlBuilderPromptPlaceholder,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)(xt,{label:s.nlBuilderMaxPhases,value:_.maxPhases??4,min:1,max:8,onChange:e=>v(t=>({...t,maxPhases:e}))}),(0,$.jsx)(xt,{label:s.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}))}),s.nlBuilderAllowNetwork]}),(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:s.nlBuilderFilesystem}),(0,$.jsxs)(`select`,{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)(`option`,{value:`none`,children:`none`}),(0,$.jsx)(`option`,{value:`read`,children:`read`}),(0,$.jsx)(`option`,{value:`write`,children:`write`})]})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsxs)(q,{variant:`primary`,disabled:!T,onClick:()=>void D(`create`),children:[(0,$.jsx)(_e,{className:`size-4`,"aria-hidden":!0}),y?s.nlBuilderGenerating:s.nlBuilderGenerate]}),u?(0,$.jsxs)(q,{variant:`secondary`,disabled:!T,onClick:()=>void D(`improve`),children:[(0,$.jsx)(Ee,{className:`size-4`,"aria-hidden":!0}),s.nlBuilderImprove]}):null]}),x?(0,$.jsx)(Nt,{text:x}):null,u?(0,$.jsx)(wt,{draft:u,labels:s}):null]}),(0,$.jsxs)(`section`,{className:`min-w-0 space-y-3`,children:[(0,$.jsx)(St,{labels:s,name:p,setName:m}),(0,$.jsx)(Ct,{labels:s,script:h,setScript:g,minHeightClass:`min-h-96`}),u?(0,$.jsx)(Tt,{draft:u,labels:s,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)(q,{variant:`secondary`,onClick:r,disabled:n||y,children:s.cancelDialog}),(0,$.jsx)(q,{variant:`secondary`,disabled:!E,onClick:()=>void O(),children:n?s.savingWorkflow:s.saveWorkflow}),(0,$.jsx)(q,{variant:`primary`,disabled:!E,onClick:()=>void k(),children:s.nlBuilderSaveAndStart})]})]})}function bt({language:e,saving:t,onClose:n,onSave:r}){let i=a(e).workflows,[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(gt),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(null),[g,_]=(0,Z.useState)(null),v=o.trim(),y=!!(v&&c.trim());(0,Z.useEffect)(()=>{if(!y){p(!1),h(null),_(null);return}let e=!1,t=window.setTimeout(()=>{p(!0),h(null),x(v,c).then(t=>{e||_(t)}).catch(t=>{e||(_(null),h(t instanceof Error?t.message:i.validateWorkflowFailed))}).finally(()=>{e||p(!1)})},450);return()=>{e=!0,window.clearTimeout(t)}},[y,i.validateWorkflowFailed,c,v]);let b=(0,Z.useMemo)(()=>m?[m]:g?.errors.map(e=>e.message)??[],[m,g]),S=u||f||g!=null||m!=null,C=y&&!t&&!f&&g?.valid===!0,w=async()=>{if(d(!0),!(!y||t)){p(!0),h(null);try{let e=await x(v,c);if(_(e),!e.valid)return;await r({name:v,script:c})&&n()}catch(e){_(null),h(e instanceof Error?e.message:i.validateWorkflowFailed)}finally{p(!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)(St,{labels:i,name:o,setName:e=>{s(e),_(null),h(null)}}),(0,$.jsx)(Ct,{labels:i,script:c,setScript:e=>{l(e),_(null),h(null)},minHeightClass:`min-h-72`}),S?(0,$.jsx)(kt,{labels:i,validating:f,validationIssues:b,validationResult:g}):null]}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,$.jsx)(q,{variant:`secondary`,onClick:n,disabled:t,children:i.cancelDialog}),(0,$.jsx)(q,{variant:`primary`,disabled:!C,onClick:()=>void w(),children:t?i.savingWorkflow:i.saveWorkflow})]})]})}function xt(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 St(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 Ct(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 wt(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)(jt,{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)(jt,{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)(jt,{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 Tt(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(Ot),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)(L,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(P,{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(Dt),a.map(Et)]}):(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 Et(e){return(0,$.jsx)(`li`,{children:e.message},`${e.code}:${e.message}`)}function Dt(e){return(0,$.jsx)(`li`,{children:e},e)}function Ot(e){return e.severity!==`error`}function kt(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(At)}):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 At(e){return(0,$.jsx)(`li`,{children:e},e)}function jt(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)(V,{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(Mt),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 Mt(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 Nt(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 Pt(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 u=c.workflows;if(!r)return null;let d;t[2]!==r||t[3]!==i?(d=Y(r,i),t[2]=r,t[3]=i,t[4]=d):d=t[4];let f=d,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)(I,{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)(l,{className:`text-base font-semibold text-fg`,children:r.title}),t[8]=r.title,t[9]=g);let _;t[10]===f.description?_=t[11]:(_=(0,$.jsx)(ee,{className:`mt-1 text-sm text-fg-muted`,children:f.description}),t[10]=f.description,t[11]=_);let v;t[12]!==g||t[13]!==_?(v=(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[g,_]}),t[12]=g,t[13]=_,t[14]=v):v=t[14];let y;t[15]!==u.whenToUseHeading||t[16]!==f.whenToUse?(y=f.whenToUse?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:u.whenToUseHeading}),(0,$.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-fg-muted`,children:f.whenToUse})]}):null,t[15]=u.whenToUseHeading,t[16]=f.whenToUse,t[17]=y):y=t[17];let b;t[18]!==r||t[19]!==u?(b=(0,$.jsx)(It,{definition:r,labels:u}),t[18]=r,t[19]=u,t[20]=b):b=t[20];let x;t[21]!==r.inputSchema||t[22]!==u.inputsHeading?(x=r.inputSchema?(0,$.jsx)(Rt,{title:u.inputsHeading,schema:r.inputSchema}):null,t[21]=r.inputSchema,t[22]=u.inputsHeading,t[23]=x):x=t[23];let S;t[24]!==r.outputSchema||t[25]!==u.outputsHeading?(S=r.outputSchema?(0,$.jsx)(Rt,{title:u.outputsHeading,schema:r.outputSchema}):null,t[24]=r.outputSchema,t[25]=u.outputsHeading,t[26]=S):S=t[26];let C;t[27]!==r.phases||t[28]!==u.phasesHeading?(C=r.phases.length>0?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:u.phasesHeading}),(0,$.jsx)(`ol`,{className:`mt-2 space-y-2`,children:r.phases.map(Ft)})]}):null,t[27]=r.phases,t[28]=u.phasesHeading,t[29]=C):C=t[29];let T;t[30]!==u.scriptHeading||t[31]!==p?(T=p?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:u.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]=u.scriptHeading,t[31]=p,t[32]=T):T=t[32];let E;t[33]!==x||t[34]!==S||t[35]!==C||t[36]!==T||t[37]!==y||t[38]!==b?(E=(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-auto px-5 py-4`,children:[y,b,x,S,C,T]}),t[33]=x,t[34]=S,t[35]=C,t[36]=T,t[37]=y,t[38]=b,t[39]=E):E=t[39];let D;t[40]!==u.closeResult||t[41]!==o?(D=(0,$.jsx)(q,{variant:`secondary`,onClick:o,children:u.closeResult}),t[40]=u.closeResult,t[41]=o,t[42]=D):D=t[42];let O;t[43]!==u.runWorkflow||t[44]!==s?(O=(0,$.jsx)(q,{variant:`primary`,onClick:s,children:u.runWorkflow}),t[43]=u.runWorkflow,t[44]=s,t[45]=O):O=t[45];let A;t[46]!==D||t[47]!==O?(A=(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[D,O]}),t[46]=D,t[47]=O,t[48]=A):A=t[48];let j;t[49]!==E||t[50]!==A||t[51]!==v?(j=(0,$.jsxs)(te,{children:[h,(0,$.jsxs)(w,{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:[v,E,A]})]}),t[49]=E,t[50]=A,t[51]=v,t[52]=j):j=t[52];let M;return t[53]!==n||t[54]!==j||t[55]!==m?(M=(0,$.jsx)(k,{open:n,onOpenChange:m,children:j}),t[53]=n,t[54]=j,t[55]=m,t[56]=M):M=t[56],M}function Ft(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 It(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(Lt)}):(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 Lt(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)(be,{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 Rt(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)(V,{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(zt)}):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 zt(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 Bt(e,t){let n=e.metadata.estimatedAgents;return n?n.min===n.max?X(t.agentScaleExact,{count:n.min}):X(t.agentScaleRange,{min:n.min,max:n.max}):null}function Vt(e){let t=(0,Q.c)(50),{definition:n,language:r,labels:a,onPick:o}=e,s;t[0]!==n||t[1]!==r?(s=Y(n,r),t[0]=n,t[1]=r,t[2]=s):s=t[2];let c=s,l;t[3]!==n||t[4]!==a?(l=Bt(n,a),t[3]=n,t[4]=a,t[5]=l):l=t[5];let u=l,d=n.metadata.source===`user`,f;t[6]!==n||t[7]!==o?(f=()=>o(n),t[6]=n,t[7]=o,t[8]=f):f=t[8];let p;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(p=i(`group flex h-full flex-col rounded-xl border border-edge-subtle bg-surface-base p-4 text-left transition-colors`,`hover:border-accent/40 hover:bg-surface-hover`,we.focusRingPanel),t[9]=p):p=t[9];let m=d?`bg-accent-soft text-accent-fg`:`bg-surface-hover text-fg-muted`,h;t[10]===m?h=t[11]:(h=i(`rounded-full px-2 py-0.5 text-[10px] font-medium`,m),t[10]=m,t[11]=h);let g=d?a.badgeUser:a.badgeBuiltin,_;t[12]!==h||t[13]!==g?(_=(0,$.jsx)(`span`,{className:h,children:g}),t[12]=h,t[13]=g,t[14]=_):_=t[14];let v;t[15]!==n.inputSchema||t[16]!==a.inputSchemaBadge?(v=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)(V,{className:`size-2.5`,"aria-hidden":!0}),a.inputSchemaBadge]}):null,t[15]=n.inputSchema,t[16]=a.inputSchemaBadge,t[17]=v):v=t[17];let y;t[18]===n.metadata.tags?y=t[19]:(y=n.metadata.tags.slice(0,2).map(Ht),t[18]=n.metadata.tags,t[19]=y);let b;t[20]!==y||t[21]!==_||t[22]!==v?(b=(0,$.jsxs)(`div`,{className:`mb-2 flex flex-wrap items-center gap-1.5`,children:[_,v,y]}),t[20]=y,t[21]=_,t[22]=v,t[23]=b):b=t[23];let x;t[24]===n.title?x=t[25]:(x=(0,$.jsx)(`span`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-fg`,children:n.title}),t[24]=n.title,t[25]=x);let S;t[26]!==b||t[27]!==x?(S=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[b,x]}),t[26]=b,t[27]=x,t[28]=S):S=t[28];let w;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(w=(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)(O,{className:`size-3.5`,"aria-hidden":!0})}),t[29]=w):w=t[29];let T;t[30]===S?T=t[31]:(T=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[S,w]}),t[30]=S,t[31]=T);let E;t[32]===c.description?E=t[33]:(E=c.description?(0,$.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-5 text-fg-muted`,children:c.description}):null,t[32]=c.description,t[33]=E);let D;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(de,{className:`size-3`,"aria-hidden":!0}),t[34]=D):D=t[34];let k;t[35]!==n.phases.length||t[36]!==a.phaseCount?(k=X(a.phaseCount,{count:n.phases.length}),t[35]=n.phases.length,t[36]=a.phaseCount,t[37]=k):k=t[37];let A;t[38]===k?A=t[39]:(A=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[D,k]}),t[38]=k,t[39]=A);let j;t[40]===u?j=t[41]:(j=u?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(C,{className:`size-3`,"aria-hidden":!0}),u]}):null,t[40]=u,t[41]=j);let M;t[42]!==A||t[43]!==j?(M=(0,$.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center gap-3 pt-3 text-[11px] text-fg-subtle`,children:[A,j]}),t[42]=A,t[43]=j,t[44]=M):M=t[44];let N;return t[45]!==T||t[46]!==E||t[47]!==M||t[48]!==f?(N=(0,$.jsxs)(`button`,{type:`button`,onClick:f,className:p,children:[T,E,M]}),t[45]=T,t[46]=E,t[47]=M,t[48]=f,t[49]=N):N=t[49],N}function Ht(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 Ut(e,t){return e===`uncategorized`?t.categories.uncategorized:t.categories[e]}function Wt(e){let t=(0,Q.c)(11),{definitions:n,language:r,onPick:o}=e,s=a(r).workflows,[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(`all`),f;t[0]!==u||t[1]!==n||t[2]!==c?(f=Le(n,c,u,`all`),t[0]=u,t[1]=n,t[2]=c,t[3]=f):f=t[3];let p=f,m;t[4]===p?m=t[5]:(m=Fe(p),t[4]=p,t[5]=m);let h=m,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(fe,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[6]=g):g=t[6];let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>l(e.target.value),t[7]=_):_=t[7];let v=s.searchPlaceholder,y;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(y=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`,we.focusRingPanel),t[8]=y):y=t[8];let b=p.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:s.noDefinitions}),(0,$.jsx)(`p`,{className:`mt-1 max-w-sm text-xs leading-5 text-fg-subtle`,children:s.noDefinitionsHint})]}):u===`all`?(0,$.jsx)(`div`,{className:`flex flex-col gap-6 pb-1`,children:h.map(e=>(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`mb-3 text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:Ut(e.category,s)}),(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)(Vt,{definition:e,language:r,labels:s,onPick:o},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:p.map(e=>(0,$.jsx)(Vt,{definition:e,language:r,labels:s,onPick:o},e.id))}),x;return t[9]===b?x=t[10]:(x=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:b}),t[9]=b,t[10]=x),(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:[g,(0,$.jsx)(`input`,{value:c,onChange:_,placeholder:v,className:y})]}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,role:`group`,"aria-label":s.categoryFilterAria,children:ye.map(e=>(0,$.jsx)(q,{type:`button`,variant:u===e?`secondary`:`ghost`,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:()=>d(e),children:s.categories[e]},e))})]}),x]})}function Gt(e){let t=(0,Q.c)(30),{open:n,definitions:r,language:o,onClose:s,onPick:c}=e,u;t[0]===o?u=t[1]:(u=a(o),t[0]=o,t[1]=u);let d=u.workflows,f;t[2]===s?f=t[3]:(f=e=>!e&&s(),t[2]=s,t[3]=f);let p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(I,{className:`fixed inset-0 z-50 bg-scrim`}),t[4]=p):p=t[4];let m;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=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`,we.focusRingPanel),t[5]=m):m=t[5];let h;t[6]===d.pickStartTitle?h=t[7]:(h=(0,$.jsx)(l,{className:`text-lg font-semibold text-fg`,children:d.pickStartTitle}),t[6]=d.pickStartTitle,t[7]=h);let g;t[8]===d.pickStartHint?g=t[9]:(g=(0,$.jsx)(ee,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:d.pickStartHint}),t[8]=d.pickStartHint,t[9]=g);let _;t[10]!==h||t[11]!==g?(_=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[h,g]}),t[10]=h,t[11]=g,t[12]=_):_=t[12];let v;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(K,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[13]=v):v=t[13];let y;t[14]===d.pickStartClose?y=t[15]:(y=(0,$.jsx)(he,{asChild:!0,children:(0,$.jsx)(q,{variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":d.pickStartClose,children:v})}),t[14]=d.pickStartClose,t[15]=y);let b;t[16]!==_||t[17]!==y?(b=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-4 border-b border-edge-subtle px-6 py-5`,children:[_,y]}),t[16]=_,t[17]=y,t[18]=b):b=t[18];let x;t[19]!==r||t[20]!==o||t[21]!==c?(x=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-6 py-5`,children:(0,$.jsx)(Wt,{definitions:r,language:o,onPick:c})}),t[19]=r,t[20]=o,t[21]=c,t[22]=x):x=t[22];let S;t[23]!==b||t[24]!==x?(S=(0,$.jsxs)(te,{children:[p,(0,$.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(w,{className:m,onOpenAutoFocus:Kt,children:[b,x]})})]}),t[23]=b,t[24]=x,t[25]=S):S=t[25];let C;return t[26]!==n||t[27]!==S||t[28]!==f?(C=(0,$.jsx)(k,{open:n,onOpenChange:f,children:S}),t[26]=n,t[27]=S,t[28]=f,t[29]=C):C=t[29],C}function Kt(e){return e.preventDefault()}function qt(e,t){return t.status[e]??e}function Jt(e,t){return t.phaseStatus[e]??e}function Yt(e,t){let{run:n}=e;return n.status===`succeeded`?X(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:X(t.runSummaryActive,{done:n.metrics.doneAgentCount,total:n.metrics.agentCount})}function Xt(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 Zt(e){return Me(e)}function Qt(e){return!e||typeof e!=`object`||!(`kind`in e)?`unknown`:e.kind===`chat`?`chat · ${e.sessionKey}`:e.kind===`webui`?e.sessionKey?`webui · ${e.sessionKey}`:`webui`:e.kind===`cron`?`cron · ${e.scheduleId}`:e.kind===`api`?e.requestId?`api · ${e.requestId}`:`api`:e.kind===`im`?`${e.channel} · ${e.chatId}`:String(e.kind)}function $t({view:e,comparison:t,currentDefinition:n,loading:r,language:o,localeTag:s,onCancel:c,onRetry:u,onReplay:d,onOpenRunId:f,ownerAgentId:p,onClose:m}){let h=a(o).workflows,g=ue(o),_=N(),[y,x]=(0,Z.useState)(!0),[C,T]=(0,Z.useState)(!1),[D,O]=(0,Z.useState)(null),[A,j]=(0,Z.useState)(!1),[F,ee]=(0,Z.useState)(null),[L,R]=(0,Z.useState)(null),[,ie]=(0,Z.useState)(0),z=e?.run.status,B=z?se.has(z):!1;(0,Z.useEffect)(()=>{e?.run.id&&(x(B||z===`failed`||z===`timeout`||z===`succeeded`&&e.run.metrics.errorAgentCount>0),O(null),ee(null))},[e?.run.id,B,z,e?.run.metrics.errorAgentCount]),(0,Z.useEffect)(()=>{if(!B)return;let e=window.setInterval(()=>ie(e=>e+1),1e3);return()=>window.clearInterval(e)},[B]);let V=(0,Z.useMemo)(()=>e?H(e):null,[e]),ae=(0,Z.useMemo)(()=>V?Te(V):{phases:[],unphased:null},[V]),ce=(0,Z.useMemo)(()=>D==null||!V?null:V.agents.find(e=>e.id===D)??null,[D,V]),G=(0,Z.useCallback)(e=>{O(e.id)},[]),le=e?dn(e.run.result):null,J=(0,Z.useMemo)(()=>e?Pe(e):[],[e]),de=e?Oe(e.run.result):void 0,fe=Ae(de),pe=fe.trim().length>0,he=(0,Z.useCallback)(async()=>{pe&&await re(fe)&&(j(!0),window.setTimeout(()=>j(!1),1500))},[pe,fe]),ge=(0,Z.useCallback)(()=>{if(!pe||!e)return;let t=new Blob([fe],{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)},[pe,fe,e]),ye=(0,Z.useCallback)(()=>{if(!e)return;let t=Zt(e);t&&_(Ie(t))},[_,e]),be=(0,Z.useCallback)(async t=>{if(e){ee(null),R(t.id);try{ln(await M(e.run.id,t.id,{ownerAgentId:p}),t.name||t.id)}catch(e){ee(e instanceof Error?e.message:String(e))}finally{R(null)}}},[p,e]),xe=(0,Z.useCallback)(t=>{if(!e||!t.prompt)return;let n=Zt(e);if(!n){re(t.prompt);return}_(Ie(n,t.prompt))},[_,e]),Ce=(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);O(Number.isFinite(i)?i:r+1)},[e]),we=e?Zt(e):null;if(r)return(0,$.jsx)(k,{open:!0,onOpenChange:e=>!e&&m(),children:(0,$.jsxs)(te,{children:[(0,$.jsx)(I,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(w,{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)(l,{className:`text-base font-semibold tracking-tight text-fg`,children:h.runSummaryTitle}),(0,$.jsx)(q,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":h.pickStartClose,onClick:m,children:(0,$.jsx)(K,{className:`size-5`,"aria-hidden":!0})})]}),(0,$.jsx)(`div`,{className:`p-5 text-sm text-fg-muted`,children:h.loading})]})]})});if(!e||!V)return null;let{run:Y}=e,Ne=e.controls.canCancel&&B,Fe=B&&Y.startedAtMs!=null?je(Date.now()-Y.startedAtMs):je(Y.metrics.durationMs??void 0),Le=Yt(e,h),Re=Xt(e,h),ze=Y.metadata,Q=Qt(Y.source),Be=e.controls.canRetry&&e.agents.some(e=>(e.status===`error`||e.status===`skipped`)&&e.prompt?.trim()),Ve=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()));return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(k,{open:!0,onOpenChange:e=>!e&&m(),children:(0,$.jsxs)(te,{children:[(0,$.jsx)(I,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(w,{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)(l,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:Y.title}),(0,$.jsx)(q,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":h.pickStartClose,onClick:m,children:(0,$.jsx)(K,{className:`size-5`,"aria-hidden":!0})})]}),(0,$.jsxs)(`section`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,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 text-fg`,children:Y.title}),(0,$.jsx)(`span`,{className:i(`rounded-full px-2 py-0.5 text-xs font-medium`,ke(Y.status)),children:qt(Y.status,h)})]}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:Y.definitionId}),Y.goal?(0,$.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-fg-muted`,children:Y.goal}):null]})}),(0,$.jsx)(`div`,{className:`mt-5 rounded-2xl border border-edge-subtle bg-surface-base/60 p-4`,children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsx)(`div`,{className:`rounded-xl bg-accent-soft p-2 text-accent-fg`,children:Y.status===`succeeded`?(0,$.jsx)(S,{className:`size-4`,"aria-hidden":!0}):Y.status===`failed`||Y.status===`timeout`?(0,$.jsx)(P,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(_e,{className:`size-4`,"aria-hidden":!0})}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:h.runSummaryTitle}),(0,$.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:Le}),Re?(0,$.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-fg-subtle`,children:Re}):null]})]})}),(0,$.jsx)(en,{diagnostics:J,labels:h,onOpenAgent:Ce}),(0,$.jsx)(nn,{view:e,comparison:t,labels:h,onOpenRunId:f}),(0,$.jsxs)(`dl`,{className:`mt-5 grid gap-3 sm:grid-cols-2 lg:grid-cols-4`,children:[(0,$.jsx)(vn,{label:h.metrics.startedAt,value:De(Y.startedAtMs??Y.createdAtMs,s)}),(0,$.jsx)(vn,{label:h.metrics.duration,value:Fe}),(0,$.jsx)(vn,{label:h.metrics.agents,value:X(h.agentProgress,{done:Y.metrics.doneAgentCount,total:Y.metrics.agentCount})}),(0,$.jsx)(vn,{label:h.metrics.artifacts,value:String(Y.metrics.artifactCount)})]}),(0,$.jsxs)(`div`,{className:`mt-5 flex flex-wrap gap-2`,children:[we?(0,$.jsxs)(q,{variant:`primary`,onClick:ye,children:[(0,$.jsx)(b,{className:`size-4`,"aria-hidden":!0}),h.continueInChat]}):null,Ne?(0,$.jsxs)(q,{variant:`secondary`,onClick:c,className:`text-red-600 dark:text-red-300`,children:[(0,$.jsx)(me,{className:`size-4`,"aria-hidden":!0}),h.cancel]}):null,e.controls.canRetry?(0,$.jsxs)(q,{variant:`secondary`,onClick:u,children:[(0,$.jsx)(Ee,{className:`size-4`,"aria-hidden":!0}),h.rerun]}):null,Be?(0,$.jsxs)(q,{variant:`secondary`,onClick:()=>d(`failed_agents`),children:[(0,$.jsx)(Ee,{className:`size-4`,"aria-hidden":!0}),h.replayFailedAgents]}):null,Ve?(0,$.jsxs)(q,{variant:`secondary`,onClick:()=>d(`failed_phases`),children:[(0,$.jsx)(Ee,{className:`size-4`,"aria-hidden":!0}),h.replayFailedPhases]}):null,pe?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(q,{variant:`secondary`,onClick:he,children:[A?(0,$.jsx)(W,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(v,{className:`size-4`,"aria-hidden":!0}),A?h.copied:h.copyResult]}),(0,$.jsxs)(q,{variant:`secondary`,onClick:ge,children:[(0,$.jsx)(E,{className:`size-4`,"aria-hidden":!0}),h.exportResult]})]}):null]}),(0,$.jsxs)(`div`,{className:`mt-6`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:h.resultTitle}),pe?(0,$.jsx)(`div`,{className:`mt-3 rounded-xl border border-edge bg-surface-base/50 p-3`,children:(0,$.jsx)(oe,{result:de,labels:g.result})}):(0,$.jsx)(`div`,{className:`mt-3 rounded-xl border border-dashed border-edge p-4 text-sm text-fg-muted`,children:h.noResult}),(0,$.jsx)(cn,{outcome:le,labels:h,downloadingArtifactId:L,downloadError:F,onCopyText:e=>void re(e),onDownloadArtifact:e=>void be(e),onStartFollowUp:xe})]}),(0,$.jsxs)(`div`,{className:`mt-6 rounded-2xl border border-edge bg-surface-base/35`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between gap-4 px-4 py-3 text-left`,onClick:()=>x(e=>!e),"aria-expanded":y,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:h.process}),(0,$.jsxs)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:[X(h.agentProgress,{done:Y.metrics.doneAgentCount,total:Y.metrics.agentCount}),` · `,Fe]})]}),(0,$.jsx)(ve,{className:i(`size-4 shrink-0 text-fg-subtle transition-transform`,y?`rotate-180`:null),"aria-hidden":!0})]}),y?(0,$.jsxs)(`div`,{className:`border-t border-edge px-4 pb-4 pt-4`,children:[B?(0,$.jsx)(ne,{snapshot:V,labels:g,logsExpanded:C,onToggleLogs:()=>T(e=>!e),selectedAgentId:D,onSelectAgent:G}):(0,$.jsx)(U,{rollup:ae,currentPhase:V.currentPhase,labels:g.phase,recentLogs:V.logs,recentLogsHeading:g.recentLogsHeading,showAllLogsLabel:g.showAllLogs,logsExpanded:C,onToggleLogs:()=>T(e=>!e),selectedAgentId:D,onSelectAgent:G}),e.phases.length>0?(0,$.jsx)(`div`,{className:`mt-4 grid gap-2 sm:grid-cols-2`,children:e.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:Jt(e.status,h)})]})},e.id))}):null]}):null]}),(0,$.jsx)(fn,{agents:V.agents,labels:h,defaultExpanded:Y.status===`failed`||Y.status===`timeout`||Y.metrics.errorAgentCount>0}),(0,$.jsxs)(`div`,{className:`mt-6 grid gap-3 rounded-2xl border border-edge-subtle bg-surface-base/35 p-4 sm:grid-cols-2 lg:grid-cols-4`,children:[(0,$.jsx)(yn,{label:h.metadataSession,value:ze?.sessionKey??Me(e)??`—`}),(0,$.jsx)(yn,{label:h.metadataSource,value:Q}),(0,$.jsx)(yn,{label:h.metadataDefinition,value:`${ze?.definition.version??Y.definitionVersion} · ${ze?.definition.source??`unknown`}`}),(0,$.jsx)(yn,{label:h.metadataDefinitionHash,value:rn(ze?.definition,n,h)}),(0,$.jsx)(yn,{label:h.metadataPermissions,value:an(ze?.definition)}),(0,$.jsx)(yn,{label:h.metadataRetryOf,value:ze?.retryOfRunId??`—`})]})]})]})]})}),(0,$.jsx)(Se,{open:D!=null&&ce!=null,agent:ce,snapshot:V,sessionKey:null,ownerAgentId:p,onClose:()=>O(null),labels:g.drawer})]})}function en(e){let t=(0,Q.c)(18),{diagnostics:n,labels:r,onOpenAgent:i}=e;if(n.length===0)return null;let a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,$.jsx)(`div`,{className:`rounded-xl bg-rose-500/10 p-2 text-rose-700 dark:text-rose-300`,children:(0,$.jsx)(P,{className:`size-4`,"aria-hidden":!0})}),t[0]=a):a=t[0];let o;t[1]===r.diagnosticsTitle?o=t[2]:(o=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:r.diagnosticsTitle}),t[1]=r.diagnosticsTitle,t[2]=o);let s;t[3]===r.diagnosticsHint?s=t[4]:(s=(0,$.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:r.diagnosticsHint}),t[3]=r.diagnosticsHint,t[4]=s);let c;if(t[5]!==n||t[6]!==r||t[7]!==i){let e;t[9]!==r||t[10]!==i?(e=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:tn(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)(q,{type:`button`,variant:`ghost`,className:`h-8 shrink-0 px-2 text-xs`,onClick:()=>i(e.agentId),children:r.openAgentDetails})]})},e.key),t[9]=r,t[10]=i,t[11]=e):e=t[11],c=n.slice(0,5).map(e),t[5]=n,t[6]=r,t[7]=i,t[8]=c}else c=t[8];let l;t[12]===c?l=t[13]:(l=(0,$.jsx)(`ul`,{className:`mt-3 space-y-2`,children:c}),t[12]=c,t[13]=l);let u;return t[14]!==o||t[15]!==s||t[16]!==l?(u=(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:[a,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[o,s,l]})]})}),t[14]=o,t[15]=s,t[16]=l,t[17]=u):u=t[17],u}function tn(e,t){return e.kind===`run_error`?e.code?X(t.diagnosticsRunErrorWithCode,{code:e.code}):t.diagnosticsRunError:e.kind===`agent_error`?X(t.diagnosticsAgentError,{agent:e.agentLabel??String(e.agentId??`—`)}):e.kind===`step_error`?X(t.diagnosticsStepError,{agent:e.agentLabel??String(e.agentId??`—`),step:e.stepLabel??e.stepId??`—`}):X(t.diagnosticsAgentSkipped,{agent:e.agentLabel??String(e.agentId??`—`)})}function nn(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=X(i.replayLineageSummary,{scope:sn(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)(yn,{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)(yn,{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)(vn,{label:i.replayFixedAgents,value:String(r.fixedAgentIds.length)}),(0,$.jsx)(vn,{label:i.replayStillFailingAgents,value:String(r.stillFailingAgentIds.length)}),(0,$.jsx)(vn,{label:i.replayDurationDelta,value:on(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)(q,{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 rn(e,t,n){if(!e?.contentHash)return n.definitionHashUnavailable;let r=e.contentHash.slice(0,8);return t?.contentHash?t.contentHash===e.contentHash?`${r} · ${n.definitionHashMatches}`:`${r} · ${n.definitionHashDrifted}`:`${r} · ${n.definitionHashCurrentUnknown}`}function an(e){let t=e?.permissions;if(!t)return`—`;let n=[t.tools?.length?`tools:${t.tools.join(`,`)}`:null,t.network==null?null:`network:${t.network?`on`:`off`}`,t.fileSystem?`fs:${t.fileSystem}`:null,t.approvalRequired?`approval`:null].filter(Boolean);return n.length>0?n.join(` · `):`—`}function on(e){return e==null?`—`:`${e>0?`+`:e<0?`-`:``}${je(Math.abs(e))}`}function sn(e,t){return e===`failed_phases`?t.replayScopeFailedPhases:t.replayScopeFailedAgents}function cn(e){let t=(0,Q.c)(18),{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)return null;let l;t[0]!==a||t[1]!==i||t[2]!==r||t[3]!==s||t[4]!==n.artifacts?(l=n.artifacts.length>0?(0,$.jsxs)(un,{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)(E,{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[0]=a,t[1]=i,t[2]=r,t[3]=s,t[4]=n.artifacts,t[5]=l):l=t[5];let u;t[6]!==r||t[7]!==o||t[8]!==c||t[9]!==n.followUps?(u=n.followUps.length>0?(0,$.jsx)(un,{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[6]=r,t[7]=o,t[8]=c,t[9]=n.followUps,t[10]=u):u=t[10];let d;t[11]!==r||t[12]!==n.structuredOutput?(d=n.structuredOutput===void 0?null:(0,$.jsx)(un,{title:r.outcomeStructuredOutput,children:(0,$.jsx)(`pre`,{className:`max-h-44 overflow-auto whitespace-pre-wrap break-words rounded-lg bg-surface-base p-2 font-mono text-xs leading-5 text-fg-muted`,children:Ae(n.structuredOutput)})}),t[11]=r,t[12]=n.structuredOutput,t[13]=d):d=t[13];let f;return t[14]!==l||t[15]!==u||t[16]!==d?(f=(0,$.jsxs)(`div`,{className:`mt-3 grid gap-3 lg:grid-cols-3`,children:[l,u,d]}),t[14]=l,t[15]=u,t[16]=d,t[17]=f):f=t[17],f}function ln(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),URL.revokeObjectURL(n)}function un(e){let t=(0,Q.c)(7),{title:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`h4`,{className:`text-xs font-semibold uppercase tracking-wide 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-2`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`section`,{className:`min-w-0 rounded-xl border border-edge-subtle bg-surface-base/35 p-3`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function dn(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 fn(e){let t=(0,Q.c)(26),{agents:n,labels:r,defaultExpanded:a}=e,[o,s]=(0,Z.useState)(a),c,l;if(t[0]===a?(c=t[1],l=t[2]):(c=()=>{s(a)},l=[a],t[0]=a,t[1]=c,t[2]=l),(0,Z.useEffect)(c,l),n.length===0)return null;let u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>s(pn),t[3]=u):u=t[3];let d;t[4]===r.agentIoTitle?d=t[5]:(d=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:r.agentIoTitle}),t[4]=r.agentIoTitle,t[5]=d);let f;t[6]===r.agentIoHint?f=t[7]:(f=(0,$.jsx)(`p`,{className:`text-xs leading-5 text-fg-subtle`,children:r.agentIoHint}),t[6]=r.agentIoHint,t[7]=f);let p;t[8]!==d||t[9]!==f?(p=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[d,f]}),t[8]=d,t[9]=f,t[10]=p):p=t[10];let m=o?`rotate-180`:null,h;t[11]===m?h=t[12]:(h=i(`mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform`,m),t[11]=m,t[12]=h);let g;t[13]===h?g=t[14]:(g=(0,$.jsx)(ve,{className:h,"aria-hidden":!0}),t[13]=h,t[14]=g);let _;t[15]!==o||t[16]!==p||t[17]!==g?(_=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-start justify-between gap-4 px-4 py-3 text-left`,onClick:u,"aria-expanded":o,children:[p,g]}),t[15]=o,t[16]=p,t[17]=g,t[18]=_):_=t[18];let v;t[19]!==n||t[20]!==o||t[21]!==r?(v=o?(0,$.jsx)(`div`,{className:`grid gap-3 border-t border-edge px-4 py-4`,children:n.map(e=>{let t=e.error||e.resultPreview||r.agentNoOutput;return(0,$.jsxs)(`article`,{className:`rounded-xl border border-edge-subtle bg-surface-panel p-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,$.jsx)(`div`,{className:`min-w-0 text-sm font-medium text-fg`,children:e.label}),(0,$.jsx)(`span`,{className:i(`rounded-full px-2 py-0.5 text-xs font-medium`,_n(e.status)),children:r.agentStatus[e.status]??e.status})]}),(0,$.jsxs)(`div`,{className:`mt-3 grid gap-3 lg:grid-cols-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-fg-subtle`,children:r.agentInputHeading}),(0,$.jsx)(`pre`,{className:`mt-1 max-h-32 overflow-y-auto whitespace-pre-wrap wrap-break-word rounded-lg border border-edge-subtle bg-surface-base/50 p-2 font-mono text-xs leading-5 text-fg-muted`,children:e.prompt||`—`})]}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-fg-subtle`,children:r.agentOutputHeading}),(0,$.jsx)(`div`,{className:i(`mt-1 max-h-32 overflow-y-auto whitespace-pre-wrap wrap-break-word rounded-lg border border-edge-subtle bg-surface-base/50 p-2 text-xs leading-5`,e.error?`font-mono text-rose-600 dark:text-rose-400`:`text-fg-muted`),children:t})]})]}),(0,$.jsx)(mn,{agent:e,labels:r})]},e.id)})}):null,t[19]=n,t[20]=o,t[21]=r,t[22]=v):v=t[22];let y;return t[23]!==_||t[24]!==v?(y=(0,$.jsxs)(`section`,{className:`mt-6 rounded-2xl border border-edge bg-surface-base/35`,children:[_,v]}),t[23]=_,t[24]=v,t[25]=y):y=t[25],y}function pn(e){return!e}function mn(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(gn),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(hn)}),t[19]=m,t[20]=h),h}function hn(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 gn(e){return!!e.value}function _n(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 vn(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 yn(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}var bn=`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`;function xn(e){return!!(e&&e.type===`object`&&e.properties&&!Array.isArray(e.properties))}function Sn({schema:e,value:t,onChange:n,labels:r}){let a=(0,Z.useMemo)(()=>Tn(e),[e]),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(()=>JSON.stringify(t,null,2)),[u,d]=(0,Z.useState)(null);if(a.length===0)return null;let f=(e,r)=>{let i={...t,[e]:r};(r===``||r===void 0)&&delete i[e],n(i),o&&l(JSON.stringify(i,null,2))},p=e=>{l(e);try{let t=e.trim()?JSON.parse(e):{};if(!t||typeof t!=`object`||Array.isArray(t)){d(r.rawJsonInvalid);return}d(null),n(t)}catch{d(r.rawJsonInvalid)}};return(0,$.jsxs)(`section`,{className:`rounded-2xl border border-edge-subtle bg-surface-base/35 p-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:r.inputSchemaHeading}),(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent-fg hover:underline`,onClick:()=>{let e=!o;s(e),e&&(l(JSON.stringify(t,null,2)),d(null))},children:r.rawJson})]}),o?(0,$.jsxs)(`div`,{className:`mt-3`,children:[(0,$.jsx)(`textarea`,{value:c,onChange:e=>p(e.target.value),spellCheck:!1,className:i(bn,`min-h-40 font-mono text-xs leading-5`)}),u?(0,$.jsx)(`p`,{className:`mt-1 text-xs text-red-600 dark:text-red-300`,children:u}):null]}):(0,$.jsx)(`div`,{className:`mt-3 grid gap-3`,children:a.map(e=>(0,$.jsx)(Cn,{field:e,value:t[e.key],labels:r,onChange:t=>f(e.key,t)},e.key))})]})}function Cn(e){let t=(0,Q.c)(18),{field:n,value:r,labels:a,onChange:o}=e,s=n.schema.title||n.key,c=typeof n.schema.description==`string`?n.schema.description:void 0,l=Array.isArray(n.schema.type)?n.schema.type[0]:n.schema.type,u;t[0]===n.schema.enum?u=t[1]:(u=Array.isArray(n.schema.enum)?n.schema.enum:[],t[0]=n.schema.enum,t[1]=u);let d=u,f=String(s),p=n.required?` *`:``,m;t[2]!==f||t[3]!==p?(m=(0,$.jsxs)(`span`,{className:`text-xs font-medium text-fg`,children:[f,p]}),t[2]=f,t[3]=p,t[4]=m):m=t[4];let h;t[5]===c?h=t[6]:(h=c?(0,$.jsx)(`p`,{className:`mt-0.5 text-xs leading-5 text-fg-subtle`,children:c}):null,t[5]=c,t[6]=h);let g;t[7]!==c||t[8]!==d||t[9]!==a||t[10]!==o||t[11]!==l||t[12]!==r?(g=d.length>0?(0,$.jsxs)(`select`,{value:r==null?``:String(r),onChange:e=>o(e.target.value),className:bn,children:[(0,$.jsx)(`option`,{value:``}),d.map(wn)]}):l===`boolean`?(0,$.jsxs)(`select`,{value:typeof r==`boolean`?String(r):``,onChange:e=>o(e.target.value===``?void 0:e.target.value===`true`),className:bn,children:[(0,$.jsx)(`option`,{value:``}),(0,$.jsx)(`option`,{value:`true`,children:a.booleanTrue}),(0,$.jsx)(`option`,{value:`false`,children:a.booleanFalse})]}):l===`number`||l===`integer`?(0,$.jsx)(`input`,{type:`number`,value:typeof r==`number`||typeof r==`string`?String(r):``,onChange:e=>o(e.target.value===``?void 0:Number(e.target.value)),className:bn}):(0,$.jsx)(`textarea`,{value:typeof r==`string`?r:r==null?``:String(r),onChange:e=>o(e.target.value),className:i(bn,c&&c.length>80?`min-h-20 resize-y`:`min-h-10 resize-y`)}),t[7]=c,t[8]=d,t[9]=a,t[10]=o,t[11]=l,t[12]=r,t[13]=g):g=t[13];let _;return t[14]!==m||t[15]!==h||t[16]!==g?(_=(0,$.jsxs)(`label`,{className:`block`,children:[m,h,g]}),t[14]=m,t[15]=h,t[16]=g,t[17]=_):_=t[17],_}function wn(e){return(0,$.jsx)(`option`,{value:String(e),children:String(e)},String(e))}function Tn(e){let t=e.properties??{},n=new Set(e.required??[]);return Object.entries(t).map(([e,t])=>({key:e,schema:t,required:n.has(e)}))}function En(e){let t=(0,Q.c)(12),{examples:n,labels:r,onSelect:i}=e;if(n.length===0)return null;let a;t[0]===r.examplePrompts?a=t[1]:(a=(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:r.examplePrompts}),t[0]=r.examplePrompts,t[1]=a);let o;if(t[2]!==n||t[3]!==i){let e;t[5]===i?e=t[6]:(e=e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`rounded-lg border border-edge bg-surface-base/50 px-3 py-2 text-left text-xs text-fg-muted hover:bg-surface-hover`,children:e.text},`${e.field}:${e.text}`),t[5]=i,t[6]=e),o=n.map(e),t[2]=n,t[3]=i,t[4]=o}else o=t[4];let s;t[7]===o?s=t[8]:(s=(0,$.jsx)(`div`,{className:`mt-2 flex flex-col gap-1.5`,children:o}),t[7]=o,t[8]=s);let c;return t[9]!==a||t[10]!==s?(c=(0,$.jsxs)(`div`,{children:[a,s]}),t[9]=a,t[10]=s,t[11]=c):c=t[11],c}function Dn(e,t){let n=e.metadata.estimatedAgents;return n?n.min===n.max?X(t.agentScaleExact,{count:n.min}):X(t.agentScaleRange,{min:n.min,max:n.max}):X(t.agentScaleExact,{count:e.defaults.maxSubagents})}function On(e,t,n,r){let i=Object.values(t).map(e=>e.trim()).filter(Boolean),a=e.trim()||n;return a&&i.unshift(a),i.length===0?r.noInputSummary:i.join(` · `)}function kn(e){let t=(0,Q.c)(58),{open:n,definition:r,language:o,starting:s,onClose:c,onStart:u}=e,d=a(o).workflows,[f,p]=(0,Z.useState)(``),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m={},t[0]=m):m=t[0];let[h,g]=(0,Z.useState)(m),_;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(_={},t[1]=_):_=t[1];let[v,y]=(0,Z.useState)(_),[b,x]=(0,Z.useState)(``),[S,T]=(0,Z.useState)(``),[E,D]=(0,Z.useState)(!1),O;t[2]!==r||t[3]!==o?(O=r?Y(r,o):null,t[2]=r,t[3]=o,t[4]=O):O=t[4];let A=O,j;t[5]===r?j=t[6]:(j=r?J[r.name]??[]:[],t[5]=r,t[6]=j);let M=j,N;t[7]===A?.examplePrompts?N=t[8]:(N=A?.examplePrompts??[],t[7]=A?.examplePrompts,t[8]=N);let P=N,F=r?.inputSchema,L;t[9]===F?L=t[10]:(L=xn(F),t[9]=F,t[10]=L);let ne=L,re=!ne&&M.length>0,R;t[11]!==b||t[12]!==r?.defaults?(R=b.trim()?Number(b):r?.defaults.concurrency,t[11]=b,t[12]=r?.defaults,t[13]=R):R=t[13];let z=R,B;t[14]!==r?.defaults||t[15]!==S?(B=S.trim()?Number(S):r?.defaults.maxSubagents,t[14]=r?.defaults,t[15]=S,t[16]=B):B=t[16];let V=B,ae=r&&A?ne&&Object.keys(v).length>0?Object.entries(v).map(Mn).join(` · `):On(f,h,A.description,d):d.noInputSummary,H;t[17]!==r||t[18]!==n?(H=()=>{!n||!r||(p(``),g({}),y({}),x(``),T(``),D(!1))},t[17]=r,t[18]=n,t[19]=H):H=t[19];let U=r?.id,oe;if(t[20]!==n||t[21]!==U?(oe=[n,U],t[20]=n,t[21]=U,t[22]=oe):oe=t[22],(0,Z.useEffect)(H,oe),!r||!A)return null;let se;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(se=e=>{Ne(e,p,g)},t[23]=se):se=t[23];let ce=se,W;t[24]!==h||t[25]!==b||t[26]!==f||t[27]!==ne||t[28]!==A.description||t[29]!==S||t[30]!==u||t[31]!==v?(W=()=>{let e=ne&&Object.keys(v).length>0?v:Re(h);u({goal:f.trim()||A.description,input:e,concurrency:b.trim()?Number(b):void 0,maxSubagents:S.trim()?Number(S):void 0})},t[24]=h,t[25]=b,t[26]=f,t[27]=ne,t[28]=A.description,t[29]=S,t[30]=u,t[31]=v,t[32]=W):W=t[32];let G=W,K;t[33]===c?K=t[34]:(K=e=>!e&&c(),t[33]=c,t[34]=K);let le;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(I,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[35]=le):le=t[35];let ue;t[36]===A.description?ue=t[37]:(ue=(0,$.jsx)(ee,{className:`mt-1 text-sm text-fg-muted`,children:A.description}),t[36]=A.description,t[37]=ue);let fe;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(fe=(0,$.jsx)(de,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[38]=fe):fe=t[38];let me;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(me=(0,$.jsx)(C,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[39]=me):me=t[39];let he;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(he=(0,$.jsx)(ie,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[40]=he):he=t[40];let ge;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(ge=e=>p(e.target.value),t[41]=ge):ge=t[41];let _e;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(_e=()=>D(An),t[42]=_e):_e=t[42];let ye=d.advancedSettings,be=E&&`rotate-180`,xe;t[43]===be?xe=t[44]:(xe=i(`size-4 transition-transform`,be),t[43]=be,t[44]=xe);let Se;t[45]===xe?Se=t[46]:(Se=(0,$.jsx)(ve,{className:xe}),t[45]=xe,t[46]=Se);let Ce;t[47]!==d.cancelDialog||t[48]!==c||t[49]!==s?(Ce=(0,$.jsx)(q,{variant:`secondary`,onClick:c,disabled:s,children:d.cancelDialog}),t[47]=d.cancelDialog,t[48]=c,t[49]=s,t[50]=Ce):Ce=t[50];let we=s?d.starting:d.start,Te;t[51]!==s||t[52]!==G||t[53]!==we?(Te=(0,$.jsx)(q,{variant:`primary`,onClick:G,disabled:s,children:we}),t[51]=s,t[52]=G,t[53]=we,t[54]=Te):Te=t[54];let Ee;return t[55]!==Ce||t[56]!==Te?(Ee=(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[Ce,Te]}),t[55]=Ce,t[56]=Te,t[57]=Ee):Ee=t[57],(0,$.jsx)(k,{open:n,onOpenChange:K,children:(0,$.jsxs)(te,{children:[le,(0,$.jsxs)(w,{className:`fixed left-1/2 top-1/2 z-66 flex max-h-[min(85vh,40rem)] w-[min(100%-2rem,32rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[(0,$.jsxs)(l,{className:`text-base font-semibold text-fg`,children:[d.startTitle,` · `,r.title]}),ue]}),(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-auto px-5 py-4`,children:[(0,$.jsxs)(`section`,{className:`rounded-2xl border border-edge bg-surface-base/70 p-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:d.runPlanPreview}),(0,$.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:ae})]}),(0,$.jsx)(`span`,{className:`shrink-0 rounded-full bg-accent-soft px-2 py-1 text-[11px] font-medium text-accent-fg`,children:d.readyToStart})]}),(0,$.jsxs)(`div`,{className:`mt-4 grid gap-2 text-xs text-fg-muted sm:grid-cols-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-surface-panel px-2.5 py-2`,children:[fe,(0,$.jsx)(`span`,{children:X(d.phaseCount,{count:r.phases.length})})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-surface-panel px-2.5 py-2`,children:[me,(0,$.jsx)(`span`,{children:Dn(r,d)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-surface-panel px-2.5 py-2`,children:[he,(0,$.jsx)(`span`,{children:X(d.runLimitsSummary,{concurrency:z??r.defaults.concurrency,max:V??r.defaults.maxSubagents})})]})]}),r.phases.length>0?(0,$.jsxs)(`div`,{className:`mt-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] font-medium uppercase tracking-wide text-fg-subtle`,children:[(0,$.jsx)(pe,{className:`size-3.5`,"aria-hidden":!0}),d.startPlanPhases]}),(0,$.jsx)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5`,children:r.phases.map(jn)})]}):null]}),ne&&r.inputSchema?(0,$.jsx)(Sn,{schema:r.inputSchema,value:v,onChange:y,labels:{inputSchemaHeading:d.inputSchemaHeading,rawJson:d.rawJson,rawJsonInvalid:d.rawJsonInvalid,booleanTrue:d.booleanTrue,booleanFalse:d.booleanFalse}}):null,!ne&&M.map(e=>(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsxs)(`span`,{className:`text-xs font-medium text-fg`,children:[Nn(d,e.labelKey),e.required?` *`:``]}),e.multiline?(0,$.jsx)(`textarea`,{value:h[e.key]??``,onChange:t=>g(n=>({...n,[e.key]:t.target.value})),placeholder:Nn(d,e.placeholderKey),className:`mt-1.5 min-h-20 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`}):(0,$.jsx)(`input`,{value:h[e.key]??``,onChange:t=>g(n=>({...n,[e.key]:t.target.value})),placeholder:Nn(d,e.placeholderKey),className:`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]},e.key)),re?(0,$.jsx)(En,{examples:P,labels:d,onSelect:ce}):null,(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:d.goalLabel}),(0,$.jsx)(`textarea`,{value:f,onChange:ge,placeholder:d.goalPlaceholder,className:`mt-1.5 min-h-24 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]}),re?null:(0,$.jsx)(En,{examples:P,labels:d,onSelect:ce}),(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between px-3 py-2.5 text-left text-sm text-fg`,onClick:_e,children:[ye,Se]}),E?(0,$.jsxs)(`div`,{className:`grid gap-3 border-t border-edge px-3 pb-3 pt-3 sm:grid-cols-2`,children:[(0,$.jsx)(`input`,{value:b,onChange:e=>x(e.target.value),placeholder:X(d.concurrencyPlaceholder,{default:r.defaults.concurrency}),inputMode:`numeric`,className:`rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`}),(0,$.jsx)(`input`,{value:S,onChange:e=>T(e.target.value),placeholder:X(d.maxSubagentsPlaceholder,{default:r.defaults.maxSubagents}),inputMode:`numeric`,className:`rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]}):null]})]}),Ee]})]})})}function An(e){return!e}function jn(e,t){return(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[t>0?(0,$.jsx)(`span`,{className:`text-fg-subtle`,children:`→`}):null,(0,$.jsx)(`span`,{className:`rounded-lg border border-edge-subtle bg-surface-panel px-2 py-1 text-[11px] text-fg-muted`,children:e.title})]},e.id)}function Mn(e){let[t,n]=e;return`${t}: ${String(n)}`}function Nn(e,t){return e.args[t]??t}function Pn(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]?X(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)(Fn,{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)(Fn,{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)(Fn,{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?`—`:je(n.averageDurationMs),t[17]=n.averageDurationMs,t[18]=_);let v;t[19]!==i.statsAvgDuration||t[20]!==_?(v=(0,$.jsx)(Fn,{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 border border-edge bg-surface-panel/70 px-3 py-2`,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 Fn(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 border border-edge 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 In(e){let t=(0,Q.c)(25),{vm:n}=e,{labels:r,loading:a,refreshAll:o,setManageOpen:s,setPickStartOpen:c}=n,l;t[0]===c?l=t[1]:(l=()=>c(!0),t[0]=c,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(O,{className:`size-4`,"aria-hidden":!0}),t[2]=u):u=t[2];let d;t[3]!==r.boardStart||t[4]!==l?(d=(0,$.jsxs)(q,{variant:`primary`,className:`h-9 rounded-lg`,onClick:l,children:[u,r.boardStart]}),t[3]=r.boardStart,t[4]=l,t[5]=d):d=t[5];let f;t[6]===s?f=t[7]:(f=()=>s(!0),t[6]=s,t[7]=f);let p;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(g,{className:`size-4`,"aria-hidden":!0}),t[8]=p):p=t[8];let m;t[9]!==r.addWorkflow||t[10]!==f?(m=(0,$.jsxs)(q,{variant:`secondary`,className:`h-9 rounded-lg`,onClick:f,children:[p,r.addWorkflow]}),t[9]=r.addWorkflow,t[10]=f,t[11]=m):m=t[11];let h=r.refresh,_=r.refresh,v=a&&`animate-spin`,y;t[12]===v?y=t[13]:(y=i(`size-4`,v),t[12]=v,t[13]=y);let b;t[14]===y?b=t[15]:(b=(0,$.jsx)(z,{className:y,strokeWidth:1.75,"aria-hidden":!0}),t[14]=y,t[15]=b);let x;t[16]!==r.refresh||t[17]!==a||t[18]!==o||t[19]!==b?(x=(0,$.jsx)(q,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,onClick:o,disabled:a,title:h,"aria-label":_,children:b}),t[16]=r.refresh,t[17]=a,t[18]=o,t[19]=b,t[20]=x):x=t[20];let S;return t[21]!==x||t[22]!==d||t[23]!==m?(S=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[d,m,x]}),t[21]=x,t[22]=d,t[23]=m,t[24]=S):S=t[24],S}function Ln(e){let t=(0,Q.c)(204),{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:b,selectedRunId:x,selectedRunView:S,selectedRunComparison:C,selectedRunLoading:w,selectedRunError:T,openRunDetails:E,closeRunDetails:D,openRunDetailsById:O,openRunInChat:k,pickStartOpen:A,setPickStartOpen:j,startDefinition:M,setStartDefinition:N,detailDefinition:P,setDetailDefinition:F,manageOpen:I,setManageOpen:ee,actionError:L,actionFeedback:te,starting:ne,savingWorkflow:re,loading:R,error:ie,stats:z,submitStart:V,cancelRun:ae,retryRun:H,replayRun:U,saveCustomWorkflow:oe,saveDraftAndStart:se}=n,W=ce(Bn),G=ce(zn),K;t[0]!==G||t[1]!==c||t[2]!==s.statsActiveRuns||t[3]!==s.statsTotalRuns||t[4]!==s.subtitleBoard||t[5]!==s.title||t[6]!==W||t[7]!==z||t[8]!==n?(K=()=>{if(!c){G();return}return W({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:z?`${s.statsTotalRuns}: ${z.totalRuns} · ${s.statsActiveRuns}: ${z.activeRuns}`:s.subtitleBoard})]}),end:(0,$.jsx)(In,{vm:n})}),()=>G()},t[0]=G,t[1]=c,t[2]=s.statsActiveRuns,t[3]=s.statsTotalRuns,t[4]=s.subtitleBoard,t[5]=s.title,t[6]=W,t[7]=z,t[8]=n,t[9]=K):K=t[9];let le;if(t[10]!==G||t[11]!==c||t[12]!==s.statsActiveRuns||t[13]!==s.statsTotalRuns||t[14]!==s.subtitleBoard||t[15]!==s.title||t[16]!==R||t[17]!==z||t[18]!==n?(le=[G,c,s.title,s.statsActiveRuns,s.statsTotalRuns,s.subtitleBoard,R,z,n,n.refreshAll,n.setManageOpen,n.setSearchQuery],t[10]=G,t[11]=c,t[12]=s.statsActiveRuns,t[13]=s.statsTotalRuns,t[14]=s.subtitleBoard,t[15]=s.title,t[16]=R,t[17]=z,t[18]=n,t[19]=le):le=t[19],(0,Z.useLayoutEffect)(K,le),!c){let e;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(B,{className:`size-10 text-accent-fg`,"aria-hidden":!0}),t[20]=e):e=t[20];let n;t[21]===s.title?n=t[22]:(n=(0,$.jsx)(`h1`,{className:`mt-4 text-xl font-semibold text-fg`,children:s.title}),t[21]=s.title,t[22]=n);let r;t[23]===s.needToken?r=t[24]:(r=(0,$.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-fg-muted`,children:s.needToken}),t[23]=s.needToken,t[24]=r);let i;return t[25]!==n||t[26]!==r?(i=(0,$.jsx)(`main`,{className:`min-h-0 flex-1 overflow-auto bg-surface-base`,children:(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col items-center px-4 py-16 text-center sm:px-8`,children:[e,n,r]})}),t[25]=n,t[26]=r,t[27]=i):i=t[27],i}let q;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(fe,{className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[28]=q):q=t[28];let ue;t[29]===f?ue=t[30]:(ue=e=>f(e.target.value),t[29]=f,t[30]=ue);let J=s.searchPlaceholder,de;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(de=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`,we.focusRingPanel),t[31]=de):de=t[31];let pe;t[32]!==s.searchPlaceholder||t[33]!==d||t[34]!==ue?(pe=(0,$.jsxs)(`div`,{className:`relative min-w-48 flex-1 sm:max-w-xs`,children:[q,(0,$.jsx)(`input`,{value:d,onChange:ue,placeholder:J,className:de})]}),t[32]=s.searchPlaceholder,t[33]=d,t[34]=ue,t[35]=pe):pe=t[35];let me;t[36]!==m||t[37]!==r||t[38]!==p||t[39]!==h?(me=m.length>1?(0,$.jsx)(`select`,{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`,we.focusRingPanel),children:m.map(e=>(0,$.jsx)(`option`,{value:e.id,children:y(e,a(r).agentsSettings)},e.id))}):null,t[36]=m,t[37]=r,t[38]=p,t[39]=h,t[40]=me):me=t[40];let he=s.boardTriggerFilterAria,ge;t[41]===b?ge=t[42]:(ge=e=>b(e.target.value),t[41]=b,t[42]=ge);let _e;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(_e=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`,we.focusRingPanel),t[43]=_e):_e=t[43];let ve;t[44]===s.boardTriggerFilterAll?ve=t[45]:(ve=(0,$.jsx)(`option`,{value:`all`,children:s.boardTriggerFilterAll}),t[44]=s.boardTriggerFilterAll,t[45]=ve);let ye;t[46]===s.boardTriggerFilterCron?ye=t[47]:(ye=(0,$.jsx)(`option`,{value:`cron`,children:s.boardTriggerFilterCron}),t[46]=s.boardTriggerFilterCron,t[47]=ye);let be;t[48]===s.boardTriggerFilterWebui?be=t[49]:(be=(0,$.jsx)(`option`,{value:`webui`,children:s.boardTriggerFilterWebui}),t[48]=s.boardTriggerFilterWebui,t[49]=be);let xe;t[50]===s.boardTriggerFilterChat?xe=t[51]:(xe=(0,$.jsx)(`option`,{value:`chat`,children:s.boardTriggerFilterChat}),t[50]=s.boardTriggerFilterChat,t[51]=xe);let Se;t[52]===s.boardTriggerFilterApi?Se=t[53]:(Se=(0,$.jsx)(`option`,{value:`api`,children:s.boardTriggerFilterApi}),t[52]=s.boardTriggerFilterApi,t[53]=Se);let Ce;t[54]!==s.boardTriggerFilterAria||t[55]!==ge||t[56]!==ve||t[57]!==ye||t[58]!==be||t[59]!==xe||t[60]!==Se||t[61]!==v?(Ce=(0,$.jsxs)(`select`,{value:v,"aria-label":he,onChange:ge,className:_e,children:[ve,ye,be,xe,Se]}),t[54]=s.boardTriggerFilterAria,t[55]=ge,t[56]=ve,t[57]=ye,t[58]=be,t[59]=xe,t[60]=Se,t[61]=v,t[62]=Ce):Ce=t[62];let Te=s.boardWorkflowFilterAria,Ee;t[63]===_?Ee=t[64]:(Ee=e=>_(e.target.value),t[63]=_,t[64]=Ee);let De;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(De=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`,we.focusRingPanel),t[65]=De):De=t[65];let Oe;t[66]===s.boardWorkflowFilterAll?Oe=t[67]:(Oe=(0,$.jsx)(`option`,{value:``,children:s.boardWorkflowFilterAll}),t[66]=s.boardWorkflowFilterAll,t[67]=Oe);let ke;t[68]===l?ke=t[69]:(ke=l.map(Rn),t[68]=l,t[69]=ke);let Ae;t[70]!==s.boardWorkflowFilterAria||t[71]!==Ee||t[72]!==Oe||t[73]!==ke||t[74]!==g?(Ae=(0,$.jsxs)(`select`,{value:g,"aria-label":Te,onChange:Ee,className:De,children:[Oe,ke]}),t[70]=s.boardWorkflowFilterAria,t[71]=Ee,t[72]=Oe,t[73]=ke,t[74]=g,t[75]=Ae):Ae=t[75];let Y;t[76]!==Ce||t[77]!==Ae||t[78]!==pe||t[79]!==me?(Y=(0,$.jsxs)(`section`,{className:`flex flex-wrap items-center gap-2 rounded-lg border border-edge bg-surface-panel/70 px-3 py-2`,children:[pe,me,Ce,Ae]}),t[76]=Ce,t[77]=Ae,t[78]=pe,t[79]=me,t[80]=Y):Y=t[80];let je;t[81]===te?je=t[82]:(je=te?(0,$.jsx)(`div`,{className:`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:te}):null,t[81]=te,t[82]=je);let Me;t[83]!==L||t[84]!==ie?(Me=L??ie?(0,$.jsx)(`div`,{className:`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:L??ie}):null,t[83]=L,t[84]=ie,t[85]=Me):Me=t[85];let Ne;t[86]!==r||t[87]!==z?(Ne=(0,$.jsx)(Pn,{stats:z,language:r}),t[86]=r,t[87]=z,t[88]=Ne):Ne=t[88];let Pe;t[89]===T?Pe=t[90]:(Pe=T?(0,$.jsx)(`div`,{className:`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:T}):null,t[89]=T,t[90]=Pe);let Fe;t[91]!==s.boardEmptyHint||t[92]!==s.boardEmptyTitle||t[93]!==s.boardStart||t[94]!==s.loading?(Fe={boardEmptyTitle:s.boardEmptyTitle,boardEmptyHint:s.boardEmptyHint,boardStart:s.boardStart,loading:s.loading},t[91]=s.boardEmptyHint,t[92]=s.boardEmptyTitle,t[93]=s.boardStart,t[94]=s.loading,t[95]=Fe):Fe=t[95];let Ie;t[96]===ae?Ie=t[97]:(Ie=e=>void ae(e),t[96]=ae,t[97]=Ie);let Le;t[98]===H?Le=t[99]:(Le=e=>void H(e),t[98]=H,t[99]=Le);let X;t[100]===j?X=t[101]:(X=()=>j(!0),t[100]=j,t[101]=X);let Re;t[102]!==r||t[103]!==R||t[104]!==o||t[105]!==E||t[106]!==k||t[107]!==u||t[108]!==d||t[109]!==x||t[110]!==Fe||t[111]!==Ie||t[112]!==Le||t[113]!==X||t[114]!==v||t[115]!==g?(Re=(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,$.jsx)(ft,{runs:u,language:r,localeTag:o,labels:Fe,searchQuery:d,workflowFilterId:g,triggerFilter:v,selectedRunId:x,loading:R,onOpenRun:E,onOpenRunChat:k,onCancelRun:Ie,onRetryRun:Le,onStart:X})}),t[102]=r,t[103]=R,t[104]=o,t[105]=E,t[106]=k,t[107]=u,t[108]=d,t[109]=x,t[110]=Fe,t[111]=Ie,t[112]=Le,t[113]=X,t[114]=v,t[115]=g,t[116]=Re):Re=t[116];let ze;t[117]!==Y||t[118]!==je||t[119]!==Me||t[120]!==Ne||t[121]!==Pe||t[122]!==Re?(ze=(0,$.jsxs)(`div`,{className:`flex min-h-0 w-full flex-1 flex-col gap-4 px-4 py-5 sm:px-6 2xl:px-8`,children:[Y,je,Me,Ne,Pe,Re]}),t[117]=Y,t[118]=je,t[119]=Me,t[120]=Ne,t[121]=Pe,t[122]=Re,t[123]=ze):ze=t[123];let Be;if(t[124]!==l||t[125]!==S?.run){let e;t[127]===S?.run?e=t[128]:(e=e=>e.id===S?.run.definitionId,t[127]=S?.run,t[128]=e),Be=l.find(e),t[124]=l,t[125]=S?.run,t[126]=Be}else Be=t[126];let Ve=!!x&&w,He;t[129]!==ae||t[130]!==x?(He=()=>{x&&ae(x)},t[129]=ae,t[130]=x,t[131]=He):He=t[131];let Ue;t[132]!==H||t[133]!==x?(Ue=()=>{x&&H(x)},t[132]=H,t[133]=x,t[134]=Ue):Ue=t[134];let We;t[135]!==U||t[136]!==x?(We=e=>{x&&U(x,e)},t[135]=U,t[136]=x,t[137]=We):We=t[137];let Ge;t[138]!==D||t[139]!==r||t[140]!==o||t[141]!==O||t[142]!==p||t[143]!==C||t[144]!==S||t[145]!==Be||t[146]!==Ve||t[147]!==He||t[148]!==Ue||t[149]!==We?(Ge=(0,$.jsx)($t,{view:S,comparison:C,currentDefinition:Be,loading:Ve,language:r,localeTag:o,onCancel:He,onRetry:Ue,onReplay:We,onOpenRunId:O,ownerAgentId:p,onClose:D}),t[138]=D,t[139]=r,t[140]=o,t[141]=O,t[142]=p,t[143]=C,t[144]=S,t[145]=Be,t[146]=Ve,t[147]=He,t[148]=Ue,t[149]=We,t[150]=Ge):Ge=t[150];let Ke;t[151]===j?Ke=t[152]:(Ke=()=>j(!1),t[151]=j,t[152]=Ke);let qe;t[153]!==j||t[154]!==N?(qe=e=>{j(!1),N(e)},t[153]=j,t[154]=N,t[155]=qe):qe=t[155];let Je;t[156]!==l||t[157]!==r||t[158]!==A||t[159]!==Ke||t[160]!==qe?(Je=(0,$.jsx)(Gt,{open:A,definitions:l,language:r,onClose:Ke,onPick:qe}),t[156]=l,t[157]=r,t[158]=A,t[159]=Ke,t[160]=qe,t[161]=Je):Je=t[161];let Ye=M!=null,Xe;t[162]===N?Xe=t[163]:(Xe=()=>N(null),t[162]=N,t[163]=Xe);let Ze;t[164]===V?Ze=t[165]:(Ze=e=>void V(e),t[164]=V,t[165]=Ze);let Qe;t[166]!==r||t[167]!==M||t[168]!==ne||t[169]!==Ye||t[170]!==Xe||t[171]!==Ze?(Qe=(0,$.jsx)(kn,{open:Ye,definition:M,language:r,starting:ne,onClose:Xe,onStart:Ze}),t[166]=r,t[167]=M,t[168]=ne,t[169]=Ye,t[170]=Xe,t[171]=Ze,t[172]=Qe):Qe=t[172];let $e=P!=null,et;t[173]===F?et=t[174]:(et=()=>F(null),t[173]=F,t[174]=et);let tt;t[175]!==P||t[176]!==F||t[177]!==N?(tt=()=>{P&&(F(null),N(P))},t[175]=P,t[176]=F,t[177]=N,t[178]=tt):tt=t[178];let nt;t[179]!==P||t[180]!==r||t[181]!==$e||t[182]!==et||t[183]!==tt?(nt=(0,$.jsx)(Pt,{open:$e,definition:P,language:r,onClose:et,onRun:tt}),t[179]=P,t[180]=r,t[181]=$e,t[182]=et,t[183]=tt,t[184]=nt):nt=t[184];let rt;t[185]===ee?rt=t[186]:(rt=()=>ee(!1),t[185]=ee,t[186]=rt);let it;t[187]===oe?it=t[188]:(it=e=>oe(e),t[187]=oe,t[188]=it);let at;t[189]!==r||t[190]!==I||t[191]!==p||t[192]!==se||t[193]!==re||t[194]!==rt||t[195]!==it?(at=(0,$.jsx)(_t,{open:I,language:r,ownerAgentId:p,saving:re,onClose:rt,onSave:it,onSaveAndStart:se}),t[189]=r,t[190]=I,t[191]=p,t[192]=se,t[193]=re,t[194]=rt,t[195]=it,t[196]=at):at=t[196];let ot;return t[197]!==ze||t[198]!==Ge||t[199]!==Je||t[200]!==Qe||t[201]!==nt||t[202]!==at?(ot=(0,$.jsxs)(`main`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden bg-surface-base`,children:[ze,Ge,Je,Qe,nt,at]}),t[197]=ze,t[198]=Ge,t[199]=Je,t[200]=Qe,t[201]=nt,t[202]=at,t[203]=ot):ot=t[203],ot}function Rn(e){return(0,$.jsx)(`option`,{value:e.id,children:e.title},e.id)}function zn(e){return e.clearPageHeader}function Bn(e){return e.setPageHeader}function Vn(){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=N(),[d,f]=m(),g=d.get(`q`)??``,v=d.get(`wf`)?.trim()??``,y=d.get(`trigger`)?.trim()||`all`,b=d.get(`run`)?.trim()??``,x=d.get(`agent`)?.trim()??``,[S,C]=(0,Z.useState)(null),[w,E]=(0,Z.useState)(!1),[O,k]=(0,Z.useState)(null),[A,M]=(0,Z.useState)(!1),[P,I]=(0,Z.useState)(null),[ee,L]=(0,Z.useState)(null),[te,ne]=(0,Z.useState)(!1),[re,ie]=(0,Z.useState)(!1),z=c(i?[`workflow-agents`,r]:null,F,{revalidateOnFocus:!1}),B=(0,Z.useMemo)(()=>{let e=z.data?.agents??[];return x&&e.some(e=>e.id===x)||x&&e.length===0?x:z.data?.defaultId??(x||void 0)},[z.data,x]),V=c(i?[`workflow-definitions`,r]:null,le,{revalidateOnFocus:!1}),H=c(i&&B?[`workflow-runs`,r,B]:null,()=>u(100,{ownerAgentId:B}),{revalidateOnFocus:!1,refreshInterval:e=>e?.length&&e.some(e=>e.status===`queued`||e.status===`running`)?3e3:0}),U=c(i&&B?[`workflow-stats`,r,B,v]:null,()=>p(v,{ownerAgentId:B}),{revalidateOnFocus:!1});(0,Z.useEffect)(()=>{if(!ee)return;let e=window.setTimeout(()=>L(null),4e3);return()=>window.clearTimeout(e)},[ee]);let oe=V.data??[],se=z.data?.agents??[],ce=H.data??[],W=b||null,K=ge(W,{ownerAgentId:B}),q=c(i&&B&&W&&K.view?.run.metadata?.replay?[`workflow-run-comparison`,r,B,W]:null,()=>h(W,{ownerAgentId:B}),{revalidateOnFocus:!1}),ue=(0,Z.useMemo)(()=>Le(oe,g,`all`,`all`),[oe,g]),J=(0,Z.useCallback)(e=>{f(t=>{let n=new URLSearchParams(t);return e(n,t),n},{replace:!0})},[f]);(0,Z.useEffect)(()=>{let e=z.data?.agents??[];!x||e.length===0||e.some(e=>e.id===x)||J(e=>{z.data?.defaultId?e.set(R,z.data.defaultId):e.delete(R),e.delete(`run`)})},[z.data,x,J]);let de=(0,Z.useCallback)(e=>{J(t=>{let n=e.trim();n?t.set(`q`,n):t.delete(`q`)})},[J]),fe=(0,Z.useCallback)(e=>{J(t=>{let n=e.trim();n?t.set(R,n):t.delete(R),t.delete(`run`)})},[J]),pe=(0,Z.useCallback)(e=>{J(t=>{let n=e.trim();n?t.set(`wf`,n):t.delete(`wf`)})},[J]),me=(0,Z.useCallback)(e=>{J(t=>{let n=e.trim();n&&n!==`all`?t.set(ae,n):t.delete(ae)})},[J]),he=(0,Z.useCallback)(e=>{J(t=>{B&&t.set(R,B),t.set(`run`,e.id)})},[B,J]),_e=(0,Z.useCallback)(()=>{J(e=>{e.delete(`run`)})},[J]),ve=(0,Z.useCallback)(e=>{J(t=>{B&&t.set(R,B),t.set(`run`,e)})},[B,J]),ye=(0,Z.useCallback)(e=>{let t=Ue(e);t&&l(Ie(t))},[l]);(0,Z.useEffect)(()=>{d.get(`tab`)&&J(e=>{e.delete(`tab`)})},[J,d]),(0,Z.useEffect)(()=>{let e=d.get(`def`),t=d.get(xe)===`1`;if(!e||!oe.length)return;let n=oe.find(t=>t.id===e||t.name===e);n&&(t?C(n):k(n),J(e=>{e.delete(`def`),e.delete(xe)}))},[oe,J,d]),(0,Z.useEffect)(()=>{let e=()=>{H.mutate(),U.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)}},[H,U]);let be=(0,Z.useCallback)(()=>{z.mutate(),V.mutate(),H.mutate(),U.mutate()},[z,V,H,U]),Se=(0,Z.useCallback)(async e=>{if(S){ne(!0),I(null);try{let n=await _({definitionId:S.id,goal:e.goal,input:e.input,agentId:B,concurrency:e.concurrency,maxSubagents:e.maxSubagents});C(null),await H.mutate(),await U.mutate(),L(t.startSuccess),J(e=>{B&&e.set(R,B),e.set(`run`,n.runId)})}catch(e){I(e instanceof Error?e.message:t.startFailed)}finally{ne(!1)}}},[t.startFailed,t.startSuccess,B,J,H,S,U]),we=(0,Z.useCallback)(async e=>{try{await j(e,{ownerAgentId:B}),await H.mutate(),await U.mutate()}catch(e){let n=e instanceof Error?e.message:t.cancelFailed;if(/not active|already finished/i.test(n)){await H.mutate(),await U.mutate();return}I(n)}},[t.cancelFailed,B,H,U]),Te=(0,Z.useCallback)(async e=>{try{let t=await T(e,{ownerAgentId:B});await H.mutate(),await U.mutate(),J(e=>{B&&e.set(R,B),e.set(`run`,t.runId)})}catch(e){I(e instanceof Error?e.message:t.retryFailed)}},[t.retryFailed,B,J,H,U]),Ee=(0,Z.useCallback)(async(e,n)=>{try{let t=await G(e,n,{ownerAgentId:B});await H.mutate(),await U.mutate(),J(e=>{B&&e.set(R,B),e.set(`run`,t.runId)})}catch(e){I(e instanceof Error?e.message:t.retryFailed)}},[t.retryFailed,B,J,H,U]),De=(0,Z.useCallback)(async e=>{ie(!0),I(null);try{let n=await D(e.name,e.script);return M(!1),await V.mutate(),L(t.saveWorkflowSuccess),n}catch(e){I(e instanceof Error?e.message:t.saveWorkflowFailed)}finally{ie(!1)}},[V,t.saveWorkflowFailed,t.saveWorkflowSuccess]),Oe=(0,Z.useCallback)(async e=>{ie(!0),I(null);try{let n=await D(e.name,e.script);await V.mutate();let r=await _({definitionId:n.id,goal:e.goal,input:{goal:e.goal},agentId:B});M(!1),await H.mutate(),await U.mutate(),L(t.startSuccess),J(e=>{B&&e.set(R,B),e.set(`run`,r.runId)})}catch(e){I(e instanceof Error?e.message:t.startFailed)}finally{ie(!1)}},[V,t.startFailed,t.startSuccess,B,J,H,U]),ke=(0,Z.useCallback)(async e=>{if(e.metadata.source===`user`&&window.confirm(X(t.deleteConfirm,{name:e.name}))){I(null);try{await Ce(e.id),await V.mutate(),L(t.deleteWorkflowSuccess)}catch(e){I(e instanceof Error?e.message:t.deleteWorkflowFailed)}}},[V,t]),Ae=z.isLoading||V.isLoading||H.isLoading,Y=z.error?.message??V.error?.message??H.error?.message??null;return{language:e,localeTag:n,labels:t,hasToken:i,searchQuery:g,setSearchQuery:de,ownerAgentId:B,agentOptions:se,setOwnerAgentId:fe,workflowFilterId:v,setWorkflowFilterId:pe,triggerFilter:y,setTriggerFilter:me,definitions:oe,filteredDefinitions:ue,runs:ce,selectedRunId:W,selectedRunView:K.view,selectedRunComparison:q.data,selectedRunLoading:K.loading,selectedRunError:K.error?.message??q.error?.message??null,openRunDetails:he,closeRunDetails:_e,openRunDetailsById:ve,openRunInChat:ye,pickStartOpen:w,setPickStartOpen:E,startDefinition:S,setStartDefinition:C,detailDefinition:O,setDetailDefinition:k,manageOpen:A,setManageOpen:M,actionError:P,actionFeedback:ee,starting:te,savingWorkflow:re,loading:Ae,error:Y,stats:U.data,refreshAll:be,submitStart:Se,cancelRun:we,retryRun:Te,replayRun:Ee,saveCustomWorkflow:De,saveDraftAndStart:Oe,removeCustomWorkflow:ke}}function Hn(){let e=(0,Q.c)(2),t=Vn(),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(Ln,{vm:t}),e[0]=t,e[1]=n),n}export{Hn as WorkflowsPage};
|
|
@@ -10,22 +10,24 @@
|
|
|
10
10
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16.png?v=20260621-4" />
|
|
11
11
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=20260621-4" />
|
|
12
12
|
<title>xopc</title>
|
|
13
|
-
<script type="module" crossorigin src="/assets/index-
|
|
13
|
+
<script type="module" crossorigin src="/assets/index-COkF54xv.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
|
-
<link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-DYoKfS8f.js">
|
|
17
16
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-BOUWij0V.js">
|
|
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">
|
|
20
|
+
<link rel="modulepreload" crossorigin href="/assets/cn-JdwAhgNB.js">
|
|
19
21
|
<link rel="modulepreload" crossorigin href="/assets/vendor-swr-BIWyz7Rc.js">
|
|
20
|
-
<link rel="modulepreload" crossorigin href="/assets/url-DQRqHuL-.js">
|
|
21
22
|
<link rel="modulepreload" crossorigin href="/assets/createLucideIcon-DPHK1VkS.js">
|
|
22
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
23
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
24
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
25
|
-
<link rel="modulepreload" crossorigin href="/assets/fetch-
|
|
26
|
-
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-
|
|
23
|
+
<link rel="modulepreload" crossorigin href="/assets/middleware-Pd0e8Igk.js">
|
|
24
|
+
<link rel="modulepreload" crossorigin href="/assets/locale-store-DjbfSsfA.js">
|
|
25
|
+
<link rel="modulepreload" crossorigin href="/assets/messages-Csef1aW7.js">
|
|
26
|
+
<link rel="modulepreload" crossorigin href="/assets/fetch-Bs7in_4F.js">
|
|
27
|
+
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-BkjVJc38.js">
|
|
27
28
|
<link rel="modulepreload" crossorigin href="/assets/toast-z0toXu32.js">
|
|
28
|
-
<link rel="
|
|
29
|
+
<link rel="modulepreload" crossorigin href="/assets/theme-store-CD2wtgZV.js">
|
|
30
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DIaSNGEO.css">
|
|
29
31
|
</head>
|
|
30
32
|
<body>
|
|
31
33
|
<div id="root"></div>
|
package/dist/package.js
CHANGED
|
@@ -19,11 +19,16 @@ export type ChecklistJudgeUpdate = {
|
|
|
19
19
|
evidence?: string | null;
|
|
20
20
|
};
|
|
21
21
|
export type ChecklistEvaluateParsed = {
|
|
22
|
+
verdict: 'continue' | 'done' | 'blocked' | 'needs_input';
|
|
23
|
+
confidence: number;
|
|
22
24
|
updates: ChecklistJudgeUpdate[];
|
|
23
25
|
newItems: {
|
|
24
26
|
text: string;
|
|
25
27
|
}[];
|
|
26
28
|
reason: string;
|
|
29
|
+
nextAction?: string;
|
|
30
|
+
missingEvidence?: string[];
|
|
31
|
+
userQuestion?: string;
|
|
27
32
|
};
|
|
28
33
|
export type EvaluateChecklistResult = {
|
|
29
34
|
parsed: ChecklistEvaluateParsed;
|
|
@@ -10,7 +10,7 @@ const RESPONSE_SNIPPET = 4e3;
|
|
|
10
10
|
const HISTORY_TRUNC = 24e3;
|
|
11
11
|
const DECOMPOSE_SYSTEM = "You break a user goal into an EXTREMELY detailed checklist of concrete, verifiable completion criteria. Bias toward more items. Each item is one factual statement about finished work.\n\nReply ONLY with a single JSON object on one line:\n{\"items\":[{\"text\":\"...\"},...]}\nUse at least 3 items when the goal warrants it.";
|
|
12
12
|
const DECOMPOSE_USER = "Goal:\n{goal}\n\nReturn JSON only.";
|
|
13
|
-
const EVALUATE_CHECKLIST_SYSTEM = "You evaluate an autonomous agent's progress on a goal with a numbered checklist.\nFor each pending item, decide if evidence in the agent snippet and/or history excerpt shows it is satisfied.\nFlip pending→completed only with clear evidence; pending→impossible only if truly unachievable here.\nDo not regress completed/impossible items — omit them from updates.\n\nReply ONLY with one JSON object on one line
|
|
13
|
+
const EVALUATE_CHECKLIST_SYSTEM = "You evaluate an autonomous agent's progress on a goal with a numbered checklist.\nFor each pending item, decide if evidence in the agent snippet and/or history excerpt shows it is satisfied.\nFlip pending→completed only with clear evidence; pending→impossible only if truly unachievable here.\nDo not regress completed/impossible items — omit them from updates.\n\nReply ONLY with one JSON object on one line:\n{\"verdict\":\"continue|done|blocked|needs_input\",\"confidence\":0.0,\"reason\":\"...\",\"nextAction\":\"...\",\"missingEvidence\":[\"...\"],\"userQuestion\":\"...\",\"updates\":[{\"index\":1,\"status\":\"completed|impossible\",\"evidence\":\"short citation\"}],\"new_items\":[{\"text\":\"...\"}]}\nUse verdict=done only when all checklist criteria are complete/impossible. Use needs_input when the next step requires user input. Use blocked when external progress is impossible.";
|
|
14
14
|
function extractJsonObject(raw) {
|
|
15
15
|
if (!raw?.trim()) return null;
|
|
16
16
|
const text = stripCodeFences(raw);
|
|
@@ -116,6 +116,8 @@ async function evaluateGoalChecklistJudge(opts) {
|
|
|
116
116
|
} catch {
|
|
117
117
|
return {
|
|
118
118
|
parsed: {
|
|
119
|
+
verdict: "continue",
|
|
120
|
+
confidence: 0,
|
|
119
121
|
updates: [],
|
|
120
122
|
newItems: [],
|
|
121
123
|
reason: judgeReasonText("judge_model_not_configured", locale)
|
|
@@ -143,6 +145,8 @@ async function evaluateGoalChecklistJudge(opts) {
|
|
|
143
145
|
});
|
|
144
146
|
if (getAssistantMessageErrorReason(result)) return {
|
|
145
147
|
parsed: {
|
|
148
|
+
verdict: "continue",
|
|
149
|
+
confidence: 0,
|
|
146
150
|
updates: [],
|
|
147
151
|
newItems: [],
|
|
148
152
|
reason: judgeReasonText("judge_call_failed", locale)
|
|
@@ -152,6 +156,8 @@ async function evaluateGoalChecklistJudge(opts) {
|
|
|
152
156
|
const data = extractJsonObject(extractAssistantText(result.content));
|
|
153
157
|
if (!data) return {
|
|
154
158
|
parsed: {
|
|
159
|
+
verdict: "continue",
|
|
160
|
+
confidence: 0,
|
|
155
161
|
updates: [],
|
|
156
162
|
newItems: [],
|
|
157
163
|
reason: judgeReasonText("judge_reply_not_json", locale)
|
|
@@ -160,6 +166,13 @@ async function evaluateGoalChecklistJudge(opts) {
|
|
|
160
166
|
};
|
|
161
167
|
const updatesRaw = data.updates;
|
|
162
168
|
const newRaw = data.new_items ?? data.newItems;
|
|
169
|
+
const verdictRaw = String(data.verdict ?? "").trim().toLowerCase();
|
|
170
|
+
const verdict = verdictRaw === "done" || verdictRaw === "blocked" || verdictRaw === "needs_input" ? verdictRaw : "continue";
|
|
171
|
+
const confidenceRaw = Number(data.confidence);
|
|
172
|
+
const confidence = Number.isFinite(confidenceRaw) ? Math.max(0, Math.min(1, confidenceRaw)) : 0;
|
|
173
|
+
const nextAction = typeof data.nextAction === "string" ? data.nextAction.trim() : void 0;
|
|
174
|
+
const userQuestion = typeof data.userQuestion === "string" ? data.userQuestion.trim() : void 0;
|
|
175
|
+
const missingEvidenceRaw = data.missingEvidence ?? data.missing_evidence;
|
|
163
176
|
const reason = localizeJudgeReasonText((typeof data.reason === "string" ? data.reason.trim() : "") || JUDGE_REASON_EN.no_reason_provided, locale);
|
|
164
177
|
const updates = [];
|
|
165
178
|
if (Array.isArray(updatesRaw)) for (const u of updatesRaw) {
|
|
@@ -187,17 +200,28 @@ async function evaluateGoalChecklistJudge(opts) {
|
|
|
187
200
|
if (t) newItems.push({ text: t });
|
|
188
201
|
}
|
|
189
202
|
}
|
|
203
|
+
const missingEvidence = [];
|
|
204
|
+
if (Array.isArray(missingEvidenceRaw)) {
|
|
205
|
+
for (const item of missingEvidenceRaw) if (typeof item === "string" && item.trim()) missingEvidence.push(item.trim());
|
|
206
|
+
}
|
|
190
207
|
return {
|
|
191
208
|
parsed: {
|
|
209
|
+
verdict,
|
|
210
|
+
confidence,
|
|
192
211
|
updates,
|
|
193
212
|
newItems,
|
|
194
|
-
reason: reason || judgeReasonText("no_reason_provided", locale)
|
|
213
|
+
reason: reason || judgeReasonText("no_reason_provided", locale),
|
|
214
|
+
...nextAction ? { nextAction } : {},
|
|
215
|
+
...missingEvidence.length ? { missingEvidence } : {},
|
|
216
|
+
...userQuestion ? { userQuestion } : {}
|
|
195
217
|
},
|
|
196
218
|
parseFailed: false
|
|
197
219
|
};
|
|
198
220
|
} catch {
|
|
199
221
|
return {
|
|
200
222
|
parsed: {
|
|
223
|
+
verdict: "continue",
|
|
224
|
+
confidence: 0,
|
|
201
225
|
updates: [],
|
|
202
226
|
newItems: [],
|
|
203
227
|
reason: judgeReasonText("judge_call_failed", locale)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checklist-judge.js","names":[],"sources":["../../../../src/agent/goals/checklist-judge.ts"],"sourcesContent":["import type { UserMessage } from '@earendil-works/pi-ai';\nimport { complete } from '@earendil-works/pi-ai';\n\nimport { resolveModel } from '../../providers/index.js';\n\nimport {\n DEFAULT_JUDGE_TIMEOUT_MS,\n extractAssistantText,\n getAssistantMessageErrorReason,\n resolveGoalJudgeApiKey,\n stripCodeFences,\n truncateGoalText,\n} from './judge.js';\nimport type { GoalUiLocale } from './goal-locale.js';\nimport {\n goalUiLocaleOrFallback,\n judgeReasonText,\n judgeResponseLanguageNote,\n JUDGE_REASON_EN,\n localizeJudgeReasonText,\n} from './goal-locale.js';\n\nconst GOAL_TRUNC = 4000;\nconst RESPONSE_SNIPPET = 4000;\nconst HISTORY_TRUNC = 24_000;\n\nconst DECOMPOSE_SYSTEM = (\n 'You break a user goal into an EXTREMELY detailed checklist of concrete, verifiable completion criteria. ' +\n 'Bias toward more items. Each item is one factual statement about finished work.\\n\\n' +\n 'Reply ONLY with a single JSON object on one line:\\n' +\n '{\"items\":[{\"text\":\"...\"},...]}\\n' +\n 'Use at least 3 items when the goal warrants it.'\n);\n\nconst DECOMPOSE_USER = 'Goal:\\n{goal}\\n\\nReturn JSON only.';\n\nconst EVALUATE_CHECKLIST_SYSTEM = (\n 'You evaluate an autonomous agent\\'s progress on a goal with a numbered checklist.\\n' +\n 'For each pending item, decide if evidence in the agent snippet and/or history excerpt shows it is satisfied.\\n' +\n 'Flip pending→completed only with clear evidence; pending→impossible only if truly unachievable here.\\n' +\n 'Do not regress completed/impossible items — omit them from updates.\\n\\n' +\n 'Reply ONLY with one JSON object on one line. Field \"updates\" is an array of ' +\n '{\"index\": <1-based number>, \"status\": \"completed\" or \"impossible\", \"evidence\": \"short citation\"}. ' +\n 'Field \"new_items\" is an array of {\"text\": \"...\"} for missing criteria. ' +\n 'Field \"reason\" is one sentence. updates and new_items may be empty arrays.'\n);\n\nfunction extractJsonObject(raw: string): Record<string, unknown> | null {\n if (!raw?.trim()) return null;\n const text = stripCodeFences(raw);\n try {\n const data = JSON.parse(text) as unknown;\n return data && typeof data === 'object' && !Array.isArray(data) ? (data as Record<string, unknown>) : null;\n } catch {\n const start = text.indexOf('{');\n const end = text.lastIndexOf('}');\n if (start === -1 || end <= start) return null;\n try {\n const data = JSON.parse(text.slice(start, end + 1)) as unknown;\n return data && typeof data === 'object' && !Array.isArray(data) ? (data as Record<string, unknown>) : null;\n } catch {\n return null;\n }\n }\n}\n\nexport type DecomposeChecklistResult = {\n items: { text: string }[];\n parseFailed: boolean;\n errorReason?: string;\n};\n\nexport async function decomposeGoalChecklist(opts: {\n goal: string;\n judgeModelRef: string;\n signal?: AbortSignal;\n judgeTimeoutMs?: number;\n uiLocale?: GoalUiLocale;\n}): Promise<DecomposeChecklistResult> {\n const locale = goalUiLocaleOrFallback(opts.uiLocale);\n const goal = opts.goal.trim();\n if (!goal)\n return { items: [], parseFailed: false, errorReason: judgeReasonText('empty_goal', locale) };\n\n let model: ReturnType<typeof resolveModel>;\n try {\n model = resolveModel(opts.judgeModelRef);\n } catch {\n return {\n items: [],\n parseFailed: false,\n errorReason: judgeReasonText('judge_model_not_configured', locale),\n };\n }\n\n const timeoutMs =\n typeof opts.judgeTimeoutMs === 'number' && Number.isFinite(opts.judgeTimeoutMs)\n ? Math.max(5_000, Math.min(120_000, Math.floor(opts.judgeTimeoutMs)))\n : DEFAULT_JUDGE_TIMEOUT_MS;\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), timeoutMs);\n const merged = opts.signal ? AbortSignal.any([opts.signal, controller.signal]) : controller.signal;\n\n try {\n const user: UserMessage = {\n role: 'user',\n content:\n `${DECOMPOSE_SYSTEM}\\n\\n${DECOMPOSE_USER.replace('{goal}', truncateGoalText(goal, GOAL_TRUNC))}` +\n judgeResponseLanguageNote(locale),\n timestamp: Date.now(),\n };\n const apiKey = await resolveGoalJudgeApiKey(model);\n const result = await complete(\n model,\n { messages: [user] },\n { apiKey, maxTokens: 2000, temperature: 0, signal: merged },\n );\n const errorReason = getAssistantMessageErrorReason(result);\n if (errorReason) {\n return {\n items: [],\n parseFailed: false,\n errorReason: judgeReasonText('decompose_call_failed', locale),\n };\n }\n\n const text = extractAssistantText(result.content);\n const data = extractJsonObject(text);\n if (!data)\n return {\n items: [],\n parseFailed: true,\n errorReason: judgeReasonText('decompose_reply_not_json', locale),\n };\n const rawItems = data.items ?? data.checklist;\n if (!Array.isArray(rawItems))\n return {\n items: [],\n parseFailed: true,\n errorReason: judgeReasonText('missing_items_array', locale),\n };\n const items: { text: string }[] = [];\n for (const row of rawItems) {\n if (typeof row === 'string') {\n const t = row.trim();\n if (t) items.push({ text: t });\n } else if (row && typeof row === 'object' && !Array.isArray(row)) {\n const t = String((row as { text?: string }).text ?? '').trim();\n if (t) items.push({ text: t });\n }\n }\n if (!items.length)\n return { items: [], parseFailed: true, errorReason: judgeReasonText('empty_checklist', locale) };\n return { items, parseFailed: false };\n } catch {\n return {\n items: [],\n parseFailed: false,\n errorReason: judgeReasonText('decompose_call_failed', locale),\n };\n } finally {\n clearTimeout(timer);\n }\n}\n\nexport type ChecklistJudgeUpdate = {\n index: number;\n status: 'completed' | 'impossible';\n evidence?: string | null;\n};\n\nexport type ChecklistEvaluateParsed = {\n updates: ChecklistJudgeUpdate[];\n newItems: { text: string }[];\n reason: string;\n};\n\nexport type EvaluateChecklistResult = {\n parsed: ChecklistEvaluateParsed;\n parseFailed: boolean;\n};\n\nexport async function evaluateGoalChecklistJudge(opts: {\n goal: string;\n numberedChecklist: string;\n lastResponse: string;\n historyExcerpt: string;\n judgeModelRef: string;\n signal?: AbortSignal;\n judgeTimeoutMs?: number;\n uiLocale?: GoalUiLocale;\n}): Promise<EvaluateChecklistResult> {\n const locale = goalUiLocaleOrFallback(opts.uiLocale);\n let model: ReturnType<typeof resolveModel>;\n try {\n model = resolveModel(opts.judgeModelRef);\n } catch {\n return {\n parsed: {\n updates: [],\n newItems: [],\n reason: judgeReasonText('judge_model_not_configured', locale),\n },\n parseFailed: false,\n };\n }\n\n const userBody =\n `Goal:\\n${truncateGoalText(opts.goal, 2000)}\\n\\n` +\n `Current checklist (1-based indices):\\n${opts.numberedChecklist}\\n\\n` +\n `Agent's most recent response (snippet):\\n${truncateGoalText(opts.lastResponse, RESPONSE_SNIPPET)}\\n\\n` +\n `Recent conversation excerpt (JSON or text, may be truncated):\\n` +\n `${truncateGoalText(opts.historyExcerpt, HISTORY_TRUNC) || '(none)'}`;\n\n const timeoutMs =\n typeof opts.judgeTimeoutMs === 'number' && Number.isFinite(opts.judgeTimeoutMs)\n ? Math.max(5_000, Math.min(120_000, Math.floor(opts.judgeTimeoutMs)))\n : DEFAULT_JUDGE_TIMEOUT_MS;\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), timeoutMs);\n const merged = opts.signal ? AbortSignal.any([opts.signal, controller.signal]) : controller.signal;\n\n try {\n const user: UserMessage = {\n role: 'user',\n content: `${EVALUATE_CHECKLIST_SYSTEM}\\n\\n${userBody}` + judgeResponseLanguageNote(locale),\n timestamp: Date.now(),\n };\n const apiKey = await resolveGoalJudgeApiKey(model);\n const result = await complete(\n model,\n { messages: [user] },\n { apiKey, maxTokens: 1500, temperature: 0, signal: merged },\n );\n const errorReason = getAssistantMessageErrorReason(result);\n if (errorReason) {\n return {\n parsed: {\n updates: [],\n newItems: [],\n reason: judgeReasonText('judge_call_failed', locale),\n },\n parseFailed: false,\n };\n }\n\n const text = extractAssistantText(result.content);\n const data = extractJsonObject(text);\n if (!data) {\n return {\n parsed: {\n updates: [],\n newItems: [],\n reason: judgeReasonText('judge_reply_not_json', locale),\n },\n parseFailed: true,\n };\n }\n const updatesRaw = data.updates;\n const newRaw = data.new_items ?? data.newItems;\n const trimmed = typeof data.reason === 'string' ? data.reason.trim() : '';\n const inner = trimmed || JUDGE_REASON_EN.no_reason_provided;\n const reason = localizeJudgeReasonText(inner, locale);\n const updates: ChecklistJudgeUpdate[] = [];\n if (Array.isArray(updatesRaw)) {\n for (const u of updatesRaw) {\n if (!u || typeof u !== 'object' || Array.isArray(u)) continue;\n const rec = u as Record<string, unknown>;\n const idx1 = Number(rec.index);\n if (!Number.isFinite(idx1)) continue;\n const idx0 = Math.floor(idx1) - 1;\n const st = String(rec.status ?? '').trim().toLowerCase();\n if (st !== 'completed' && st !== 'impossible') continue;\n const evidence = typeof rec.evidence === 'string' ? rec.evidence : null;\n updates.push({ index: idx0, status: st, evidence });\n }\n }\n const newItems: { text: string }[] = [];\n if (Array.isArray(newRaw)) {\n for (const row of newRaw) {\n if (typeof row === 'string') {\n const t = row.trim();\n if (t) newItems.push({ text: t });\n } else if (row && typeof row === 'object' && !Array.isArray(row)) {\n const t = String((row as { text?: string }).text ?? '').trim();\n if (t) newItems.push({ text: t });\n }\n }\n }\n return {\n parsed: {\n updates,\n newItems,\n reason: reason || judgeReasonText('no_reason_provided', locale),\n },\n parseFailed: false,\n };\n } catch {\n return {\n parsed: {\n updates: [],\n newItems: [],\n reason: judgeReasonText('judge_call_failed', locale),\n },\n parseFailed: false,\n };\n } finally {\n clearTimeout(timer);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checklist-judge.js","names":[],"sources":["../../../../src/agent/goals/checklist-judge.ts"],"sourcesContent":["import type { UserMessage } from '@earendil-works/pi-ai';\nimport { complete } from '@earendil-works/pi-ai';\n\nimport { resolveModel } from '../../providers/index.js';\n\nimport {\n DEFAULT_JUDGE_TIMEOUT_MS,\n extractAssistantText,\n getAssistantMessageErrorReason,\n resolveGoalJudgeApiKey,\n stripCodeFences,\n truncateGoalText,\n} from './judge.js';\nimport type { GoalUiLocale } from './goal-locale.js';\nimport {\n goalUiLocaleOrFallback,\n judgeReasonText,\n judgeResponseLanguageNote,\n JUDGE_REASON_EN,\n localizeJudgeReasonText,\n} from './goal-locale.js';\n\nconst GOAL_TRUNC = 4000;\nconst RESPONSE_SNIPPET = 4000;\nconst HISTORY_TRUNC = 24_000;\n\nconst DECOMPOSE_SYSTEM = (\n 'You break a user goal into an EXTREMELY detailed checklist of concrete, verifiable completion criteria. ' +\n 'Bias toward more items. Each item is one factual statement about finished work.\\n\\n' +\n 'Reply ONLY with a single JSON object on one line:\\n' +\n '{\"items\":[{\"text\":\"...\"},...]}\\n' +\n 'Use at least 3 items when the goal warrants it.'\n);\n\nconst DECOMPOSE_USER = 'Goal:\\n{goal}\\n\\nReturn JSON only.';\n\nconst EVALUATE_CHECKLIST_SYSTEM = (\n 'You evaluate an autonomous agent\\'s progress on a goal with a numbered checklist.\\n' +\n 'For each pending item, decide if evidence in the agent snippet and/or history excerpt shows it is satisfied.\\n' +\n 'Flip pending→completed only with clear evidence; pending→impossible only if truly unachievable here.\\n' +\n 'Do not regress completed/impossible items — omit them from updates.\\n\\n' +\n 'Reply ONLY with one JSON object on one line:\\n' +\n '{\"verdict\":\"continue|done|blocked|needs_input\",\"confidence\":0.0,\"reason\":\"...\",' +\n '\"nextAction\":\"...\",\"missingEvidence\":[\"...\"],\"userQuestion\":\"...\",' +\n '\"updates\":[{\"index\":1,\"status\":\"completed|impossible\",\"evidence\":\"short citation\"}],' +\n '\"new_items\":[{\"text\":\"...\"}]}\\n' +\n 'Use verdict=done only when all checklist criteria are complete/impossible. ' +\n 'Use needs_input when the next step requires user input. Use blocked when external progress is impossible.'\n);\n\nfunction extractJsonObject(raw: string): Record<string, unknown> | null {\n if (!raw?.trim()) return null;\n const text = stripCodeFences(raw);\n try {\n const data = JSON.parse(text) as unknown;\n return data && typeof data === 'object' && !Array.isArray(data) ? (data as Record<string, unknown>) : null;\n } catch {\n const start = text.indexOf('{');\n const end = text.lastIndexOf('}');\n if (start === -1 || end <= start) return null;\n try {\n const data = JSON.parse(text.slice(start, end + 1)) as unknown;\n return data && typeof data === 'object' && !Array.isArray(data) ? (data as Record<string, unknown>) : null;\n } catch {\n return null;\n }\n }\n}\n\nexport type DecomposeChecklistResult = {\n items: { text: string }[];\n parseFailed: boolean;\n errorReason?: string;\n};\n\nexport async function decomposeGoalChecklist(opts: {\n goal: string;\n judgeModelRef: string;\n signal?: AbortSignal;\n judgeTimeoutMs?: number;\n uiLocale?: GoalUiLocale;\n}): Promise<DecomposeChecklistResult> {\n const locale = goalUiLocaleOrFallback(opts.uiLocale);\n const goal = opts.goal.trim();\n if (!goal)\n return { items: [], parseFailed: false, errorReason: judgeReasonText('empty_goal', locale) };\n\n let model: ReturnType<typeof resolveModel>;\n try {\n model = resolveModel(opts.judgeModelRef);\n } catch {\n return {\n items: [],\n parseFailed: false,\n errorReason: judgeReasonText('judge_model_not_configured', locale),\n };\n }\n\n const timeoutMs =\n typeof opts.judgeTimeoutMs === 'number' && Number.isFinite(opts.judgeTimeoutMs)\n ? Math.max(5_000, Math.min(120_000, Math.floor(opts.judgeTimeoutMs)))\n : DEFAULT_JUDGE_TIMEOUT_MS;\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), timeoutMs);\n const merged = opts.signal ? AbortSignal.any([opts.signal, controller.signal]) : controller.signal;\n\n try {\n const user: UserMessage = {\n role: 'user',\n content:\n `${DECOMPOSE_SYSTEM}\\n\\n${DECOMPOSE_USER.replace('{goal}', truncateGoalText(goal, GOAL_TRUNC))}` +\n judgeResponseLanguageNote(locale),\n timestamp: Date.now(),\n };\n const apiKey = await resolveGoalJudgeApiKey(model);\n const result = await complete(\n model,\n { messages: [user] },\n { apiKey, maxTokens: 2000, temperature: 0, signal: merged },\n );\n const errorReason = getAssistantMessageErrorReason(result);\n if (errorReason) {\n return {\n items: [],\n parseFailed: false,\n errorReason: judgeReasonText('decompose_call_failed', locale),\n };\n }\n\n const text = extractAssistantText(result.content);\n const data = extractJsonObject(text);\n if (!data)\n return {\n items: [],\n parseFailed: true,\n errorReason: judgeReasonText('decompose_reply_not_json', locale),\n };\n const rawItems = data.items ?? data.checklist;\n if (!Array.isArray(rawItems))\n return {\n items: [],\n parseFailed: true,\n errorReason: judgeReasonText('missing_items_array', locale),\n };\n const items: { text: string }[] = [];\n for (const row of rawItems) {\n if (typeof row === 'string') {\n const t = row.trim();\n if (t) items.push({ text: t });\n } else if (row && typeof row === 'object' && !Array.isArray(row)) {\n const t = String((row as { text?: string }).text ?? '').trim();\n if (t) items.push({ text: t });\n }\n }\n if (!items.length)\n return { items: [], parseFailed: true, errorReason: judgeReasonText('empty_checklist', locale) };\n return { items, parseFailed: false };\n } catch {\n return {\n items: [],\n parseFailed: false,\n errorReason: judgeReasonText('decompose_call_failed', locale),\n };\n } finally {\n clearTimeout(timer);\n }\n}\n\nexport type ChecklistJudgeUpdate = {\n index: number;\n status: 'completed' | 'impossible';\n evidence?: string | null;\n};\n\nexport type ChecklistEvaluateParsed = {\n verdict: 'continue' | 'done' | 'blocked' | 'needs_input';\n confidence: number;\n updates: ChecklistJudgeUpdate[];\n newItems: { text: string }[];\n reason: string;\n nextAction?: string;\n missingEvidence?: string[];\n userQuestion?: string;\n};\n\nexport type EvaluateChecklistResult = {\n parsed: ChecklistEvaluateParsed;\n parseFailed: boolean;\n};\n\nexport async function evaluateGoalChecklistJudge(opts: {\n goal: string;\n numberedChecklist: string;\n lastResponse: string;\n historyExcerpt: string;\n judgeModelRef: string;\n signal?: AbortSignal;\n judgeTimeoutMs?: number;\n uiLocale?: GoalUiLocale;\n}): Promise<EvaluateChecklistResult> {\n const locale = goalUiLocaleOrFallback(opts.uiLocale);\n let model: ReturnType<typeof resolveModel>;\n try {\n model = resolveModel(opts.judgeModelRef);\n } catch {\n return {\n parsed: {\n verdict: 'continue',\n confidence: 0,\n updates: [],\n newItems: [],\n reason: judgeReasonText('judge_model_not_configured', locale),\n },\n parseFailed: false,\n };\n }\n\n const userBody =\n `Goal:\\n${truncateGoalText(opts.goal, 2000)}\\n\\n` +\n `Current checklist (1-based indices):\\n${opts.numberedChecklist}\\n\\n` +\n `Agent's most recent response (snippet):\\n${truncateGoalText(opts.lastResponse, RESPONSE_SNIPPET)}\\n\\n` +\n `Recent conversation excerpt (JSON or text, may be truncated):\\n` +\n `${truncateGoalText(opts.historyExcerpt, HISTORY_TRUNC) || '(none)'}`;\n\n const timeoutMs =\n typeof opts.judgeTimeoutMs === 'number' && Number.isFinite(opts.judgeTimeoutMs)\n ? Math.max(5_000, Math.min(120_000, Math.floor(opts.judgeTimeoutMs)))\n : DEFAULT_JUDGE_TIMEOUT_MS;\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), timeoutMs);\n const merged = opts.signal ? AbortSignal.any([opts.signal, controller.signal]) : controller.signal;\n\n try {\n const user: UserMessage = {\n role: 'user',\n content: `${EVALUATE_CHECKLIST_SYSTEM}\\n\\n${userBody}` + judgeResponseLanguageNote(locale),\n timestamp: Date.now(),\n };\n const apiKey = await resolveGoalJudgeApiKey(model);\n const result = await complete(\n model,\n { messages: [user] },\n { apiKey, maxTokens: 1500, temperature: 0, signal: merged },\n );\n const errorReason = getAssistantMessageErrorReason(result);\n if (errorReason) {\n return {\n parsed: {\n verdict: 'continue',\n confidence: 0,\n updates: [],\n newItems: [],\n reason: judgeReasonText('judge_call_failed', locale),\n },\n parseFailed: false,\n };\n }\n\n const text = extractAssistantText(result.content);\n const data = extractJsonObject(text);\n if (!data) {\n return {\n parsed: {\n verdict: 'continue',\n confidence: 0,\n updates: [],\n newItems: [],\n reason: judgeReasonText('judge_reply_not_json', locale),\n },\n parseFailed: true,\n };\n }\n const updatesRaw = data.updates;\n const newRaw = data.new_items ?? data.newItems;\n const verdictRaw = String(data.verdict ?? '').trim().toLowerCase();\n const verdict =\n verdictRaw === 'done' || verdictRaw === 'blocked' || verdictRaw === 'needs_input'\n ? verdictRaw\n : 'continue';\n const confidenceRaw = Number(data.confidence);\n const confidence = Number.isFinite(confidenceRaw) ? Math.max(0, Math.min(1, confidenceRaw)) : 0;\n const nextAction = typeof data.nextAction === 'string' ? data.nextAction.trim() : undefined;\n const userQuestion = typeof data.userQuestion === 'string' ? data.userQuestion.trim() : undefined;\n const missingEvidenceRaw = data.missingEvidence ?? data.missing_evidence;\n const trimmed = typeof data.reason === 'string' ? data.reason.trim() : '';\n const inner = trimmed || JUDGE_REASON_EN.no_reason_provided;\n const reason = localizeJudgeReasonText(inner, locale);\n const updates: ChecklistJudgeUpdate[] = [];\n if (Array.isArray(updatesRaw)) {\n for (const u of updatesRaw) {\n if (!u || typeof u !== 'object' || Array.isArray(u)) continue;\n const rec = u as Record<string, unknown>;\n const idx1 = Number(rec.index);\n if (!Number.isFinite(idx1)) continue;\n const idx0 = Math.floor(idx1) - 1;\n const st = String(rec.status ?? '').trim().toLowerCase();\n if (st !== 'completed' && st !== 'impossible') continue;\n const evidence = typeof rec.evidence === 'string' ? rec.evidence : null;\n updates.push({ index: idx0, status: st, evidence });\n }\n }\n const newItems: { text: string }[] = [];\n if (Array.isArray(newRaw)) {\n for (const row of newRaw) {\n if (typeof row === 'string') {\n const t = row.trim();\n if (t) newItems.push({ text: t });\n } else if (row && typeof row === 'object' && !Array.isArray(row)) {\n const t = String((row as { text?: string }).text ?? '').trim();\n if (t) newItems.push({ text: t });\n }\n }\n }\n const missingEvidence: string[] = [];\n if (Array.isArray(missingEvidenceRaw)) {\n for (const item of missingEvidenceRaw) {\n if (typeof item === 'string' && item.trim()) missingEvidence.push(item.trim());\n }\n }\n return {\n parsed: {\n verdict,\n confidence,\n updates,\n newItems,\n reason: reason || judgeReasonText('no_reason_provided', locale),\n ...(nextAction ? { nextAction } : {}),\n ...(missingEvidence.length ? { missingEvidence } : {}),\n ...(userQuestion ? { userQuestion } : {}),\n },\n parseFailed: false,\n };\n } catch {\n return {\n parsed: {\n verdict: 'continue',\n confidence: 0,\n updates: [],\n newItems: [],\n reason: judgeReasonText('judge_call_failed', locale),\n },\n parseFailed: false,\n };\n } finally {\n clearTimeout(timer);\n }\n}\n"],"mappings":"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"}
|
|
@@ -10,9 +10,13 @@ export type GoalPostTurnDecision = {
|
|
|
10
10
|
newState: PersistentGoalState | null;
|
|
11
11
|
shouldContinue: boolean;
|
|
12
12
|
continuationPrompt: string | null;
|
|
13
|
-
verdict: 'done' | 'continue' | 'skipped' | 'inactive' | 'decompose';
|
|
13
|
+
verdict: 'done' | 'continue' | 'blocked' | 'needs_input' | 'skipped' | 'inactive' | 'decompose';
|
|
14
14
|
reason: string;
|
|
15
15
|
message: string;
|
|
16
|
+
confidence?: number;
|
|
17
|
+
missingEvidence?: string[];
|
|
18
|
+
userQuestion?: string;
|
|
19
|
+
completedChecklistItemIndexes?: number[];
|
|
16
20
|
};
|
|
17
21
|
/**
|
|
18
22
|
* Hermes `GoalManager.evaluate_after_turn` equivalent (minus SessionDB I/O).
|