@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.
Files changed (215) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/telegram/xopc.extension.json +1 -1
  3. package/dist/gateway/static/root/assets/Combination-HAlzriaz.js +41 -0
  4. package/dist/gateway/static/root/assets/{agent-avatar-dicebear-mQ4lbZRf.js → agent-avatar-dicebear-CER17NHM.js} +1 -1
  5. package/dist/gateway/static/root/assets/agents-Bv5R-N8Q.js +2 -0
  6. package/dist/gateway/static/root/assets/{app-management-settings-panel-Bj2YJiQe.js → app-management-settings-panel-B3Ap_wpX.js} +1 -1
  7. package/dist/gateway/static/root/assets/{appearance-settings-B93olV5Z.js → appearance-settings-3kBO22Xd.js} +1 -1
  8. package/dist/gateway/static/root/assets/apps-page-BHYbGQcZ.js +1 -0
  9. package/dist/gateway/static/root/assets/{archive-plugin-D_yymKFJ.js → archive-plugin-D_vGeNB8.js} +1 -1
  10. package/dist/gateway/static/root/assets/{attachment-load-kfyH3HV-.js → attachment-load-hWV_8pHL.js} +1 -1
  11. package/dist/gateway/static/root/assets/{automation-suggestion-card-DyGBB2WH.js → automation-suggestion-card-DVKmVTIo.js} +1 -1
  12. package/dist/gateway/static/root/assets/automations-page-BCTXpOBp.js +4 -0
  13. package/dist/gateway/static/root/assets/{binary-plugins-BX1AXf98.js → binary-plugins-BuXIeSPc.js} +1 -1
  14. package/dist/gateway/static/root/assets/{block-editor-D-WEVNHU.js → block-editor-C1m0u-UU.js} +39 -39
  15. package/dist/gateway/static/root/assets/browser-settings-page-ChUF08V5.js +8 -0
  16. package/dist/gateway/static/root/assets/capability-presets-api-B7WWYaEh.js +1 -0
  17. package/dist/gateway/static/root/assets/{capability-presets-settings-panel-CHExb90z.js → capability-presets-settings-panel-D_Bh1PnA.js} +1 -1
  18. package/dist/gateway/static/root/assets/{channel-recipient-api-RANYrzfa.js → channel-recipient-api-sV06LCht.js} +1 -1
  19. package/dist/gateway/static/root/assets/channels-settings-BI2ChQc7.js +1 -0
  20. package/dist/gateway/static/root/assets/channels-status-swr-MY4Xh4fM.js +1 -0
  21. package/dist/gateway/static/root/assets/connectors-page-qgvEp09M.js +2 -0
  22. package/dist/gateway/static/root/assets/desktop-pet-BxMJlvb-.js +1 -0
  23. package/dist/gateway/static/root/assets/{desktop-pet-settings-C3JDiXSu.js → desktop-pet-settings-DCvpDImn.js} +1 -1
  24. package/dist/gateway/static/root/assets/{directory-picker-path-field-MT71cjgl.js → directory-picker-path-field-D1nxs9PA.js} +1 -1
  25. package/dist/gateway/static/root/assets/dist-Mys7eFJ5.js +1 -0
  26. package/dist/gateway/static/root/assets/{dreaming-settings-Cfx_Qg4R.js → dreaming-settings-EAWkpOgw.js} +3 -3
  27. package/dist/gateway/static/root/assets/{extension-debug-page-Wp23cLkf.js → extension-debug-page-LUQ8dE8z.js} +1 -1
  28. package/dist/gateway/static/root/assets/{extension-page-B5HRNtVY.js → extension-page-B_mnhoRd.js} +1 -1
  29. package/dist/gateway/static/root/assets/{extension-settings-page-zPfMpsYi.js → extension-settings-page-BWQsGmvW.js} +1 -1
  30. package/dist/gateway/static/root/assets/{fetch-6HXXdO77.js → fetch-BWXmBizE.js} +1 -1
  31. package/dist/gateway/static/root/assets/{gateway-config-api-CsS_3Ii6.js → gateway-config-api-M9bzPASf.js} +1 -1
  32. package/dist/gateway/static/root/assets/{gateway-settings-DOxh0hei.js → gateway-settings-CbgtpprN.js} +1 -1
  33. package/dist/gateway/static/root/assets/{gateway-startup-retry-BE1M9fH_.js → gateway-startup-retry-BALL91S7.js} +1 -1
  34. package/dist/gateway/static/root/assets/goal-create-dialog-CbP4t9aM.js +1 -0
  35. package/dist/gateway/static/root/assets/goal-detail-page-DlwI-MZZ.js +4 -0
  36. package/dist/gateway/static/root/assets/{goals-config-api--3Vzceq-.js → goals-config-api-BBhFVzBS.js} +1 -1
  37. package/dist/gateway/static/root/assets/goals-page-D26r7knp.js +2 -0
  38. package/dist/gateway/static/root/assets/{goals-settings-Dg_hQNVC.js → goals-settings-DdmVG_TR.js} +1 -1
  39. package/dist/gateway/static/root/assets/{heartbeat-settings-CecoDTZJ.js → heartbeat-settings-DZW2Xq-U.js} +1 -1
  40. package/dist/gateway/static/root/assets/index-CPwVzi9x.css +1 -0
  41. package/dist/gateway/static/root/assets/index-DZOm5_ex.js +262 -0
  42. package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-BWMLAFxf.js → keyboard-shortcuts-settings-1IWd88-T.js} +1 -1
  43. package/dist/gateway/static/root/assets/logs-page-DxoKJO7-.js +7 -0
  44. package/dist/gateway/static/root/assets/{markdown-split-5tvDwUMS.js → markdown-split-BtdBj32h.js} +1 -1
  45. package/dist/gateway/static/root/assets/{media-plugins-RSjPG4B0.js → media-plugins-CpoPj3s8.js} +1 -1
  46. package/dist/gateway/static/root/assets/messages-CQ_k8RHj.js +3 -0
  47. package/dist/gateway/static/root/assets/models-hub-panel-D1Rp__dV.js +2 -0
  48. package/dist/gateway/static/root/assets/notes-page-CgR1bO2W.js +1 -0
  49. package/dist/gateway/static/root/assets/notes-workbench-ozsnmDTV.js +2 -0
  50. package/dist/gateway/static/root/assets/{page-tabs-DYNWfN6S.js → page-tabs-CVLqCfQB.js} +1 -1
  51. package/dist/gateway/static/root/assets/{preview-open-alternatives-B50PdIc8.js → preview-open-alternatives-CKUXJk2t.js} +1 -1
  52. package/dist/gateway/static/root/assets/project-detail-page-B4dqFAQF.js +1 -0
  53. package/dist/gateway/static/root/assets/projects-page-DlRGXv4a.js +1 -0
  54. package/dist/gateway/static/root/assets/remote-access-hub-rZEYQMZV.js +1 -0
  55. package/dist/gateway/static/root/assets/{save-bar-controls-DggNb0SF.js → save-bar-controls-BtGni268.js} +1 -1
  56. package/dist/gateway/static/root/assets/{schedule-field-T4ti2C8S.js → schedule-field-BDGzKVWn.js} +1 -1
  57. package/dist/gateway/static/root/assets/{schema-form-D6wGEfEa.js → schema-form-DQJsKMCE.js} +1 -1
  58. package/dist/gateway/static/root/assets/sessions-page-DxGoCGU8.js +1 -0
  59. package/dist/gateway/static/root/assets/settings-advanced-gate-4e8ZQwxr.js +1 -0
  60. package/dist/gateway/static/root/assets/{settings-collapsible-section-Cgd_aLBV.js → settings-collapsible-section-c8XGd4-8.js} +1 -1
  61. package/dist/gateway/static/root/assets/{settings-form-section-DnDrLMWZ.js → settings-form-section-By0YiDWo.js} +1 -1
  62. package/dist/gateway/static/root/assets/{settings-loading-skeleton-A2OshMK8.js → settings-loading-skeleton-SYCPY-WM.js} +1 -1
  63. package/dist/gateway/static/root/assets/{settings-page-CXMK9Vb3.js → settings-page-D9NwvnBt.js} +1 -1
  64. package/dist/gateway/static/root/assets/{settings-page-layout-Da_LNPDS.js → settings-page-layout-CrICyGob.js} +1 -1
  65. package/dist/gateway/static/root/assets/setup-status-panel-IjK-hDxf.js +1 -0
  66. package/dist/gateway/static/root/assets/{share-preview-page-BGZV-PCJ.js → share-preview-page-Dfnk9M_m.js} +1 -1
  67. package/dist/gateway/static/root/assets/shares-settings-vQiRBra7.js +1 -0
  68. package/dist/gateway/static/root/assets/skill-reload-api-BIWv778A.js +1 -0
  69. package/dist/gateway/static/root/assets/skills-page-CruV215G.js +2 -0
  70. package/dist/gateway/static/root/assets/{system-settings-panel-D8uzXP0Y.js → system-settings-panel-BBVbSDFD.js} +1 -1
  71. package/dist/gateway/static/root/assets/{typed-models-lib-DQxv2BHa.js → typed-models-lib-CwFayhxu.js} +1 -1
  72. package/dist/gateway/static/root/assets/{use-channel-catalog-BCBfSoHx.js → use-channel-catalog-BKtHOM50.js} +1 -1
  73. package/dist/gateway/static/root/assets/{user-profile-settings-panel-DkZSHsIs.js → user-profile-settings-panel-_KDWzagh.js} +1 -1
  74. package/dist/gateway/static/root/assets/{utils-ivGpUrZi.js → utils-BiUjIHb4.js} +1 -1
  75. package/dist/gateway/static/root/assets/voice-api-key-field-agJqlm4o.js +1 -0
  76. package/dist/gateway/static/root/assets/work-item-detail-page-Bdw4ATCb.js +1 -0
  77. package/dist/gateway/static/root/assets/workflow-run-setup-panel-D-Dy6mTy.js +3 -0
  78. package/dist/gateway/static/root/assets/workflow-start-dialog-GammZ2GK.js +1 -0
  79. package/dist/gateway/static/root/assets/workflows-page-Cw5zrqti.js +18 -0
  80. package/dist/gateway/static/root/index.html +7 -8
  81. package/dist/package.js +1 -1
  82. package/dist/src/agent/image/inbound-image-handling.d.ts +1 -0
  83. package/dist/src/agent/image/inbound-image-handling.js +4 -1
  84. package/dist/src/agent/image/inbound-image-handling.js.map +1 -1
  85. package/dist/src/agent/image/tool-model-config.d.ts +18 -2
  86. package/dist/src/agent/image/tool-model-config.js +100 -14
  87. package/dist/src/agent/image/tool-model-config.js.map +1 -1
  88. package/dist/src/agent/image/vision-detection.js +4 -23
  89. package/dist/src/agent/image/vision-detection.js.map +1 -1
  90. package/dist/src/agent/inbound/attachment-pipeline.js +3 -0
  91. package/dist/src/agent/inbound/attachment-pipeline.js.map +1 -1
  92. package/dist/src/agent/messaging/command-handler.d.ts +5 -2
  93. package/dist/src/agent/messaging/command-handler.js +4 -3
  94. package/dist/src/agent/messaging/command-handler.js.map +1 -1
  95. package/dist/src/agent/service/btw-query.d.ts +2 -0
  96. package/dist/src/agent/service/btw-query.js +4 -2
  97. package/dist/src/agent/service/btw-query.js.map +1 -1
  98. package/dist/src/agent/service/direct-turn-helpers.d.ts +2 -0
  99. package/dist/src/agent/service/direct-turn-helpers.js +1 -1
  100. package/dist/src/agent/service/direct-turn-helpers.js.map +1 -1
  101. package/dist/src/agent/service/process-direct-streaming.js +58 -1
  102. package/dist/src/agent/service/process-direct-streaming.js.map +1 -1
  103. package/dist/src/agent/service.js +1 -1
  104. package/dist/src/agent/service.js.map +1 -1
  105. package/dist/src/agent/session/session-inspector.d.ts +2 -1
  106. package/dist/src/agent/session/session-inspector.js +5 -3
  107. package/dist/src/agent/session/session-inspector.js.map +1 -1
  108. package/dist/src/agent/tools/factory.js +2 -1
  109. package/dist/src/agent/tools/factory.js.map +1 -1
  110. package/dist/src/agent/tools/image-tool.d.ts +1 -0
  111. package/dist/src/agent/tools/image-tool.js +4 -1
  112. package/dist/src/agent/tools/image-tool.js.map +1 -1
  113. package/dist/src/chat-commands/builtins/review.js +94 -7
  114. package/dist/src/chat-commands/builtins/review.js.map +1 -1
  115. package/dist/src/chat-commands/context.d.ts +5 -3
  116. package/dist/src/chat-commands/context.js +5 -2
  117. package/dist/src/chat-commands/context.js.map +1 -1
  118. package/dist/src/chat-commands/index.d.ts +1 -1
  119. package/dist/src/chat-commands/index.js.map +1 -1
  120. package/dist/src/chat-commands/types.d.ts +12 -1
  121. package/dist/src/config/agent-profile.js +1 -1
  122. package/dist/src/gateway/agents-admin.d.ts +5 -0
  123. package/dist/src/gateway/agents-admin.js +6 -1
  124. package/dist/src/gateway/agents-admin.js.map +1 -1
  125. package/dist/src/gateway/hono/routes/models.js +2 -1
  126. package/dist/src/gateway/hono/routes/models.js.map +1 -1
  127. package/dist/src/gateway/hono/routes/projects.js +88 -0
  128. package/dist/src/gateway/hono/routes/projects.js.map +1 -1
  129. package/dist/src/gateway/hono/routes/sessions.js +2 -1
  130. package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
  131. package/dist/src/gateway/hono/routes/workflows.js +1 -0
  132. package/dist/src/gateway/hono/routes/workflows.js.map +1 -1
  133. package/dist/src/gateway/image-capabilities.d.ts +7 -1
  134. package/dist/src/gateway/image-capabilities.js +16 -3
  135. package/dist/src/gateway/image-capabilities.js.map +1 -1
  136. package/dist/src/gateway/service/sessions-api.d.ts +1 -0
  137. package/dist/src/gateway/service/sessions-api.js.map +1 -1
  138. package/dist/src/gateway/service.js +3 -3
  139. package/dist/src/projects/project-loop.js +2 -2
  140. package/dist/src/projects/project-loop.js.map +1 -1
  141. package/dist/src/review/review-types.js +2 -1
  142. package/dist/src/review/review-types.js.map +1 -1
  143. package/dist/src/session/client-history.d.ts +1 -0
  144. package/dist/src/session/client-history.js +56 -0
  145. package/dist/src/session/client-history.js.map +1 -1
  146. package/dist/src/session/index.js +1 -1
  147. package/dist/src/session/manager.d.ts +1 -0
  148. package/dist/src/session/manager.js.map +1 -1
  149. package/dist/src/session/store.d.ts +1 -0
  150. package/dist/src/session/store.js +30 -1
  151. package/dist/src/session/store.js.map +1 -1
  152. package/dist/src/tui/backends/embedded-backend.js +1 -1
  153. package/dist/src/tui/components/assistant-message.js +10 -3
  154. package/dist/src/tui/components/assistant-message.js.map +1 -1
  155. package/dist/src/tui/components/bash-execution.d.ts +4 -0
  156. package/dist/src/tui/components/bash-execution.js +15 -7
  157. package/dist/src/tui/components/bash-execution.js.map +1 -1
  158. package/dist/src/tui/tool-summary.js +9 -3
  159. package/dist/src/tui/tool-summary.js.map +1 -1
  160. package/dist/src/tui/tui-submit.d.ts +3 -0
  161. package/dist/src/tui/tui-submit.js +24 -1
  162. package/dist/src/tui/tui-submit.js.map +1 -1
  163. package/dist/src/tui/tui.js +29 -2
  164. package/dist/src/tui/tui.js.map +1 -1
  165. package/dist/src/work-items/index.d.ts +1 -0
  166. package/dist/src/work-items/index.js +2 -1
  167. package/dist/src/work-items/work-item-workflow-judge.d.ts +8 -0
  168. package/dist/src/work-items/work-item-workflow-judge.js +50 -0
  169. package/dist/src/work-items/work-item-workflow-judge.js.map +1 -0
  170. package/dist/src/workflows/domain/run.d.ts +17 -0
  171. package/dist/src/workflows/domain/run.js.map +1 -1
  172. package/dist/src/workflows/service/workflow-run-service.d.ts +3 -0
  173. package/dist/src/workflows/service/workflow-run-service.js +67 -0
  174. package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
  175. package/dist/src/workflows/service/workflow-run-service.types.d.ts +4 -1
  176. package/dist/src/workflows/service/workflow-session-bridge.d.ts +1 -0
  177. package/dist/src/workflows/service/workflow-session-bridge.js +45 -0
  178. package/dist/src/workflows/service/workflow-session-bridge.js.map +1 -1
  179. package/package.json +1 -1
  180. package/dist/gateway/static/root/assets/Combination-BzaXOLd9.js +0 -41
  181. package/dist/gateway/static/root/assets/agents-BP0iRtiu.js +0 -2
  182. package/dist/gateway/static/root/assets/apps-page-12_2SDFq.js +0 -1
  183. package/dist/gateway/static/root/assets/automations-page-V-tw6y1o.js +0 -4
  184. package/dist/gateway/static/root/assets/browser-settings-page-aMPnxWXi.js +0 -8
  185. package/dist/gateway/static/root/assets/capability-presets-api-CsaY2Z8B.js +0 -1
  186. package/dist/gateway/static/root/assets/channels-settings-N8NujD--.js +0 -1
  187. package/dist/gateway/static/root/assets/channels-status-swr-BG_j4Ci-.js +0 -1
  188. package/dist/gateway/static/root/assets/connectors-page-zBJbFgnK.js +0 -2
  189. package/dist/gateway/static/root/assets/desktop-pet-DfA-hVlt.js +0 -1
  190. package/dist/gateway/static/root/assets/dist-CkobR7mk.js +0 -1
  191. package/dist/gateway/static/root/assets/dist-DokQNVMQ.js +0 -1
  192. package/dist/gateway/static/root/assets/goal-create-dialog-BOWSTGB-.js +0 -1
  193. package/dist/gateway/static/root/assets/goal-detail-page-CCLgkqj1.js +0 -4
  194. package/dist/gateway/static/root/assets/goals-page-CsfIp8Vl.js +0 -2
  195. package/dist/gateway/static/root/assets/index-BOme955B.js +0 -262
  196. package/dist/gateway/static/root/assets/index-DXUkWmeK.css +0 -1
  197. package/dist/gateway/static/root/assets/logs-page-CW7AMYhN.js +0 -7
  198. package/dist/gateway/static/root/assets/messages-DR9ODkb8.js +0 -3
  199. package/dist/gateway/static/root/assets/models-hub-panel-mKfeyGVq.js +0 -2
  200. package/dist/gateway/static/root/assets/notes-page-DYw5zPeJ.js +0 -1
  201. package/dist/gateway/static/root/assets/notes-workbench-SPdKpvSN.js +0 -2
  202. package/dist/gateway/static/root/assets/project-detail-page-D3yP4K3k.js +0 -1
  203. package/dist/gateway/static/root/assets/projects-page-B6EV45NR.js +0 -1
  204. package/dist/gateway/static/root/assets/remote-access-hub-9foX60FQ.js +0 -1
  205. package/dist/gateway/static/root/assets/sessions-page-BReBhxWd.js +0 -1
  206. package/dist/gateway/static/root/assets/settings-advanced-gate-DNDBN4nT.js +0 -1
  207. package/dist/gateway/static/root/assets/setup-status-panel-C8UtBMJ_.js +0 -1
  208. package/dist/gateway/static/root/assets/shares-settings-xXAMKlc7.js +0 -1
  209. package/dist/gateway/static/root/assets/skill-reload-api-CurjHfEM.js +0 -1
  210. package/dist/gateway/static/root/assets/skills-page-BRR7NQkL.js +0 -2
  211. package/dist/gateway/static/root/assets/voice-api-key-field-DCiECZN1.js +0 -1
  212. package/dist/gateway/static/root/assets/work-item-detail-page-DAel5CHH.js +0 -1
  213. package/dist/gateway/static/root/assets/workflow-run-setup-panel-2w0zj9eJ.js +0 -3
  214. package/dist/gateway/static/root/assets/workflow-start-dialog-B5xdDFV-.js +0 -1
  215. 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-BOme955B.js"></script>
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/dist-DokQNVMQ.js">
19
- <link rel="modulepreload" crossorigin href="/assets/Combination-BzaXOLd9.js">
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-DR9ODkb8.js">
27
- <link rel="modulepreload" crossorigin href="/assets/fetch-6HXXdO77.js">
28
- <link rel="modulepreload" crossorigin href="/assets/gateway-startup-retry-BE1M9fH_.js">
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-DXUkWmeK.css">
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
@@ -1,5 +1,5 @@
1
1
  //#region package.json
2
- var version = "0.0.134";
2
+ var version = "0.0.136";
3
3
  //#endregion
4
4
  export { version };
5
5
 
@@ -2,6 +2,7 @@ import type { Config } from '../../config/schema.js';
2
2
  export declare function resolveInboundImageContentParts(params: {
3
3
  modelRef: string;
4
4
  cfg?: Config;
5
+ agentId?: string;
5
6
  userTextForContext: string;
6
7
  images: Array<{
7
8
  data: string;
@@ -8,7 +8,10 @@ async function resolveInboundImageContentParts(params) {
8
8
  data: att.data,
9
9
  mimeType: att.mimeType
10
10
  }));
11
- const toolCfg = resolveImageModelConfigForTool({ cfg: params.cfg });
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,QAKiD;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,KAAK,CAAC;CACnE,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"}
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
- }): ToolModelConfig | null;
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
- }): ToolModelConfig | null;
38
+ agentId?: string;
39
+ }): ResolvedImageModelConfig | null;
@@ -1,8 +1,11 @@
1
1
  import { getAgentDefaultImageModelConfig, getAgentDefaultModelRef, init_schema, parseModelRef } from "../../config/schema.js";
2
- import { getDefaultModelSync, getModelsByProvider, init_providers, isProviderConfiguredSync } from "../../providers/index.js";
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 params.explicit;
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 resolveImageModelConfigForTool(params) {
55
- const explicit = coerceToolModelConfig(params.cfg ? getAgentDefaultImageModelConfig(params.cfg) : void 0);
56
- if (hasToolModelConfig(explicit)) return explicit;
57
- const primary = resolveDefaultModelRef(params.cfg);
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") ?? "openai/gpt-5.6-luna",
69
- firstVisionModelRef("anthropic") ?? "anthropic/claude-sonnet-5"
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"}