@xopcai/xopc 0.0.134 → 0.0.136
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/Combination-HAlzriaz.js +41 -0
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-mQ4lbZRf.js → agent-avatar-dicebear-CER17NHM.js} +1 -1
- package/dist/gateway/static/root/assets/agents-Bv5R-N8Q.js +2 -0
- package/dist/gateway/static/root/assets/{app-management-settings-panel-Bj2YJiQe.js → app-management-settings-panel-B3Ap_wpX.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-B93olV5Z.js → appearance-settings-3kBO22Xd.js} +1 -1
- package/dist/gateway/static/root/assets/apps-page-BHYbGQcZ.js +1 -0
- package/dist/gateway/static/root/assets/{archive-plugin-D_yymKFJ.js → archive-plugin-D_vGeNB8.js} +1 -1
- package/dist/gateway/static/root/assets/{attachment-load-kfyH3HV-.js → attachment-load-hWV_8pHL.js} +1 -1
- package/dist/gateway/static/root/assets/{automation-suggestion-card-DyGBB2WH.js → automation-suggestion-card-DVKmVTIo.js} +1 -1
- package/dist/gateway/static/root/assets/automations-page-BCTXpOBp.js +4 -0
- package/dist/gateway/static/root/assets/{binary-plugins-BX1AXf98.js → binary-plugins-BuXIeSPc.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-D-WEVNHU.js → block-editor-C1m0u-UU.js} +39 -39
- package/dist/gateway/static/root/assets/browser-settings-page-ChUF08V5.js +8 -0
- package/dist/gateway/static/root/assets/capability-presets-api-B7WWYaEh.js +1 -0
- package/dist/gateway/static/root/assets/{capability-presets-settings-panel-CHExb90z.js → capability-presets-settings-panel-D_Bh1PnA.js} +1 -1
- package/dist/gateway/static/root/assets/{channel-recipient-api-RANYrzfa.js → channel-recipient-api-sV06LCht.js} +1 -1
- package/dist/gateway/static/root/assets/channels-settings-BI2ChQc7.js +1 -0
- package/dist/gateway/static/root/assets/channels-status-swr-MY4Xh4fM.js +1 -0
- package/dist/gateway/static/root/assets/connectors-page-qgvEp09M.js +2 -0
- package/dist/gateway/static/root/assets/desktop-pet-BxMJlvb-.js +1 -0
- package/dist/gateway/static/root/assets/{desktop-pet-settings-C3JDiXSu.js → desktop-pet-settings-DCvpDImn.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-MT71cjgl.js → directory-picker-path-field-D1nxs9PA.js} +1 -1
- package/dist/gateway/static/root/assets/dist-Mys7eFJ5.js +1 -0
- package/dist/gateway/static/root/assets/{dreaming-settings-Cfx_Qg4R.js → dreaming-settings-EAWkpOgw.js} +3 -3
- package/dist/gateway/static/root/assets/{extension-debug-page-Wp23cLkf.js → extension-debug-page-LUQ8dE8z.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-B5HRNtVY.js → extension-page-B_mnhoRd.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-zPfMpsYi.js → extension-settings-page-BWQsGmvW.js} +1 -1
- package/dist/gateway/static/root/assets/{fetch-6HXXdO77.js → fetch-BWXmBizE.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-api-CsS_3Ii6.js → gateway-config-api-M9bzPASf.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-settings-DOxh0hei.js → gateway-settings-CbgtpprN.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-BE1M9fH_.js → gateway-startup-retry-BALL91S7.js} +1 -1
- package/dist/gateway/static/root/assets/goal-create-dialog-CbP4t9aM.js +1 -0
- package/dist/gateway/static/root/assets/goal-detail-page-DlwI-MZZ.js +4 -0
- package/dist/gateway/static/root/assets/{goals-config-api--3Vzceq-.js → goals-config-api-BBhFVzBS.js} +1 -1
- package/dist/gateway/static/root/assets/goals-page-D26r7knp.js +2 -0
- package/dist/gateway/static/root/assets/{goals-settings-Dg_hQNVC.js → goals-settings-DdmVG_TR.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-settings-CecoDTZJ.js → heartbeat-settings-DZW2Xq-U.js} +1 -1
- package/dist/gateway/static/root/assets/index-CPwVzi9x.css +1 -0
- package/dist/gateway/static/root/assets/index-DZOm5_ex.js +262 -0
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-BWMLAFxf.js → keyboard-shortcuts-settings-1IWd88-T.js} +1 -1
- package/dist/gateway/static/root/assets/logs-page-DxoKJO7-.js +7 -0
- package/dist/gateway/static/root/assets/{markdown-split-5tvDwUMS.js → markdown-split-BtdBj32h.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-RSjPG4B0.js → media-plugins-CpoPj3s8.js} +1 -1
- package/dist/gateway/static/root/assets/messages-CQ_k8RHj.js +3 -0
- package/dist/gateway/static/root/assets/models-hub-panel-D1Rp__dV.js +2 -0
- package/dist/gateway/static/root/assets/notes-page-CgR1bO2W.js +1 -0
- package/dist/gateway/static/root/assets/notes-workbench-ozsnmDTV.js +2 -0
- package/dist/gateway/static/root/assets/{page-tabs-DYNWfN6S.js → page-tabs-CVLqCfQB.js} +1 -1
- package/dist/gateway/static/root/assets/{preview-open-alternatives-B50PdIc8.js → preview-open-alternatives-CKUXJk2t.js} +1 -1
- package/dist/gateway/static/root/assets/project-detail-page-B4dqFAQF.js +1 -0
- package/dist/gateway/static/root/assets/projects-page-DlRGXv4a.js +1 -0
- package/dist/gateway/static/root/assets/remote-access-hub-rZEYQMZV.js +1 -0
- package/dist/gateway/static/root/assets/{save-bar-controls-DggNb0SF.js → save-bar-controls-BtGni268.js} +1 -1
- package/dist/gateway/static/root/assets/{schedule-field-T4ti2C8S.js → schedule-field-BDGzKVWn.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-D6wGEfEa.js → schema-form-DQJsKMCE.js} +1 -1
- package/dist/gateway/static/root/assets/sessions-page-DxGoCGU8.js +1 -0
- package/dist/gateway/static/root/assets/settings-advanced-gate-4e8ZQwxr.js +1 -0
- package/dist/gateway/static/root/assets/{settings-collapsible-section-Cgd_aLBV.js → settings-collapsible-section-c8XGd4-8.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-form-section-DnDrLMWZ.js → settings-form-section-By0YiDWo.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-loading-skeleton-A2OshMK8.js → settings-loading-skeleton-SYCPY-WM.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-CXMK9Vb3.js → settings-page-D9NwvnBt.js} +1 -1
- package/dist/gateway/static/root/assets/{settings-page-layout-Da_LNPDS.js → settings-page-layout-CrICyGob.js} +1 -1
- package/dist/gateway/static/root/assets/setup-status-panel-IjK-hDxf.js +1 -0
- package/dist/gateway/static/root/assets/{share-preview-page-BGZV-PCJ.js → share-preview-page-Dfnk9M_m.js} +1 -1
- package/dist/gateway/static/root/assets/shares-settings-vQiRBra7.js +1 -0
- package/dist/gateway/static/root/assets/skill-reload-api-BIWv778A.js +1 -0
- package/dist/gateway/static/root/assets/skills-page-CruV215G.js +2 -0
- package/dist/gateway/static/root/assets/{system-settings-panel-D8uzXP0Y.js → system-settings-panel-BBVbSDFD.js} +1 -1
- package/dist/gateway/static/root/assets/{typed-models-lib-DQxv2BHa.js → typed-models-lib-CwFayhxu.js} +1 -1
- package/dist/gateway/static/root/assets/{use-channel-catalog-BCBfSoHx.js → use-channel-catalog-BKtHOM50.js} +1 -1
- package/dist/gateway/static/root/assets/{user-profile-settings-panel-DkZSHsIs.js → user-profile-settings-panel-_KDWzagh.js} +1 -1
- package/dist/gateway/static/root/assets/{utils-ivGpUrZi.js → utils-BiUjIHb4.js} +1 -1
- package/dist/gateway/static/root/assets/voice-api-key-field-agJqlm4o.js +1 -0
- package/dist/gateway/static/root/assets/work-item-detail-page-Bdw4ATCb.js +1 -0
- package/dist/gateway/static/root/assets/workflow-run-setup-panel-D-Dy6mTy.js +3 -0
- package/dist/gateway/static/root/assets/workflow-start-dialog-GammZ2GK.js +1 -0
- package/dist/gateway/static/root/assets/workflows-page-Cw5zrqti.js +18 -0
- package/dist/gateway/static/root/index.html +7 -8
- package/dist/package.js +1 -1
- package/dist/src/agent/image/inbound-image-handling.d.ts +1 -0
- package/dist/src/agent/image/inbound-image-handling.js +4 -1
- package/dist/src/agent/image/inbound-image-handling.js.map +1 -1
- package/dist/src/agent/image/tool-model-config.d.ts +18 -2
- package/dist/src/agent/image/tool-model-config.js +100 -14
- package/dist/src/agent/image/tool-model-config.js.map +1 -1
- package/dist/src/agent/image/vision-detection.js +4 -23
- package/dist/src/agent/image/vision-detection.js.map +1 -1
- package/dist/src/agent/inbound/attachment-pipeline.js +3 -0
- package/dist/src/agent/inbound/attachment-pipeline.js.map +1 -1
- package/dist/src/agent/messaging/command-handler.d.ts +5 -2
- package/dist/src/agent/messaging/command-handler.js +4 -3
- package/dist/src/agent/messaging/command-handler.js.map +1 -1
- package/dist/src/agent/service/btw-query.d.ts +2 -0
- package/dist/src/agent/service/btw-query.js +4 -2
- package/dist/src/agent/service/btw-query.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 +1 -1
- package/dist/src/agent/service/direct-turn-helpers.js.map +1 -1
- package/dist/src/agent/service/process-direct-streaming.js +58 -1
- package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
- package/dist/src/agent/service.js +1 -1
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/session/session-inspector.d.ts +2 -1
- package/dist/src/agent/session/session-inspector.js +5 -3
- package/dist/src/agent/session/session-inspector.js.map +1 -1
- package/dist/src/agent/tools/factory.js +2 -1
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/image-tool.d.ts +1 -0
- package/dist/src/agent/tools/image-tool.js +4 -1
- package/dist/src/agent/tools/image-tool.js.map +1 -1
- package/dist/src/chat-commands/builtins/review.js +94 -7
- package/dist/src/chat-commands/builtins/review.js.map +1 -1
- package/dist/src/chat-commands/context.d.ts +5 -3
- package/dist/src/chat-commands/context.js +5 -2
- package/dist/src/chat-commands/context.js.map +1 -1
- package/dist/src/chat-commands/index.d.ts +1 -1
- package/dist/src/chat-commands/index.js.map +1 -1
- package/dist/src/chat-commands/types.d.ts +12 -1
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/gateway/agents-admin.d.ts +5 -0
- package/dist/src/gateway/agents-admin.js +6 -1
- package/dist/src/gateway/agents-admin.js.map +1 -1
- package/dist/src/gateway/hono/routes/models.js +2 -1
- package/dist/src/gateway/hono/routes/models.js.map +1 -1
- package/dist/src/gateway/hono/routes/projects.js +88 -0
- package/dist/src/gateway/hono/routes/projects.js.map +1 -1
- package/dist/src/gateway/hono/routes/sessions.js +2 -1
- package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
- package/dist/src/gateway/hono/routes/workflows.js +1 -0
- package/dist/src/gateway/hono/routes/workflows.js.map +1 -1
- package/dist/src/gateway/image-capabilities.d.ts +7 -1
- package/dist/src/gateway/image-capabilities.js +16 -3
- package/dist/src/gateway/image-capabilities.js.map +1 -1
- package/dist/src/gateway/service/sessions-api.d.ts +1 -0
- package/dist/src/gateway/service/sessions-api.js.map +1 -1
- package/dist/src/gateway/service.js +3 -3
- package/dist/src/projects/project-loop.js +2 -2
- package/dist/src/projects/project-loop.js.map +1 -1
- package/dist/src/review/review-types.js +2 -1
- package/dist/src/review/review-types.js.map +1 -1
- package/dist/src/session/client-history.d.ts +1 -0
- package/dist/src/session/client-history.js +56 -0
- package/dist/src/session/client-history.js.map +1 -1
- package/dist/src/session/index.js +1 -1
- package/dist/src/session/manager.d.ts +1 -0
- package/dist/src/session/manager.js.map +1 -1
- package/dist/src/session/store.d.ts +1 -0
- package/dist/src/session/store.js +30 -1
- package/dist/src/session/store.js.map +1 -1
- package/dist/src/tui/backends/embedded-backend.js +1 -1
- package/dist/src/tui/components/assistant-message.js +10 -3
- package/dist/src/tui/components/assistant-message.js.map +1 -1
- package/dist/src/tui/components/bash-execution.d.ts +4 -0
- package/dist/src/tui/components/bash-execution.js +15 -7
- package/dist/src/tui/components/bash-execution.js.map +1 -1
- package/dist/src/tui/tool-summary.js +9 -3
- package/dist/src/tui/tool-summary.js.map +1 -1
- package/dist/src/tui/tui-submit.d.ts +3 -0
- package/dist/src/tui/tui-submit.js +24 -1
- package/dist/src/tui/tui-submit.js.map +1 -1
- package/dist/src/tui/tui.js +29 -2
- package/dist/src/tui/tui.js.map +1 -1
- package/dist/src/work-items/index.d.ts +1 -0
- package/dist/src/work-items/index.js +2 -1
- package/dist/src/work-items/work-item-workflow-judge.d.ts +8 -0
- package/dist/src/work-items/work-item-workflow-judge.js +50 -0
- package/dist/src/work-items/work-item-workflow-judge.js.map +1 -0
- package/dist/src/workflows/domain/run.d.ts +17 -0
- package/dist/src/workflows/domain/run.js.map +1 -1
- package/dist/src/workflows/service/workflow-run-service.d.ts +3 -0
- package/dist/src/workflows/service/workflow-run-service.js +67 -0
- package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
- package/dist/src/workflows/service/workflow-run-service.types.d.ts +4 -1
- package/dist/src/workflows/service/workflow-session-bridge.d.ts +1 -0
- package/dist/src/workflows/service/workflow-session-bridge.js +45 -0
- package/dist/src/workflows/service/workflow-session-bridge.js.map +1 -1
- package/package.json +1 -1
- package/dist/gateway/static/root/assets/Combination-BzaXOLd9.js +0 -41
- package/dist/gateway/static/root/assets/agents-BP0iRtiu.js +0 -2
- package/dist/gateway/static/root/assets/apps-page-12_2SDFq.js +0 -1
- package/dist/gateway/static/root/assets/automations-page-V-tw6y1o.js +0 -4
- package/dist/gateway/static/root/assets/browser-settings-page-aMPnxWXi.js +0 -8
- package/dist/gateway/static/root/assets/capability-presets-api-CsaY2Z8B.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-N8NujD--.js +0 -1
- package/dist/gateway/static/root/assets/channels-status-swr-BG_j4Ci-.js +0 -1
- package/dist/gateway/static/root/assets/connectors-page-zBJbFgnK.js +0 -2
- package/dist/gateway/static/root/assets/desktop-pet-DfA-hVlt.js +0 -1
- package/dist/gateway/static/root/assets/dist-CkobR7mk.js +0 -1
- package/dist/gateway/static/root/assets/dist-DokQNVMQ.js +0 -1
- package/dist/gateway/static/root/assets/goal-create-dialog-BOWSTGB-.js +0 -1
- package/dist/gateway/static/root/assets/goal-detail-page-CCLgkqj1.js +0 -4
- package/dist/gateway/static/root/assets/goals-page-CsfIp8Vl.js +0 -2
- package/dist/gateway/static/root/assets/index-BOme955B.js +0 -262
- package/dist/gateway/static/root/assets/index-DXUkWmeK.css +0 -1
- package/dist/gateway/static/root/assets/logs-page-CW7AMYhN.js +0 -7
- package/dist/gateway/static/root/assets/messages-DR9ODkb8.js +0 -3
- package/dist/gateway/static/root/assets/models-hub-panel-mKfeyGVq.js +0 -2
- package/dist/gateway/static/root/assets/notes-page-DYw5zPeJ.js +0 -1
- package/dist/gateway/static/root/assets/notes-workbench-SPdKpvSN.js +0 -2
- package/dist/gateway/static/root/assets/project-detail-page-D3yP4K3k.js +0 -1
- package/dist/gateway/static/root/assets/projects-page-B6EV45NR.js +0 -1
- package/dist/gateway/static/root/assets/remote-access-hub-9foX60FQ.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-BReBhxWd.js +0 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-DNDBN4nT.js +0 -1
- package/dist/gateway/static/root/assets/setup-status-panel-C8UtBMJ_.js +0 -1
- package/dist/gateway/static/root/assets/shares-settings-xXAMKlc7.js +0 -1
- package/dist/gateway/static/root/assets/skill-reload-api-CurjHfEM.js +0 -1
- package/dist/gateway/static/root/assets/skills-page-BRR7NQkL.js +0 -2
- package/dist/gateway/static/root/assets/voice-api-key-field-DCiECZN1.js +0 -1
- package/dist/gateway/static/root/assets/work-item-detail-page-DAel5CHH.js +0 -1
- package/dist/gateway/static/root/assets/workflow-run-setup-panel-2w0zj9eJ.js +0 -3
- package/dist/gateway/static/root/assets/workflow-start-dialog-B5xdDFV-.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-DRhiSwuU.js +0 -18
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./cn-BQ_8x0bT.js";import{t as a}from"./messages-CQ_k8RHj.js";import{a as o}from"./fetch-BWXmBizE.js";import{n as s}from"./locale-store-Ba72bFmP.js";import{i as c}from"./vendor-swr-BIWyz7Rc.js";import{$ as l,$c as u,A as d,B as f,Ba as p,Bc as m,Bo as h,Cs as g,Ct as _,Dl as v,E as y,Eo as b,F as x,Fo as S,G as C,Ga as w,H as T,Ha as E,I as D,Ic as O,J as k,K as A,Ka as j,L as M,Lc as N,M as P,N as F,Nc as I,O as L,P as R,R as z,S as B,St as V,Ts as H,U,Ua as ee,V as te,Va as ne,Vs as W,W as G,Wa as K,X as re,Xs as q,Y as ie,Yc as J,Yn as ae,Z as oe,_ as se,_a as ce,_t as le,al as ue,bo as de,bt as fe,dt as pe,es as me,et as he,ft as ge,g as _e,go as ve,gt as ye,hs as be,ic as Y,il as xe,is as Se,it as Ce,j as we,jc as Te,k as Ee,kc as De,kl as Oe,ko as ke,ks as Ae,ll as X,lt as je,mt as Me,nc as Ne,nr as Pe,nt as Fe,pt as Ie,q as Le,qa as Re,ro as ze,rt as Be,to as Ve,tt as He,us as Ue,ut as We,vc as Ge,vt as Ke,yi as qe,yt as Je}from"./index-DZOm5_ex.js";import{t as Ye}from"./page-tabs-CVLqCfQB.js";import{i as Xe}from"./workflow-run-setup-panel-D-Dy6mTy.js";import{t as Ze}from"./automation-suggestion-card-DVKmVTIo.js";import{t as Qe}from"./workflow-start-dialog-GammZ2GK.js";var Z=e(t(),1),Q=n(),$e=[`queued`,`running`,`succeeded`,`attention`],et=new Set([`failed`,`timeout`,`cancelled`]);function tt(e){return e.metadata?.sessionKey?.trim()||null}function nt(e,t){return e.length<=t?e:`${e.slice(0,t-1)}…`}function rt(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 it(e,t=90){let n=e.metadata?.input?.goal?.trim()||(typeof e.metadata?.input?.payload==`string`?e.metadata.input.payload.trim():null)||rt(e.metadata?.input?.payload,[`query`,`goal`,`prompt`,`input`,`message`])||rt(e.metadata?.input?.variables,[`query`,`goal`,`prompt`,`input`,`message`]);return n?nt(n,t):null}function at(e,t=90){return it(e,t)??nt(e.title?.trim()||e.definitionId,t)}function ot(e,t=44){return nt(e.title?.trim()||e.definitionId,t)}function st(e,t){let n=t.trim().toLowerCase();return n?[it(e,500),e.title,e.definitionId,e.id].filter(Boolean).join(` `).toLowerCase().includes(n):!0}function ct(e,t){let n=t.workflowFilterId.trim();return e.filter(e=>n&&e.definitionId!==n||!D(e,t.triggerFilter??`all`)?!1:st(e,t.searchQuery))}function lt(e){return e.completedAtMs??e.createdAtMs}function ut(e,t){return e.status===`queued`?`queued`:e.status===`running`?`running`:e.status===`succeeded`?`succeeded`:et.has(e.status)?`attention`:null}function dt(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)=>lt(t)-lt(e))}function ft(e,t){let n={queued:[],running:[],succeeded:[],attention:[]};for(let r of e){let e=ut(r,t);e&&n[e].push(r)}return $e.map(e=>{if(e===`succeeded`){let t=dt(`succeeded`,n.succeeded);return{id:e,runs:t,totalInWindow:t.length}}return{id:e,runs:dt(e,n[e])}})}var pt=new Map;function mt(e){let t=pt.get(e);return t||(t=new Intl.RelativeTimeFormat(e,{numeric:`auto`}),pt.set(e,t)),t}function ht(e,t,n){let r=Math.round((t-e)/1e3),i=mt(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 gt(e){return e.status===`queued`||e.status===`running`}function _t(e){return e.status===`failed`||e.status===`timeout`||e.status===`cancelled`}var $=r(),vt=(0,Z.memo)(function(e){let t=(0,Q.c)(76),{run:n,language:r,localeTag:o,nowMs:s,selected:c,onOpen:l,onOpenChat:u,onCancel:f,onRetry:p}=e,m=a(r).workflows,[g,_]=(0,Z.useState)(!1),v;t[0]===n?v=t[1]:(v=tt(n),t[0]=n,t[1]=v);let y=!v,x;t[2]===n?x=t[3]:(x=gt(n),t[2]=n,t[3]=x);let S=x,C=n.status===`running`||n.status===`queued`,w;t[4]!==n.metrics.agentCount||t[5]!==n.metrics.doneAgentCount?(w=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]=w):w=t[6];let T=w,E=n.metrics.errorAgentCount>0,D=n.startedAtMs??n.createdAtMs,O=d(S?s-D:n.metrics.durationMs),k=F(m.taskArtifacts,{count:n.metrics.artifactCount}),A;t[7]===n?A=t[8]:(A=at(n),t[7]=n,t[8]=A);let j=A,N;t[9]===n?N=t[10]:(N=ot(n),t[9]=n,t[10]=N);let P=N,I;t[11]!==l||t[12]!==n?(I=()=>{l(n)},t[11]=l,t[12]=n,t[13]=I):I=t[13];let L=I,R;t[14]!==y||t[15]!==u||t[16]!==n?(R=()=>{y||u(n)},t[14]=y,t[15]=u,t[16]=n,t[17]=R):R=t[17];let z=R,B=c&&`ring-1 ring-accent/30`,V;t[18]===B?V=t[19]:(V=i(`group relative min-h-24 overflow-hidden rounded-lg bg-surface-panel px-3 py-3 shadow-surface transition-colors`,B,`hover:bg-surface-hover`),t[18]=B,t[19]=V);let H;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(H=i(`w-full text-left`,de.focusRingPanel),t[20]=H):H=t[20];let U;t[21]===j?U=t[22]:(U=(0,$.jsx)(`div`,{className:`line-clamp-2 text-sm font-medium leading-5 text-fg`,children:j}),t[21]=j,t[22]=U);let ee;t[23]===P?ee=t[24]:(ee=(0,$.jsx)(`div`,{className:`mt-1 truncate text-[11px] font-medium text-fg-muted`,children:P}),t[23]=P,t[24]=ee);let te;t[25]!==U||t[26]!==ee?(te=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[U,ee]}),t[25]=U,t[26]=ee,t[27]=te):te=t[27];let ne;t[28]===n.status?ne=t[29]:(ne=i(`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold shadow-sm`,M(n.status)),t[28]=n.status,t[29]=ne);let W;t[30]!==o||t[31]!==s||t[32]!==D?(W=ht(D,s,o),t[30]=o,t[31]=s,t[32]=D,t[33]=W):W=t[33];let G;t[34]===W?G=t[35]:(G=(0,$.jsx)(`span`,{children:W}),t[34]=W,t[35]=G);let K=O===`—`?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,$.jsx)(`span`,{children:F(m.taskElapsed,{duration:O})})]}),re;t[36]!==G||t[37]!==K?(re=(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5 text-[11px] text-fg-subtle`,children:[G,K]}),t[36]=G,t[37]=K,t[38]=re):re=t[38];let q=n.metrics.artifactCount>0?(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 font-medium text-fg-muted`,children:k}):null,ie=c?(0,$.jsx)(`span`,{className:`font-medium text-accent-fg`,children:m.taskOpenDetails}):null,J;t[39]!==q||t[40]!==ie?(J=(0,$.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 text-[11px] text-fg-subtle`,children:[q,ie]}),t[39]=q,t[40]=ie,t[41]=J):J=t[41];let ae=y&&`cursor-not-allowed text-fg-disabled hover:bg-transparent`,oe;t[42]===ae?oe=t[43]:(oe=i(`rounded-md px-2 py-1 text-xs font-medium`,`text-accent-fg hover:bg-accent-soft`,de.focusRingPanel,ae),t[42]=ae,t[43]=oe);let se;t[44]!==y||t[45]!==z||t[46]!==m.continueInChat||t[47]!==oe?(se=(0,$.jsx)(`button`,{type:`button`,className:oe,disabled:y,onClick:z,children:m.continueInChat}),t[44]=y,t[45]=z,t[46]=m.continueInChat,t[47]=oe,t[48]=se):se=t[48];let ce;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(ce=i(`rounded-md px-2 py-1 text-xs font-medium text-fg-muted hover:bg-surface-hover hover:text-fg`,de.focusRingPanel),t[49]=ce):ce=t[49];let le;t[50]!==L||t[51]!==m.taskOpenDetails?(le=(0,$.jsx)(`button`,{type:`button`,className:ce,onClick:L,children:m.taskOpenDetails}),t[50]=L,t[51]=m.taskOpenDetails,t[52]=le):le=t[52];let ue;t[53]!==se||t[54]!==le?(ue=(0,$.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 border-t border-edge-subtle pt-2`,children:[se,le]}),t[53]=se,t[54]=le,t[55]=ue):ue=t[55];let fe;t[56]===_?fe=t[57]:(fe=()=>_(bt),t[56]=_,t[57]=fe);let pe;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(pe=(0,$.jsx)(Te,{className:`size-4`,"aria-hidden":!0}),t[58]=pe):pe=t[58];let me;t[59]!==m.taskActionsAria||t[60]!==g||t[61]!==fe?(me=(0,$.jsx)(b,{variant:`ghost`,className:`size-7 p-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100`,"aria-label":m.taskActionsAria,"aria-expanded":g,onClick:fe,children:pe}),t[59]=m.taskActionsAria,t[60]=g,t[61]=fe,t[62]=me):me=t[62];let he;t[63]!==S||t[64]!==m.cancel||t[65]!==m.rerun||t[66]!==m.taskCloseMenu||t[67]!==g||t[68]!==f||t[69]!==p||t[70]!==n||t[71]!==_?(he=g?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,className:`fixed inset-0 z-10 cursor-default`,"aria-label":m.taskCloseMenu,onClick:()=>_(!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:[S?(0,$.jsx)(yt,{label:m.cancel,tone:`danger`,onClick:()=>{_(!1),f(n.id)}}):null,_t(n)?(0,$.jsx)(yt,{label:m.rerun,onClick:()=>{_(!1),p(n.id)}}):null]})]}):null,t[63]=S,t[64]=m.cancel,t[65]=m.rerun,t[66]=m.taskCloseMenu,t[67]=g,t[68]=f,t[69]=p,t[70]=n,t[71]=_,t[72]=he):he=t[72];let ge;return t[73]!==me||t[74]!==he?(ge=(0,$.jsxs)(`div`,{className:`absolute right-2 top-2`,children:[me,he]}),t[73]=me,t[74]=he,t[75]=ge):ge=t[75],(0,$.jsxs)(`div`,{className:V,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:L,"aria-label":`${m.taskOpenDetails}: ${j}`,"aria-current":c?`true`:void 0,className:H,children:[(0,$.jsxs)(`div`,{className:`pr-7`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-2`,children:[te,(0,$.jsx)(`span`,{className:ne,children:m.status[n.status]??n.status})]}),re]}),C?(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:F(m.agentProgress,{done:n.metrics.doneAgentCount,total:n.metrics.agentCount})}),(0,$.jsxs)(`span`,{children:[T,`%`]})]}),(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:`${T}%`}})})]}):null,J,E?(0,$.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-[11px] text-amber-700 dark:text-amber-300`,children:[(0,$.jsx)(h,{className:`size-3 shrink-0`,"aria-hidden":!0}),F(m.runRowErrorSummary,{count:n.metrics.errorAgentCount})]}):null]}),ue,ge]})});function yt(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 bt(e){return!e}function xt(e,t){return t.boardColumns[e]}var St=(0,Z.memo)(function(e){let t=(0,Q.c)(17),{column:n,language:r,localeTag:o,nowMs:s,selectedRunId:c,loading:l,onOpenRun:u,onOpenRunChat:d,onCancelRun:f,onRetryRun:p}=e,m=a(r).workflows,[h,g]=(0,Z.useState)(!1),_=n.id===`succeeded`,v=_?5:n.runs.length,y;t[0]!==v||t[1]!==n.runs||t[2]!==h||t[3]!==_?(y=_&&!h?n.runs.slice(0,v):n.runs,t[0]=v,t[1]=n.runs,t[2]=h,t[3]=_,t[4]=y):y=t[4];let x=y,S=_&&n.runs.length>5&&!h,C=_&&h,w;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(w=i(`flex max-h-full w-72 min-w-72 max-w-72 shrink-0 flex-col overflow-y-auto rounded-lg bg-surface-base shadow-surface`),t[5]=w):w=t[5];let T;t[6]===n.runs.length?T=t[7]:(T=(0,$.jsx)(`span`,{className:`shrink-0 text-xs text-fg-subtle`,children:n.runs.length}),t[6]=n.runs.length,t[7]=T);let E;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(Te,{className:`size-4 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[8]=E):E=t[8];let D=l&&x.length===0?(0,$.jsx)(Ct,{}):x.length===0?(0,$.jsx)(`div`,{className:`rounded-lg bg-surface-panel/70 px-3 py-6 text-center text-xs text-fg-subtle`,children:m.boardColumnEmpty}):x.map(e=>(0,$.jsx)(vt,{run:e,language:r,localeTag:o,nowMs:s,selected:e.id===c,onOpen:u,onOpenChat:d,onCancel:f,onRetry:p},e.id)),O=S?(0,$.jsx)(b,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>g(!0),children:F(m.boardExpandSucceeded,{count:Math.min(n.runs.length,n.totalInWindow??n.runs.length)})}):null,k;t[9]!==C||t[10]!==m||t[11]!==g?(k=C?(0,$.jsx)(b,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>g(!1),children:m.boardCollapseSucceeded}):null,t[9]=C,t[10]=m,t[11]=g,t[12]=k):k=t[12];let A;return t[13]!==D||t[14]!==O||t[15]!==k?(A=(0,$.jsxs)(`div`,{className:`mx-2 mt-3 grid min-h-0 min-w-0 content-start gap-2 pb-2 pr-1 [scrollbar-gutter:stable]`,children:[D,O,k]}),t[13]=D,t[14]=O,t[15]=k,t[16]=A):A=t[16],(0,$.jsxs)(`section`,{className:w,"aria-label":xt(n.id,m),children:[(0,$.jsxs)(`header`,{className:`flex shrink-0 items-center justify-between gap-2 px-3 py-3`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,$.jsx)(`h2`,{className:`truncate text-sm font-semibold text-fg`,children:xt(n.id,m)}),T]}),E]}),A]})});function Ct(){let e=(0,Q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsxs)(`article`,{className:`min-h-24 rounded-lg bg-surface-panel px-3 py-3 shadow-surface`,"aria-hidden":`true`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(ce,{className:`h-4 w-4/5`}),(0,$.jsx)(ce,{className:`mt-2 h-3 w-24`})]}),(0,$.jsx)(ce,{className:`h-5 w-14 rounded-full`})]}),(0,$.jsx)(ce,{className:`mt-3 h-3 w-2/3`}),(0,$.jsx)(ce,{className:`mt-4 h-5 w-20 rounded-full`})]}),e[0]=t):t=e[0],t}function wt(e){return e instanceof Element?!!e.closest(`a,button,input,select,textarea,[contenteditable="true"],[draggable="true"],[data-board-pan-skip="true"]`):!0}var Tt=(0,Z.memo)(function(e){let t=(0,Q.c)(54),{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(Et),t[0]=n,t[1]=g);let _=g,v=(0,Z.useRef)(null),y=(0,Z.useRef)(null),[x,S]=(0,Z.useState)(Dt),[C,w]=(0,Z.useState)(!1),T,E;t[2]===_?(T=t[3],E=t[4]):(T=()=>{if(!_)return;let e=window.setInterval(()=>S(Date.now()),1e3);return()=>window.clearInterval(e)},E=[_],t[2]=_,t[3]=T,t[4]=E),(0,Z.useEffect)(T,E);let D;t[5]!==x||t[6]!==n||t[7]!==o||t[8]!==c||t[9]!==s?(D=ft(ct(n,{searchQuery:o,workflowFilterId:s,triggerFilter:c}),x),t[5]=x,t[6]=n,t[7]=o,t[8]=c,t[9]=s,t[10]=D):D=t[10];let O=D,k=O.reduce(Ot,0),A;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(A=e=>{let t=y.current;!t||t.pointerId!==e.pointerId||(y.current=null,w(!1),e.currentTarget.hasPointerCapture?.(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))},t[11]=A):A=t[11];let j=A,M;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(M=e=>{if(e.button!==0||wt(e.target))return;let t=v.current;t&&(y.current={pointerId:e.pointerId,startX:e.clientX,scrollLeft:t.scrollLeft,active:!1},e.currentTarget.setPointerCapture(e.pointerId))},t[12]=M):M=t[12];let N=M,P;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(P=e=>{let t=y.current,n=v.current;if(!t||!n||t.pointerId!==e.pointerId)return;let r=e.clientX-t.startX;!t.active&&Math.abs(r)<5||(t.active||(t.active=!0,w(!0)),e.preventDefault(),n.scrollLeft=t.scrollLeft-r)},t[13]=P):P=t[13];let F=P;if(!u&&k===0){let e;t[14]===a.boardEmptyTitle?e=t[15]:(e=(0,$.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:a.boardEmptyTitle}),t[14]=a.boardEmptyTitle,t[15]=e);let n;t[16]===a.boardEmptyHint?n=t[17]:(n=(0,$.jsx)(`p`,{className:`mx-auto mt-2 max-w-md text-sm leading-6 text-fg-muted`,children:a.boardEmptyHint}),t[16]=a.boardEmptyHint,t[17]=n);let r;t[18]!==a.boardStart||t[19]!==h?(r=(0,$.jsx)(`div`,{className:`mt-4 flex justify-center`,children:(0,$.jsx)(b,{variant:`primary`,onClick:h,children:a.boardStart})}),t[18]=a.boardStart,t[19]=h,t[20]=r):r=t[20];let i;return t[21]!==r||t[22]!==e||t[23]!==n?(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[21]=r,t[22]=e,t[23]=n,t[24]=i):i=t[24],i}let I=C?`cursor-grabbing select-none`:`cursor-grab`,L;t[25]===I?L=t[26]:(L=[`min-h-0 h-full min-w-0 overflow-x-auto rounded-lg px-2 py-2`,I],t[25]=I,t[26]=L);let R=L.join(` `),z;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>{y.current?.pointerId===e.pointerId&&(y.current=null,w(!1))},t[27]=z):z=t[27];let B;if(t[28]!==O||t[29]!==r||t[30]!==u||t[31]!==i||t[32]!==x||t[33]!==p||t[34]!==d||t[35]!==f||t[36]!==m||t[37]!==l){let e;t[39]!==r||t[40]!==u||t[41]!==i||t[42]!==x||t[43]!==p||t[44]!==d||t[45]!==f||t[46]!==m||t[47]!==l?(e=e=>(0,$.jsx)(St,{column:e,language:r,localeTag:i,nowMs:x,selectedRunId:l,loading:u,onOpenRun:d,onOpenRunChat:f,onCancelRun:p,onRetryRun:m},e.id),t[39]=r,t[40]=u,t[41]=i,t[42]=x,t[43]=p,t[44]=d,t[45]=f,t[46]=m,t[47]=l,t[48]=e):e=t[48],B=O.map(e),t[28]=O,t[29]=r,t[30]=u,t[31]=i,t[32]=x,t[33]=p,t[34]=d,t[35]=f,t[36]=m,t[37]=l,t[38]=B}else B=t[38];let V;t[49]===B?V=t[50]:(V=(0,$.jsx)(`div`,{className:`flex min-h-full min-w-max items-start gap-3 pr-4`,children:B}),t[49]=B,t[50]=V);let H;return t[51]!==R||t[52]!==V?(H=(0,$.jsx)(`div`,{ref:v,className:R,onPointerDown:N,onPointerMove:F,onPointerUp:j,onPointerCancel:j,onLostPointerCapture:z,children:V}),t[51]=R,t[52]=V,t[53]=H):H=t[53],H});function Et(e){return e.status===`queued`||e.status===`running`}function Dt(){return Date.now()}function Ot(e,t){return e+t.runs.length}var kt=`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 At(e){let t=(0,Q.c)(48),{open:n,language:r,ownerAgentId:i,saving:o,initialDraft:s,onClose:c,onSave:l,onSaveAndStart:u}=e,d;t[0]===r?d=t[1]:(d=a(r),t[0]=r,t[1]=d);let f=d.workflows,[p,h]=(0,Z.useState)(`ai`),[g,_]=(0,Z.useState)(``),[v,y]=(0,Z.useState)(``),b=s?.mode===`edit`,x=b?f.editWorkflowTitle:f.createWorkflowTitle,S=b?f.editWorkflowHint:s?.mode===`copy`?f.createWorkflowHintFromCopy:f.createWorkflowHint,C,T;t[2]!==s||t[3]!==n?(C=()=>{n&&(h(s?`manual`:`ai`),_(s?.name??``),y(s?.script??``))},T=[s,n],t[2]=s,t[3]=n,t[4]=C,t[5]=T):(C=t[4],T=t[5]),(0,Z.useEffect)(C,T);let D;t[6]===c?D=t[7]:(D=e=>!e&&c(),t[6]=c,t[7]=D);let O;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(ee,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[8]=O):O=t[8];let k;t[9]===x?k=t[10]:(k=(0,$.jsx)(j,{className:`text-base font-semibold text-fg`,children:x}),t[9]=x,t[10]=k);let A;t[11]===S?A=t[12]:(A=(0,$.jsx)(E,{className:`mt-1 text-sm text-fg-muted`,children:S}),t[11]=S,t[12]=A);let M=p===`ai`,N,P;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(P=()=>h(`ai`),N=(0,$.jsx)(me,{className:`size-4`,"aria-hidden":!0}),t[13]=N,t[14]=P):(N=t[13],P=t[14]);let F;t[15]!==f.createWorkflowAiTab||t[16]!==M?(F=(0,$.jsx)(jt,{active:M,onClick:P,icon:N,children:f.createWorkflowAiTab}),t[15]=f.createWorkflowAiTab,t[16]=M,t[17]=F):F=t[17];let I=p===`manual`,L,R;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(L=()=>h(`manual`),R=(0,$.jsx)(m,{className:`size-4`,"aria-hidden":!0}),t[18]=L,t[19]=R):(L=t[18],R=t[19]);let z;t[20]!==f.createWorkflowManualTab||t[21]!==I?(z=(0,$.jsx)(jt,{active:I,onClick:L,icon:R,children:f.createWorkflowManualTab}),t[20]=f.createWorkflowManualTab,t[21]=I,t[22]=z):z=t[22];let B;t[23]!==F||t[24]!==z?(B=(0,$.jsxs)(`div`,{className:`mt-4 inline-flex rounded-xl border border-edge bg-surface-base p-1`,children:[F,z]}),t[23]=F,t[24]=z,t[25]=B):B=t[25];let V;t[26]!==B||t[27]!==k||t[28]!==A?(V=(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[k,A,B]}),t[26]=B,t[27]=k,t[28]=A,t[29]=V):V=t[29];let H;t[30]!==s||t[31]!==r||t[32]!==p||t[33]!==c||t[34]!==l||t[35]!==u||t[36]!==i||t[37]!==o||t[38]!==g||t[39]!==v?(H=p===`ai`?(0,$.jsx)(Mt,{language:r,ownerAgentId:i,saving:o,initialDraft:s,name:g,setName:_,script:v,setScript:y,onClose:c,onSave:l,onSaveAndStart:u}):(0,$.jsx)(Nt,{language:r,saving:o,initialDraft:s,name:g,setName:_,script:v,setScript:y,onClose:c,onSave:l}),t[30]=s,t[31]=r,t[32]=p,t[33]=c,t[34]=l,t[35]=u,t[36]=i,t[37]=o,t[38]=g,t[39]=v,t[40]=H):H=t[40];let U;t[41]!==V||t[42]!==H?(U=(0,$.jsxs)(K,{children:[O,(0,$.jsxs)(ne,{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:[V,H]})]}),t[41]=V,t[42]=H,t[43]=U):U=t[43];let te;return t[44]!==n||t[45]!==U||t[46]!==D?(te=(0,$.jsx)(w,{open:n,onOpenChange:D,children:U}),t[44]=n,t[45]=U,t[46]=D,t[47]=te):te=t[47],te}function jt(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 Mt({language:e,ownerAgentId:t,saving:n,initialDraft:r,name:i,setName:o,script:s,setScript:c,onClose:l,onSave:u,onSaveAndStart:d}){let f=a(e).workflows,[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)({allowNetwork:!1,fileSystem:`read`,maxPhases:4,maxSubagents:8,outputFormat:`report`}),[y,x]=(0,Z.useState)(!1),[S,C]=(0,Z.useState)(null),w=(0,Z.useMemo)(()=>h?.validation.errors.map(e=>e.message)??[],[h]),T=(0,Z.useMemo)(()=>h?.lint.filter(e=>e.severity===`error`)??[],[h]),E=p.trim().length>0&&!y,D=!!(h&&i.trim()&&s.trim()&&h.validation.valid&&T.length===0&&!n),O=s.trim().length>0,k=O?f.nlBuilderEditPromptLabel:f.nlBuilderPromptLabel,A=O?f.nlBuilderEditPromptPlaceholder:f.nlBuilderPromptPlaceholder,j=O?`improve`:`create`,M=async n=>{if(p.trim()){x(!0),C(null);try{let r=await We({prompt:p,agentId:t,language:e===`zh`?`zh`:`en`,mode:n,existingScript:n===`improve`?s:void 0,constraints:_});g(r),o(r.name),c(r.script)}catch(e){C(e instanceof Error?e.message:f.nlBuilderGenerateFailed)}finally{x(!1)}}},N=async()=>{D&&await u({name:i.trim(),script:s})&&l()},P=async()=>{D&&await d({name:i.trim(),script:s,goal:p.trim()})};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-4 overflow-auto px-5 py-4 lg:grid-cols-[minmax(18rem,0.9fr)_minmax(24rem,1.4fr)]`,children:[(0,$.jsxs)(`section`,{className:`space-y-3`,children:[(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:k}),(0,$.jsx)(`textarea`,{value:p,onChange:e=>m(e.target.value),placeholder:A,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)(Pt,{label:f.nlBuilderMaxPhases,value:_.maxPhases??4,min:1,max:8,onChange:e=>v(t=>({...t,maxPhases:e}))}),(0,$.jsx)(Pt,{label:f.nlBuilderMaxAgents,value:_.maxSubagents??8,min:1,max:20,onChange:e=>v(t=>({...t,maxSubagents:e}))})]}),(0,$.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2`,children:[(0,$.jsxs)(`label`,{className:`flex items-center gap-2 rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg-muted`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:!!_.allowNetwork,onChange:e=>v(t=>({...t,allowNetwork:e.target.checked}))}),f.nlBuilderAllowNetwork]}),(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:f.nlBuilderFilesystem}),(0,$.jsxs)(Ve,{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)(ze,{value:`none`,children:`none`}),(0,$.jsx)(ze,{value:`read`,children:`read`}),(0,$.jsx)(ze,{value:`write`,children:`write`})]})]})]}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:(0,$.jsxs)(b,{variant:`primary`,disabled:!E,onClick:()=>void M(j),children:[(0,$.jsx)(me,{className:`size-4`,"aria-hidden":!0}),y?f.nlBuilderGenerating:O?f.nlBuilderRewriteExisting:f.nlBuilderGenerate]})}),S?(0,$.jsx)(qt,{text:S}):null,h?(0,$.jsx)(Rt,{draft:h,labels:f}):null]}),(0,$.jsxs)(`section`,{className:`min-w-0 space-y-3`,children:[(0,$.jsx)(It,{initialDraft:r,labels:f}),(0,$.jsx)(Ft,{labels:f,name:i,setName:o}),(0,$.jsx)(Lt,{labels:f,script:s,setScript:c,minHeightClass:`min-h-96`}),h?(0,$.jsx)(zt,{draft:h,labels:f,validationIssues:w}):null]})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,$.jsx)(b,{variant:`secondary`,onClick:l,disabled:n||y,children:f.cancelDialog}),(0,$.jsx)(b,{variant:`secondary`,disabled:!D,onClick:()=>void N(),children:n?f.savingWorkflow:f.saveWorkflow}),(0,$.jsx)(b,{variant:`primary`,disabled:!D,onClick:()=>void P(),children:f.nlBuilderSaveAndStart})]})]})}function Nt({language:e,saving:t,initialDraft:n,name:r,setName:i,script:o,setScript:s,onClose:c,onSave:l}){let u=a(e).workflows,[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(null),[v,y]=(0,Z.useState)(null),x=r.trim(),S=!!(x&&o.trim());(0,Z.useEffect)(()=>{if(!S){m(!1),g(null),y(null);return}let e=!1,t=window.setTimeout(()=>{m(!0),g(null),_(x,o).then(t=>{e||y(t)}).catch(t=>{e||(y(null),g(t instanceof Error?t.message:u.validateWorkflowFailed))}).finally(()=>{e||m(!1)})},450);return()=>{e=!0,window.clearTimeout(t)}},[S,u.validateWorkflowFailed,o,x]);let C=(0,Z.useMemo)(()=>h?[h]:v?.errors.map(e=>e.message)??[],[h,v]),w=d||p||v!=null||h!=null,T=S&&!t&&!p&&v?.valid===!0;(0,Z.useEffect)(()=>{!n&&!o.trim()&&s(kt),f(!1),m(!1),g(null),y(null)},[n,o,s]);let E=async()=>{if(f(!0),!(!S||t)){m(!0),g(null);try{let e=await _(x,o);if(y(e),!e.valid)return;await l({name:x,script:o})&&c()}catch(e){y(null),g(e instanceof Error?e.message:u.validateWorkflowFailed)}finally{m(!1)}}};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-3 overflow-auto px-5 py-4`,children:[(0,$.jsx)(It,{initialDraft:n,labels:u}),(0,$.jsx)(Ft,{labels:u,name:r,setName:e=>{i(e),y(null),g(null)}}),(0,$.jsx)(Lt,{labels:u,script:o,setScript:e=>{s(e),y(null),g(null)},minHeightClass:`min-h-72`}),w?(0,$.jsx)(Ut,{labels:u,validating:p,validationIssues:C,validationResult:v}):null]}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,$.jsx)(b,{variant:`secondary`,onClick:c,disabled:t,children:u.cancelDialog}),(0,$.jsx)(b,{variant:`primary`,disabled:!T,onClick:()=>void E(),children:t?u.savingWorkflow:u.saveWorkflow})]})]})}function Pt(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 Ft(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 It(e){let t=(0,Q.c)(7),{initialDraft:n,labels:r}=e;if(!n)return null;let i;t[0]!==n.mode||t[1]!==n.sourceTitle||t[2]!==r.copyWorkflowNotice||t[3]!==r.editWorkflowNotice?(i=n.mode===`copy`?r.copyWorkflowNotice.replace(`{{title}}`,n.sourceTitle):r.editWorkflowNotice.replace(`{{title}}`,n.sourceTitle),t[0]=n.mode,t[1]=n.sourceTitle,t[2]=r.copyWorkflowNotice,t[3]=r.editWorkflowNotice,t[4]=i):i=t[4];let a=i,o;return t[5]===a?o=t[6]:(o=(0,$.jsx)(`div`,{className:`rounded-xl border border-accent/20 bg-accent-soft/60 px-3 py-2 text-sm leading-6 text-accent-fg`,children:a}),t[5]=a,t[6]=o),o}function Lt(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 Rt(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)(Gt,{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)(Gt,{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)(Gt,{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 zt(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(Ht),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)(u,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(h,{className:`size-4`,"aria-hidden":!0}),t[3]=s,t[4]=l);let d=s?r.validationPassed:r.nlBuilderReviewIssues,f;t[5]!==l||t[6]!==d?(f=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 font-medium`,children:[l,d]}),t[5]=l,t[6]=d,t[7]=f):f=t[7];let p;t[8]!==n.validation.definition?.phases||t[9]!==r.validationPreview||t[10]!==a||t[11]!==i?(p=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(Vt),a.map(Bt)]}):(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]=p):p=t[12];let m;return t[13]!==c||t[14]!==f||t[15]!==p?(m=(0,$.jsxs)(`div`,{className:c,children:[f,p]}),t[13]=c,t[14]=f,t[15]=p,t[16]=m):m=t[16],m}function Bt(e){return(0,$.jsx)(`li`,{children:e.message},`${e.code}:${e.message}`)}function Vt(e){return(0,$.jsx)(`li`,{children:e},e)}function Ht(e){return e.severity!==`error`}function Ut(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(Wt)}):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 Wt(e){return(0,$.jsx)(`li`,{children:e},e)}function Gt(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)(X,{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(Kt),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 Kt(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 qt(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 Jt(e){let t=(0,Q.c)(98),{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,f,p,m,h,g,_,v,y,x,S,C;if(t[2]!==r||t[3]!==u.templateBestFor||t[4]!==u.templateExample||t[5]!==i||t[6]!==o||t[7]!==n){let e=l(r,i);m=r.runtime?.source??``,p=w,S=n,t[20]===o?C=t[21]:(C=e=>!e&&o(),t[20]=o,t[21]=C),f=K,t[22]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(ee,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[22]=x):x=t[22],d=ne,v=`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`;let a;t[23]===r.title?a=t[24]:(a=(0,$.jsx)(j,{className:`text-base font-semibold text-fg`,children:r.title}),t[23]=r.title,t[24]=a),y=(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[a,(0,$.jsx)(E,{className:`mt-1 text-sm text-fg-muted`,children:e.description})]}),h=`min-h-0 flex-1 space-y-4 overflow-auto px-5 py-4`,g=e.whenToUse?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:u.templateBestFor}),(0,$.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-fg-muted`,children:e.whenToUse})]}):null,_=e.examplePrompts?.length?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:u.templateExample}),(0,$.jsx)(`div`,{className:`mt-2 grid gap-2`,children:e.examplePrompts.slice(0,3).map(Xt)})]}):null,t[2]=r,t[3]=u.templateBestFor,t[4]=u.templateExample,t[5]=i,t[6]=o,t[7]=n,t[8]=d,t[9]=f,t[10]=p,t[11]=m,t[12]=h,t[13]=g,t[14]=_,t[15]=v,t[16]=y,t[17]=x,t[18]=S,t[19]=C}else d=t[8],f=t[9],p=t[10],m=t[11],h=t[12],g=t[13],_=t[14],v=t[15],y=t[16],x=t[17],S=t[18],C=t[19];let T;t[25]===u.templateInputs?T=t[26]:(T=(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:u.templateInputs}),t[25]=u.templateInputs,t[26]=T);let D=r.inputSchema?u.templateInputsStructured:u.templateInputsGoalOnly,O;t[27]===D?O=t[28]:(O=(0,$.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:D}),t[27]=D,t[28]=O);let k;t[29]!==T||t[30]!==O?(k=(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge bg-surface-base/40 px-3 py-2`,children:[T,O]}),t[29]=T,t[30]=O,t[31]=k):k=t[31];let A;t[32]===u.templateExpectedOutput?A=t[33]:(A=(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:u.templateExpectedOutput}),t[32]=u.templateExpectedOutput,t[33]=A);let M;t[34]===u.templateOutputReport?M=t[35]:(M=(0,$.jsx)(`p`,{className:`mt-1 text-sm text-fg-muted`,children:u.templateOutputReport}),t[34]=u.templateOutputReport,t[35]=M);let N;t[36]!==A||t[37]!==M?(N=(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge bg-surface-base/40 px-3 py-2`,children:[A,M]}),t[36]=A,t[37]=M,t[38]=N):N=t[38];let P;t[39]!==k||t[40]!==N?(P=(0,$.jsxs)(`section`,{className:`grid gap-2 sm:grid-cols-2`,children:[k,N]}),t[39]=k,t[40]=N,t[41]=P):P=t[41];let F;t[42]!==r.phases||t[43]!==u.templatePlan?(F=r.phases.length>0?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:u.templatePlan}),(0,$.jsx)(`ol`,{className:`mt-2 space-y-2`,children:r.phases.map(Yt)})]}):null,t[42]=r.phases,t[43]=u.templatePlan,t[44]=F):F=t[44];let I;t[45]===u.advancedTemplateDetails?I=t[46]:(I=(0,$.jsx)(`summary`,{className:`cursor-pointer px-3 py-2 text-sm font-medium text-fg`,children:u.advancedTemplateDetails}),t[45]=u.advancedTemplateDetails,t[46]=I);let L;t[47]!==r||t[48]!==u?(L=(0,$.jsx)(Zt,{definition:r,labels:u}),t[47]=r,t[48]=u,t[49]=L):L=t[49];let R;t[50]!==r.inputSchema||t[51]!==u.inputsHeading?(R=r.inputSchema?(0,$.jsx)($t,{title:u.inputsHeading,schema:r.inputSchema}):null,t[50]=r.inputSchema,t[51]=u.inputsHeading,t[52]=R):R=t[52];let z;t[53]!==r.outputSchema||t[54]!==u.outputsHeading?(z=r.outputSchema?(0,$.jsx)($t,{title:u.outputsHeading,schema:r.outputSchema}):null,t[53]=r.outputSchema,t[54]=u.outputsHeading,t[55]=z):z=t[55];let B;t[56]!==u.scriptHeading||t[57]!==m?(B=m?(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:m})]}):null,t[56]=u.scriptHeading,t[57]=m,t[58]=B):B=t[58];let V;t[59]!==L||t[60]!==R||t[61]!==z||t[62]!==B?(V=(0,$.jsxs)(`div`,{className:`space-y-4 border-t border-edge px-3 py-3`,children:[L,R,z,B]}),t[59]=L,t[60]=R,t[61]=z,t[62]=B,t[63]=V):V=t[63];let H;t[64]!==I||t[65]!==V?(H=(0,$.jsxs)(`details`,{className:`rounded-xl border border-edge bg-surface-base/35`,children:[I,V]}),t[64]=I,t[65]=V,t[66]=H):H=t[66];let U;t[67]!==P||t[68]!==F||t[69]!==h||t[70]!==H||t[71]!==g||t[72]!==_?(U=(0,$.jsxs)(`div`,{className:h,children:[g,_,P,F,H]}),t[67]=P,t[68]=F,t[69]=h,t[70]=H,t[71]=g,t[72]=_,t[73]=U):U=t[73];let te;t[74]!==u.closeResult||t[75]!==o?(te=(0,$.jsx)(b,{variant:`secondary`,onClick:o,children:u.closeResult}),t[74]=u.closeResult,t[75]=o,t[76]=te):te=t[76];let W;t[77]!==u.runWorkflow||t[78]!==s?(W=(0,$.jsx)(b,{variant:`primary`,onClick:s,children:u.runWorkflow}),t[77]=u.runWorkflow,t[78]=s,t[79]=W):W=t[79];let G;t[80]!==te||t[81]!==W?(G=(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[te,W]}),t[80]=te,t[81]=W,t[82]=G):G=t[82];let re;t[83]!==d||t[84]!==U||t[85]!==G||t[86]!==v||t[87]!==y?(re=(0,$.jsxs)(d,{className:v,children:[y,U,G]}),t[83]=d,t[84]=U,t[85]=G,t[86]=v,t[87]=y,t[88]=re):re=t[88];let q;t[89]!==f||t[90]!==re||t[91]!==x?(q=(0,$.jsxs)(f,{children:[x,re]}),t[89]=f,t[90]=re,t[91]=x,t[92]=q):q=t[92];let ie;return t[93]!==p||t[94]!==q||t[95]!==S||t[96]!==C?(ie=(0,$.jsx)(p,{open:S,onOpenChange:C,children:q}),t[93]=p,t[94]=q,t[95]=S,t[96]=C,t[97]=ie):ie=t[97],ie}function Yt(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 Xt(e){return(0,$.jsx)(`div`,{className:`rounded-xl border border-edge bg-surface-base/40 px-3 py-2 text-sm text-fg-muted`,children:e.text},`${e.field}:${e.text}`)}function Zt(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(Qt)}):(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 Qt(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)(Se,{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 $t(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)(X,{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(en)}):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 en(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 tn(e,t){let n=e.metadata.estimatedAgents;return n?n.min===n.max?F(t.agentScaleExact,{count:n.min}):F(t.agentScaleRange,{min:n.min,max:n.max}):null}function nn(e){let t=(0,Q.c)(81),{definition:n,language:r,labels:a,onPick:o,onDetail:s,onEdit:c}=e,u;t[0]!==n||t[1]!==r?(u=l(n,r),t[0]=n,t[1]=r,t[2]=u):u=t[2];let d=u,f;t[3]!==n||t[4]!==a?(f=tn(n,a),t[3]=n,t[4]=a,t[5]=f):f=t[5];let p=f,m=n.metadata.source===`user`,h;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(h=i(`group flex h-full flex-col rounded-xl bg-surface-panel p-4 text-left shadow-surface transition-colors`,`hover:bg-surface-hover`),t[6]=h):h=t[6];let g;t[7]!==n||t[8]!==s?(g=()=>s(n),t[7]=n,t[8]=s,t[9]=g):g=t[9];let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=i(`flex flex-1 flex-col text-left`,de.focusRingPanel),t[10]=_):_=t[10];let v=m?`bg-accent-soft text-accent-fg`:`bg-surface-hover text-fg-muted`,y;t[11]===v?y=t[12]:(y=i(`rounded-full px-2 py-0.5 text-[10px] font-medium`,v),t[11]=v,t[12]=y);let x=m?a.badgeUser:a.badgeBuiltin,C;t[13]!==y||t[14]!==x?(C=(0,$.jsx)(`span`,{className:y,children:x}),t[13]=y,t[14]=x,t[15]=C):C=t[15];let w;t[16]!==n.inputSchema||t[17]!==a.inputSchemaBadge?(w=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)(X,{className:`size-2.5`,"aria-hidden":!0}),a.inputSchemaBadge]}):null,t[16]=n.inputSchema,t[17]=a.inputSchemaBadge,t[18]=w):w=t[18];let T;t[19]===n.metadata.tags?T=t[20]:(T=n.metadata.tags.slice(0,2).map(rn),t[19]=n.metadata.tags,t[20]=T);let E;t[21]!==w||t[22]!==T||t[23]!==C?(E=(0,$.jsxs)(`div`,{className:`mb-2 flex flex-wrap items-center gap-1.5`,children:[C,w,T]}),t[21]=w,t[22]=T,t[23]=C,t[24]=E):E=t[24];let D;t[25]===n.title?D=t[26]:(D=(0,$.jsx)(`span`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-fg`,children:n.title}),t[25]=n.title,t[26]=D);let O;t[27]!==E||t[28]!==D?(O=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[E,D]}),t[27]=E,t[28]=D,t[29]=O):O=t[29];let k;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(k=(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)(De,{className:`size-3.5`,"aria-hidden":!0})}),t[30]=k):k=t[30];let A;t[31]===O?A=t[32]:(A=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[O,k]}),t[31]=O,t[32]=A);let j;t[33]===d.description?j=t[34]:(j=d.description?(0,$.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-5 text-fg-muted`,children:d.description}):null,t[33]=d.description,t[34]=j);let M;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,$.jsx)(Y,{className:`size-3`,"aria-hidden":!0}),t[35]=M):M=t[35];let P;t[36]!==n.phases.length||t[37]!==a.phaseCount?(P=F(a.phaseCount,{count:n.phases.length}),t[36]=n.phases.length,t[37]=a.phaseCount,t[38]=P):P=t[38];let I;t[39]===P?I=t[40]:(I=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[M,P]}),t[39]=P,t[40]=I);let L;t[41]===p?L=t[42]:(L=p?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(S,{className:`size-3`,"aria-hidden":!0}),p]}):null,t[41]=p,t[42]=L);let R;t[43]!==I||t[44]!==L?(R=(0,$.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center gap-3 pt-3 text-[11px] text-fg-subtle`,children:[I,L]}),t[43]=I,t[44]=L,t[45]=R):R=t[45];let z;t[46]!==A||t[47]!==j||t[48]!==R||t[49]!==g?(z=(0,$.jsxs)(`button`,{type:`button`,onClick:g,className:_,children:[A,j,R]}),t[46]=A,t[47]=j,t[48]=R,t[49]=g,t[50]=z):z=t[50];let B;t[51]!==n||t[52]!==o?(B=()=>o(n),t[51]=n,t[52]=o,t[53]=B):B=t[53];let V;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,$.jsx)(H,{className:`size-3.5`,"aria-hidden":!0}),t[54]=V):V=t[54];let U;t[55]!==a.runWorkflow||t[56]!==B?(U=(0,$.jsxs)(b,{type:`button`,variant:`primary`,className:`h-8 flex-1 rounded-lg text-xs`,onClick:B,children:[V,a.runWorkflow]}),t[55]=a.runWorkflow,t[56]=B,t[57]=U):U=t[57];let ee;t[58]!==n||t[59]!==s?(ee=()=>s(n),t[58]=n,t[59]=s,t[60]=ee):ee=t[60];let te;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,$.jsx)(De,{className:`size-3.5`,"aria-hidden":!0}),t[61]=te):te=t[61];let ne;t[62]!==a.viewDetails||t[63]!==ee?(ne=(0,$.jsxs)(b,{type:`button`,variant:`secondary`,className:`h-8 rounded-lg text-xs`,onClick:ee,children:[te,a.viewDetails]}),t[62]=a.viewDetails,t[63]=ee,t[64]=ne):ne=t[64];let W;t[65]!==n||t[66]!==c?(W=()=>c(n),t[65]=n,t[66]=c,t[67]=W):W=t[67];let G;t[68]===m?G=t[69]:(G=m?(0,$.jsx)(Ae,{className:`size-3.5`,"aria-hidden":!0}):(0,$.jsx)(N,{className:`size-3.5`,"aria-hidden":!0}),t[68]=m,t[69]=G);let K=m?a.editWorkflow:a.copyAndEditWorkflow,re;t[70]!==W||t[71]!==G||t[72]!==K?(re=(0,$.jsxs)(b,{type:`button`,variant:`secondary`,className:`h-8 rounded-lg text-xs`,onClick:W,children:[G,K]}),t[70]=W,t[71]=G,t[72]=K,t[73]=re):re=t[73];let q;t[74]!==U||t[75]!==ne||t[76]!==re?(q=(0,$.jsxs)(`div`,{className:`mt-4 flex flex-wrap gap-2 border-t border-edge-subtle pt-3`,children:[U,ne,re]}),t[74]=U,t[75]=ne,t[76]=re,t[77]=q):q=t[77];let ie;return t[78]!==z||t[79]!==q?(ie=(0,$.jsxs)(`article`,{className:h,children:[z,q]}),t[78]=z,t[79]=q,t[80]=ie):ie=t[80],ie}function rn(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 an(e,t){return e===`uncategorized`?t.categories.uncategorized:t.categories[e]}function on(e){let t=(0,Q.c)(11),{definitions:n,language:r,onPick:o,onDetail:s,onEdit:c}=e,l=a(r).workflows,[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)(`all`),m;t[0]!==f||t[1]!==n||t[2]!==u?(m=Ee(n,u,f,`all`),t[0]=f,t[1]=n,t[2]=u,t[3]=m):m=t[3];let h=m,g;t[4]===h?g=t[5]:(g=P(h),t[4]=h,t[5]=g);let _=g,v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(Ue,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[6]=v):v=t[6];let y;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>d(e.target.value),t[7]=y):y=t[7];let x=l.searchPlaceholder,S;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=i(`h-10 w-full rounded-xl border border-edge bg-surface-base py-2 pl-10 pr-3 text-sm text-fg`,`placeholder:text-fg-subtle`,de.focusRingPanel),t[8]=S):S=t[8];let C=h.length===0?(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center px-4 py-12 text-center`,children:[(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:l.noDefinitions}),(0,$.jsx)(`p`,{className:`mt-1 max-w-sm text-xs leading-5 text-fg-subtle`,children:l.noDefinitionsHint})]}):f===`all`?(0,$.jsx)(`div`,{className:`flex flex-col gap-6 pb-1`,children:_.map(e=>(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`mb-3 text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:an(e.category,l)}),(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-3`,children:e.items.map(e=>(0,$.jsx)(nn,{definition:e,language:r,labels:l,onPick:o,onDetail:s,onEdit:c},e.id))})]},e.category))}):(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 pb-1 sm:grid-cols-2 xl:grid-cols-3`,children:h.map(e=>(0,$.jsx)(nn,{definition:e,language:r,labels:l,onPick:o,onDetail:s,onEdit:c},e.id))}),w;return t[9]===C?w=t[10]:(w=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:C}),t[9]=C,t[10]=w),(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:[v,(0,$.jsx)(`input`,{value:u,onChange:y,placeholder:x,className:S})]}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,role:`group`,"aria-label":l.categoryFilterAria,children:G.map(e=>(0,$.jsx)(b,{type:`button`,variant:f===e?`secondary`:`ghost`,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:()=>p(e),children:l.categories[e]},e))})]}),w]})}function sn(e){let t=(0,Q.c)(32),{open:n,definitions:r,language:o,onClose:s,onPick:c,onDetail:l,onEdit:u}=e,d;t[0]===o?d=t[1]:(d=a(o),t[0]=o,t[1]=d);let f=d.workflows,m;t[2]===s?m=t[3]:(m=e=>!e&&s(),t[2]=s,t[3]=m);let h;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(ee,{className:`fixed inset-0 z-50 bg-scrim`}),t[4]=h):h=t[4];let g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(g=i(`pointer-events-auto relative flex h-[min(90vh,840px)] w-full max-w-5xl flex-col`,`rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,de.focusRingPanel),t[5]=g):g=t[5];let _;t[6]===f.pickStartTitle?_=t[7]:(_=(0,$.jsx)(j,{className:`text-lg font-semibold text-fg`,children:f.pickStartTitle}),t[6]=f.pickStartTitle,t[7]=_);let v;t[8]===f.pickStartHint?v=t[9]:(v=(0,$.jsx)(E,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:f.pickStartHint}),t[8]=f.pickStartHint,t[9]=v);let y;t[10]!==_||t[11]!==v?(y=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[_,v]}),t[10]=_,t[11]=v,t[12]=y):y=t[12];let x;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,$.jsx)(ke,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[13]=x):x=t[13];let S;t[14]===f.pickStartClose?S=t[15]:(S=(0,$.jsx)(p,{asChild:!0,children:(0,$.jsx)(b,{variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":f.pickStartClose,children:x})}),t[14]=f.pickStartClose,t[15]=S);let C;t[16]!==y||t[17]!==S?(C=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-4 border-b border-edge-subtle px-6 py-5`,children:[y,S]}),t[16]=y,t[17]=S,t[18]=C):C=t[18];let T;t[19]!==r||t[20]!==o||t[21]!==l||t[22]!==u||t[23]!==c?(T=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-6 py-5`,children:(0,$.jsx)(on,{definitions:r,language:o,onPick:c,onDetail:l,onEdit:u})}),t[19]=r,t[20]=o,t[21]=l,t[22]=u,t[23]=c,t[24]=T):T=t[24];let D;t[25]!==C||t[26]!==T?(D=(0,$.jsxs)(K,{children:[h,(0,$.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(ne,{className:g,onOpenAutoFocus:cn,children:[C,T]})})]}),t[25]=C,t[26]=T,t[27]=D):D=t[27];let O;return t[28]!==n||t[29]!==D||t[30]!==m?(O=(0,$.jsx)(w,{open:n,onOpenChange:m,children:D}),t[28]=n,t[29]=D,t[30]=m,t[31]=O):O=t[31],O}function cn(e){return e.preventDefault()}function ln(e,t){return t.status[e]??e}function un(e,t){return t.phaseStatus[e]??e}function dn(e,t){let{run:n}=e;return n.status===`succeeded`?F(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:F(t.runSummaryActive,{done:n.metrics.doneAgentCount,total:n.metrics.agentCount})}function fn(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 pn(e){return x(e)}function mn({view:e,comparison:t,loading:n,language:r,localeTag:o,activeTab:s,onTabChange:c,onCancel:l,onRetry:u,onReplay:p,onOpenRunId:m,ownerAgentId:h,onClose:g}){let _=a(r).workflows,x=a(r).automations.suggestions,S=y(r),C=v(),[T,E]=(0,Z.useState)(!0),[D,k]=(0,Z.useState)(!1),[A,N]=(0,Z.useState)(null),[P,V]=(0,Z.useState)(!1),[H,U]=(0,Z.useState)(null),[G,re]=(0,Z.useState)(null),[,q]=(0,Z.useState)(0),ie=e?.run.status,ae=ie?te.has(ie):!1;(0,Z.useEffect)(()=>{e?.run.id&&(E(ae||ie===`failed`||ie===`timeout`),U(null))},[e?.run.id,ae,ie,e?.run.metrics.errorAgentCount]),(0,Z.useEffect)(()=>{if(!ae)return;let e=window.setInterval(()=>q(e=>e+1),1e3);return()=>window.clearInterval(e)},[ae]);let oe=(0,Z.useMemo)(()=>e?B(e):null,[e]),ce=(0,Z.useMemo)(()=>oe?Ce(oe):{phases:[],unphased:null},[oe]),le=(0,Z.useMemo)(()=>A==null||!oe?null:oe.agents.find(e=>e.id===A)??null,[A,oe]);(0,Z.useEffect)(()=>{oe?.runId&&N((oe.agents.find(e=>e.status===`error`||e.status===`skipped`)??oe.agents.find(e=>e.status===`running`)??null)?.id??null)},[oe?.runId]);let de=(0,Z.useCallback)(e=>{N(e.id)},[]),fe=(0,Z.useMemo)(()=>e?L(e):[],[e]),pe=e?R(e.run.result):void 0,me=pe?An(pe):null,_e=pe?z(pe):``,ye=!!pe,Y=(0,Z.useCallback)(async()=>{ye&&await ve(_e)&&(V(!0),window.setTimeout(()=>V(!1),1500))},[ye,_e]),xe=(0,Z.useCallback)(()=>{if(!ye||!e)return;let t=new Blob([_e],{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)},[ye,_e,e]),Se=(0,Z.useCallback)(()=>{if(!e)return;let t=pn(e);t&&C(f(t))},[C,e]),Te=(0,Z.useCallback)(async t=>{if(e){U(null),re(t.id);try{On(await ge(e.run.id,t.id,{ownerAgentId:h}),t.name||t.id)}catch(e){U(e instanceof Error?e.message:String(e))}finally{re(null)}}},[h,e]),Ee=(0,Z.useCallback)(t=>{if(!e||!t.prompt)return;let n=pn(e);if(!n){ve(t.prompt);return}C(f(n,t.prompt))},[C,e]),De=(0,Z.useCallback)(t=>{if(!e||t==null)return;let n=String(t),r=e.agents.findIndex(e=>String(e.id)===n);if(r<0)return;let i=Number.parseInt(n,10);N(Number.isFinite(i)?i:r+1)},[e]),Oe=e?pn(e):null,Ae=ie===`failed`;if(n)return(0,$.jsx)(w,{open:!0,onOpenChange:e=>!e&&g(),children:(0,$.jsxs)(K,{children:[(0,$.jsx)(ee,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(ne,{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)(j,{className:`text-base font-semibold tracking-tight text-fg`,children:_.runSummaryTitle}),(0,$.jsx)(b,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":_.pickStartClose,onClick:g,children:(0,$.jsx)(ke,{className:`size-5`,"aria-hidden":!0})})]}),(0,$.jsx)(`div`,{className:`p-5 text-sm text-fg-muted`,children:_.loading})]})]})});if(!e||!oe)return null;let{run:X}=e,je=e.controls.canCancel&&ae,Me=ae&&X.startedAtMs!=null?d(Date.now()-X.startedAtMs):d(X.metrics.durationMs??void 0),Ne=dn(e,_),Pe=fn(e,_),Fe=e.controls.canRetry&&e.agents.some(e=>(e.status===`error`||e.status===`skipped`)&&e.prompt?.trim()),Ie=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())),Le=X.goal?.trim()||X.title,Re=fe.length>0||!!Pe,ze=!!Oe||je,Be=e.controls.canRetry||Fe||Ie,Ve=ye,He=ze||Be||Ve,Ue=s===`diagnostics`||s===`debug`?`process`:s;return(0,$.jsx)($.Fragment,{children:(0,$.jsx)(w,{open:!0,onOpenChange:e=>!e&&g(),children:(0,$.jsxs)(K,{children:[(0,$.jsx)(ee,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(ne,{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)(j,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:Le}),(0,$.jsx)(b,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":_.pickStartClose,onClick:g,children:(0,$.jsx)(ke,{className:`size-5`,"aria-hidden":!0})})]}),(0,$.jsxs)(`section`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:[(0,$.jsxs)(`header`,{className:`rounded-2xl border border-edge-subtle bg-surface-base/60 p-4`,children:[(0,$.jsx)(`div`,{className:`flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between`,children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`h2`,{className:`text-lg font-semibold leading-7 text-fg`,children:Le}),(0,$.jsx)(`span`,{className:i(`rounded-full px-2 py-0.5 text-xs font-medium`,M(X.status)),children:ln(X.status,_)})]}),(0,$.jsxs)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:[X.title,` · `,X.definitionId]}),(0,$.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-fg-muted`,children:Ne}),Pe?(0,$.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-fg-subtle`,children:Pe}):null]})}),(0,$.jsxs)(`dl`,{className:`mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-4`,children:[(0,$.jsx)(Fn,{label:_.metrics.startedAt,value:we(X.startedAtMs??X.createdAtMs,o)}),(0,$.jsx)(Fn,{label:_.metrics.duration,value:Me}),(0,$.jsx)(Fn,{label:_.metrics.agents,value:F(_.agentProgress,{done:X.metrics.doneAgentCount,total:X.metrics.agentCount})}),(0,$.jsx)(Fn,{label:_.metrics.artifacts,value:String(X.metrics.artifactCount)})]})]}),(0,$.jsx)(se,{eventType:`workflow.run.completed`,source:`workflows`,payloadKey:`runId`,payloadValue:X.id,className:`mt-4`}),Ae?(0,$.jsx)(Ze,{title:x.workflowFailedTitle,description:x.workflowFailedDescription,prompt:F(x.workflowFailedPrompt,{runId:X.id,definitionId:X.definitionId}),coverage:{eventType:`workflow.run.completed`,source:`workflows`,eventPayload:{runId:X.id,status:`failed`}},className:`mt-4`}):null,(0,$.jsx)(gn,{activeTab:Ue,onChange:c,labels:_,artifactCount:me?.artifacts.length??e.artifacts.length}),Ue===`result`?(0,$.jsxs)(`section`,{className:`mt-5 space-y-4`,children:[ye?(0,$.jsx)(`div`,{className:`rounded-xl border border-edge bg-surface-base/50 p-3`,children:(0,$.jsx)(he,{result:pe,labels:S.result})}):(0,$.jsx)(`div`,{className:`rounded-xl border border-dashed border-edge p-4 text-sm text-fg-muted`,children:_.noResult}),He?(0,$.jsxs)(`section`,{className:`rounded-2xl border border-edge-subtle bg-surface-base/35 p-4`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:_.nextActionsTitle}),(0,$.jsxs)(`div`,{className:`mt-3 grid gap-3 lg:grid-cols-3`,children:[ze?(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h4`,{className:`text-xs font-medium text-fg-subtle`,children:_.primaryActionsTitle}),(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[Oe?(0,$.jsxs)(b,{variant:`primary`,onClick:Se,children:[(0,$.jsx)(W,{className:`size-4`,"aria-hidden":!0}),_.continueInChat]}):null,je?(0,$.jsxs)(b,{variant:`secondary`,onClick:l,className:`text-red-600 dark:text-red-300`,children:[(0,$.jsx)(J,{className:`size-4`,"aria-hidden":!0}),_.cancel]}):null]})]}):null,Be?(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h4`,{className:`text-xs font-medium text-fg-subtle`,children:_.recoveryActionsTitle}),(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[Fe?(0,$.jsxs)(b,{variant:`secondary`,onClick:()=>p(`failed_agents`),children:[(0,$.jsx)(be,{className:`size-4`,"aria-hidden":!0}),_.replayFailedAgents]}):null,Ie?(0,$.jsxs)(b,{variant:`secondary`,onClick:()=>p(`failed_phases`),children:[(0,$.jsx)(be,{className:`size-4`,"aria-hidden":!0}),_.replayFailedPhases]}):null,e.controls.canRetry?(0,$.jsxs)(b,{variant:`secondary`,onClick:u,children:[(0,$.jsx)(be,{className:`size-4`,"aria-hidden":!0}),_.rerun]}):null]})]}):null,Ve?(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h4`,{className:`text-xs font-medium text-fg-subtle`,children:_.resultActionsTitle}),(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2`,children:[(0,$.jsxs)(b,{variant:`secondary`,onClick:Y,children:[P?(0,$.jsx)(ue,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(O,{className:`size-4`,"aria-hidden":!0}),P?_.copied:_.copyResult]}),(0,$.jsxs)(b,{variant:`secondary`,onClick:xe,children:[(0,$.jsx)(I,{className:`size-4`,"aria-hidden":!0}),_.exportResult]})]})]}):null]})]}):null,Re?(0,$.jsx)(hn,{diagnostics:fe,labels:_,hint:Pe,onOpenAgent:De}):null,(0,$.jsx)(Cn,{view:e,comparison:t,labels:_,onOpenRunId:m}),(0,$.jsx)(wn,{view:e,labels:_})]}):null,Ue===`process`?(0,$.jsxs)($.Fragment,{children:[Re?(0,$.jsx)(hn,{diagnostics:fe,labels:_,hint:Pe,onOpenAgent:De}):null,(0,$.jsx)(_n,{snapshot:oe,rollup:ce,view:e,labels:_,cardLabels:S,isActive:ae,processExpanded:T,logsExpanded:D,selectedAgentId:A,selectedAgent:le,durationText:Me,onToggleProcess:()=>E(e=>!e),onToggleLogs:()=>k(e=>!e),onSelectAgent:de})]}):null,Ue===`artifacts`?(0,$.jsx)(Dn,{outcome:me,labels:_,downloadingArtifactId:G,downloadError:H,onCopyText:e=>void ve(e),onDownloadArtifact:e=>void Te(e),onStartFollowUp:Ee}):null]})]})]})})})}function hn(e){let t=(0,Q.c)(13),{diagnostics:n,labels:r,hint:i,onOpenAgent:a}=e;if(n.length===0&&!i)return null;let o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(`div`,{className:`rounded-xl bg-rose-500/10 p-2 text-rose-700 dark:text-rose-300`,children:(0,$.jsx)(h,{className:`size-4`,"aria-hidden":!0})}),t[0]=o):o=t[0];let s;t[1]===r.reliabilityTitle?s=t[2]:(s=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:r.reliabilityTitle}),t[1]=r.reliabilityTitle,t[2]=s);let c=i??r.reliabilityHint,l;t[3]===c?l=t[4]:(l=(0,$.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:c}),t[3]=c,t[4]=l);let u;t[5]!==n||t[6]!==r||t[7]!==a?(u=n.length>0?(0,$.jsx)(`ul`,{className:`mt-3 space-y-2`,children:n.slice(0,5).map(e=>(0,$.jsx)(`li`,{className:`rounded-xl border border-edge-subtle bg-surface-panel px-3 py-2`,children:(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:Sn(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)(b,{type:`button`,variant:`ghost`,className:`h-8 shrink-0 px-2 text-xs`,onClick:()=>a(e.agentId),children:r.openAgentDetails})]})},e.key))}):null,t[5]=n,t[6]=r,t[7]=a,t[8]=u):u=t[8];let d;return t[9]!==s||t[10]!==l||t[11]!==u?(d=(0,$.jsx)(`section`,{className:`mt-5 rounded-2xl border border-rose-500/20 bg-rose-500/5 p-4`,children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[o,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[s,l,u]})]})}),t[9]=s,t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function gn(e){let t=(0,Q.c)(16),{activeTab:n,onChange:r,labels:i,artifactCount:a}=e,o;t[0]===i.resultTitle?o=t[1]:(o={id:`result`,label:i.resultTitle},t[0]=i.resultTitle,t[1]=o);let s;t[2]===i.process?s=t[3]:(s={id:`process`,label:i.process},t[2]=i.process,t[3]=s);let c=a||void 0,l;t[4]!==i.outcomeArtifacts||t[5]!==c?(l={id:`artifacts`,label:i.outcomeArtifacts,count:c},t[4]=i.outcomeArtifacts,t[5]=c,t[6]=l):l=t[6];let u;t[7]!==o||t[8]!==s||t[9]!==l?(u=[o,s,l],t[7]=o,t[8]=s,t[9]=l,t[10]=u):u=t[10];let d=u,f;return t[11]!==n||t[12]!==i.taskActionsAria||t[13]!==r||t[14]!==d?(f=(0,$.jsx)(`div`,{className:`mt-5 flex overflow-x-auto border-b border-edge pb-2`,children:(0,$.jsx)(Ye,{items:d,activeTab:n,onChange:r,ariaLabel:i.taskActionsAria})}),t[11]=n,t[12]=i.taskActionsAria,t[13]=r,t[14]=d,t[15]=f):f=t[15],f}function _n(e){let t=(0,Q.c)(37),{snapshot:n,rollup:r,view:a,labels:o,cardLabels:s,isActive:c,processExpanded:l,logsExpanded:u,selectedAgentId:d,selectedAgent:f,durationText:p,onToggleProcess:m,onToggleLogs:h,onSelectAgent:g}=e,_;t[0]===o.process?_=t[1]:(_=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:o.process}),t[0]=o.process,t[1]=_);let v;t[2]!==o.agentProgress||t[3]!==a.run.metrics.agentCount||t[4]!==a.run.metrics.doneAgentCount?(v=F(o.agentProgress,{done:a.run.metrics.doneAgentCount,total:a.run.metrics.agentCount}),t[2]=o.agentProgress,t[3]=a.run.metrics.agentCount,t[4]=a.run.metrics.doneAgentCount,t[5]=v):v=t[5];let y;t[6]!==p||t[7]!==v?(y=(0,$.jsxs)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:[v,` · `,p]}),t[6]=p,t[7]=v,t[8]=y):y=t[8];let b;t[9]!==_||t[10]!==y?(b=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[_,y]}),t[9]=_,t[10]=y,t[11]=b):b=t[11];let x=l?`rotate-180`:null,S;t[12]===x?S=t[13]:(S=i(`size-4 shrink-0 text-fg-subtle transition-transform`,x),t[12]=x,t[13]=S);let C;t[14]===S?C=t[15]:(C=(0,$.jsx)(xe,{className:S,"aria-hidden":!0}),t[14]=S,t[15]=C);let w;t[16]!==m||t[17]!==l||t[18]!==b||t[19]!==C?(w=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between gap-4 px-4 py-3 text-left`,onClick:m,"aria-expanded":l,children:[b,C]}),t[16]=m,t[17]=l,t[18]=b,t[19]=C,t[20]=w):w=t[20];let T;t[21]!==s||t[22]!==c||t[23]!==o||t[24]!==u||t[25]!==g||t[26]!==h||t[27]!==l||t[28]!==r||t[29]!==f||t[30]!==d||t[31]!==n||t[32]!==a.phases?(T=l?(0,$.jsx)(`div`,{className:`border-t border-edge px-4 pb-4 pt-4`,children:(0,$.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-[minmax(0,1fr)_minmax(20rem,26rem)]`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[c?(0,$.jsx)(Fe,{snapshot:n,labels:s,logsExpanded:u,onToggleLogs:h,selectedAgentId:d,onSelectAgent:g}):(0,$.jsx)(He,{rollup:r,currentPhase:n.currentPhase,labels:s.phase,recentLogs:n.logs,recentLogsHeading:s.recentLogsHeading,showAllLogsLabel:s.showAllLogs,logsExpanded:u,onToggleLogs:h,selectedAgentId:d,onSelectAgent:g}),a.phases.length>0?(0,$.jsx)(`div`,{className:`mt-4 grid gap-2 sm:grid-cols-2`,children:a.phases.map(e=>(0,$.jsx)(`div`,{className:`rounded-xl border border-edge bg-surface-panel px-3 py-2`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:e.title}),(0,$.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:un(e.status,o)})]})},e.id))}):null]}),(0,$.jsx)(vn,{agent:f,snapshot:n,labels:o,cardLabels:s})]})}):null,t[21]=s,t[22]=c,t[23]=o,t[24]=u,t[25]=g,t[26]=h,t[27]=l,t[28]=r,t[29]=f,t[30]=d,t[31]=n,t[32]=a.phases,t[33]=T):T=t[33];let E;return t[34]!==w||t[35]!==T?(E=(0,$.jsxs)(`div`,{className:`mt-5 rounded-2xl border border-edge bg-surface-base/35`,children:[w,T]}),t[34]=w,t[35]=T,t[36]=E):E=t[36],E}function vn(e){let t=(0,Q.c)(68),{agent:n,snapshot:r,labels:a,cardLabels:o}=e,[s,c]=(0,Z.useState)(!1),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>{c(!1)},t[0]=l):l=t[0];let u=n?.id,d;if(t[1]===u?d=t[2]:(d=[u],t[1]=u,t[2]=d),(0,Z.useEffect)(l,d),!n){let e;return t[3]===a.noSubagents?e=t[4]:(e=(0,$.jsx)(`aside`,{className:`min-w-0 rounded-2xl border border-dashed border-edge bg-surface-panel/45 p-4 text-sm text-fg-muted`,children:a.noSubagents}),t[3]=a.noSubagents,t[4]=e),e}let f;t[5]===n?f=t[6]:(f=Be(n),t[5]=n,t[6]=f);let p=f,m=n.error||n.resultPreview||n.currentStep||o.checkDetail.runningPlaceholder,h;t[7]===n.label?h=t[8]:(h=(0,$.jsx)(`h3`,{className:`truncate text-sm font-semibold text-fg`,children:n.label}),t[7]=n.label,t[8]=h);let g=n.phase||a.process,_;t[9]===g?_=t[10]:(_=(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:g}),t[9]=g,t[10]=_);let v;t[11]!==h||t[12]!==_?(v=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[h,_]}),t[11]=h,t[12]=_,t[13]=v):v=t[13];let y;t[14]===n.status?y=t[15]:(y=i(`rounded-full px-2 py-0.5 text-xs font-medium`,Pn(n.status)),t[14]=n.status,t[15]=y);let b=a.agentStatus[n.status]??n.status,x;t[16]!==b||t[17]!==y?(x=(0,$.jsx)(`span`,{className:y,children:b}),t[16]=b,t[17]=y,t[18]=x):x=t[18];let S;t[19]!==x||t[20]!==v?(S=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[v,x]}),t[19]=x,t[20]=v,t[21]=S):S=t[21];let C=n.invocation?.modelRef??n.invocation?.resolvedModelRef??`—`,w;t[22]!==a.agentInvocationModel||t[23]!==C?(w=(0,$.jsx)(In,{label:a.agentInvocationModel,value:C}),t[22]=a.agentInvocationModel,t[23]=C,t[24]=w):w=t[24];let T=p||`—`,E;t[25]!==a.metrics.duration||t[26]!==T?(E=(0,$.jsx)(In,{label:a.metrics.duration,value:T}),t[25]=a.metrics.duration,t[26]=T,t[27]=E):E=t[27];let D;t[28]!==w||t[29]!==E?(D=(0,$.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs sm:grid-cols-2 xl:grid-cols-1`,children:[w,E]}),t[28]=w,t[29]=E,t[30]=D):D=t[30];let O;t[31]===a.agentOutputHeading?O=t[32]:(O=(0,$.jsx)(`h4`,{className:`text-xs font-semibold text-fg`,children:a.agentOutputHeading}),t[31]=a.agentOutputHeading,t[32]=O);let k=n.error?`font-mono text-rose-600 dark:text-rose-400`:`text-fg-muted`,A;t[33]===k?A=t[34]:(A=i(`mt-2 max-h-72 overflow-auto whitespace-pre-wrap wrap-break-word text-sm leading-6`,k),t[33]=k,t[34]=A);let j;t[35]!==m||t[36]!==A?(j=(0,$.jsx)(`div`,{className:A,children:m}),t[35]=m,t[36]=A,t[37]=j):j=t[37];let M;t[38]!==O||t[39]!==j?(M=(0,$.jsxs)(`section`,{className:`mt-4 rounded-xl border border-edge-subtle bg-surface-base/60 p-3`,children:[O,j]}),t[38]=O,t[39]=j,t[40]=M):M=t[40];let N;t[41]!==n.steps||t[42]!==o?(N=n.steps?.length?(0,$.jsxs)(`section`,{className:`mt-3 rounded-xl border border-edge-subtle bg-surface-base/40 p-3`,children:[(0,$.jsx)(`h4`,{className:`text-xs font-semibold text-fg`,children:o.checkDetail.stepsHeading}),(0,$.jsx)(`div`,{className:`mt-2 space-y-2`,children:n.steps.slice(0,4).map(xn)})]}):null,t[41]=n.steps,t[42]=o,t[43]=N):N=t[43];let P;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(P=()=>c(bn),t[44]=P):P=t[44];let F=a.debugDetailsTitle,I=s&&`rotate-180`,L;t[45]===I?L=t[46]:(L=i(`size-4 shrink-0 text-fg-subtle transition-transform`,I),t[45]=I,t[46]=L);let R;t[47]===L?R=t[48]:(R=(0,$.jsx)(xe,{className:L,"aria-hidden":!0}),t[47]=L,t[48]=R);let z;t[49]!==s||t[50]!==a.debugDetailsTitle||t[51]!==R?(z=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between gap-3 px-3 py-2 text-left text-xs font-semibold text-fg`,onClick:P,"aria-expanded":s,children:[F,R]}),t[49]=s,t[50]=a.debugDetailsTitle,t[51]=R,t[52]=z):z=t[52];let B;t[53]!==s||t[54]!==n||t[55]!==o||t[56]!==a||t[57]!==r?(B=s?(0,$.jsxs)(`div`,{className:`space-y-3 border-t border-edge-subtle p-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-fg-subtle`,children:a.agentInputHeading}),(0,$.jsx)(`pre`,{className:`mt-1 max-h-44 overflow-auto whitespace-pre-wrap wrap-break-word rounded-lg bg-surface-panel p-2 font-mono text-xs leading-5 text-fg-muted`,children:n.prompt||`—`})]}),(0,$.jsx)(jn,{agent:n,labels:a}),r.logs.length>0?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-fg-subtle`,children:o.recentLogsHeading}),(0,$.jsx)(`div`,{className:`mt-1 max-h-36 space-y-0.5 overflow-auto rounded-lg bg-surface-panel p-2 font-mono text-xs text-fg-subtle`,children:r.logs.map(yn)})]}):null]}):null,t[53]=s,t[54]=n,t[55]=o,t[56]=a,t[57]=r,t[58]=B):B=t[58];let V;t[59]!==z||t[60]!==B?(V=(0,$.jsxs)(`section`,{className:`mt-3 rounded-xl border border-edge-subtle bg-surface-base/40`,children:[z,B]}),t[59]=z,t[60]=B,t[61]=V):V=t[61];let H;return t[62]!==S||t[63]!==D||t[64]!==M||t[65]!==N||t[66]!==V?(H=(0,$.jsxs)(`aside`,{className:`min-w-0 rounded-2xl border border-edge bg-surface-panel p-4`,children:[S,D,M,N,V]}),t[62]=S,t[63]=D,t[64]=M,t[65]=N,t[66]=V,t[67]=H):H=t[67],H}function yn(e){return(0,$.jsx)(`div`,{className:`wrap-break-word`,children:e},e)}function bn(e){return!e}function xn(e){return(0,$.jsxs)(`div`,{className:`rounded-lg bg-surface-panel px-2.5 py-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-fg`,children:e.label}),(0,$.jsx)(`span`,{className:`shrink-0 text-[10px] text-fg-subtle`,children:e.status})]}),e.detail||e.resultPreview||e.error?(0,$.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:e.error||e.resultPreview||e.detail}):null]},e.id)}function Sn(e,t){return e.kind===`run_error`?e.code?F(t.diagnosticsRunErrorWithCode,{code:e.code}):t.diagnosticsRunError:e.kind===`agent_error`?F(t.diagnosticsAgentError,{agent:e.agentLabel??String(e.agentId??`—`)}):e.kind===`step_error`?F(t.diagnosticsStepError,{agent:e.agentLabel??String(e.agentId??`—`),step:e.stepLabel??e.stepId??`—`}):F(t.diagnosticsAgentSkipped,{agent:e.agentLabel??String(e.agentId??`—`)})}function Cn(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=F(i.replayLineageSummary,{scope:En(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)(In,{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)(In,{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)(Fn,{label:i.replayFixedAgents,value:String(r.fixedAgentIds.length)}),(0,$.jsx)(Fn,{label:i.replayStillFailingAgents,value:String(r.stillFailingAgentIds.length)}),(0,$.jsx)(Fn,{label:i.replayDurationDelta,value:Tn(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)(b,{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 wn(e){let t=(0,Q.c)(36),{view:n,labels:r}=e,i;t[0]===n.run.metadata?.contextRefs?i=t[1]:(i=n.run.metadata?.contextRefs??[],t[0]=n.run.metadata?.contextRefs,t[1]=i);let a=i,o;t[2]===n.run.metadata?.writebackPolicy?.targets?o=t[3]:(o=n.run.metadata?.writebackPolicy?.targets??[],t[2]=n.run.metadata?.writebackPolicy?.targets,t[3]=o);let s=o;if(!a.length&&!s.length)return null;let c;t[4]===r.contextRefsTitle?c=t[5]:(c=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:r.contextRefsTitle}),t[4]=r.contextRefsTitle,t[5]=c);let l;t[6]===r.contextRefsHint?l=t[7]:(l=(0,$.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:r.contextRefsHint}),t[6]=r.contextRefsHint,t[7]=l);let u;t[8]!==r.contextRefKinds||t[9]!==r.noContextRefs||t[10]!==a?(u=a.length?a.map(e=>(0,$.jsx)(In,{label:r.contextRefKinds[e.kind]??e.kind,value:[e.title||e.id,e.role].filter(Boolean).join(` · `)},`${e.kind}:${e.id}:${e.role??``}`)):(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:r.noContextRefs}),t[8]=r.contextRefKinds,t[9]=r.noContextRefs,t[10]=a,t[11]=u):u=t[11];let d;t[12]===u?d=t[13]:(d=(0,$.jsx)(`div`,{className:`mt-3 grid gap-2`,children:u}),t[12]=u,t[13]=d);let f;t[14]!==c||t[15]!==l||t[16]!==d?(f=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[c,l,d]}),t[14]=c,t[15]=l,t[16]=d,t[17]=f):f=t[17];let p;t[18]===r.writebackTitle?p=t[19]:(p=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:r.writebackTitle}),t[18]=r.writebackTitle,t[19]=p);let m;t[20]===r.writebackHint?m=t[21]:(m=(0,$.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-subtle`,children:r.writebackHint}),t[20]=r.writebackHint,t[21]=m);let h;t[22]!==r.noWritebackTargets||t[23]!==r.writebackModes||t[24]!==r.writebackTargetKinds||t[25]!==s?(h=s.length?s.map(e=>(0,$.jsx)(In,{label:r.writebackTargetKinds[e.kind]??e.kind,value:`${e.id} · ${r.writebackModes[e.mode]??e.mode}`},`${e.kind}:${e.id}:${e.mode}`)):(0,$.jsx)(`p`,{className:`text-xs text-fg-muted`,children:r.noWritebackTargets}),t[22]=r.noWritebackTargets,t[23]=r.writebackModes,t[24]=r.writebackTargetKinds,t[25]=s,t[26]=h):h=t[26];let g;t[27]===h?g=t[28]:(g=(0,$.jsx)(`div`,{className:`mt-3 grid gap-2`,children:h}),t[27]=h,t[28]=g);let _;t[29]!==g||t[30]!==p||t[31]!==m?(_=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[p,m,g]}),t[29]=g,t[30]=p,t[31]=m,t[32]=_):_=t[32];let v;return t[33]!==_||t[34]!==f?(v=(0,$.jsx)(`section`,{className:`mt-5 rounded-2xl border border-edge-subtle bg-surface-base/35 p-4`,children:(0,$.jsxs)(`div`,{className:`grid gap-4 lg:grid-cols-2`,children:[f,_]})}),t[33]=_,t[34]=f,t[35]=v):v=t[35],v}function Tn(e){return e==null?`—`:`${e>0?`+`:e<0?`-`:``}${d(Math.abs(e))}`}function En(e,t){return e===`failed_phases`?t.replayScopeFailedPhases:t.replayScopeFailedAgents}function Dn(e){let t=(0,Q.c)(20),{outcome:n,labels:r,downloadingArtifactId:i,downloadError:a,onCopyText:o,onDownloadArtifact:s,onStartFollowUp:c}=e;if(!n||!n.artifacts.length&&!n.followUps.length&&n.structuredOutput===void 0){let e;return t[0]===r.noArtifacts?e=t[1]:(e=(0,$.jsx)(`section`,{className:`mt-5 rounded-xl border border-dashed border-edge p-4 text-sm text-fg-muted`,children:r.noArtifacts}),t[0]=r.noArtifacts,t[1]=e),e}let l;t[2]!==a||t[3]!==i||t[4]!==r||t[5]!==s||t[6]!==n.artifacts?(l=n.artifacts.length>0?(0,$.jsxs)(kn,{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)(I,{className:`size-3`,"aria-hidden":!0}),i===e.id?r.downloadingArtifact:r.downloadArtifact]})]},e.id))}),a?(0,$.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-rose-600 dark:text-rose-400`,children:a}):null]}):null,t[2]=a,t[3]=i,t[4]=r,t[5]=s,t[6]=n.artifacts,t[7]=l):l=t[7];let u;t[8]!==r||t[9]!==o||t[10]!==c||t[11]!==n.followUps?(u=n.followUps.length>0?(0,$.jsx)(kn,{title:r.outcomeFollowUps,children:(0,$.jsx)(`ul`,{className:`space-y-2`,children:n.followUps.map(e=>(0,$.jsxs)(`li`,{className:`rounded-lg bg-surface-base px-2.5 py-2`,children:[(0,$.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:e.title}),e.prompt?(0,$.jsxs)(`div`,{className:`mt-1 flex flex-wrap gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-accent-fg hover:underline`,onClick:()=>c(e),children:r.startFollowUp}),(0,$.jsx)(`button`,{type:`button`,className:`text-xs font-medium text-fg-subtle hover:text-fg`,onClick:()=>o(e.prompt??``),children:r.copyPrompt})]}):null]},e.id))})}):null,t[8]=r,t[9]=o,t[10]=c,t[11]=n.followUps,t[12]=u):u=t[12];let d;t[13]!==r||t[14]!==n.structuredOutput?(d=n.structuredOutput===void 0?null:(0,$.jsx)(kn,{title:r.outcomeStructuredOutput,className:`lg:col-span-3`,children:(0,$.jsx)(`pre`,{className:`max-h-[28rem] min-w-0 overflow-auto whitespace-pre-wrap break-words rounded-lg bg-surface-base p-3 font-mono text-xs leading-5 text-fg-muted`,children:z(n.structuredOutput)})}),t[13]=r,t[14]=n.structuredOutput,t[15]=d):d=t[15];let f;return t[16]!==l||t[17]!==u||t[18]!==d?(f=(0,$.jsxs)(`div`,{className:`mt-5 grid gap-3 lg:grid-cols-3`,children:[l,u,d]}),t[16]=l,t[17]=u,t[18]=d,t[19]=f):f=t[19],f}function On(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.click(),URL.revokeObjectURL(n)}function kn(e){let t=(0,Q.c)(10),{title:n,children:r,className:a}=e,o;t[0]===a?o=t[1]:(o=i(`min-w-0 rounded-xl border border-edge-subtle bg-surface-base/35 p-3`,a),t[0]=a,t[1]=o);let s;t[2]===n?s=t[3]:(s=(0,$.jsx)(`h4`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:n}),t[2]=n,t[3]=s);let c;t[4]===r?c=t[5]:(c=(0,$.jsx)(`div`,{className:`mt-2`,children:r}),t[4]=r,t[5]=c);let l;return t[6]!==o||t[7]!==s||t[8]!==c?(l=(0,$.jsxs)(`section`,{className:o,children:[s,c]}),t[6]=o,t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function An(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 jn(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(Nn),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(Mn)}),t[19]=m,t[20]=h),h}function Mn(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 Nn(e){return!!e.value}function Pn(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 Fn(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 In(e){let t=(0,Q.c)(7),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`div`,{className:`text-xs text-fg-subtle`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,$.jsx)(`div`,{className:`mt-1 truncate text-sm font-medium text-fg`,title:r,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Ln(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]?F(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),f;t[5]!==i.statsTotalRuns||t[6]!==u?(f=(0,$.jsx)(Rn,{label:l,value:u}),t[5]=i.statsTotalRuns,t[6]=u,t[7]=f):f=t[7];let p=i.statsActiveRuns,m=String(n.activeRuns),h;t[8]!==i.statsActiveRuns||t[9]!==m?(h=(0,$.jsx)(Rn,{label:p,value:m}),t[8]=i.statsActiveRuns,t[9]=m,t[10]=h):h=t[10];let g;t[11]!==n.succeededRuns||t[12]!==n.totalRuns?(g=n.totalRuns>0?`${Math.round(n.succeededRuns/n.totalRuns*100)}%`:`—`,t[11]=n.succeededRuns,t[12]=n.totalRuns,t[13]=g):g=t[13];let _;t[14]!==i.statsSuccessRate||t[15]!==g?(_=(0,$.jsx)(Rn,{label:i.statsSuccessRate,value:g}),t[14]=i.statsSuccessRate,t[15]=g,t[16]=_):_=t[16];let v;t[17]===n.averageDurationMs?v=t[18]:(v=n.averageDurationMs==null?`—`:d(n.averageDurationMs),t[17]=n.averageDurationMs,t[18]=v);let y;t[19]!==i.statsAvgDuration||t[20]!==v?(y=(0,$.jsx)(Rn,{label:i.statsAvgDuration,value:v}),t[19]=i.statsAvgDuration,t[20]=v,t[21]=y):y=t[21];let b;t[22]===c?b=t[23]:(b=c?(0,$.jsx)(`span`,{className:`min-w-0 truncate text-xs text-fg-muted`,children:c}):null,t[22]=c,t[23]=b);let x;return t[24]!==_||t[25]!==y||t[26]!==b||t[27]!==f||t[28]!==h?(x=(0,$.jsxs)(`section`,{className:`flex min-w-0 flex-wrap items-center gap-2 rounded-lg bg-surface-panel/70 px-3 py-2 shadow-surface`,children:[f,h,_,y,b]}),t[24]=_,t[25]=y,t[26]=b,t[27]=f,t[28]=h,t[29]=x):x=t[29],x}function Rn(e){let t=(0,Q.c)(7),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`span`,{children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,$.jsx)(`span`,{className:`font-semibold tabular-nums text-fg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full bg-surface-muted px-2.5 py-1 text-xs text-fg-muted`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function zn(e){let t=(0,Q.c)(20),{vm:n}=e,{labels:r,loading:i,refreshAll:a,setManageOpen:o,setPickStartOpen:s}=n,c;t[0]===s?c=t[1]:(c=()=>s(!0),t[0]=s,t[1]=c);let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(H,{className:`size-4`,"aria-hidden":!0}),t[2]=l):l=t[2];let u;t[3]!==r.boardStart||t[4]!==c?(u=(0,$.jsxs)(b,{variant:`primary`,className:`h-9 rounded-lg`,onClick:c,children:[l,r.boardStart]}),t[3]=r.boardStart,t[4]=c,t[5]=u):u=t[5];let d;t[6]===o?d=t[7]:(d=()=>o(!0),t[6]=o,t[7]=d);let f;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(g,{className:`size-4`,"aria-hidden":!0}),t[8]=f):f=t[8];let p;t[9]!==r.addWorkflow||t[10]!==d?(p=(0,$.jsxs)(b,{variant:`secondary`,className:`h-9 rounded-lg`,onClick:d,children:[f,r.addWorkflow]}),t[9]=r.addWorkflow,t[10]=d,t[11]=p):p=t[11];let m;t[12]!==r.refresh||t[13]!==i||t[14]!==a?(m=(0,$.jsx)(qe,{className:`size-9 shrink-0 p-0`,loading:i,label:r.refresh,onClick:a}),t[12]=r.refresh,t[13]=i,t[14]=a,t[15]=m):m=t[15];let h;return t[16]!==u||t[17]!==p||t[18]!==m?(h=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[u,p,m]}),t[16]=u,t[17]=p,t[18]=m,t[19]=h):h=t[19],h}var Bn=[`attention`,`running`,`queued`,`recent`],Vn=[`pr_review`,`implementation_plan`,`research`,`debug_incident`,`meeting_prep`,`content_draft`];function Hn(e){return e.status===`failed`||e.status===`timeout`||e.status===`cancelled`?`attention`:e.status===`running`?`running`:e.status===`queued`?`queued`:e.status===`succeeded`?`recent`:null}function Un(e){return e.completedAtMs??e.startedAtMs??e.createdAtMs}function Wn(e,t){let n=[...t];return e===`queued`?n.sort((e,t)=>e.createdAtMs-t.createdAtMs):n.sort((e,t)=>Un(t)-Un(e))}function Gn(e){let t=new Map(Bn.map(e=>[e,[]]));for(let n of e){let e=Hn(n);e&&t.get(e)?.push(n)}for(let e of Bn)t.set(e,Wn(e,t.get(e)??[]));return t}function Kn(){let e=(0,Q.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(ce,{className:`size-4 rounded-full`}),(0,$.jsx)(ce,{className:`h-4 w-32`})]}),(0,$.jsx)(ce,{className:`mt-3 h-4 w-full`}),(0,$.jsx)(ce,{className:`mt-2 h-4 w-2/3`})]}),(0,$.jsx)(ce,{className:`h-6 w-20 rounded-full`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,$.jsxs)(`article`,{className:`rounded-lg bg-surface-panel p-3 shadow-surface`,"aria-hidden":`true`,children:[t,(0,$.jsxs)(`div`,{className:`mt-4 flex gap-2`,children:[(0,$.jsx)(ce,{className:`h-8 w-20 rounded-md`}),(0,$.jsx)(ce,{className:`h-8 w-24 rounded-md`})]})]}),e[1]=n):n=e[1],n}function qn(e){let t=new Map(e.map(e=>[e.id,e])),n=[];for(let e of Vn){let r=t.get(e);r&&n.push(r)}for(let t of e){if(n.length>=6)break;n.some(e=>e.id===t.id)||n.push(t)}return n}function Jn(e,t){let n=U[e.name]??[];return n.length>0?n.slice(0,2).map(e=>Xe(t.args,e.labelKey)).join(` · `):e.inputSchema?.properties&&Object.keys(e.inputSchema.properties).length>0?t.templateInputsStructured:t.templateInputsGoalOnly}function Yn(e){let t=(0,Q.c)(41),{definitions:n,language:r,labels:a,onStart:o,onBrowseAll:s,onManageTemplates:c}=e,[u,d]=(0,Z.useState)(!0),f,p;if(t[0]!==n||t[1]!==u||t[2]!==a||t[3]!==r||t[4]!==s||t[5]!==c||t[6]!==o){p=Symbol.for(`react.early_return_sentinel`);bb0:{let e=qn(n);if(e.length===0){p=null;break bb0}let m;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(m=i(`flex min-w-0 flex-1 items-start gap-3 text-left`,de.focusRingPanel),t[9]=m):m=t[9];let h;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>d(Xn),t[10]=h):h=t[10];let g=u?`rotate-180`:null,_;t[11]===g?_=t[12]:(_=i(`mt-1 size-4 shrink-0 text-fg-subtle transition-transform`,g),t[11]=g,t[12]=_);let v;t[13]===_?v=t[14]:(v=(0,$.jsx)(xe,{className:_,"aria-hidden":!0}),t[13]=_,t[14]=v);let y;t[15]===a.launchRecommended?y=t[16]:(y=(0,$.jsx)(`span`,{className:`block text-xs font-medium text-accent-fg`,children:a.launchRecommended}),t[15]=a.launchRecommended,t[16]=y);let x;t[17]===a.launchTitle?x=t[18]:(x=(0,$.jsx)(`span`,{className:`mt-1 block text-base font-semibold text-fg`,children:a.launchTitle}),t[17]=a.launchTitle,t[18]=x);let S;t[19]===a.launchHint?S=t[20]:(S=(0,$.jsx)(`span`,{className:`mt-1 block max-w-3xl text-sm leading-6 text-fg-muted`,children:a.launchHint}),t[19]=a.launchHint,t[20]=S);let C;t[21]!==S||t[22]!==y||t[23]!==x?(C=(0,$.jsxs)(`span`,{className:`min-w-0`,children:[y,x,S]}),t[21]=S,t[22]=y,t[23]=x,t[24]=C):C=t[24];let w;t[25]!==u||t[26]!==C||t[27]!==v?(w=(0,$.jsxs)(`button`,{type:`button`,className:m,"aria-expanded":u,onClick:h,children:[v,C]}),t[25]=u,t[26]=C,t[27]=v,t[28]=w):w=t[28];let T;t[29]!==a.launchBrowseAll||t[30]!==s?(T=(0,$.jsx)(b,{type:`button`,variant:`secondary`,className:`h-8 rounded-lg text-xs`,onClick:s,children:a.launchBrowseAll}),t[29]=a.launchBrowseAll,t[30]=s,t[31]=T):T=t[31];let E;t[32]!==a.launchManageTemplates||t[33]!==c?(E=(0,$.jsx)(b,{type:`button`,variant:`secondary`,className:`h-8 rounded-lg text-xs`,onClick:c,children:a.launchManageTemplates}),t[32]=a.launchManageTemplates,t[33]=c,t[34]=E):E=t[34];let D;t[35]!==T||t[36]!==E?(D=(0,$.jsxs)(`div`,{className:`flex shrink-0 flex-wrap gap-2`,children:[T,E]}),t[35]=T,t[36]=E,t[37]=D):D=t[37];let O;t[38]!==w||t[39]!==D?(O=(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between`,children:[w,D]}),t[38]=w,t[39]=D,t[40]=O):O=t[40],f=(0,$.jsxs)(`section`,{className:`rounded-lg border border-edge-subtle bg-surface-base px-4 py-4 shadow-surface`,children:[O,u?(0,$.jsx)(`div`,{className:`mt-4 grid gap-3 md:grid-cols-2 xl:grid-cols-3`,children:e.map(e=>{let t=l(e,r);return(0,$.jsxs)(`article`,{className:`min-w-0 rounded-lg border border-edge bg-surface-panel p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h3`,{className:`line-clamp-1 text-sm font-semibold text-fg`,children:e.title}),(0,$.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:t.whenToUse||t.description})]}),(0,$.jsxs)(b,{type:`button`,variant:`primary`,className:`h-8 shrink-0 rounded-lg px-2.5 text-xs`,onClick:()=>o(e),children:[(0,$.jsx)(H,{className:`size-3.5`,"aria-hidden":!0}),a.runWorkflow]})]}),(0,$.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs sm:grid-cols-2`,children:[(0,$.jsxs)(`div`,{className:`rounded-md bg-surface-muted/50 px-2.5 py-2`,children:[(0,$.jsx)(`dt`,{className:`font-medium text-fg-subtle`,children:a.templateInputs}),(0,$.jsx)(`dd`,{className:`mt-0.5 line-clamp-1 text-fg-muted`,children:Jn(e,a)})]}),(0,$.jsxs)(`div`,{className:`rounded-md bg-surface-muted/50 px-2.5 py-2`,children:[(0,$.jsx)(`dt`,{className:`font-medium text-fg-subtle`,children:a.templateExpectedOutput}),(0,$.jsx)(`dd`,{className:`mt-0.5 line-clamp-1 text-fg-muted`,children:a.templateOutputReport})]})]})]},e.id)})}):null]})}t[0]=n,t[1]=u,t[2]=a,t[3]=r,t[4]=s,t[5]=c,t[6]=o,t[7]=f,t[8]=p}else f=t[7],p=t[8];return p===Symbol.for(`react.early_return_sentinel`)?f:p}function Xn(e){return!e}function Zn(e){let t=(0,Q.c)(208),{vm:n}=e,{language:r,localeTag:o,labels:s,hasToken:c,definitions:l,runs:u,searchQuery:d,setSearchQuery:f,ownerAgentId:p,agentOptions:m,setOwnerAgentId:h,workflowFilterId:g,setWorkflowFilterId:_,triggerFilter:v,setTriggerFilter:y,viewMode:b,setViewMode:x,runTab:S,setRunTab:C,selectedRunId:w,selectedRunView:T,selectedRunComparison:E,selectedRunLoading:D,selectedRunError:O,openRunDetails:k,closeRunDetails:A,openRunDetailsById:j,openRunInChat:M,pickStartOpen:N,setPickStartOpen:P,startDefinition:F,setStartDefinition:I,detailDefinition:L,setDetailDefinition:R,manageOpen:z,setManageOpen:B,workflowEditorDraft:V,openWorkflowEditor:H,actionError:U,actionFeedback:ee,starting:te,savingWorkflow:ne,loading:W,error:G,stats:K,submitStart:re,cancelRun:ie,retryRun:J,replayRun:oe,saveCustomWorkflow:se,saveDraftAndStart:ce}=n,le=Re(tr),ue=Re(er),fe;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(fe=Date.now(),t[0]=fe):fe=t[0];let pe=fe,me=Gn(ct(u,{searchQuery:d,workflowFilterId:g,triggerFilter:v})),he;t[1]!==ue||t[2]!==c||t[3]!==s.statsActiveRuns||t[4]!==s.statsTotalRuns||t[5]!==s.subtitleBoard||t[6]!==s.title||t[7]!==le||t[8]!==K||t[9]!==n?(he=()=>{if(!c){ue();return}return le({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:K?`${s.statsTotalRuns}: ${K.totalRuns} · ${s.statsActiveRuns}: ${K.activeRuns}`:s.subtitleBoard})]}),end:(0,$.jsx)(zn,{vm:n})}),()=>ue()},t[1]=ue,t[2]=c,t[3]=s.statsActiveRuns,t[4]=s.statsTotalRuns,t[5]=s.subtitleBoard,t[6]=s.title,t[7]=le,t[8]=K,t[9]=n,t[10]=he):he=t[10];let ge;if(t[11]!==ue||t[12]!==c||t[13]!==s.statsActiveRuns||t[14]!==s.statsTotalRuns||t[15]!==s.subtitleBoard||t[16]!==s.title||t[17]!==W||t[18]!==K||t[19]!==n?(ge=[ue,c,s.title,s.statsActiveRuns,s.statsTotalRuns,s.subtitleBoard,W,K,n,n.refreshAll,n.setManageOpen,n.setSearchQuery],t[11]=ue,t[12]=c,t[13]=s.statsActiveRuns,t[14]=s.statsTotalRuns,t[15]=s.subtitleBoard,t[16]=s.title,t[17]=W,t[18]=K,t[19]=n,t[20]=ge):ge=t[20],(0,Z.useLayoutEffect)(he,ge),!c){let e;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(Ge,{className:`size-10 text-accent-fg`,"aria-hidden":!0}),t[21]=e):e=t[21];let n;t[22]===s.title?n=t[23]:(n=(0,$.jsx)(`h1`,{className:`mt-4 text-xl font-semibold text-fg`,children:s.title}),t[22]=s.title,t[23]=n);let r;t[24]===s.needToken?r=t[25]:(r=(0,$.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-fg-muted`,children:s.needToken}),t[24]=s.needToken,t[25]=r);let i;return t[26]!==n||t[27]!==r?(i=(0,$.jsx)(`main`,{className:`min-h-0 flex-1 overflow-auto bg-surface-panel`,children:(0,$.jsxs)(`div`,{className:`flex w-full flex-col items-center px-3 py-16 text-center sm:px-5 xl:px-6`,children:[e,n,r]})}),t[26]=n,t[27]=r,t[28]=i):i=t[28],i}let _e;t[29]===P?_e=t[30]:(_e=()=>P(!0),t[29]=P,t[30]=_e);let ve;t[31]===B?ve=t[32]:(ve=()=>B(!0),t[31]=B,t[32]=ve);let ye;t[33]!==l||t[34]!==s||t[35]!==r||t[36]!==I||t[37]!==_e||t[38]!==ve?(ye=(0,$.jsx)(Yn,{definitions:l,language:r,labels:s,onStart:I,onBrowseAll:_e,onManageTemplates:ve}),t[33]=l,t[34]=s,t[35]=r,t[36]=I,t[37]=_e,t[38]=ve,t[39]=ye):ye=t[39];let be;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(be=(0,$.jsx)(Ue,{className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[40]=be):be=t[40];let Y;t[41]===f?Y=t[42]:(Y=e=>f(e.target.value),t[41]=f,t[42]=Y);let xe=s.searchPlaceholder,Se;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(Se=i(`h-9 w-full rounded-lg border border-edge bg-surface-panel py-2 pl-9 pr-3 text-sm text-fg shadow-surface`,`placeholder:text-fg-subtle`,de.focusRingPanel),t[43]=Se):Se=t[43];let Ce;t[44]!==s.searchPlaceholder||t[45]!==d||t[46]!==Y?(Ce=(0,$.jsxs)(`div`,{className:`relative min-w-48 flex-1 sm:max-w-xs`,children:[be,(0,$.jsx)(`input`,{value:d,onChange:Y,placeholder:xe,className:Se})]}),t[44]=s.searchPlaceholder,t[45]=d,t[46]=Y,t[47]=Ce):Ce=t[47];let we;t[48]!==m||t[49]!==r||t[50]!==p||t[51]!==h?(we=m.length>1?(0,$.jsx)(Ve,{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`,de.focusRingPanel),children:m.map(e=>(0,$.jsx)(ze,{value:e.id,children:ae(e,a(r).agentsSettings)},e.id))}):null,t[48]=m,t[49]=r,t[50]=p,t[51]=h,t[52]=we):we=t[52];let Te=s.boardTriggerFilterAria,Ee;t[53]===y?Ee=t[54]:(Ee=e=>y(e.target.value),t[53]=y,t[54]=Ee);let De;t[55]===Symbol.for(`react.memo_cache_sentinel`)?(De=i(`h-9 min-w-[7.5rem] rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,de.focusRingPanel),t[55]=De):De=t[55];let Oe;t[56]===s.boardTriggerFilterAll?Oe=t[57]:(Oe=(0,$.jsx)(ze,{value:`all`,children:s.boardTriggerFilterAll}),t[56]=s.boardTriggerFilterAll,t[57]=Oe);let ke;t[58]===s.boardTriggerFilterAutomation?ke=t[59]:(ke=(0,$.jsx)(ze,{value:`automation`,children:s.boardTriggerFilterAutomation}),t[58]=s.boardTriggerFilterAutomation,t[59]=ke);let Ae;t[60]===s.boardTriggerFilterWebui?Ae=t[61]:(Ae=(0,$.jsx)(ze,{value:`webui`,children:s.boardTriggerFilterWebui}),t[60]=s.boardTriggerFilterWebui,t[61]=Ae);let X;t[62]===s.boardTriggerFilterChat?X=t[63]:(X=(0,$.jsx)(ze,{value:`chat`,children:s.boardTriggerFilterChat}),t[62]=s.boardTriggerFilterChat,t[63]=X);let je;t[64]===s.boardTriggerFilterApi?je=t[65]:(je=(0,$.jsx)(ze,{value:`api`,children:s.boardTriggerFilterApi}),t[64]=s.boardTriggerFilterApi,t[65]=je);let Me;t[66]!==s.boardTriggerFilterAria||t[67]!==Ee||t[68]!==Oe||t[69]!==ke||t[70]!==Ae||t[71]!==X||t[72]!==je||t[73]!==v?(Me=(0,$.jsxs)(Ve,{value:v,"aria-label":Te,onChange:Ee,className:De,children:[Oe,ke,Ae,X,je]}),t[66]=s.boardTriggerFilterAria,t[67]=Ee,t[68]=Oe,t[69]=ke,t[70]=Ae,t[71]=X,t[72]=je,t[73]=v,t[74]=Me):Me=t[74];let Pe=s.boardWorkflowFilterAria,Fe;t[75]===_?Fe=t[76]:(Fe=e=>_(e.target.value),t[75]=_,t[76]=Fe);let Ie;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=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`,de.focusRingPanel),t[77]=Ie):Ie=t[77];let Le;t[78]===s.boardWorkflowFilterAll?Le=t[79]:(Le=(0,$.jsx)(ze,{value:``,children:s.boardWorkflowFilterAll}),t[78]=s.boardWorkflowFilterAll,t[79]=Le);let Be;t[80]===l?Be=t[81]:(Be=l.map($n),t[80]=l,t[81]=Be);let He;t[82]!==s.boardWorkflowFilterAria||t[83]!==Fe||t[84]!==Le||t[85]!==Be||t[86]!==g?(He=(0,$.jsxs)(Ve,{value:g,"aria-label":Pe,onChange:Fe,className:Ie,children:[Le,Be]}),t[82]=s.boardWorkflowFilterAria,t[83]=Fe,t[84]=Le,t[85]=Be,t[86]=g,t[87]=He):He=t[87];let We=b===`operations`?`bg-surface-panel text-fg shadow-surface`:`text-fg-muted hover:text-fg`,Ke;t[88]===We?Ke=t[89]:(Ke=i(`inline-flex h-8 items-center gap-1.5 rounded-md px-2.5 text-xs font-medium transition-colors`,We),t[88]=We,t[89]=Ke);let qe;t[90]===x?qe=t[91]:(qe=()=>x(`operations`),t[90]=x,t[91]=qe);let Je;t[92]===Symbol.for(`react.memo_cache_sentinel`)?(Je=(0,$.jsx)(q,{className:`size-3.5`,"aria-hidden":!0}),t[92]=Je):Je=t[92];let Ye;t[93]!==s.viewModes.operations||t[94]!==Ke||t[95]!==qe?(Ye=(0,$.jsxs)(`button`,{type:`button`,className:Ke,onClick:qe,children:[Je,s.viewModes.operations]}),t[93]=s.viewModes.operations,t[94]=Ke,t[95]=qe,t[96]=Ye):Ye=t[96];let Xe=b===`board`?`bg-surface-panel text-fg shadow-surface`:`text-fg-muted hover:text-fg`,Ze;t[97]===Xe?Ze=t[98]:(Ze=i(`inline-flex h-8 items-center gap-1.5 rounded-md px-2.5 text-xs font-medium transition-colors`,Xe),t[97]=Xe,t[98]=Ze);let $e;t[99]===x?$e=t[100]:($e=()=>x(`board`),t[99]=x,t[100]=$e);let et;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,$.jsx)(Ne,{className:`size-3.5`,"aria-hidden":!0}),t[101]=et):et=t[101];let tt;t[102]!==s.viewModes.board||t[103]!==Ze||t[104]!==$e?(tt=(0,$.jsxs)(`button`,{type:`button`,className:Ze,onClick:$e,children:[et,s.viewModes.board]}),t[102]=s.viewModes.board,t[103]=Ze,t[104]=$e,t[105]=tt):tt=t[105];let nt;t[106]!==Ye||t[107]!==tt?(nt=(0,$.jsxs)(`div`,{className:`flex rounded-lg bg-surface-muted p-0.5`,children:[Ye,tt]}),t[106]=Ye,t[107]=tt,t[108]=nt):nt=t[108];let rt;t[109]!==Ce||t[110]!==we||t[111]!==Me||t[112]!==He||t[113]!==nt?(rt=(0,$.jsxs)(`section`,{className:`flex w-full flex-wrap items-center gap-2 rounded-lg border border-edge-subtle bg-surface-base px-3 py-2 shadow-surface`,children:[Ce,we,Me,He,nt]}),t[109]=Ce,t[110]=we,t[111]=Me,t[112]=He,t[113]=nt,t[114]=rt):rt=t[114];let it;t[115]===ee?it=t[116]:(it=ee?(0,$.jsx)(`div`,{className:`w-full rounded-xl border border-emerald-500/25 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-800 dark:text-emerald-200`,children:ee}):null,t[115]=ee,t[116]=it);let at;t[117]!==U||t[118]!==G?(at=U??G?(0,$.jsx)(`div`,{className:`w-full rounded-xl border border-red-500/25 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:U??G}):null,t[117]=U,t[118]=G,t[119]=at):at=t[119];let ot;t[120]!==r||t[121]!==K?(ot=(0,$.jsx)(`div`,{className:`w-full`,children:(0,$.jsx)(Ln,{stats:K,language:r})}),t[120]=r,t[121]=K,t[122]=ot):ot=t[122];let st;t[123]===O?st=t[124]:(st=O?(0,$.jsx)(`div`,{className:`w-full rounded-xl border border-amber-500/25 bg-amber-500/10 px-3 py-2 text-sm text-amber-800 dark:text-amber-200`,children:O}):null,t[123]=O,t[124]=st);let lt;if(t[125]!==l||t[126]!==T?.run){let e;t[128]===T?.run?e=t[129]:(e=e=>e.id===T?.run.definitionId,t[128]=T?.run,t[129]=e),lt=l.find(e),t[125]=l,t[126]=T?.run,t[127]=lt}else lt=t[127];let ut=!!w&&D,dt;t[130]!==ie||t[131]!==w?(dt=()=>{w&&ie(w)},t[130]=ie,t[131]=w,t[132]=dt):dt=t[132];let ft;t[133]!==J||t[134]!==w?(ft=()=>{w&&J(w)},t[133]=J,t[134]=w,t[135]=ft):ft=t[135];let pt;t[136]!==oe||t[137]!==w?(pt=e=>{w&&oe(w,e)},t[136]=oe,t[137]=w,t[138]=pt):pt=t[138];let mt;t[139]!==A||t[140]!==r||t[141]!==o||t[142]!==j||t[143]!==p||t[144]!==S||t[145]!==E||t[146]!==T||t[147]!==C||t[148]!==lt||t[149]!==ut||t[150]!==dt||t[151]!==ft||t[152]!==pt?(mt=(0,$.jsx)(mn,{view:T,comparison:E,currentDefinition:lt,loading:ut,language:r,localeTag:o,activeTab:S,onTabChange:C,onCancel:dt,onRetry:ft,onReplay:pt,onOpenRunId:j,ownerAgentId:p,onClose:A}),t[139]=A,t[140]=r,t[141]=o,t[142]=j,t[143]=p,t[144]=S,t[145]=E,t[146]=T,t[147]=C,t[148]=lt,t[149]=ut,t[150]=dt,t[151]=ft,t[152]=pt,t[153]=mt):mt=t[153];let ht;t[154]===P?ht=t[155]:(ht=()=>P(!1),t[154]=P,t[155]=ht);let gt;t[156]!==P||t[157]!==I?(gt=e=>{P(!1),I(e)},t[156]=P,t[157]=I,t[158]=gt):gt=t[158];let _t;t[159]!==R||t[160]!==P?(_t=e=>{P(!1),R(e)},t[159]=R,t[160]=P,t[161]=_t):_t=t[161];let yt;t[162]!==l||t[163]!==r||t[164]!==H||t[165]!==N||t[166]!==ht||t[167]!==gt||t[168]!==_t?(yt=(0,$.jsx)(sn,{open:N,definitions:l,language:r,onClose:ht,onPick:gt,onDetail:_t,onEdit:H}),t[162]=l,t[163]=r,t[164]=H,t[165]=N,t[166]=ht,t[167]=gt,t[168]=_t,t[169]=yt):yt=t[169];let bt=F!=null,xt;t[170]===I?xt=t[171]:(xt=()=>I(null),t[170]=I,t[171]=xt);let St;t[172]===re?St=t[173]:(St=e=>void re(e),t[172]=re,t[173]=St);let Ct;t[174]!==r||t[175]!==F||t[176]!==te||t[177]!==bt||t[178]!==xt||t[179]!==St?(Ct=(0,$.jsx)(Qe,{open:bt,definition:F,language:r,starting:te,onClose:xt,onStart:St}),t[174]=r,t[175]=F,t[176]=te,t[177]=bt,t[178]=xt,t[179]=St,t[180]=Ct):Ct=t[180];let wt=L!=null,Et;t[181]===R?Et=t[182]:(Et=()=>R(null),t[181]=R,t[182]=Et);let Dt;t[183]!==L||t[184]!==R||t[185]!==I?(Dt=()=>{L&&(R(null),I(L))},t[183]=L,t[184]=R,t[185]=I,t[186]=Dt):Dt=t[186];let Ot;t[187]!==L||t[188]!==r||t[189]!==wt||t[190]!==Et||t[191]!==Dt?(Ot=(0,$.jsx)(Jt,{open:wt,definition:L,language:r,onClose:Et,onRun:Dt}),t[187]=L,t[188]=r,t[189]=wt,t[190]=Et,t[191]=Dt,t[192]=Ot):Ot=t[192];let kt;t[193]===V?kt=t[194]:(kt=V?{mode:V.mode,name:V.initialName,script:V.initialScript,sourceTitle:V.definition.title}:null,t[193]=V,t[194]=kt);let jt;t[195]===B?jt=t[196]:(jt=()=>B(!1),t[195]=B,t[196]=jt);let Mt;t[197]===se?Mt=t[198]:(Mt=e=>se(e),t[197]=se,t[198]=Mt);let Nt;return t[199]!==r||t[200]!==z||t[201]!==p||t[202]!==ce||t[203]!==ne||t[204]!==kt||t[205]!==jt||t[206]!==Mt?(Nt=(0,$.jsx)(At,{open:z,language:r,ownerAgentId:p,saving:ne,initialDraft:kt,onClose:jt,onSave:Mt,onSaveAndStart:ce}),t[199]=r,t[200]=z,t[201]=p,t[202]=ce,t[203]=ne,t[204]=kt,t[205]=jt,t[206]=Mt,t[207]=Nt):Nt=t[207],(0,$.jsxs)(`main`,{className:`min-h-0 flex-1 overflow-y-auto bg-surface-panel`,children:[(0,$.jsxs)(`div`,{className:`flex min-h-full w-full flex-col gap-4 px-3 py-5 sm:px-5 xl:px-6`,children:[ye,rt,it,at,(0,$.jsx)(`section`,{className:`grid w-full gap-2 sm:grid-cols-2 xl:grid-cols-4`,"aria-label":s.subtitleBoard,children:Bn.map(e=>{let t=me.get(e)?.length??0;return(0,$.jsxs)(`button`,{type:`button`,className:i(`min-w-0 rounded-lg border border-edge-subtle bg-surface-base px-3 py-2 text-left shadow-surface`,`hover:bg-surface-hover/45`,de.focusRingPanel),onClick:()=>x(`operations`),children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsx)(`span`,{className:`truncate text-xs font-medium text-fg-muted`,children:s.operationSections[e].title}),(0,$.jsx)(`span`,{className:`font-mono text-sm font-semibold tabular-nums text-fg`,children:t})]}),(0,$.jsx)(`p`,{className:`mt-1 truncate text-xs text-fg-subtle`,children:s.operationSections[e].description})]},e)})}),ot,st,b===`operations`?(0,$.jsx)(`div`,{className:`pb-3`,children:(0,$.jsx)(`div`,{className:`grid w-full gap-4`,children:Bn.map(e=>{let t=me.get(e)??[];return(0,$.jsxs)(`section`,{className:`rounded-lg border border-edge-subtle bg-surface-base shadow-surface`,children:[(0,$.jsxs)(`header`,{className:`flex flex-wrap items-start justify-between gap-3 border-b border-edge-subtle px-4 py-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:s.operationSections[e].title}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-muted`,children:s.operationSections[e].description})]}),(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2.5 py-1 text-xs font-semibold tabular-nums text-fg-muted`,children:t.length})]}),(0,$.jsxs)(`div`,{className:`grid gap-2 p-2.5 md:grid-cols-2 xl:grid-cols-3`,children:[W&&t.length===0?Array.from({length:3}).map(Qn):t.map(e=>(0,$.jsx)(vt,{run:e,language:r,localeTag:o,nowMs:pe,selected:e.id===w,onOpen:k,onOpenChat:M,onCancel:e=>void ie(e),onRetry:e=>void J(e)},e.id)),!W&&t.length===0?(0,$.jsx)(`div`,{className:`flex min-h-24 items-center justify-center rounded-md border border-dashed border-edge bg-surface-panel/40 px-4 py-5 text-center text-xs text-fg-subtle md:col-span-2 xl:col-span-3`,children:s.operationSections[e].empty}):null]})]},e)})})}):(0,$.jsx)(`div`,{className:`h-[min(72vh,48rem)] min-h-[24rem] w-full sm:min-h-[28rem]`,children:(0,$.jsx)(Tt,{runs:u,language:r,localeTag:o,labels:{boardEmptyTitle:s.boardEmptyTitle,boardEmptyHint:s.boardEmptyHint,boardStart:s.boardStart,loading:s.loading},searchQuery:d,workflowFilterId:g,triggerFilter:v,selectedRunId:w,loading:W,onOpenRun:k,onOpenRunChat:M,onCancelRun:e=>void ie(e),onRetryRun:e=>void J(e),onStart:()=>P(!0)})})]}),mt,yt,Ct,Ot,Nt]})}function Qn(e,t){return(0,$.jsx)(Kn,{},t)}function $n(e){return(0,$.jsx)(ze,{value:e.id,children:e.title},e.id)}function er(e){return e.clearPageHeader}function tr(e){return e.setPageHeader}function nr(){let e=s(e=>e.language),t=a(e).workflows,n=e===`zh`?`zh-CN`:`en-US`,r=o(e=>e.token),i=!!r,l=v(),[u,d]=Oe(),p=u.get(`q`)??``,m=u.get(`wf`)?.trim()??``,h=u.get(`trigger`)?.trim()||`all`,g=u.get(`run`)?.trim()??``,_=u.get(`view`)?.trim()??``,y=u.get(`runTab`)?.trim()??``,b=u.get(`agent`)?.trim()??``,x=re.has(_)?_:`operations`,S=A.has(y)?y:`result`,[w,E]=(0,Z.useState)(null),[D,O]=(0,Z.useState)(!1),[j,M]=(0,Z.useState)(null),[N,P]=(0,Z.useState)(!1),[I,L]=(0,Z.useState)(null),[R,z]=(0,Z.useState)(null),[B,H]=(0,Z.useState)(null),[U,ee]=(0,Z.useState)(!1),[te,ne]=(0,Z.useState)(!1),W=c(i?[`workflow-agents`,r]:null,Pe,{revalidateOnFocus:!1}),G=(0,Z.useMemo)(()=>{let e=W.data?.agents??[];return b&&e.some(e=>e.id===b)||b&&e.length===0?b:W.data?.defaultId??(b||void 0)},[W.data,b]),K=c(i?[`workflow-definitions`,r]:null,ye,{revalidateOnFocus:!1}),q=c(i&&G?[`workflow-runs`,r,G]:null,()=>le(100,{ownerAgentId:G}),{revalidateOnFocus:!1,refreshInterval:e=>e?.length&&e.some(e=>e.status===`queued`||e.status===`running`)?3e3:0}),J=c(i&&G?[`workflow-stats`,r,G,m]:null,()=>Me(m,{ownerAgentId:G}),{revalidateOnFocus:!1});(0,Z.useEffect)(()=>{if(!B)return;let e=window.setTimeout(()=>H(null),4e3);return()=>window.clearTimeout(e)},[B]);let ae=K.data??[],se=W.data?.agents??[],ce=q.data??[],ue=g||null,de=_e(ue,{ownerAgentId:G}),me=c(i&&G&&ue&&de.view?.run.metadata?.replay?[`workflow-run-comparison`,r,G,ue]:null,()=>Ie(ue,{ownerAgentId:G}),{revalidateOnFocus:!1}),he=(0,Z.useMemo)(()=>Ee(ae,p,`all`,`all`),[ae,p]),ge=(0,Z.useCallback)(e=>{e&&L(null),P(e)},[]),ve=(0,Z.useCallback)(e=>{let t=new Set(ae.map(e=>e.name)),n=`${e.name}_copy`;if(!t.has(n))return n;for(let e=2;e<100;e+=1){let r=`${n}_${e}`;if(!t.has(r))return r}return`${n}_${Date.now()}`},[ae]),be=(0,Z.useCallback)((e,n)=>{let r=e.runtime?.source??``;if(!r.trim()){z(t.editWorkflowSourceMissing);return}let i=n??(e.metadata.source===`user`?`edit`:`copy`),a=i===`edit`?e.name:ve(e);z(null),O(!1),L({mode:i,definition:e,initialName:a,initialScript:i===`copy`?rr(r,a):r}),P(!0)},[ve,t.editWorkflowSourceMissing]),Y=(0,Z.useCallback)(e=>{d(t=>{let n=new URLSearchParams(t);return e(n,t),n},{replace:!0})},[d]);(0,Z.useEffect)(()=>{let e=W.data?.agents??[];!b||e.length===0||e.some(e=>e.id===b)||Y(e=>{W.data?.defaultId?e.set(T,W.data.defaultId):e.delete(T),e.delete(`run`)})},[W.data,b,Y]);let xe=(0,Z.useCallback)(e=>{Y(t=>{let n=e.trim();n?t.set(`q`,n):t.delete(`q`)})},[Y]),Se=(0,Z.useCallback)(e=>{Y(t=>{let n=e.trim();n?t.set(T,n):t.delete(T),t.delete(`run`)})},[Y]),Ce=(0,Z.useCallback)(e=>{Y(t=>{let n=e.trim();n?t.set(`wf`,n):t.delete(`wf`)})},[Y]),we=(0,Z.useCallback)(e=>{Y(t=>{let n=e.trim();n&&n!==`all`?t.set(ie,n):t.delete(ie)})},[Y]),Te=(0,Z.useCallback)(e=>{Y(t=>{e===`operations`?t.delete(oe):t.set(oe,e)})},[Y]),De=(0,Z.useCallback)(e=>{Y(t=>{e===`result`?t.delete(Le):t.set(Le,e)})},[Y]),ke=(0,Z.useCallback)(e=>{Y(t=>{G&&t.set(T,G),t.set(`run`,e.id),t.delete(Le)})},[G,Y]),Ae=(0,Z.useCallback)(()=>{Y(e=>{e.delete(`run`),e.delete(Le)})},[Y]),X=(0,Z.useCallback)(e=>{Y(t=>{G&&t.set(T,G),t.set(`run`,e),t.delete(Le)})},[G,Y]),Ne=(0,Z.useCallback)(e=>{let t=tt(e);t&&l(f(t))},[l]);(0,Z.useEffect)(()=>{let e=u.get(`def`),t=u.get(k)===`1`,n=u.get(C)===`1`;if(!e||!ae.length)return;let r=ae.find(t=>t.id===e||t.name===e);r&&(n?be(r,`copy`):t?E(r):M(r),Y(e=>{e.delete(`def`),e.delete(k),e.delete(C)}))},[ae,be,Y,u]),(0,Z.useEffect)(()=>{let e=()=>{q.mutate(),J.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)}},[q,J]);let Fe=(0,Z.useCallback)(()=>{W.mutate(),K.mutate(),q.mutate(),J.mutate()},[W,K,q,J]),Re=(0,Z.useCallback)(async e=>{if(w){ee(!0),z(null);try{let n=await V({definitionId:w.id,goal:e.goal,input:e.input,agentId:G,concurrency:e.concurrency,maxSubagents:e.maxSubagents});E(null),await q.mutate(),await J.mutate(),H(t.startSuccess),Y(e=>{G&&e.set(T,G),e.set(`run`,n.runId),e.delete(Le)})}catch(e){z(e instanceof Error?e.message:t.startFailed)}finally{ee(!1)}}},[t.startFailed,t.startSuccess,G,Y,q,w,J]),ze=(0,Z.useCallback)(async e=>{try{await je(e,{ownerAgentId:G}),await q.mutate(),await J.mutate()}catch(e){let n=e instanceof Error?e.message:t.cancelFailed;if(/not active|already finished/i.test(n)){await q.mutate(),await J.mutate();return}z(n)}},[t.cancelFailed,G,q,J]),Be=(0,Z.useCallback)(async e=>{try{let t=await Je(e,{ownerAgentId:G});await q.mutate(),await J.mutate(),Y(e=>{G&&e.set(T,G),e.set(`run`,t.runId),e.delete(Le)})}catch(e){z(e instanceof Error?e.message:t.retryFailed)}},[t.retryFailed,G,Y,q,J]),Ve=(0,Z.useCallback)(async(e,n)=>{try{let t=await Ke(e,n,{ownerAgentId:G});await q.mutate(),await J.mutate(),Y(e=>{G&&e.set(T,G),e.set(`run`,t.runId),e.delete(Le)})}catch(e){z(e instanceof Error?e.message:t.retryFailed)}},[t.retryFailed,G,Y,q,J]),He=(0,Z.useCallback)(async e=>{ne(!0),z(null);try{let n=await fe(e.name,e.script);return P(!1),L(null),await K.mutate(),H(t.saveWorkflowSuccess),n}catch(e){z(e instanceof Error?e.message:t.saveWorkflowFailed)}finally{ne(!1)}},[K,t.saveWorkflowFailed,t.saveWorkflowSuccess]),Ue=(0,Z.useCallback)(async e=>{ne(!0),z(null);try{let n=await fe(e.name,e.script);await K.mutate();let r=await V({definitionId:n.id,goal:e.goal,input:{goal:e.goal},agentId:G});P(!1),L(null),await q.mutate(),await J.mutate(),H(t.startSuccess),Y(e=>{G&&e.set(T,G),e.set(`run`,r.runId),e.delete(Le)})}catch(e){z(e instanceof Error?e.message:t.startFailed)}finally{ne(!1)}},[K,t.startFailed,t.startSuccess,G,Y,q,J]),We=(0,Z.useCallback)(async e=>{if(e.metadata.source===`user`&&window.confirm(F(t.deleteConfirm,{name:e.name}))){z(null);try{await pe(e.id),await K.mutate(),H(t.deleteWorkflowSuccess)}catch(e){z(e instanceof Error?e.message:t.deleteWorkflowFailed)}}},[K,t]),Ge=W.isLoading||K.isLoading||q.isLoading,qe=W.error?.message??K.error?.message??q.error?.message??null;return{language:e,localeTag:n,labels:t,hasToken:i,searchQuery:p,setSearchQuery:xe,ownerAgentId:G,agentOptions:se,setOwnerAgentId:Se,workflowFilterId:m,setWorkflowFilterId:Ce,triggerFilter:h,setTriggerFilter:we,viewMode:x,setViewMode:Te,runTab:S,setRunTab:De,definitions:ae,filteredDefinitions:he,runs:ce,selectedRunId:ue,selectedRunView:de.view,selectedRunComparison:me.data,selectedRunLoading:de.loading,selectedRunError:de.error?.message??me.error?.message??null,openRunDetails:ke,closeRunDetails:Ae,openRunDetailsById:X,openRunInChat:Ne,pickStartOpen:D,setPickStartOpen:O,startDefinition:w,setStartDefinition:E,detailDefinition:j,setDetailDefinition:M,manageOpen:N,setManageOpen:ge,workflowEditorDraft:I,openWorkflowEditor:be,actionError:R,actionFeedback:B,starting:U,savingWorkflow:te,loading:Ge,error:qe,stats:J.data,refreshAll:Fe,submitStart:Re,cancelRun:ze,retryRun:Be,replayRun:Ve,saveCustomWorkflow:He,saveDraftAndStart:Ue,removeCustomWorkflow:We}}function rr(e,t){return e.replace(/(name\s*:\s*['"`])([^'"`]+)(['"`])/,(e,n,r,i)=>`${n}${t}${i}`)}function ir(){let e=(0,Q.c)(2),t=nr(),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(Zn,{vm:t}),e[0]=t,e[1]=n),n}export{ir as WorkflowsPage};
|
|
@@ -11,24 +11,23 @@
|
|
|
11
11
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=20260713-1" />
|
|
12
12
|
<link rel="manifest" href="/site.webmanifest?v=20260713-1" />
|
|
13
13
|
<title>xopc</title>
|
|
14
|
-
<script type="module" crossorigin src="/assets/index-
|
|
14
|
+
<script type="module" crossorigin src="/assets/index-DZOm5_ex.js"></script>
|
|
15
15
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
|
|
16
16
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-BOUWij0V.js">
|
|
18
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
19
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
20
|
-
<link rel="modulepreload" crossorigin href="/assets/dist-CkobR7mk.js">
|
|
18
|
+
<link rel="modulepreload" crossorigin href="/assets/Combination-HAlzriaz.js">
|
|
19
|
+
<link rel="modulepreload" crossorigin href="/assets/dist-Mys7eFJ5.js">
|
|
21
20
|
<link rel="modulepreload" crossorigin href="/assets/vendor-swr-BIWyz7Rc.js">
|
|
22
21
|
<link rel="modulepreload" crossorigin href="/assets/cn-BQ_8x0bT.js">
|
|
23
22
|
<link rel="modulepreload" crossorigin href="/assets/middleware-Pd0e8Igk.js">
|
|
24
23
|
<link rel="modulepreload" crossorigin href="/assets/locale-store-Ba72bFmP.js">
|
|
25
24
|
<link rel="modulepreload" crossorigin href="/assets/config-reload-event-Bjh2zoKp.js">
|
|
26
|
-
<link rel="modulepreload" crossorigin href="/assets/messages-
|
|
27
|
-
<link rel="modulepreload" crossorigin href="/assets/fetch-
|
|
28
|
-
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-
|
|
25
|
+
<link rel="modulepreload" crossorigin href="/assets/messages-CQ_k8RHj.js">
|
|
26
|
+
<link rel="modulepreload" crossorigin href="/assets/fetch-BWXmBizE.js">
|
|
27
|
+
<link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-BALL91S7.js">
|
|
29
28
|
<link rel="modulepreload" crossorigin href="/assets/toast-z0toXu32.js">
|
|
30
29
|
<link rel="modulepreload" crossorigin href="/assets/theme-store-Bt6vAkSB.js">
|
|
31
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
30
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CPwVzi9x.css">
|
|
32
31
|
</head>
|
|
33
32
|
<body>
|
|
34
33
|
<div id="root"></div>
|
package/dist/package.js
CHANGED
|
@@ -8,7 +8,10 @@ async function resolveInboundImageContentParts(params) {
|
|
|
8
8
|
data: att.data,
|
|
9
9
|
mimeType: att.mimeType
|
|
10
10
|
}));
|
|
11
|
-
const toolCfg = resolveImageModelConfigForTool({
|
|
11
|
+
const toolCfg = resolveImageModelConfigForTool({
|
|
12
|
+
cfg: params.cfg,
|
|
13
|
+
agentId: params.agentId
|
|
14
|
+
});
|
|
12
15
|
const primary = toolCfg?.primary;
|
|
13
16
|
const fallbacks = toolCfg?.fallbacks ?? [];
|
|
14
17
|
if (!primary) return [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbound-image-handling.js","names":[],"sources":["../../../../src/agent/image/inbound-image-handling.ts"],"sourcesContent":["import type { Config } from '../../config/schema.js';\nimport { describeImagesWithFallback } from './understanding/runtime.js';\nimport { resolveImageModelConfigForTool } from './tool-model-config.js';\nimport { resolveImageHandlingStrategy } from './vision-detection.js';\n\nexport async function resolveInboundImageContentParts(params: {\n modelRef: string;\n cfg?: Config;\n userTextForContext: string;\n images: Array<{ data: string; mimeType: string }>;\n}): Promise<Array<{ type: 'image'; data: string; mimeType: string } | { type: 'text'; text: string }>> {\n const strategy = resolveImageHandlingStrategy(params.modelRef);\n if (strategy === 'native') {\n return params.images.map((att) => ({\n type: 'image' as const,\n data: att.data,\n mimeType: att.mimeType,\n }));\n }\n\n const toolCfg = resolveImageModelConfigForTool({ cfg: params.cfg });\n const primary = toolCfg?.primary;\n const fallbacks = toolCfg?.fallbacks ?? [];\n\n if (!primary) {\n return [\n {\n type: 'text' as const,\n text: `[${params.images.length} image(s) attached; no image-capable model is available to describe them.]`,\n },\n ];\n }\n\n try {\n const buffers = params.images.map((att) => ({\n buffer: Buffer.from(att.data, 'base64'),\n mimeType: att.mimeType,\n }));\n const prompt = params.userTextForContext.trim()\n ? `Describe these images in the context of the user's message: \"${params.userTextForContext}\"`\n : 'Describe these images in detail.';\n const result = await describeImagesWithFallback({\n modelRef: primary,\n fallbacks,\n images: buffers,\n prompt,\n maxTokens: 1024,\n timeoutMs: 30_000,\n });\n return [{ type: 'text' as const, text: `[Image description: ${result.text}]` }];\n } catch (err) {\n return [\n {\n type: 'text' as const,\n text: `[${params.images.length} image(s) attached but could not be described: ${err instanceof Error ? err.message : String(err)}]`,\n },\n ];\n }\n}\n"],"mappings":";;;;AAKA,eAAsB,gCAAgC,
|
|
1
|
+
{"version":3,"file":"inbound-image-handling.js","names":[],"sources":["../../../../src/agent/image/inbound-image-handling.ts"],"sourcesContent":["import type { Config } from '../../config/schema.js';\nimport { describeImagesWithFallback } from './understanding/runtime.js';\nimport { resolveImageModelConfigForTool } from './tool-model-config.js';\nimport { resolveImageHandlingStrategy } from './vision-detection.js';\n\nexport async function resolveInboundImageContentParts(params: {\n modelRef: string;\n cfg?: Config;\n agentId?: string;\n userTextForContext: string;\n images: Array<{ data: string; mimeType: string }>;\n}): Promise<Array<{ type: 'image'; data: string; mimeType: string } | { type: 'text'; text: string }>> {\n const strategy = resolveImageHandlingStrategy(params.modelRef);\n if (strategy === 'native') {\n return params.images.map((att) => ({\n type: 'image' as const,\n data: att.data,\n mimeType: att.mimeType,\n }));\n }\n\n const toolCfg = resolveImageModelConfigForTool({ cfg: params.cfg, agentId: params.agentId });\n const primary = toolCfg?.primary;\n const fallbacks = toolCfg?.fallbacks ?? [];\n\n if (!primary) {\n return [\n {\n type: 'text' as const,\n text: `[${params.images.length} image(s) attached; no image-capable model is available to describe them.]`,\n },\n ];\n }\n\n try {\n const buffers = params.images.map((att) => ({\n buffer: Buffer.from(att.data, 'base64'),\n mimeType: att.mimeType,\n }));\n const prompt = params.userTextForContext.trim()\n ? `Describe these images in the context of the user's message: \"${params.userTextForContext}\"`\n : 'Describe these images in detail.';\n const result = await describeImagesWithFallback({\n modelRef: primary,\n fallbacks,\n images: buffers,\n prompt,\n maxTokens: 1024,\n timeoutMs: 30_000,\n });\n return [{ type: 'text' as const, text: `[Image description: ${result.text}]` }];\n } catch (err) {\n return [\n {\n type: 'text' as const,\n text: `[${params.images.length} image(s) attached but could not be described: ${err instanceof Error ? err.message : String(err)}]`,\n },\n ];\n }\n}\n"],"mappings":";;;;AAKA,eAAsB,gCAAgC,QAMiD;AAErG,KADiB,6BAA6B,OAAO,SACzC,KAAK,SACf,QAAO,OAAO,OAAO,KAAK,SAAS;EACjC,MAAM;EACN,MAAM,IAAI;EACV,UAAU,IAAI;EACf,EAAE;CAGL,MAAM,UAAU,+BAA+B;EAAE,KAAK,OAAO;EAAK,SAAS,OAAO;EAAS,CAAC;CAC5F,MAAM,UAAU,SAAS;CACzB,MAAM,YAAY,SAAS,aAAa,EAAE;AAE1C,KAAI,CAAC,QACH,QAAO,CACL;EACE,MAAM;EACN,MAAM,IAAI,OAAO,OAAO,OAAO;EAChC,CACF;AAGH,KAAI;AAgBF,SAAO,CAAC;GAAE,MAAM;GAAiB,MAAM,wBAAuB,MARzC,2BAA2B;IAC9C,UAAU;IACV;IACA,QAVc,OAAO,OAAO,KAAK,SAAS;KAC1C,QAAQ,OAAO,KAAK,IAAI,MAAM,SAAS;KACvC,UAAU,IAAI;KACf,EAOgB;IACf,QAPa,OAAO,mBAAmB,MAAM,GAC3C,gEAAgE,OAAO,mBAAmB,KAC1F;IAMF,WAAW;IACX,WAAW;IACZ,CAAC,EACmE,KAAK;GAAI,CAAC;UACxE,KAAK;AACZ,SAAO,CACL;GACE,MAAM;GACN,MAAM,IAAI,OAAO,OAAO,OAAO,iDAAiD,eAAe,QAAQ,IAAI,UAAU,OAAO,IAAI,CAAC;GAClI,CACF"}
|
|
@@ -5,19 +5,35 @@ export type ToolModelConfig = {
|
|
|
5
5
|
timeoutMs?: number;
|
|
6
6
|
autoProviderFallback?: boolean;
|
|
7
7
|
};
|
|
8
|
+
export type ImageModelResolutionSource = 'explicit' | 'auto-role' | 'auto-provider' | 'none';
|
|
9
|
+
export type ResolvedImageModelConfig = ToolModelConfig & {
|
|
10
|
+
source: ImageModelResolutionSource;
|
|
11
|
+
roleId?: string;
|
|
12
|
+
roleDescription?: string;
|
|
13
|
+
};
|
|
8
14
|
export declare function hasToolModelConfig(model: ToolModelConfig | undefined): boolean;
|
|
9
15
|
export declare function resolveDefaultModelRef(cfg?: Config): {
|
|
10
16
|
provider: string;
|
|
11
17
|
model: string;
|
|
12
18
|
};
|
|
13
19
|
export declare function coerceToolModelConfig(model?: AgentModelConfig): ToolModelConfig;
|
|
20
|
+
export declare function resolveConfiguredImageModelConfig(params: {
|
|
21
|
+
cfg?: Config;
|
|
22
|
+
agentId?: string;
|
|
23
|
+
}): ToolModelConfig;
|
|
14
24
|
export declare function buildToolModelConfigFromCandidates(params: {
|
|
15
25
|
explicit: ToolModelConfig;
|
|
16
26
|
candidates: Array<string | null | undefined>;
|
|
17
|
-
|
|
27
|
+
source?: ImageModelResolutionSource;
|
|
28
|
+
}): ResolvedImageModelConfig | null;
|
|
18
29
|
/**
|
|
19
30
|
* Effective image understanding model inferred from configured providers.
|
|
20
31
|
*/
|
|
32
|
+
export declare function resolveEffectiveImageModelConfig(params: {
|
|
33
|
+
cfg?: Config;
|
|
34
|
+
agentId?: string;
|
|
35
|
+
}): ResolvedImageModelConfig | null;
|
|
21
36
|
export declare function resolveImageModelConfigForTool(params: {
|
|
22
37
|
cfg?: Config;
|
|
23
|
-
|
|
38
|
+
agentId?: string;
|
|
39
|
+
}): ResolvedImageModelConfig | null;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { getAgentDefaultImageModelConfig, getAgentDefaultModelRef, init_schema, parseModelRef } from "../../config/schema.js";
|
|
2
|
-
import {
|
|
2
|
+
import { init_agent_scope, resolveDefaultAgentId } from "../agent-scope.js";
|
|
3
|
+
import { resolveEffectiveAgentManifestForAgent } from "../../config/agent-profile.js";
|
|
4
|
+
import { getDefaultModelSync, getModelsByProvider, init_providers, isProviderConfiguredSync, resolveModel } from "../../providers/index.js";
|
|
3
5
|
import { resolveAgentModelFallbackValues, resolveAgentModelPrimaryValue } from "../../config/model-input.js";
|
|
4
6
|
//#region src/agent/image/tool-model-config.ts
|
|
5
7
|
init_schema();
|
|
8
|
+
init_agent_scope();
|
|
6
9
|
init_providers();
|
|
7
10
|
function hasToolModelConfig(model) {
|
|
8
11
|
return Boolean(model?.primary?.trim() || (model?.fallbacks ?? []).some((entry) => entry.trim().length > 0));
|
|
@@ -28,8 +31,75 @@ function coerceToolModelConfig(model) {
|
|
|
28
31
|
...fallbacks.length > 0 ? { fallbacks } : {}
|
|
29
32
|
};
|
|
30
33
|
}
|
|
34
|
+
function resolveEffectiveModelsConfig(params) {
|
|
35
|
+
if (!params.cfg) return;
|
|
36
|
+
try {
|
|
37
|
+
const agentId = params.agentId?.trim() || resolveDefaultAgentId(params.cfg);
|
|
38
|
+
return resolveEffectiveAgentManifestForAgent(params.cfg, agentId).models;
|
|
39
|
+
} catch {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function resolveConfiguredImageModelConfig(params) {
|
|
44
|
+
return coerceToolModelConfig(resolveEffectiveModelsConfig(params)?.imageModel ?? (params.cfg ? getAgentDefaultImageModelConfig(params.cfg) : void 0));
|
|
45
|
+
}
|
|
46
|
+
function modelRefSupportsImage(modelRef) {
|
|
47
|
+
try {
|
|
48
|
+
return resolveModel(modelRef).input?.includes("image") === true;
|
|
49
|
+
} catch {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function configuredImageModelRef(modelRef) {
|
|
54
|
+
const trimmed = modelRef.trim();
|
|
55
|
+
const parsed = parseModelRef(trimmed);
|
|
56
|
+
if (!parsed || !isProviderConfiguredSync(parsed.provider)) return null;
|
|
57
|
+
return modelRefSupportsImage(trimmed) ? trimmed : null;
|
|
58
|
+
}
|
|
59
|
+
function addCandidate(candidates, seen, entry) {
|
|
60
|
+
const ref = configuredImageModelRef(entry.ref);
|
|
61
|
+
if (!ref || seen.has(ref)) return;
|
|
62
|
+
seen.add(ref);
|
|
63
|
+
candidates.push({
|
|
64
|
+
ref,
|
|
65
|
+
...entry.roleId ? { roleId: entry.roleId } : {},
|
|
66
|
+
...entry.roleDescription ? { roleDescription: entry.roleDescription } : {}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
function collectRoleImageModelCandidates(params) {
|
|
70
|
+
const models = resolveEffectiveModelsConfig(params);
|
|
71
|
+
const roles = models?.roles ?? {};
|
|
72
|
+
const roleIds = Object.keys(roles);
|
|
73
|
+
if (roleIds.length === 0) return [];
|
|
74
|
+
const orderedRoleIds = [...models?.defaultRole && roles[models.defaultRole] ? [models.defaultRole] : [], ...roleIds.filter((roleId) => roleId !== models?.defaultRole)];
|
|
75
|
+
const seen = /* @__PURE__ */ new Set();
|
|
76
|
+
const candidates = [];
|
|
77
|
+
for (const roleId of orderedRoleIds) {
|
|
78
|
+
const role = roles[roleId];
|
|
79
|
+
if (!role) continue;
|
|
80
|
+
const refs = [role.model, ...role.fallbacks ?? []];
|
|
81
|
+
for (const ref of refs) addCandidate(candidates, seen, {
|
|
82
|
+
ref,
|
|
83
|
+
roleId,
|
|
84
|
+
...role.description ? { roleDescription: role.description } : {}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
return candidates;
|
|
88
|
+
}
|
|
89
|
+
function resolveDefaultModelRefForAgent(params) {
|
|
90
|
+
const models = resolveEffectiveModelsConfig(params);
|
|
91
|
+
const ref = (models?.defaultRole ? models.roles?.[models.defaultRole] : void 0)?.model?.trim();
|
|
92
|
+
if (ref) {
|
|
93
|
+
const parsed = parseModelRef(ref);
|
|
94
|
+
if (parsed) return parsed;
|
|
95
|
+
}
|
|
96
|
+
return resolveDefaultModelRef(params.cfg);
|
|
97
|
+
}
|
|
31
98
|
function buildToolModelConfigFromCandidates(params) {
|
|
32
|
-
if (hasToolModelConfig(params.explicit)) return
|
|
99
|
+
if (hasToolModelConfig(params.explicit)) return {
|
|
100
|
+
...params.explicit,
|
|
101
|
+
source: "explicit"
|
|
102
|
+
};
|
|
33
103
|
const deduped = [];
|
|
34
104
|
for (const candidate of params.candidates) {
|
|
35
105
|
const trimmed = candidate?.trim();
|
|
@@ -41,7 +111,8 @@ function buildToolModelConfigFromCandidates(params) {
|
|
|
41
111
|
if (deduped.length === 0) return null;
|
|
42
112
|
return {
|
|
43
113
|
primary: deduped[0],
|
|
44
|
-
...deduped.length > 1 ? { fallbacks: deduped.slice(1) } : {}
|
|
114
|
+
...deduped.length > 1 ? { fallbacks: deduped.slice(1) } : {},
|
|
115
|
+
source: params.source ?? "auto-provider"
|
|
45
116
|
};
|
|
46
117
|
}
|
|
47
118
|
function firstVisionModelRef(provider) {
|
|
@@ -51,26 +122,41 @@ function firstVisionModelRef(provider) {
|
|
|
51
122
|
/**
|
|
52
123
|
* Effective image understanding model inferred from configured providers.
|
|
53
124
|
*/
|
|
54
|
-
function
|
|
55
|
-
const explicit =
|
|
56
|
-
if (hasToolModelConfig(explicit)) return
|
|
57
|
-
|
|
125
|
+
function resolveEffectiveImageModelConfig(params) {
|
|
126
|
+
const explicit = resolveConfiguredImageModelConfig(params);
|
|
127
|
+
if (hasToolModelConfig(explicit)) return {
|
|
128
|
+
...explicit,
|
|
129
|
+
source: "explicit"
|
|
130
|
+
};
|
|
131
|
+
const roleCandidates = collectRoleImageModelCandidates(params);
|
|
132
|
+
if (roleCandidates.length > 0) {
|
|
133
|
+
const [first, ...rest] = roleCandidates;
|
|
134
|
+
return {
|
|
135
|
+
primary: first.ref,
|
|
136
|
+
...rest.length > 0 ? { fallbacks: rest.map((entry) => entry.ref) } : {},
|
|
137
|
+
source: "auto-role",
|
|
138
|
+
...first.roleId ? { roleId: first.roleId } : {},
|
|
139
|
+
...first.roleDescription ? { roleDescription: first.roleDescription } : {}
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
const primary = resolveDefaultModelRefForAgent(params);
|
|
58
143
|
const primaryCandidates = [];
|
|
59
144
|
const vision = firstVisionModelRef(primary.provider);
|
|
60
145
|
if (vision) primaryCandidates.push(vision);
|
|
61
|
-
if (primary.provider === "openai") primaryCandidates.push("openai/gpt-5.6-luna");
|
|
62
|
-
if (primary.provider === "anthropic") primaryCandidates.push("anthropic/claude-sonnet-5");
|
|
63
|
-
if (primary.provider === "google") primaryCandidates.push("google/gemini-3.5-flash");
|
|
64
146
|
return buildToolModelConfigFromCandidates({
|
|
65
147
|
explicit,
|
|
66
148
|
candidates: [
|
|
67
149
|
...primaryCandidates,
|
|
68
|
-
firstVisionModelRef("openai")
|
|
69
|
-
firstVisionModelRef("anthropic")
|
|
70
|
-
]
|
|
150
|
+
firstVisionModelRef("openai"),
|
|
151
|
+
firstVisionModelRef("anthropic")
|
|
152
|
+
],
|
|
153
|
+
source: "auto-provider"
|
|
71
154
|
});
|
|
72
155
|
}
|
|
156
|
+
function resolveImageModelConfigForTool(params) {
|
|
157
|
+
return resolveEffectiveImageModelConfig(params);
|
|
158
|
+
}
|
|
73
159
|
//#endregion
|
|
74
|
-
export { buildToolModelConfigFromCandidates, coerceToolModelConfig, hasToolModelConfig, resolveDefaultModelRef, resolveImageModelConfigForTool };
|
|
160
|
+
export { buildToolModelConfigFromCandidates, coerceToolModelConfig, hasToolModelConfig, resolveConfiguredImageModelConfig, resolveDefaultModelRef, resolveEffectiveImageModelConfig, resolveImageModelConfigForTool };
|
|
75
161
|
|
|
76
162
|
//# sourceMappingURL=tool-model-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-model-config.js","names":[],"sources":["../../../../src/agent/image/tool-model-config.ts"],"sourcesContent":["import type { AgentModelConfig, Config } from '../../config/schema.js';\nimport {\n getAgentDefaultImageModelConfig,\n getAgentDefaultModelRef,\n parseModelRef,\n} from '../../config/schema.js';\nimport {\n resolveAgentModelFallbackValues,\n resolveAgentModelPrimaryValue,\n} from '../../config/model-input.js';\nimport { getDefaultModelSync, getModelsByProvider, isProviderConfiguredSync } from '../../providers/index.js';\n\nexport type ToolModelConfig = {\n primary?: string;\n fallbacks?: string[];\n timeoutMs?: number;\n autoProviderFallback?: boolean;\n};\n\nexport function hasToolModelConfig(model: ToolModelConfig | undefined): boolean {\n return Boolean(\n model?.primary?.trim() || (model?.fallbacks ?? []).some((entry) => entry.trim().length > 0),\n );\n}\n\nexport function resolveDefaultModelRef(cfg?: Config): { provider: string; model: string } {\n const ref = cfg ? getAgentDefaultModelRef(cfg) : undefined;\n if (ref) {\n const p = parseModelRef(ref);\n if (p) {\n return p;\n }\n }\n const fallback = getDefaultModelSync(cfg);\n const p2 = parseModelRef(fallback);\n if (p2) {\n return p2;\n }\n return { provider: 'deepseek', model: 'deepseek-v4-flash' };\n}\n\nexport function coerceToolModelConfig(model?: AgentModelConfig): ToolModelConfig {\n const primary = resolveAgentModelPrimaryValue(model);\n const fallbacks = resolveAgentModelFallbackValues(model);\n return {\n ...(primary?.trim() ? { primary: primary.trim() } : {}),\n ...(fallbacks.length > 0 ? { fallbacks } : {}),\n };\n}\n\nexport function buildToolModelConfigFromCandidates(params: {\n explicit: ToolModelConfig;\n candidates: Array<string | null | undefined>;\n}): ToolModelConfig | null {\n if (hasToolModelConfig(params.explicit)) {\n return params.explicit;\n }\n\n const deduped: string[] = [];\n for (const candidate of params.candidates) {\n const trimmed = candidate?.trim();\n if (!trimmed || !trimmed.includes('/')) {\n continue;\n }\n const provider = trimmed.slice(0, trimmed.indexOf('/')).trim();\n if (!provider || !isProviderConfiguredSync(provider)) {\n continue;\n }\n if (!deduped.includes(trimmed)) {\n deduped.push(trimmed);\n }\n }\n\n if (deduped.length === 0) {\n return null;\n }\n\n return {\n primary: deduped[0],\n ...(deduped.length > 1 ? { fallbacks: deduped.slice(1) } : {}),\n };\n}\n\nfunction firstVisionModelRef(provider: string): string | undefined {\n const m = getModelsByProvider(provider).find((x) => x.input?.includes('image'));\n return m ? `${provider}/${m.id}` : undefined;\n}\n\n/**\n * Effective image understanding model inferred from configured providers.\n */\nexport function resolveImageModelConfigForTool(params: { cfg?: Config }): ToolModelConfig | null {\n const explicit = coerceToolModelConfig(\n params.cfg ? getAgentDefaultImageModelConfig(params.cfg) : undefined,\n );\n if (hasToolModelConfig(explicit)) {\n return explicit;\n }\n\n const primary = resolveDefaultModelRef(params.cfg);\n const primaryCandidates: string[] = [];\n const vision = firstVisionModelRef(primary.provider);\n if (vision) {\n primaryCandidates.push(vision);\n }\n if (primary.provider === 'openai') {\n primaryCandidates.push('openai/gpt-5.6-luna');\n }\n if (primary.provider === 'anthropic') {\n primaryCandidates.push('anthropic/claude-sonnet-5');\n }\n if (primary.provider === 'google') {\n primaryCandidates.push('google/gemini-3.5-flash');\n }\n\n return buildToolModelConfigFromCandidates({\n explicit,\n candidates: [\n ...primaryCandidates,\n firstVisionModelRef('openai') ?? 'openai/gpt-5.6-luna',\n firstVisionModelRef('anthropic') ?? 'anthropic/claude-sonnet-5',\n ],\n });\n}\n"],"mappings":";;;;aAKgC;gBAK8E;AAS9G,SAAgB,mBAAmB,OAA6C;AAC9E,QAAO,QACL,OAAO,SAAS,MAAM,KAAK,OAAO,aAAa,EAAE,EAAE,MAAM,UAAU,MAAM,MAAM,CAAC,SAAS,EAAE,CAC5F;;AAGH,SAAgB,uBAAuB,KAAmD;CACxF,MAAM,MAAM,MAAM,wBAAwB,IAAI,GAAG,KAAA;AACjD,KAAI,KAAK;EACP,MAAM,IAAI,cAAc,IAAI;AAC5B,MAAI,EACF,QAAO;;CAIX,MAAM,KAAK,cADM,oBAAoB,IACJ,CAAC;AAClC,KAAI,GACF,QAAO;AAET,QAAO;EAAE,UAAU;EAAY,OAAO;EAAqB;;AAG7D,SAAgB,sBAAsB,OAA2C;CAC/E,MAAM,UAAU,8BAA8B,MAAM;CACpD,MAAM,YAAY,gCAAgC,MAAM;AACxD,QAAO;EACL,GAAI,SAAS,MAAM,GAAG,EAAE,SAAS,QAAQ,MAAM,EAAE,GAAG,EAAE;EACtD,GAAI,UAAU,SAAS,IAAI,EAAE,WAAW,GAAG,EAAE;EAC9C;;AAGH,SAAgB,mCAAmC,QAGxB;AACzB,KAAI,mBAAmB,OAAO,SAAS,CACrC,QAAO,OAAO;CAGhB,MAAM,UAAoB,EAAE;AAC5B,MAAK,MAAM,aAAa,OAAO,YAAY;EACzC,MAAM,UAAU,WAAW,MAAM;AACjC,MAAI,CAAC,WAAW,CAAC,QAAQ,SAAS,IAAI,CACpC;EAEF,MAAM,WAAW,QAAQ,MAAM,GAAG,QAAQ,QAAQ,IAAI,CAAC,CAAC,MAAM;AAC9D,MAAI,CAAC,YAAY,CAAC,yBAAyB,SAAS,CAClD;AAEF,MAAI,CAAC,QAAQ,SAAS,QAAQ,CAC5B,SAAQ,KAAK,QAAQ;;AAIzB,KAAI,QAAQ,WAAW,EACrB,QAAO;AAGT,QAAO;EACL,SAAS,QAAQ;EACjB,GAAI,QAAQ,SAAS,IAAI,EAAE,WAAW,QAAQ,MAAM,EAAE,EAAE,GAAG,EAAE;EAC9D;;AAGH,SAAS,oBAAoB,UAAsC;CACjE,MAAM,IAAI,oBAAoB,SAAS,CAAC,MAAM,MAAM,EAAE,OAAO,SAAS,QAAQ,CAAC;AAC/E,QAAO,IAAI,GAAG,SAAS,GAAG,EAAE,OAAO,KAAA;;;;;AAMrC,SAAgB,+BAA+B,QAAkD;CAC/F,MAAM,WAAW,sBACf,OAAO,MAAM,gCAAgC,OAAO,IAAI,GAAG,KAAA,EAC5D;AACD,KAAI,mBAAmB,SAAS,CAC9B,QAAO;CAGT,MAAM,UAAU,uBAAuB,OAAO,IAAI;CAClD,MAAM,oBAA8B,EAAE;CACtC,MAAM,SAAS,oBAAoB,QAAQ,SAAS;AACpD,KAAI,OACF,mBAAkB,KAAK,OAAO;AAEhC,KAAI,QAAQ,aAAa,SACvB,mBAAkB,KAAK,sBAAsB;AAE/C,KAAI,QAAQ,aAAa,YACvB,mBAAkB,KAAK,4BAA4B;AAErD,KAAI,QAAQ,aAAa,SACvB,mBAAkB,KAAK,0BAA0B;AAGnD,QAAO,mCAAmC;EACxC;EACA,YAAY;GACV,GAAG;GACH,oBAAoB,SAAS,IAAI;GACjC,oBAAoB,YAAY,IAAI;GACrC;EACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"tool-model-config.js","names":[],"sources":["../../../../src/agent/image/tool-model-config.ts"],"sourcesContent":["import type { AgentModelConfig, Config } from '../../config/schema.js';\nimport {\n getAgentDefaultImageModelConfig,\n getAgentDefaultModelRef,\n parseModelRef,\n} from '../../config/schema.js';\nimport { resolveEffectiveAgentManifestForAgent } from '../../config/agent-profile.js';\nimport {\n resolveAgentModelFallbackValues,\n resolveAgentModelPrimaryValue,\n} from '../../config/model-input.js';\nimport { resolveDefaultAgentId } from '../agent-scope.js';\nimport {\n getDefaultModelSync,\n getModelsByProvider,\n isProviderConfiguredSync,\n resolveModel,\n} from '../../providers/index.js';\n\nexport type ToolModelConfig = {\n primary?: string;\n fallbacks?: string[];\n timeoutMs?: number;\n autoProviderFallback?: boolean;\n};\n\nexport type ImageModelResolutionSource = 'explicit' | 'auto-role' | 'auto-provider' | 'none';\n\nexport type ResolvedImageModelConfig = ToolModelConfig & {\n source: ImageModelResolutionSource;\n roleId?: string;\n roleDescription?: string;\n};\n\nexport function hasToolModelConfig(model: ToolModelConfig | undefined): boolean {\n return Boolean(\n model?.primary?.trim() || (model?.fallbacks ?? []).some((entry) => entry.trim().length > 0),\n );\n}\n\nexport function resolveDefaultModelRef(cfg?: Config): { provider: string; model: string } {\n const ref = cfg ? getAgentDefaultModelRef(cfg) : undefined;\n if (ref) {\n const p = parseModelRef(ref);\n if (p) {\n return p;\n }\n }\n const fallback = getDefaultModelSync(cfg);\n const p2 = parseModelRef(fallback);\n if (p2) {\n return p2;\n }\n return { provider: 'deepseek', model: 'deepseek-v4-flash' };\n}\n\nexport function coerceToolModelConfig(model?: AgentModelConfig): ToolModelConfig {\n const primary = resolveAgentModelPrimaryValue(model);\n const fallbacks = resolveAgentModelFallbackValues(model);\n return {\n ...(primary?.trim() ? { primary: primary.trim() } : {}),\n ...(fallbacks.length > 0 ? { fallbacks } : {}),\n };\n}\n\nfunction resolveEffectiveModelsConfig(params: {\n cfg?: Config;\n agentId?: string;\n}): {\n defaultRole?: string;\n roles?: Record<string, { model: string; fallbacks?: string[]; description?: string }>;\n imageModel?: AgentModelConfig;\n} | undefined {\n if (!params.cfg) {\n return undefined;\n }\n try {\n const agentId = params.agentId?.trim() || resolveDefaultAgentId(params.cfg);\n return resolveEffectiveAgentManifestForAgent(params.cfg, agentId).models;\n } catch {\n return undefined;\n }\n}\n\nexport function resolveConfiguredImageModelConfig(params: {\n cfg?: Config;\n agentId?: string;\n}): ToolModelConfig {\n const models = resolveEffectiveModelsConfig(params);\n const config = models?.imageModel ?? (params.cfg ? getAgentDefaultImageModelConfig(params.cfg) : undefined);\n return coerceToolModelConfig(config);\n}\n\nfunction modelRefSupportsImage(modelRef: string): boolean {\n try {\n return resolveModel(modelRef).input?.includes('image') === true;\n } catch {\n return false;\n }\n}\n\nfunction configuredImageModelRef(modelRef: string): string | null {\n const trimmed = modelRef.trim();\n const parsed = parseModelRef(trimmed);\n if (!parsed || !isProviderConfiguredSync(parsed.provider)) {\n return null;\n }\n return modelRefSupportsImage(trimmed) ? trimmed : null;\n}\n\nfunction addCandidate(\n candidates: Array<{ ref: string; roleId?: string; roleDescription?: string }>,\n seen: Set<string>,\n entry: { ref: string; roleId?: string; roleDescription?: string },\n): void {\n const ref = configuredImageModelRef(entry.ref);\n if (!ref || seen.has(ref)) {\n return;\n }\n seen.add(ref);\n candidates.push({\n ref,\n ...(entry.roleId ? { roleId: entry.roleId } : {}),\n ...(entry.roleDescription ? { roleDescription: entry.roleDescription } : {}),\n });\n}\n\nfunction collectRoleImageModelCandidates(params: {\n cfg?: Config;\n agentId?: string;\n}): Array<{ ref: string; roleId?: string; roleDescription?: string }> {\n const models = resolveEffectiveModelsConfig(params);\n const roles = models?.roles ?? {};\n const roleIds = Object.keys(roles);\n if (roleIds.length === 0) {\n return [];\n }\n\n const orderedRoleIds = [\n ...(models?.defaultRole && roles[models.defaultRole] ? [models.defaultRole] : []),\n ...roleIds.filter((roleId) => roleId !== models?.defaultRole),\n ];\n const seen = new Set<string>();\n const candidates: Array<{ ref: string; roleId?: string; roleDescription?: string }> = [];\n\n for (const roleId of orderedRoleIds) {\n const role = roles[roleId];\n if (!role) {\n continue;\n }\n const refs = [role.model, ...(role.fallbacks ?? [])];\n for (const ref of refs) {\n addCandidate(candidates, seen, {\n ref,\n roleId,\n ...(role.description ? { roleDescription: role.description } : {}),\n });\n }\n }\n\n return candidates;\n}\n\nfunction resolveDefaultModelRefForAgent(params: {\n cfg?: Config;\n agentId?: string;\n}): { provider: string; model: string } {\n const models = resolveEffectiveModelsConfig(params);\n const role = models?.defaultRole ? models.roles?.[models.defaultRole] : undefined;\n const ref = role?.model?.trim();\n if (ref) {\n const parsed = parseModelRef(ref);\n if (parsed) {\n return parsed;\n }\n }\n return resolveDefaultModelRef(params.cfg);\n}\n\nexport function buildToolModelConfigFromCandidates(params: {\n explicit: ToolModelConfig;\n candidates: Array<string | null | undefined>;\n source?: ImageModelResolutionSource;\n}): ResolvedImageModelConfig | null {\n if (hasToolModelConfig(params.explicit)) {\n return { ...params.explicit, source: 'explicit' };\n }\n\n const deduped: string[] = [];\n for (const candidate of params.candidates) {\n const trimmed = candidate?.trim();\n if (!trimmed || !trimmed.includes('/')) {\n continue;\n }\n const provider = trimmed.slice(0, trimmed.indexOf('/')).trim();\n if (!provider || !isProviderConfiguredSync(provider)) {\n continue;\n }\n if (!deduped.includes(trimmed)) {\n deduped.push(trimmed);\n }\n }\n\n if (deduped.length === 0) {\n return null;\n }\n\n return {\n primary: deduped[0],\n ...(deduped.length > 1 ? { fallbacks: deduped.slice(1) } : {}),\n source: params.source ?? 'auto-provider',\n };\n}\n\nfunction firstVisionModelRef(provider: string): string | undefined {\n const m = getModelsByProvider(provider).find((x) => x.input?.includes('image'));\n return m ? `${provider}/${m.id}` : undefined;\n}\n\n/**\n * Effective image understanding model inferred from configured providers.\n */\nexport function resolveEffectiveImageModelConfig(params: {\n cfg?: Config;\n agentId?: string;\n}): ResolvedImageModelConfig | null {\n const explicit = resolveConfiguredImageModelConfig(params);\n if (hasToolModelConfig(explicit)) {\n return { ...explicit, source: 'explicit' };\n }\n\n const roleCandidates = collectRoleImageModelCandidates(params);\n if (roleCandidates.length > 0) {\n const [first, ...rest] = roleCandidates;\n return {\n primary: first!.ref,\n ...(rest.length > 0 ? { fallbacks: rest.map((entry) => entry.ref) } : {}),\n source: 'auto-role',\n ...(first!.roleId ? { roleId: first!.roleId } : {}),\n ...(first!.roleDescription ? { roleDescription: first!.roleDescription } : {}),\n };\n }\n\n const primary = resolveDefaultModelRefForAgent(params);\n const primaryCandidates: string[] = [];\n const vision = firstVisionModelRef(primary.provider);\n if (vision) {\n primaryCandidates.push(vision);\n }\n\n return buildToolModelConfigFromCandidates({\n explicit,\n candidates: [\n ...primaryCandidates,\n firstVisionModelRef('openai'),\n firstVisionModelRef('anthropic'),\n ],\n source: 'auto-provider',\n });\n}\n\nexport function resolveImageModelConfigForTool(params: {\n cfg?: Config;\n agentId?: string;\n}): ResolvedImageModelConfig | null {\n return resolveEffectiveImageModelConfig(params);\n}\n"],"mappings":";;;;;;aAKgC;kBAM0B;gBAMxB;AAiBlC,SAAgB,mBAAmB,OAA6C;AAC9E,QAAO,QACL,OAAO,SAAS,MAAM,KAAK,OAAO,aAAa,EAAE,EAAE,MAAM,UAAU,MAAM,MAAM,CAAC,SAAS,EAAE,CAC5F;;AAGH,SAAgB,uBAAuB,KAAmD;CACxF,MAAM,MAAM,MAAM,wBAAwB,IAAI,GAAG,KAAA;AACjD,KAAI,KAAK;EACP,MAAM,IAAI,cAAc,IAAI;AAC5B,MAAI,EACF,QAAO;;CAIX,MAAM,KAAK,cADM,oBAAoB,IACJ,CAAC;AAClC,KAAI,GACF,QAAO;AAET,QAAO;EAAE,UAAU;EAAY,OAAO;EAAqB;;AAG7D,SAAgB,sBAAsB,OAA2C;CAC/E,MAAM,UAAU,8BAA8B,MAAM;CACpD,MAAM,YAAY,gCAAgC,MAAM;AACxD,QAAO;EACL,GAAI,SAAS,MAAM,GAAG,EAAE,SAAS,QAAQ,MAAM,EAAE,GAAG,EAAE;EACtD,GAAI,UAAU,SAAS,IAAI,EAAE,WAAW,GAAG,EAAE;EAC9C;;AAGH,SAAS,6BAA6B,QAOxB;AACZ,KAAI,CAAC,OAAO,IACV;AAEF,KAAI;EACF,MAAM,UAAU,OAAO,SAAS,MAAM,IAAI,sBAAsB,OAAO,IAAI;AAC3E,SAAO,sCAAsC,OAAO,KAAK,QAAQ,CAAC;SAC5D;AACN;;;AAIJ,SAAgB,kCAAkC,QAG9B;AAGlB,QAAO,sBAFQ,6BAA6B,OACvB,EAAE,eAAe,OAAO,MAAM,gCAAgC,OAAO,IAAI,GAAG,KAAA,GAC7D;;AAGtC,SAAS,sBAAsB,UAA2B;AACxD,KAAI;AACF,SAAO,aAAa,SAAS,CAAC,OAAO,SAAS,QAAQ,KAAK;SACrD;AACN,SAAO;;;AAIX,SAAS,wBAAwB,UAAiC;CAChE,MAAM,UAAU,SAAS,MAAM;CAC/B,MAAM,SAAS,cAAc,QAAQ;AACrC,KAAI,CAAC,UAAU,CAAC,yBAAyB,OAAO,SAAS,CACvD,QAAO;AAET,QAAO,sBAAsB,QAAQ,GAAG,UAAU;;AAGpD,SAAS,aACP,YACA,MACA,OACM;CACN,MAAM,MAAM,wBAAwB,MAAM,IAAI;AAC9C,KAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CACvB;AAEF,MAAK,IAAI,IAAI;AACb,YAAW,KAAK;EACd;EACA,GAAI,MAAM,SAAS,EAAE,QAAQ,MAAM,QAAQ,GAAG,EAAE;EAChD,GAAI,MAAM,kBAAkB,EAAE,iBAAiB,MAAM,iBAAiB,GAAG,EAAE;EAC5E,CAAC;;AAGJ,SAAS,gCAAgC,QAG6B;CACpE,MAAM,SAAS,6BAA6B,OAAO;CACnD,MAAM,QAAQ,QAAQ,SAAS,EAAE;CACjC,MAAM,UAAU,OAAO,KAAK,MAAM;AAClC,KAAI,QAAQ,WAAW,EACrB,QAAO,EAAE;CAGX,MAAM,iBAAiB,CACrB,GAAI,QAAQ,eAAe,MAAM,OAAO,eAAe,CAAC,OAAO,YAAY,GAAG,EAAE,EAChF,GAAG,QAAQ,QAAQ,WAAW,WAAW,QAAQ,YAAY,CAC9D;CACD,MAAM,uBAAO,IAAI,KAAa;CAC9B,MAAM,aAAgF,EAAE;AAExF,MAAK,MAAM,UAAU,gBAAgB;EACnC,MAAM,OAAO,MAAM;AACnB,MAAI,CAAC,KACH;EAEF,MAAM,OAAO,CAAC,KAAK,OAAO,GAAI,KAAK,aAAa,EAAE,CAAE;AACpD,OAAK,MAAM,OAAO,KAChB,cAAa,YAAY,MAAM;GAC7B;GACA;GACA,GAAI,KAAK,cAAc,EAAE,iBAAiB,KAAK,aAAa,GAAG,EAAE;GAClE,CAAC;;AAIN,QAAO;;AAGT,SAAS,+BAA+B,QAGA;CACtC,MAAM,SAAS,6BAA6B,OAAO;CAEnD,MAAM,OADO,QAAQ,cAAc,OAAO,QAAQ,OAAO,eAAe,KAAA,IACtD,OAAO,MAAM;AAC/B,KAAI,KAAK;EACP,MAAM,SAAS,cAAc,IAAI;AACjC,MAAI,OACF,QAAO;;AAGX,QAAO,uBAAuB,OAAO,IAAI;;AAG3C,SAAgB,mCAAmC,QAIf;AAClC,KAAI,mBAAmB,OAAO,SAAS,CACrC,QAAO;EAAE,GAAG,OAAO;EAAU,QAAQ;EAAY;CAGnD,MAAM,UAAoB,EAAE;AAC5B,MAAK,MAAM,aAAa,OAAO,YAAY;EACzC,MAAM,UAAU,WAAW,MAAM;AACjC,MAAI,CAAC,WAAW,CAAC,QAAQ,SAAS,IAAI,CACpC;EAEF,MAAM,WAAW,QAAQ,MAAM,GAAG,QAAQ,QAAQ,IAAI,CAAC,CAAC,MAAM;AAC9D,MAAI,CAAC,YAAY,CAAC,yBAAyB,SAAS,CAClD;AAEF,MAAI,CAAC,QAAQ,SAAS,QAAQ,CAC5B,SAAQ,KAAK,QAAQ;;AAIzB,KAAI,QAAQ,WAAW,EACrB,QAAO;AAGT,QAAO;EACL,SAAS,QAAQ;EACjB,GAAI,QAAQ,SAAS,IAAI,EAAE,WAAW,QAAQ,MAAM,EAAE,EAAE,GAAG,EAAE;EAC7D,QAAQ,OAAO,UAAU;EAC1B;;AAGH,SAAS,oBAAoB,UAAsC;CACjE,MAAM,IAAI,oBAAoB,SAAS,CAAC,MAAM,MAAM,EAAE,OAAO,SAAS,QAAQ,CAAC;AAC/E,QAAO,IAAI,GAAG,SAAS,GAAG,EAAE,OAAO,KAAA;;;;;AAMrC,SAAgB,iCAAiC,QAGb;CAClC,MAAM,WAAW,kCAAkC,OAAO;AAC1D,KAAI,mBAAmB,SAAS,CAC9B,QAAO;EAAE,GAAG;EAAU,QAAQ;EAAY;CAG5C,MAAM,iBAAiB,gCAAgC,OAAO;AAC9D,KAAI,eAAe,SAAS,GAAG;EAC7B,MAAM,CAAC,OAAO,GAAG,QAAQ;AACzB,SAAO;GACL,SAAS,MAAO;GAChB,GAAI,KAAK,SAAS,IAAI,EAAE,WAAW,KAAK,KAAK,UAAU,MAAM,IAAI,EAAE,GAAG,EAAE;GACxE,QAAQ;GACR,GAAI,MAAO,SAAS,EAAE,QAAQ,MAAO,QAAQ,GAAG,EAAE;GAClD,GAAI,MAAO,kBAAkB,EAAE,iBAAiB,MAAO,iBAAiB,GAAG,EAAE;GAC9E;;CAGH,MAAM,UAAU,+BAA+B,OAAO;CACtD,MAAM,oBAA8B,EAAE;CACtC,MAAM,SAAS,oBAAoB,QAAQ,SAAS;AACpD,KAAI,OACF,mBAAkB,KAAK,OAAO;AAGhC,QAAO,mCAAmC;EACxC;EACA,YAAY;GACV,GAAG;GACH,oBAAoB,SAAS;GAC7B,oBAAoB,YAAY;GACjC;EACD,QAAQ;EACT,CAAC;;AAGJ,SAAgB,+BAA+B,QAGX;AAClC,QAAO,iCAAiC,OAAO"}
|