@wandox/sdk 0.1.35 → 0.1.36

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 (105) hide show
  1. package/dist/{V1Workbench-Duh15otc.js → V1Workbench-BTDED9f0.js} +4 -4
  2. package/dist/{V1Workbench-OnGicnM-.cjs → V1Workbench-dkHeo8tR.cjs} +1 -1
  3. package/dist/{V2Workbench-Cwx-XP5u.js → V2Workbench-P9muvE1U.js} +72 -72
  4. package/dist/{V2Workbench-ChqSBXHY.cjs → V2Workbench-Un5ZzXV7.cjs} +2 -2
  5. package/dist/{WorkbenchRuntime-QRXyaZ5I.cjs → WorkbenchRuntime-C-WMn1Qs.cjs} +1 -1
  6. package/dist/{WorkbenchRuntime-B2C8SbrZ.js → WorkbenchRuntime-DwnSaeU0.js} +2 -2
  7. package/dist/{arc-CfnbUnJa.cjs → arc-DnAFTAlx.cjs} +1 -1
  8. package/dist/{arc-C3McnqVx.js → arc-lrZAmC97.js} +1 -1
  9. package/dist/{architectureDiagram-3BPJPVTR-EmeNsmhR.cjs → architectureDiagram-3BPJPVTR-CPhTU6Eo.cjs} +1 -1
  10. package/dist/{architectureDiagram-3BPJPVTR-DKV9z5FO.js → architectureDiagram-3BPJPVTR-qSATMtIu.js} +3 -3
  11. package/dist/{blockDiagram-GPEHLZMM-CwMlZLrY.js → blockDiagram-GPEHLZMM-CDwrkiVy.js} +3 -3
  12. package/dist/{blockDiagram-GPEHLZMM-B3PO97gR.cjs → blockDiagram-GPEHLZMM-XVMF04BT.cjs} +1 -1
  13. package/dist/{c4Diagram-AAUBKEIU-DDvw0p9i.js → c4Diagram-AAUBKEIU-CGowpJup.js} +2 -2
  14. package/dist/{c4Diagram-AAUBKEIU-CIJm8DIv.cjs → c4Diagram-AAUBKEIU-DffwDzj1.cjs} +1 -1
  15. package/dist/{channel-B6D2dt-a.cjs → channel-BXFE-BpN.cjs} +1 -1
  16. package/dist/{channel-BW_f3mZ1.js → channel-CY7r6qlF.js} +1 -1
  17. package/dist/{chunk-2J33WTMH-CAtXTwyr.cjs → chunk-2J33WTMH-D4rEqGzt.cjs} +1 -1
  18. package/dist/{chunk-2J33WTMH-B9LmfIjP.js → chunk-2J33WTMH-DuCYldMe.js} +1 -1
  19. package/dist/{chunk-4BX2VUAB-TTJvrk_8.cjs → chunk-4BX2VUAB-BsCUMKlS.cjs} +1 -1
  20. package/dist/{chunk-4BX2VUAB-C_E82st1.js → chunk-4BX2VUAB-Cxp0_Qfx.js} +1 -1
  21. package/dist/{chunk-55IACEB6-CuKoQ8P-.js → chunk-55IACEB6-BLJmAN4x.js} +1 -1
  22. package/dist/{chunk-55IACEB6-Co8MIdgs.cjs → chunk-55IACEB6-XDcbyyvP.cjs} +1 -1
  23. package/dist/{chunk-727SXJPM-Cup_K8Hg.cjs → chunk-727SXJPM-1bTbq9QM.cjs} +1 -1
  24. package/dist/{chunk-727SXJPM-Cs8uS9SJ.js → chunk-727SXJPM-BjPhiU2p.js} +5 -5
  25. package/dist/{chunk-AQP2D5EJ-Ck3VZgwQ.js → chunk-AQP2D5EJ-CGe-fbI_.js} +3 -3
  26. package/dist/{chunk-AQP2D5EJ-BJ2GPeyZ.cjs → chunk-AQP2D5EJ-EH5FWOXH.cjs} +1 -1
  27. package/dist/{chunk-FMBD7UC4-ClCmPgT2.cjs → chunk-FMBD7UC4-BEhZw-9x.cjs} +1 -1
  28. package/dist/{chunk-FMBD7UC4-_xpDdMNi.js → chunk-FMBD7UC4-BrTtqwn9.js} +1 -1
  29. package/dist/{chunk-ND2GUHAM-BahupltG.js → chunk-ND2GUHAM-C22ALL-1.js} +1 -1
  30. package/dist/{chunk-ND2GUHAM-5_kT1SOB.cjs → chunk-ND2GUHAM-CTAo-Gfu.cjs} +1 -1
  31. package/dist/{chunk-QZHKN3VN-CdL_F3Vv.js → chunk-QZHKN3VN-C_Ih-bcC.js} +1 -1
  32. package/dist/{chunk-QZHKN3VN-Ca5tmmHx.cjs → chunk-QZHKN3VN-R1cC06zp.cjs} +1 -1
  33. package/dist/{classDiagram-4FO5ZUOK-CnMvmQcX.js → classDiagram-4FO5ZUOK-C_wQW8PQ.js} +2 -2
  34. package/dist/{classDiagram-4FO5ZUOK-DZ87tNdh.cjs → classDiagram-4FO5ZUOK-scM2IOJa.cjs} +1 -1
  35. package/dist/{classDiagram-v2-Q7XG4LA2-90g5yMq9.js → classDiagram-v2-Q7XG4LA2-B0_wL31A.js} +2 -2
  36. package/dist/{classDiagram-v2-Q7XG4LA2-DZ87tNdh.cjs → classDiagram-v2-Q7XG4LA2-scM2IOJa.cjs} +1 -1
  37. package/dist/{cose-bilkent-S5V4N54A-DOMJ8Dw0.js → cose-bilkent-S5V4N54A-DXGf68xP.js} +2 -2
  38. package/dist/{cose-bilkent-S5V4N54A-D9USBZBY.cjs → cose-bilkent-S5V4N54A-DpRpmxlF.cjs} +1 -1
  39. package/dist/{dagre-BM42HDAG-D9xkOYd1.cjs → dagre-BM42HDAG-Bllljh6b.cjs} +1 -1
  40. package/dist/{dagre-BM42HDAG-BruKrkrz.js → dagre-BM42HDAG-DAmZKlMa.js} +1 -1
  41. package/dist/{diagram-2AECGRRQ-CHwHxLjN.cjs → diagram-2AECGRRQ-BtVZDvFi.cjs} +1 -1
  42. package/dist/{diagram-2AECGRRQ-B7fBRPEm.js → diagram-2AECGRRQ-e4xTSyXB.js} +2 -2
  43. package/dist/{diagram-5GNKFQAL-C68LRU93.js → diagram-5GNKFQAL-B57ntKRP.js} +3 -3
  44. package/dist/{diagram-5GNKFQAL-B3sIjwSe.cjs → diagram-5GNKFQAL-DDznFCpC.cjs} +1 -1
  45. package/dist/{diagram-KO2AKTUF-CZkt3wwK.cjs → diagram-KO2AKTUF-B1_pEYsh.cjs} +1 -1
  46. package/dist/{diagram-KO2AKTUF-Decii5jM.js → diagram-KO2AKTUF-CZHRsaEN.js} +2 -2
  47. package/dist/{diagram-LMA3HP47-D7hixvGx.cjs → diagram-LMA3HP47-DCOfsSfF.cjs} +1 -1
  48. package/dist/{diagram-LMA3HP47-BRJpaLnd.js → diagram-LMA3HP47-Dw1iJ4GY.js} +2 -2
  49. package/dist/{diagram-OG6HWLK6-dSSwZ9rN.cjs → diagram-OG6HWLK6-C9iJ1_vk.cjs} +1 -1
  50. package/dist/{diagram-OG6HWLK6-DwSOhl1j.js → diagram-OG6HWLK6-DBRyn55R.js} +3 -3
  51. package/dist/{erDiagram-TEJ5UH35-CCZ0q594.cjs → erDiagram-TEJ5UH35-CQLcSzGq.cjs} +1 -1
  52. package/dist/{erDiagram-TEJ5UH35-ClUTkoiL.js → erDiagram-TEJ5UH35-CwU_D9zQ.js} +4 -4
  53. package/dist/{flowDiagram-I6XJVG4X-BN-jwNXL.cjs → flowDiagram-I6XJVG4X-BXfh71rU.cjs} +1 -1
  54. package/dist/{flowDiagram-I6XJVG4X-CfhSJE55.js → flowDiagram-I6XJVG4X-DeoNy8j_.js} +6 -6
  55. package/dist/{ganttDiagram-6RSMTGT7-Dq7VvM2M.js → ganttDiagram-6RSMTGT7-Df26R8Yw.js} +3 -3
  56. package/dist/{ganttDiagram-6RSMTGT7-CF1liYk-.cjs → ganttDiagram-6RSMTGT7-zl3WHbE2.cjs} +1 -1
  57. package/dist/{gitGraphDiagram-PVQCEYII-P9t07gif.cjs → gitGraphDiagram-PVQCEYII-B1DCGlgk.cjs} +1 -1
  58. package/dist/{gitGraphDiagram-PVQCEYII-odnoukk4.js → gitGraphDiagram-PVQCEYII-D4lV7Wyt.js} +3 -3
  59. package/dist/{index-Cq6GT084.js → index-B6ippZgO.js} +1 -1
  60. package/dist/{index-4FmQg3Zk.js → index-B7ymMLUP.js} +8 -8
  61. package/dist/{index-CFEgQrfn.js → index-C5MgqruW.js} +3 -3
  62. package/dist/{index-CLCe0Dgz.cjs → index-CgghWcty.cjs} +1 -1
  63. package/dist/{index-BQMJ9VDu.cjs → index-D2f85EfC.cjs} +1 -1
  64. package/dist/{index-CQgUKSVP.cjs → index-Fogne5nt.cjs} +6 -6
  65. package/dist/{infoDiagram-5YYISTIA-CzWTUV3i.js → infoDiagram-5YYISTIA-BVUPRn39.js} +1 -1
  66. package/dist/{infoDiagram-5YYISTIA-vIftEDKa.cjs → infoDiagram-5YYISTIA-CQzoD1R6.cjs} +1 -1
  67. package/dist/{ishikawaDiagram-YF4QCWOH-DoFATknv.cjs → ishikawaDiagram-YF4QCWOH-B2szA0Bd.cjs} +1 -1
  68. package/dist/{ishikawaDiagram-YF4QCWOH-5oQSrlLN.js → ishikawaDiagram-YF4QCWOH-D-w9d_mh.js} +1 -1
  69. package/dist/{journeyDiagram-JHISSGLW-DUspfQIx.cjs → journeyDiagram-JHISSGLW-BlZOXaNG.cjs} +1 -1
  70. package/dist/{journeyDiagram-JHISSGLW-BHsXT1p8.js → journeyDiagram-JHISSGLW-DvxAjmWW.js} +4 -4
  71. package/dist/{kanban-definition-UN3LZRKU-CbizhZ4A.js → kanban-definition-UN3LZRKU-3ITzwD_V.js} +2 -2
  72. package/dist/{kanban-definition-UN3LZRKU-BqKlDwWt.cjs → kanban-definition-UN3LZRKU-uWpfk339.cjs} +1 -1
  73. package/dist/{linear-O3WIbS9A.js → linear-h0PKX5pS.js} +1 -1
  74. package/dist/{linear-BeJA81Is.cjs → linear-xTyNvSvf.cjs} +1 -1
  75. package/dist/{mermaid.core-C-YWP2jz.js → mermaid.core-B-oz1JHo.js} +35 -35
  76. package/dist/{mermaid.core-EIMF3BAo.cjs → mermaid.core-BNCrNPF3.cjs} +3 -3
  77. package/dist/{mindmap-definition-RKZ34NQL-DcaDYCfJ.cjs → mindmap-definition-RKZ34NQL-CP2xdC8i.cjs} +1 -1
  78. package/dist/{mindmap-definition-RKZ34NQL-yQ9g46ph.js → mindmap-definition-RKZ34NQL-iv6ScGf8.js} +3 -3
  79. package/dist/{pieDiagram-4H26LBE5-DDbOWta5.cjs → pieDiagram-4H26LBE5-DBlTRpYF.cjs} +1 -1
  80. package/dist/{pieDiagram-4H26LBE5-BPAmrvlh.js → pieDiagram-4H26LBE5-DG5ob37D.js} +3 -3
  81. package/dist/{quadrantDiagram-W4KKPZXB-7EOeN28t.cjs → quadrantDiagram-W4KKPZXB-BIJcQpbE.cjs} +1 -1
  82. package/dist/{quadrantDiagram-W4KKPZXB-CBFKlxRx.js → quadrantDiagram-W4KKPZXB-gdLXyrgM.js} +2 -2
  83. package/dist/{requirementDiagram-4Y6WPE33-BAkakkMp.cjs → requirementDiagram-4Y6WPE33-BZupS8ve.cjs} +1 -1
  84. package/dist/{requirementDiagram-4Y6WPE33-BZk_3wFB.js → requirementDiagram-4Y6WPE33-Devp3bFn.js} +3 -3
  85. package/dist/{sankeyDiagram-5OEKKPKP-CrbL-5cr.js → sankeyDiagram-5OEKKPKP-DclF12AE.js} +1 -1
  86. package/dist/{sankeyDiagram-5OEKKPKP-DYEggaLM.cjs → sankeyDiagram-5OEKKPKP-YmUkqYvM.cjs} +1 -1
  87. package/dist/{sequenceDiagram-3UESZ5HK-B2Yk8NuE.js → sequenceDiagram-3UESZ5HK-Bp3v1G4L.js} +3 -3
  88. package/dist/{sequenceDiagram-3UESZ5HK-cky8-ajI.cjs → sequenceDiagram-3UESZ5HK-Cc6KiFLH.cjs} +1 -1
  89. package/dist/{stateDiagram-AJRCARHV-4peSgT8x.cjs → stateDiagram-AJRCARHV-BhKrmX4f.cjs} +1 -1
  90. package/dist/{stateDiagram-AJRCARHV-DKppy5jM.js → stateDiagram-AJRCARHV-DzpR85VO.js} +2 -2
  91. package/dist/{stateDiagram-v2-BHNVJYJU-CefiWaGq.cjs → stateDiagram-v2-BHNVJYJU-C0Aq_ia1.cjs} +1 -1
  92. package/dist/{stateDiagram-v2-BHNVJYJU-DsQP1CsR.js → stateDiagram-v2-BHNVJYJU-DwsxsR-W.js} +2 -2
  93. package/dist/{timeline-definition-PNZ67QCA-CFJYzYQn.cjs → timeline-definition-PNZ67QCA-AdSmOXjp.cjs} +1 -1
  94. package/dist/{timeline-definition-PNZ67QCA-snDcaYSq.js → timeline-definition-PNZ67QCA-B87x3yay.js} +2 -2
  95. package/dist/{vennDiagram-CIIHVFJN-RPKP_Mb2.cjs → vennDiagram-CIIHVFJN-CLpzW4Nc.cjs} +1 -1
  96. package/dist/{vennDiagram-CIIHVFJN-BniEMR4w.js → vennDiagram-CIIHVFJN-GqWq5zHi.js} +1 -1
  97. package/dist/wandox.cjs +1 -1
  98. package/dist/wandox.css +1 -1
  99. package/dist/wandox.js +1 -1
  100. package/dist/wandox.umd.js +2 -2
  101. package/dist/{wardleyDiagram-YWT4CUSO-DvDYViI5.js → wardleyDiagram-YWT4CUSO-5_EScJ4X.js} +2 -2
  102. package/dist/{wardleyDiagram-YWT4CUSO-msArC69-.cjs → wardleyDiagram-YWT4CUSO-Cls7iV6P.cjs} +1 -1
  103. package/dist/{xychartDiagram-2RQKCTM6-B4nZMXk5.cjs → xychartDiagram-2RQKCTM6-D8JYg9fO.cjs} +1 -1
  104. package/dist/{xychartDiagram-2RQKCTM6-CEcIgPon.js → xychartDiagram-2RQKCTM6-DbdkH607.js} +2 -2
  105. package/package.json +1 -1
@@ -1097,8 +1097,8 @@ Please report this to https://github.com/markedjs/marked.`,t){let i="<p>An error
1097
1097
  `)}`,Re=new Blob([Le],{type:"text/csv;charset=utf-8;"}),ue=URL.createObjectURL(Re),de=document.createElement("a");de.href=ue,de.download=`执行结果_${xe}.csv`,de.click(),URL.revokeObjectURL(ue)}else{const pe=JSON.stringify(te??I,null,2),Ae=new Blob([pe],{type:"application/json"}),Te=URL.createObjectURL(Ae),Le=document.createElement("a");Le.href=Te,Le.download=`执行结果_${xe}.json`,Le.click(),URL.revokeObjectURL(Te)}kt.success("导出成功")}catch{kt.error("导出失败")}},se=!!(s&&a||i)?E.jsxs("div",{className:"exec-tracker__run-actions",children:[s&&a&&E.jsx(ur,{block:!0,icon:E.jsx(lkr,{}),onClick:a,children:"返回修改参数"}),i&&E.jsx(ur,{block:!0,icon:E.jsx(Vv,{}),onClick:i,children:"再次执行"})]}):null,ce=g==="completed"?E.jsxs(E.Fragment,{children:[se,E.jsxs("div",{className:"exec-tracker__run-actions exec-tracker__run-actions--primary",children:[I&&E.jsx(ur,{block:!0,icon:E.jsx($A,{}),onClick:re,children:"导出"}),E.jsx(ur,{type:"primary",block:!0,onClick:()=>A(!0),children:"流转给用户"})]})]}):g==="failed"||g==="cancelled"?E.jsxs(E.Fragment,{children:[se,E.jsx(ur,{block:!0,className:"exec-tracker__actions",onClick:r,children:"返回智能体列表"})]}):null;return E.jsxs("div",{className:"exec-tracker",children:[E.jsxs("div",{className:"exec-tracker__content",children:[l.length>1&&E.jsx("div",{className:"exec-tracker__flow",children:E.jsx(_Ke,{current:H,size:"small",labelPlacement:"vertical",className:"exec-tracker__flow-steps",onChange:le=>{var te;return L(((te=l[le])==null?void 0:te.step_id)??null)},items:J})}),l.length===1&&z&&E.jsxs("div",{className:`exec-tracker__single-flow exec-tracker__single-flow--${z.status||g}`,children:[E.jsx("span",{className:"exec-tracker__single-flow-mark","aria-hidden":"true"}),E.jsxs("div",{children:[E.jsx("div",{className:"exec-tracker__single-flow-title",children:z.step_name||"当前流程"}),E.jsxs("div",{className:"exec-tracker__single-flow-meta",children:[E.jsx("span",{children:d3e[z.status]||z.status||"执行中"}),z.playbook_id&&E.jsx("span",{children:z.playbook_id}),Z&&E.jsx("span",{children:Z.substep_name}),z.duration_ms!=null&&E.jsx("span",{children:Gte(z.duration_ms)})]})]})]}),g==="running"&&!Q&&E.jsxs("output",{className:"exec-tracker__running","aria-live":"polite",children:[E.jsxs("div",{className:"exec-tracker__running-track","aria-hidden":"true",children:[E.jsx("span",{}),E.jsx("span",{}),E.jsx("span",{})]}),E.jsxs("div",{className:"exec-tracker__running-caption",children:[E.jsx("span",{className:"exec-tracker__running-dot","aria-hidden":"true"}),E.jsx("span",{children:K?K.message||`正在执行:${K.substep_name}`:"后台处理中,结果会自动更新"})]})]}),Q&&G&&E.jsxs("div",{className:"exec-tracker__step-detail",children:[E.jsxs("div",{className:"exec-tracker__step-detail-header",children:[E.jsxs("div",{children:[E.jsx("div",{className:"exec-tracker__step-detail-title",children:G.step_name||`步骤 ${G.step_index+1}`}),E.jsxs("div",{className:"exec-tracker__step-detail-meta",children:[E.jsx("span",{children:G.step_id}),G.playbook_id&&E.jsx("span",{children:G.playbook_id}),G.duration_ms!=null&&E.jsx("span",{children:Gte(G.duration_ms)})]})]}),E.jsx(hs,{color:G.status==="failed"?"error":G.status==="completed"?"success":G.status==="pending"?"default":"processing",children:d3e[G.status]||G.status})]}),X?E.jsx("div",{className:"exec-tracker__step-detail-content",children:E.jsx(qo,{payload:q})}):null,Y.length>0?E.jsx("div",{className:"wandox-exec-tracker-substeps",children:Y.map(le=>{const te=vkn(le),oe=Gte(le.duration_ms);return E.jsxs("div",{className:`wandox-exec-tracker-substeps__item wandox-exec-tracker-substeps__item--${le.status}`,children:[E.jsx("span",{className:"wandox-exec-tracker-substeps__dot","aria-hidden":"true"}),E.jsxs("div",{className:"wandox-exec-tracker-substeps__body",children:[E.jsxs("div",{className:"wandox-exec-tracker-substeps__head",children:[E.jsxs("strong",{children:[le.substep_index,". ",le.substep_name]}),E.jsx(hs,{color:le.status==="failed"?"error":le.status==="completed"?"success":le.status==="running"?"processing":"default",children:pkn[le.status]})]}),E.jsxs("div",{className:"wandox-exec-tracker-substeps__meta",children:[le.skill_id&&E.jsx("span",{children:le.skill_id}),oe&&E.jsx("span",{children:oe}),le.is_stop_on_empty&&E.jsx("span",{children:"数据为空已停止"})]}),le.error?E.jsx("div",{className:"wandox-exec-tracker-substeps__error",children:le.error}):null,te!==null?E.jsx("div",{className:"wandox-exec-tracker-substeps__preview",children:E.jsx(qo,{payload:te})}):null]})]},le.id)})}):null]}),g==="waiting_input"&&E.jsxs("div",{className:"exec-tracker__human",children:[E.jsxs("div",{className:"exec-tracker__human-header",children:[E.jsx("span",{className:"exec-tracker__human-icon",children:"!"}),E.jsxs("div",{children:[E.jsx("div",{className:"exec-tracker__human-title",children:(w==null?void 0:w.message)||"需要人工确认"}),(w==null?void 0:w.playbook_name)&&E.jsx("div",{className:"exec-tracker__human-sub",children:w.playbook_name})]})]}),E.jsx("div",{className:"exec-tracker__input-form",children:w&&E.jsx(FEe,{data:w,submitting:_,actionsPlacement:"bottom",onSubmit:B})})]}),g==="completed"&&E.jsxs("div",{className:"exec-tracker__result",children:[E.jsxs("div",{className:"exec-tracker__result-header",children:[E.jsx(Fb,{style:{color:"#52c41a"}}),E.jsx(nAt,{strong:!0,style:{color:"#389e0d"},children:"执行结果"})]}),E.jsx("div",{className:"exec-tracker__result-body",children:I?I.output_type==="debug"?E.jsx(qo,{payload:Gy("card",I.output,I.output_fields_map,I.title)}):E.jsx(qo,{payload:RB(I)}):E.jsx(nAt,{type:"secondary",style:{fontSize:12},children:"执行完成,结果已保存"})})]}),(g==="failed"||g==="cancelled")&&E.jsx("div",{className:"exec-tracker__failure",children:v&&E.jsxs("div",{className:"exec-tracker__failure-message",children:[E.jsx("div",{className:"exec-tracker__failure-title",children:g==="cancelled"?"执行已取消":"执行失败"}),E.jsx("div",{className:"exec-tracker__failure-text",children:v})]})})]}),ce&&E.jsx("div",{className:"exec-tracker__footer",children:ce}),E.jsx(u3e,{open:k,onClose:()=>A(!1),resultId:P??void 0})]})}const xkn=[{category:"数据提取与筛选",templates:[{name:"字段抽取",content:"从数据中提取以下字段:[字段1、字段2、字段3],以 JSON 数组形式输出,字段不存在时填 null。"},{name:"条件筛选",content:"筛选出满足以下条件的条目:[条件描述],保留原始字段结构输出。"},{name:"ASIN 属性提取",content:"从商品数据中提取 ASIN、标题、品牌、价格、评分、评论数、BSR 排名,以表格形式输出。"}]},{category:"汇总与统计",templates:[{name:"分组统计",content:"按 [分组维度] 对数据分组,统计每组的 [指标],按该指标降序排列,输出前 [N] 项。"},{name:"对比分析",content:"对比 [对象A] 和 [对象B] 在以下维度的差异:[维度列表],用表格输出,最后一句话总结核心差异。"},{name:"销售趋势汇总",content:"按日期汇总销售数据,计算每日销量、销售额、均价,标注环比变化超过20%的异常日期。"}]},{category:"摘要与总结",templates:[{name:"结构化摘要",content:'对数据进行摘要,输出:一句话结论、3个关键发现、值得关注的异常点(若无则写"无")。语言简洁。'},{name:"精简总结",content:"用不超过 [N] 字总结核心内容,面向 [运营/老板/工程师],只保留有决策价值的信息。"},{name:"评论情感汇总",content:"分析商品评论,汇总正面评价TOP3要点、负面评价TOP3要点、改进建议,以结构化列表输出。"}]},{category:"分类与质检",templates:[{name:"多标签分类",content:'为每条数据打标签,候选标签:[标签列表],一条可多标签,无匹配标注"其他"。'},{name:"数据校验",content:"检查数据异常项,异常定义:[规则描述],输出异常条目及原因,无异常返回空数组。"},{name:"Listing 质量检查",content:"检查 Listing 的标题长度、要点数量、图片数量、A+内容是否完整,输出各项得分和改进建议。"}]},{category:"转换与改写",templates:[{name:"格式转换",content:"将数据从 [原格式] 转换为 [目标格式],保持字段语义一致,不新增不删减。"},{name:"多语言翻译",content:"将 [字段名/全部文本] 翻译为 [目标语言],保留专有名词原文,其他结构不变。"}]}];function wkn({onSelect:e}){return E.jsxs("div",{className:"afd-prompt-templates",children:[E.jsx("div",{className:"afd-prompt-templates-title",children:"提示词模板"}),E.jsx(fhe,{ghost:!0,size:"small",items:xkn.map((t,r)=>({key:String(r),label:E.jsx("span",{style:{fontSize:12,fontWeight:500,color:"#374151"},children:t.category}),children:E.jsx("div",{className:"afd-prompt-tpl-list",children:t.templates.map((n,i)=>E.jsxs("div",{className:"afd-prompt-tpl-item",onClick:()=>e(n.content),children:[E.jsx("span",{className:"afd-prompt-tpl-name",children:n.name}),E.jsxs("span",{className:"afd-prompt-tpl-preview",children:[n.content.slice(0,40),"..."]})]},i))})}))})]})}function iAt(e,t){return e instanceof Error&&e.message||typeof e=="object"&&e!==null&&"message"in e&&typeof e.message=="string"?e.message:t}function Skn(){var le;const{showAgentDrawer:e,editingAgent:t,pendingTransferId:r,formName:n,formSceneId:i,formPlaybooks:a,playbooksLoading:s,scenesLoading:o,scenes:l,scenePlaybooks:u,setShowAgentDrawer:d,setEditingAgent:h,setFormName:f,setFormSceneId:p,setFormPlaybooks:g,resetForm:m,loadScenes:v,loadScenePlaybooks:y}=Sa(),{acceptTransfer:x}=l3e(),b=pl(),w=Nf({...dp.agents.create(),onSuccess:()=>Hh(b,{type:"agent-created"})}),C=Nf({...dp.agents.update(),onSuccess:(te,{agentId:oe})=>Hh(b,{type:"agent-updated",agentId:oe})}),_=w.isPending||C.isPending,T=!!t,k=!!r,[A,I]=S.useState("config"),[$,P]=S.useState(!1),[N,R]=S.useState(!1);S.useEffect(()=>{e||I("config")},[e]),S.useEffect(()=>{e&&v()},[e]),S.useEffect(()=>{t&&e&&(f(t.name),p(t.scene_id),t.description&&Sa.setState({formDescription:t.description}),t.playbooks&&t.playbooks.length>0?g(t.playbooks.map(te=>({playbook_id:te.playbook_id,params:te.params&&typeof te.params=="object"&&!Array.isArray(te.params)?te.params:{}}))):t.playbook_ids&&t.playbook_ids.length>0&&g(t.playbook_ids.map(te=>({playbook_id:te,params:{}}))))},[t,e]),S.useEffect(()=>{i&&y(i)},[i]);const L=async()=>{if(k){if(!r||!i)return;I("executing");const te=a[0],oe=(te==null?void 0:te.params)??{};try{await x(r,{action:"create_new",new_agent:{name:n.trim(),scene_id:i,playbook_ids:a.map(xe=>xe.playbook_id),playbooks:a.map(xe=>({playbook_id:xe.playbook_id,params:xe.params})),input_data:oe,description:Sa.getState().formDescription||void 0,result_config:[]},create_execution_chain:$,fan_out_enabled:N})}catch(xe){kt.error(iAt(xe,"创建失败"))}}else{const te=Sa.getState();try{if(t)await C.mutateAsync({agentId:t.id,data:{name:n.trim(),description:te.formDescription||void 0,playbooks:a,status:t.status}}),kt.success("智能体更新成功");else{if(!i)return;await w.mutateAsync({name:n.trim(),scene_id:i,playbooks:a,input_data:{},description:te.formDescription||void 0,schedule_enabled:te.formScheduleEnabled||void 0,schedule_type:te.formScheduleEnabled?te.formScheduleType:void 0,schedule_cron:te.formScheduleEnabled?te.formScheduleCron:void 0,schedule_params:te.formScheduleEnabled?te.formScheduleParams:void 0}),kt.success("智能体创建成功")}m(),d(!1)}catch(oe){kt.error(iAt(oe,t?"更新失败":"创建失败"))}}},M=()=>{m(),h(null),d(!1),I("config")},O=te=>{p(te),g([])},D=te=>{g([...a,{playbook_id:te,params:{}}])},F=te=>{g(a.filter((oe,xe)=>xe!==te))},B=(te,oe,xe)=>{const pe=[...a];pe[te]={...pe[te],params:{...pe[te].params,[oe]:xe}},g(pe)},[j,H]=S.useState({}),z=async(te,oe,xe)=>{var Ae;const pe=`${te}-${oe}`;H(Te=>({...Te,[pe]:!0}));try{const Le=(Ae=(await Kv(xe)).data)==null?void 0:Ae.url;Le?(B(te,oe,Le),kt.success(`${xe.name} 上传成功`)):kt.error("上传失败,未获取到文件地址")}catch{kt.error("文件上传失败")}finally{H(Te=>({...Te,[pe]:!1}))}},[W,G]=S.useState(null),q=te=>{G(te)},Y=(te,oe)=>{if(te.preventDefault(),W===null||W===oe)return;const xe=[...a],[pe]=xe.splice(W,1);xe.splice(oe,0,pe),g(xe),G(oe)},K=()=>{G(null)},Z=te=>u.find(oe=>oe.playbook_id===te),X=te=>{var oe;return((oe=Z(te))==null?void 0:oe.name)??te},Q=S.useMemo(()=>a.map((te,oe)=>({entry:te,idx:oe,pb:Z(te.playbook_id)})).filter(({idx:te,pb:oe})=>(k?!0:te>0)&&(oe==null?void 0:oe.input_params)&&oe.input_params.length>0),[a,u,k]),J=()=>n.trim()?i?a.length===0?(kt.warning("请至少选择一个分析技能"),!1):!0:(kt.warning("请选择场景"),!1):(kt.warning("请输入智能体名称"),!1),re=()=>{if(A==="config"){if(!J())return;Q.length>0?I("params"):L()}else if(A==="params"){if(!se())return;L()}},ne=()=>{A==="params"&&I("config")},se=()=>{for(const{entry:te,pb:oe}of Q)for(const xe of oe.input_params)if(xe.required&&!te.params[xe.name]&&te.params[xe.name]!==0)return kt.warning(`请填写「${oe.name}」的参数「${xe.label||xe.name}」`),!1;return!0},ce=()=>A==="executing"?E.jsx("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center"},children:E.jsx("button",{type:"button",className:"afd-cancel",onClick:M,children:"关闭"})}):A==="config"?Q.length>0?E.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[E.jsx("button",{type:"button",className:"afd-cancel",onClick:M,children:"取消"}),E.jsx(ur,{type:"primary",icon:E.jsx(pq,{}),onClick:re,style:{borderRadius:8,fontWeight:500},children:"下一步"})]}):E.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[E.jsx("button",{type:"button",className:"afd-cancel",onClick:M,children:"取消"}),E.jsx(ur,{type:"primary",icon:k?E.jsx(If,{}):T?E.jsx(ym,{}):E.jsx(Bl,{}),onClick:re,loading:_,style:{borderRadius:8,fontWeight:500},children:k?"创建并执行":T?"保存修改":"创建智能体"})]}):E.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[E.jsx(ur,{icon:E.jsx(WS,{}),onClick:ne,style:{borderRadius:8},children:"上一步"}),E.jsx(ur,{type:"primary",icon:k?E.jsx(If,{}):T?E.jsx(ym,{}):E.jsx(Bl,{}),onClick:re,loading:_,style:{borderRadius:8,fontWeight:500},children:k?"创建并执行":T?"保存修改":"创建智能体"})]});return E.jsxs(OS,{title:null,open:e,onClose:M,size:640,closable:!1,maskClosable:!0,styles:{body:{padding:0},footer:{padding:"12px 24px",borderTop:"1px solid #f0f0f0"}},footer:ce(),children:[E.jsxs("div",{className:"afd-header",children:[E.jsx("div",{className:"afd-header-title",children:k?"创建智能体并接受流转":T?"编辑智能体":"新建智能体"}),E.jsxs("div",{className:"afd-header-sub",children:[A==="config"&&"配置智能体的场景和技能",A==="params"&&"补充技能所需的参数信息",A==="executing"&&"正在创建智能体并执行"]}),E.jsxs("div",{className:"afd-steps",children:[E.jsxs("span",{className:`afd-step${A==="config"?" afd-step--active":" afd-step--done"}`,children:[E.jsx("span",{className:"afd-step-num",children:"1"})," 基础配置"]}),Q.length>0&&E.jsxs(E.Fragment,{children:[E.jsx("span",{className:"afd-step-arrow",children:"→"}),E.jsxs("span",{className:`afd-step${A==="params"?" afd-step--active":A==="executing"?" afd-step--done":""}`,children:[E.jsx("span",{className:"afd-step-num",children:"2"})," 补充参数"]})]}),k&&E.jsxs(E.Fragment,{children:[E.jsx("span",{className:"afd-step-arrow",children:"→"}),E.jsxs("span",{className:`afd-step${A==="executing"?" afd-step--active":""}`,children:[E.jsx("span",{className:"afd-step-num",children:Q.length>0?3:2})," 执行"]})]})]})]}),A==="config"&&E.jsxs("div",{className:"afd-body",children:[E.jsxs("div",{className:"afd-section",children:[E.jsxs("div",{className:"afd-label",children:["智能体名称 ",E.jsx("span",{className:"afd-required",children:"*"})]}),E.jsx(zr,{value:n,onChange:te=>f(te.target.value),placeholder:"例如:亚马逊差评分析套件",style:{borderRadius:8}})]}),E.jsxs("div",{className:"afd-section",children:[E.jsxs("div",{className:"afd-label",children:[E.jsx(fq,{style:{color:"#8b5cf6",marginRight:6}}),"应用场景"]}),E.jsx("div",{className:"afd-hint",children:"选择场景后,系统将推荐对应的分析技能"}),E.jsx("div",{className:"afd-scene-grid",children:o?E.jsx(ji,{size:"small",style:{padding:20}}):l.length===0?E.jsx("div",{className:"afd-empty",children:"暂无可用场景"}):l.map(te=>{const oe=i===te.id;return E.jsxs("button",{type:"button",className:`afd-scene-card${oe?" afd-scene-card--active":""}`,onClick:()=>O(te.id),children:[E.jsx("span",{className:"afd-scene-icon",children:te.icon||"📋"}),E.jsx("span",{className:"afd-scene-name",children:te.name}),te.description&&E.jsx("span",{className:"afd-scene-desc",children:te.description})]},te.id)})})]}),E.jsxs("div",{className:"afd-section",children:[E.jsxs("div",{className:"afd-label",children:[E.jsx(gq,{style:{color:"#f59e0b",marginRight:6}}),"分析技能",E.jsx("span",{className:"afd-label-sub",children:"点击左侧添加,右侧可拖拽排序"})]}),i?s?E.jsx(ji,{size:"small"}):u.length===0?E.jsx("div",{className:"afd-empty",children:"该场景暂无可用技能"}):E.jsxs("div",{className:"afd-skill-split",children:[E.jsxs("div",{className:"afd-skill-left",children:[E.jsx("div",{className:"afd-skill-col-title",children:"可选技能"}),u.map(te=>E.jsxs("button",{type:"button",className:"afd-skill-add-row",onClick:()=>D(te.playbook_id),children:[E.jsx(Bl,{style:{fontSize:11,color:"#8b5cf6"}}),E.jsxs("div",{className:"afd-skill-info",children:[E.jsx("div",{className:"afd-skill-name",children:te.name}),te.description&&E.jsx("div",{className:"afd-skill-desc",children:te.description})]}),te.is_required&&E.jsx("span",{className:"afd-skill-tag afd-skill-tag--required",children:"必选"}),te.is_recommended_combo&&!te.is_required&&E.jsx("span",{className:"afd-skill-tag afd-skill-tag--rec",children:"推荐"})]},te.playbook_id))]}),E.jsxs("div",{className:"afd-skill-right",children:[E.jsxs("div",{className:"afd-skill-col-title",children:["执行顺序 (",a.length,")"]}),a.length===0?E.jsx("div",{className:"afd-empty",style:{padding:"20px 0"},children:"点击左侧技能添加"}):a.map((te,oe)=>{const xe=Z(te.playbook_id),pe=(xe==null?void 0:xe.input_params)&&xe.input_params.length>0;return E.jsxs("div",{className:`afd-skill-sorted-row${W===oe?" afd-skill-sorted-row--dragging":""}`,draggable:!0,onDragStart:()=>q(oe),onDragOver:Ae=>Y(Ae,oe),onDragEnd:K,children:[E.jsx(dXe,{className:"afd-drag-handle"}),E.jsx("span",{className:"afd-skill-num",children:oe+1}),E.jsx("span",{className:"afd-skill-sorted-name",children:X(te.playbook_id)}),oe===0&&pe&&!k&&E.jsx("span",{style:{fontSize:10,color:"#8b5cf6",whiteSpace:"nowrap"},children:"执行时输入"}),(oe===0&&pe&&k||oe>0&&pe)&&E.jsx("span",{style:{fontSize:10,color:"#f59e0b",whiteSpace:"nowrap"},children:"需填参数"}),E.jsx("button",{type:"button",className:"afd-skill-remove",onClick:()=>F(oe),children:E.jsx(ZXe,{})})]},`${te.playbook_id}-${oe}`)})]})]}):E.jsx("div",{className:"afd-empty",children:"请先选择场景"})]}),k&&E.jsxs("div",{className:"afd-section",children:[E.jsx("div",{className:"afd-label",children:"执行链配置"}),E.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[E.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[E.jsx(Vc,{size:"small",checked:$,onChange:P}),E.jsx("span",{style:{fontSize:13,color:$?"#111827":"#9ca3af"},children:$?"跟进新结果(执行完成后自动创建执行链)":"不跟进新结果"})]}),E.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[E.jsx(Vc,{size:"small",checked:N,onChange:R}),E.jsx("span",{style:{fontSize:13,color:N?"#111827":"#9ca3af"},children:N?"按行执行结果(将表格数据逐行拆分执行)":"不按行执行"})]})]})]})]}),A==="params"&&E.jsxs("div",{className:"afd-body",children:[E.jsx("div",{className:"afd-params-hint",children:k?"以下技能需要补充参数,所有参数将在创建时一并提交。":`以下技能需要补充参数,第一个技能「${X((le=a[0])==null?void 0:le.playbook_id)}」的参数将在执行时由用户输入。`}),Q.map(({entry:te,idx:oe,pb:xe})=>E.jsxs("div",{className:"afd-params-card",children:[E.jsxs("div",{className:"afd-params-card-header",children:[E.jsx("span",{className:"afd-skill-num",children:oe+1}),E.jsx("span",{className:"afd-params-card-name",children:xe.name}),xe.description&&E.jsx("span",{className:"afd-params-card-desc",children:xe.description})]}),E.jsx("div",{className:"afd-params-card-body",children:xe.input_params.map(pe=>{const Ae=`${oe}-${pe.name}`,Te=j[Ae],Le=te.params[pe.name];return E.jsxs("div",{className:"afd-param-row",children:[E.jsxs("label",{className:"afd-param-label",children:[pe.label||pe.name,pe.required&&E.jsx("span",{style:{color:"#ef4444"},children:"*"})]}),pe.description&&E.jsx("div",{className:"afd-param-desc",children:pe.description}),pe.type==="file"?E.jsx("div",{className:"afd-file-upload",children:Le?E.jsxs("div",{className:"afd-file-uploaded",children:[E.jsx(ome,{style:{color:"#8b5cf6"}}),E.jsx("span",{className:"afd-file-name",title:Le,children:Le.split("/").pop()||Le}),E.jsx("button",{type:"button",className:"afd-file-remove",onClick:()=>B(oe,pe.name,""),children:E.jsx(Wv,{})})]}):E.jsxs(Qp.Dragger,{showUploadList:!1,accept:pe.file_type||void 0,beforeUpload:Re=>(z(oe,pe.name,Re),!1),disabled:Te,style:{padding:"8px 0"},children:[E.jsx("p",{className:"ant-upload-drag-icon",style:{marginBottom:4},children:Te?E.jsx(xh,{style:{fontSize:24,color:"#8b5cf6"}}):E.jsx(QO,{style:{fontSize:24,color:"#8b5cf6"}})}),E.jsx("p",{className:"ant-upload-text",style:{fontSize:13,margin:0},children:Te?"上传中...":"点击或拖拽文件到此处上传"})]})}):pe.enum&&pe.enum.length>0?E.jsx(En,{size:"small",style:{width:"100%"},value:te.params[pe.name]??pe.default,onChange:Re=>B(oe,pe.name,Re),placeholder:`请选择${pe.label||pe.name}`,allowClear:!0,children:pe.enum.map(Re=>E.jsx(En.Option,{value:Re,children:Re},Re))}):/prompt|提示词/i.test(pe.name)||/prompt|提示词/i.test(pe.label||"")?E.jsxs("div",{className:"afd-prompt-area",children:[E.jsx(zr.TextArea,{value:te.params[pe.name]??pe.default??"",onChange:ue=>B(oe,pe.name,ue.target.value),placeholder:"输入提示词,或从下方模板中选择...",autoSize:{minRows:4,maxRows:12},style:{fontSize:13}}),E.jsx(wkn,{onSelect:ue=>B(oe,pe.name,ue)})]}):E.jsx(zr,{size:"small",value:te.params[pe.name]??pe.default??"",onChange:ue=>B(oe,pe.name,ue.target.value),placeholder:`请输入${pe.label||pe.name}`})]},pe.name)})})]},`${te.playbook_id}-${oe}`))]}),A==="executing"&&k&&E.jsx("div",{className:"afd-body",children:E.jsx("div",{style:{background:"#fff",borderRadius:12,padding:24,border:"1px solid #e5e7eb"},children:E.jsx(bkn,{agentId:0,inputData:{},skipAutoStart:!0,onFinish:()=>{}})})})]})}const{Text:Ckn}=Af;function _kn(e){return e.data??e.results??e}function aAt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function VF(e){return typeof e=="string"&&e.trim()?e:null}function HF(e){if(!aAt(e))return null;const t=Array.isArray(e.execution_steps)?e.execution_steps:[];for(let r=t.length-1;r>=0;r-=1){const n=t[r];if(!aAt(n))continue;const i=HF(n.output_data)??HF(n.output),a=VF(n.error_message);if(i)return i;if(a)return a}return VF(e.error_message)}function f3e(e){if(!e)return null;const t=HF(e.output_data),r=VF(e.error_message);return t??r}function Tkn(e){for(let t=e.length-1;t>=0;t-=1){const r=f3e(e[t]);if(r)return r}return null}function p3e(e){return e?e>=1e3?`${(e/1e3).toFixed(1)}s`:`${e}ms`:"-"}function sAt(e){return e?new Date(e).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"-"}function Ekn({title:e="执行失败",message:t,stepName:r,duration:n}){return E.jsxs("div",{className:"rdd-failure-notice",children:[E.jsx("div",{className:"rdd-failure-icon",children:E.jsx(us,{})}),E.jsxs("div",{className:"rdd-failure-main",children:[E.jsx("div",{className:"rdd-failure-title",children:e}),(r||n)&&E.jsxs("div",{className:"rdd-failure-meta",children:[r&&E.jsxs("span",{className:"rdd-failure-chip",children:["失败步骤:",r]}),n&&E.jsxs("span",{className:"rdd-failure-chip",children:["耗时:",n]})]}),t&&E.jsx("div",{className:"rdd-failure-message",children:t})]})]})}function kkn({step:e,index:t,defaultExpanded:r}){const[n,i]=S.useState(r??!1),a=S.useRef(null);S.useEffect(()=>{i(r??!1)},[r,e.step_id]);const s=e.status==="completed",o=e.status==="failed",l=e.output_data,u=l==null?void 0:l.output_type,d=l==null?void 0:l.output_fields_map,h=(l==null?void 0:l.data)??(l==null?void 0:l.output),f=ext(l),p=f3e(e),g=h!=null||l!=null,m=p||g,v=u==="table"&&Array.isArray(h),y=S.useCallback(async x=>{x.stopPropagation();const b=e.step_name||`步骤${t+1}`,w=new Date().toISOString().slice(0,10);if(v){const C=Array.isArray(d)&&d.length>0?d.map(P=>({name:P.name,label:P.label||P.name})):Object.keys(h[0]||{}).map(P=>({name:P,label:P})),_=C.map(P=>P.label).join(","),T=h.map(P=>C.map(N=>{const R=P[N.name];if(R==null)return"";const L=typeof R=="object"?JSON.stringify(R):String(R);return L.includes(",")||L.includes('"')||L.includes(`
1098
1098
  `)?`"${L.replace(/"/g,'""')}"`:L}).join(",")),k="\uFEFF"+[_,...T].join(`
1099
1099
  `),A=new Blob([k],{type:"text/csv;charset=utf-8;"}),I=URL.createObjectURL(A),$=document.createElement("a");$.href=I,$.download=`${b}_${w}.csv`,$.click(),URL.revokeObjectURL(I)}else{const _=JSON.stringify(h??l,null,2),T=new Blob([_],{type:"application/json;charset=utf-8;"}),k=URL.createObjectURL(T),A=document.createElement("a");A.href=k,A.download=`${b}_${w}.json`,A.click(),URL.revokeObjectURL(k)}},[e,t,v,h,d]);return E.jsxs("div",{className:`rdd-step${o?" rdd-step--fail":""}`,children:[E.jsxs("button",{type:"button",className:"rdd-step-header",onClick:()=>i(x=>!x),children:[E.jsx("span",{className:"rdd-step-idx",children:t+1}),s?E.jsx(Fb,{style:{color:"#52c41a",fontSize:14}}):o?E.jsx(Lv,{style:{color:"#ef4444",fontSize:14}}):E.jsx(Bo,{style:{color:"#9ca3af",fontSize:14}}),E.jsx("span",{className:"rdd-step-name",children:e.step_name}),e.duration_ms!=null&&E.jsx("span",{className:"rdd-step-dur",children:p3e(e.duration_ms)}),g&&E.jsx(ei,{title:v?"导出 CSV":"导出 JSON",children:E.jsx("span",{className:"rdd-step-export",onClick:y,role:"button",tabIndex:0,onKeyDown:x=>{x.key==="Enter"&&y(x)},children:E.jsx($A,{style:{fontSize:12}})})}),E.jsx("span",{className:"rdd-step-arrow",children:n?E.jsx(Sme,{}):E.jsx(IA,{})})]}),n&&m&&E.jsx("div",{className:"rdd-step-body",ref:a,children:p?E.jsx("div",{className:"rdd-step-error-text",children:p}):E.jsx(qo,{payload:f})})]})}function Akn({lineage:e}){return e.length===0?E.jsx("div",{className:"rdd-empty",children:"暂无流转记录"}):E.jsx("div",{className:"rdd-lineage",children:e.map((t,r)=>E.jsxs("div",{className:"rdd-lineage-item",children:[E.jsx("div",{className:"rdd-lineage-dot",style:{background:t.status==="accepted"?"#52c41a":"#faad14"}}),r<e.length-1&&E.jsx("div",{className:"rdd-lineage-line"}),E.jsxs("div",{className:`rdd-lineage-card${t.status==="accepted"?" rdd-lineage-card--ok":""}`,children:[E.jsxs("div",{className:"rdd-lineage-row",children:[E.jsx(qXe,{style:{color:"#9ca3af",fontSize:11}}),E.jsxs("span",{children:["流转给 ",E.jsx("strong",{children:t.target_nick_name??t.target_user_id})]}),E.jsx(hs,{color:t.status==="accepted"?"success":t.status==="pending"?"warning":"default",style:{fontSize:10,margin:0},children:t.status==="accepted"?"已接受":t.status==="pending"?"待处理":t.status}),E.jsx("span",{className:"rdd-lineage-time",children:sAt(t.created_at)})]}),t.transfer_message&&E.jsxs("div",{className:"rdd-lineage-msg",children:["💬 ",t.transfer_message]})]})]},r))})}function Ikn(){const{activeResult:e,showResultModal:t,setShowResultModal:r,setActiveResult:n}=Sa(),[i,a]=S.useState(null),[s,o]=S.useState(!1),[l,u]=S.useState(!1),[d,h]=S.useState("x1"),f=d==="full"?"100vw":d==="x2"?1400:900,p=[{key:"x1",label:"x1"},{key:"x2",label:"x2"},{key:"full",label:"全屏"}];S.useEffect(()=>{if(!(e!=null&&e.execution_id)){a(null);return}o(!0),zQe(e.execution_id).then(M=>a(_kn(M))).catch(()=>a(null)).finally(()=>o(!1))},[e==null?void 0:e.execution_id]);const g=()=>{r(!1),n(null),a(null)},m=i==null?void 0:i.execution,v=i==null?void 0:i.result,y=((i==null?void 0:i.steps)??[]).filter(M=>M.status!=="skipped"),x=(i==null?void 0:i.transfers)??[],b=v==null?void 0:v.result_data,w=b==null?void 0:b.output,C=b==null?void 0:b.output_type,_=b==null?void 0:b.output_fields_map,T=C?Gy(C==="debug"?"card":C,w,_,b==null?void 0:b.title):RB(b),k=C?null:HF(b)??HF(w)??Tkn(y)??VF(m==null?void 0:m.error_message)??VF(e==null?void 0:e.error_message),A=(v==null?void 0:v.result_summary)??(m==null?void 0:m.result_summary)??(e==null?void 0:e.result_summary)??"",I=(v==null?void 0:v.id)??(e==null?void 0:e.id),$=(m==null?void 0:m.status)==="completed",P=(m==null?void 0:m.status)==="failed",N=y.findIndex(M=>M.status==="failed"),R=y.find(M=>f3e(M))??(N>=0?y[N]:void 0),L=(R==null?void 0:R.duration_ms)!=null?p3e(R.duration_ms):void 0;return E.jsx(OS,{className:"wandox-root",title:"执行结果详情",closable:{placement:"end"},open:t&&!!e,onClose:g,size:f,extra:E.jsx("div",{className:"rdd-size-switch",children:p.map(({key:M,label:O})=>E.jsx("button",{type:"button",className:`rdd-size-btn${d===M?" rdd-size-btn--active":""}`,onClick:()=>h(M),children:O},M))}),styles:{header:{paddingBottom:0,border:0},body:{padding:0}},children:s?E.jsx("div",{style:{textAlign:"center",padding:"80px 0"},children:E.jsx(ji,{})}):e&&E.jsxs(E.Fragment,{children:[E.jsx("div",{className:"rdd-header",children:m&&E.jsx("div",{className:"rdd-header-row2",children:E.jsxs("div",{className:"rdd-meta",children:[E.jsx(hs,{color:$?"success":P?"error":"processing",style:{fontSize:11,margin:0,borderRadius:4},children:$?"成功":P?"失败":m.status}),E.jsx("span",{className:"rdd-meta-sep"}),E.jsxs("span",{className:"rdd-meta-item",children:[E.jsx(Bo,{})," ",sAt(m.started_at)]}),m.duration_ms!=null&&E.jsxs("span",{className:"rdd-meta-item",children:["耗时 ",p3e(m.duration_ms)]}),E.jsx(hs,{color:m.trigger_type==="scheduled"?"orange":"blue",style:{fontSize:10,margin:0,borderRadius:4},children:m.trigger_type==="scheduled"?"定时":"手动"})]})})}),E.jsx("div",{className:"rdd-tabs-wrap",children:E.jsx(CU,{size:"small",className:"rdd-tabs",items:[{key:"result",label:"执行结果",children:E.jsxs("div",{className:"rdd-tab-content",children:[E.jsx("div",{className:"rdd-result-output",children:C==="card"&&w&&typeof w=="object"&&!Array.isArray(w)&&w.content?E.jsx(qo,{payload:w.content}):C?E.jsx(qo,{payload:T}):w!=null&&w.content?E.jsx(qo,{payload:w.content}):typeof w=="string"?E.jsx(qo,{payload:w}):k?E.jsx(Ekn,{message:k,stepName:R==null?void 0:R.step_name,duration:L}):A?E.jsx(qo,{payload:A}):E.jsx(Ckn,{type:"secondary",children:"暂无结果内容"})}),E.jsx(u3e,{open:l,onClose:()=>u(!1),resultId:I})]})},{key:"steps",label:`执行步骤${y.length?` (${y.length})`:""}`,children:E.jsx("div",{className:"rdd-tab-content",children:y.length>0?y.map((M,O)=>E.jsx(kkn,{step:M,index:O,defaultExpanded:O===N},M.step_id)):E.jsx("div",{className:"rdd-empty",children:"暂无步骤记录"})})},{key:"lineage",label:`推送记录${x.length?` (${x.length})`:""}`,children:E.jsx("div",{className:"rdd-tab-content",children:E.jsx(Akn,{lineage:x})})}]})})]})})}const g3e="0 9 * * *",$kn=["周日","周一","周二","周三","周四","周五","周六"];function i$(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function WF(e,t){return e instanceof Error||i$(e)&&typeof e.message=="string"?e.message:t}function m3e(e){return i$(e)?e.data??e.result??e.results??e:e}function a$(e){return e?String(e.schedule_id??e.schedule_code??e.task_id??e.id??""):""}function oAt(e){return(e==null?void 0:e.name)||(e==null?void 0:e.schedule_name)||(e==null?void 0:e.title)||"未命名任务"}function Rkn(e){return(e==null?void 0:e.schedule_params)??(e==null?void 0:e.playbook_params)??(e==null?void 0:e.params)??(e==null?void 0:e.input_data)??{}}function lAt(e,t){return(e==null?void 0:e.schedule_cron)||(e==null?void 0:e.cron_expression)||t||g3e}function cAt(e){return e?typeof e.is_enabled=="boolean"?e.is_enabled:typeof e.enabled=="boolean"?e.enabled:typeof e.is_active=="boolean"?e.is_active:!0:!0}function uAt(e){return!!(e&&e.trim().split(/\s+/).length>=5)}function Nkn(e){if(!e||!uAt(e))return"未设置频率";const t=LQ(e),r=`${String(t.hour).padStart(2,"0")}:${String(t.minute).padStart(2,"0")}`;switch(t.unit){case"hour":return t.minute>0?`每 ${t.interval} 小时第 ${t.minute} 分执行`:`每 ${t.interval} 小时执行一次`;case"day":return t.interval===1?`每天 ${r} 执行`:`每 ${t.interval} 天 ${r} 执行`;case"week":return`每周 ${t.weekDays.length?t.weekDays.map(i=>$kn[i]||`周${i}`).join("、"):"周一"} ${r} 执行`;case"month":return t.interval===1?`每月第 ${t.monthDay} 天 ${r} 执行`:`每 ${t.interval} 个月第 ${t.monthDay} 天 ${r} 执行`;case"year":return`每年 ${t.yearMonth} 月 ${t.yearDay} 日 ${r} 执行`;case"custom":return"自定义高级规则";default:return"未设置频率"}}function Lkn(e){var r;const t=(r=e.schedule_display)==null?void 0:r.trim();return t&&!uAt(t)?t:Nkn(lAt(e,t))}function Pkn(e){if(!e)return"";const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function Mkn(e){const t=m3e(e),r=i$(t)?t.items??t.records??t.rows??t.schedules??t.list??t.data:t;return Array.isArray(r)?r.filter(i$).map(n=>n):[]}function dAt(e){if(!i$(e))return null;const t=e.webhook_id??e.id;if(!t)return null;const r=typeof e.name=="string"&&e.name.trim()?e.name:String(t);return{webhook_id:String(t),name:r,platform:typeof e.platform=="string"?e.platform:void 0,is_active:typeof e.is_active=="boolean"?e.is_active:void 0,is_default:typeof e.is_default=="boolean"?e.is_default:void 0}}function Dkn(e){const t=m3e(e),r=i$(t)?t.items??t.records??t.rows??t.webhooks??t.list??t.data:t;return Array.isArray(r)?r.map(dAt).filter(n=>!!n):[]}function Okn(e){switch(e){case"dingtalk":return"钉钉";case"feishu":case"lark":return"飞书";case"wecom":case"wechat_work":return"企微";default:return e||""}}function hAt(e){const t=Okn(e.platform);return t?`${e.name} (${t})`:e.name}function Bkn(e,t){var r;return e!=null&&e.webhook_id?e.webhook_id:((r=t.find(n=>n.is_default&&n.is_active!==!1))==null?void 0:r.webhook_id)||""}function fAt(e,t,r){return{mode:"create",activeScheduleId:"",taskName:e!=null&&e.name?`${e.name} 定时任务`:"定时任务",enabled:!0,webhookId:Bkn(e,r),cron:(e==null?void 0:e.schedule_cron)||g3e,values:nw(t,(e==null?void 0:e.schedule_params)??{})}}function Fkn(e,t,r){return{mode:"edit",activeScheduleId:a$(e),taskName:oAt(e),enabled:cAt(e),webhookId:e.webhook_id||"",cron:lAt(e,t==null?void 0:t.schedule_cron),values:nw(r,Rkn(e))}}function zkn(e,t){if(!e.taskName.trim())return"请输入任务名称";if(!e.webhookId)return"请选择通知地址";if(e.enabled&&!e.cron.trim())return"请设置调度频率";const r=Ry(t,e.values);for(const n of r){const i=e.values[n.name];if(n.required&&i!==0&&i!==!1&&tp(i))return`请填写「${n.label||n.name}」`;if(VQ(n)&&!tp(i)){const a=Lvt(i,n.address_validation);if(a)return`${n.label||n.name}:${a}`}}return""}function jkn(e,t){const r=e.cron||g3e,n=Ry(t,e.values);return{name:e.taskName.trim(),is_enabled:e.enabled,schedule_type:LQ(r).unit,schedule_cron:r,schedule_params:t.length>0?Bvt(n,e.values):void 0,webhook_id:e.webhookId}}function Vkn(){return{draft:fAt(null,[],[]),editorRevision:0,quickAddWebhookOpen:!1}}function Hkn(e,t){switch(t.type){case"apply_draft":return{...e,draft:t.draft,editorRevision:e.editorRevision+1};case"patch_draft":return{...e,draft:{...e.draft,...t.patch}};case"set_values":{const r=typeof t.next=="function"?t.next(e.draft.values):t.next;return{...e,draft:{...e.draft,values:r}}}case"set_quick_add_open":return{...e,quickAddWebhookOpen:t.open};default:return e}}function Wkn(e,t){const[r,n]=S.useReducer(Hkn,void 0,Vkn),i=S.useRef(""),a=S.useRef((e==null?void 0:e.id)??null);S.useEffect(()=>{a.current!==((e==null?void 0:e.id)??null)&&(a.current=(e==null?void 0:e.id)??null,i.current="")},[e==null?void 0:e.id]),S.useEffect(()=>{i.current=r.draft.activeScheduleId},[r.draft.activeScheduleId]);const s=S.useCallback(w=>{i.current=w.activeScheduleId,n({type:"apply_draft",draft:w})},[]),o=S.useCallback(w=>{s(fAt(e,t,w))},[e,s,t]),l=S.useCallback(w=>{s(Fkn(w,e,t))},[e,s,t]),u=S.useCallback((w,C,_)=>{const T=_?w.find(I=>a$(I)===_):null,k=i.current?w.find(I=>a$(I)===i.current):null,A=T||k||w[0];A?l(A):o(C)},[l,o]),d=S.useCallback(w=>{i.current===w&&(i.current="")},[]),h=S.useCallback(w=>{n({type:"patch_draft",patch:{taskName:w}})},[]),f=S.useCallback(w=>{n({type:"patch_draft",patch:{enabled:w}})},[]),p=S.useCallback(w=>{n({type:"patch_draft",patch:{webhookId:w}})},[]),g=S.useCallback(w=>{n({type:"patch_draft",patch:{cron:w}})},[]),m=S.useCallback(w=>{n({type:"set_values",next:w})},[]),v=S.useCallback((w,C)=>{n({type:"set_values",next:_=>({..._,[w]:C})})},[]),y=S.useCallback((w,C)=>{n({type:"set_values",next:_=>{const T=Array.isArray(_[w])?_[w]:_[w]?[_[w]]:[];return{..._,[w]:[...T,C]}}})},[]),x=S.useCallback(()=>{n({type:"set_quick_add_open",open:!0})},[]),b=S.useCallback(()=>{n({type:"set_quick_add_open",open:!1})},[]);return{...r,startCreate:o,editSchedule:l,selectScheduleList:u,clearActiveSchedule:d,updateTaskName:h,updateEnabled:f,updateWebhook:p,updateCron:g,updateValues:m,updateField:v,appendFieldValue:y,openQuickAddWebhook:x,closeQuickAddWebhook:b}}const pAt={saving:!1,deletingId:"",saveError:"",uploading:{},fileNameMap:{}};function Gkn(e,t){switch(t.type){case"reset":return pAt;case"set_saving":return{...e,saving:t.saving};case"set_deleting":return{...e,deletingId:t.scheduleId};case"set_save_error":return{...e,saveError:t.error};case"set_uploading":return{...e,uploading:{...e.uploading,[t.fieldName]:t.uploading}};case"remember_file_name":return{...e,fileNameMap:{...e.fileNameMap,[t.url]:t.name}};default:return e}}function Ukn({agent:e,open:t,draft:r,draftRevision:n,inputFields:i,refreshSchedules:a,clearActiveSchedule:s,updateField:o,appendFieldValue:l}){const u=pl(),d=Nf({...dp.schedules.create(),onSuccess:(w,{agentId:C})=>Hh(u,{type:"schedule-saved",agentId:C})}),h=Nf({...dp.schedules.update(),onSuccess:(w,{agentId:C})=>Hh(u,{type:"schedule-saved",agentId:C})}),f=Nf({...dp.schedules.delete(),onSuccess:(w,{agentId:C})=>Hh(u,{type:"schedule-deleted",agentId:C})}),[p,g]=S.useReducer(Gkn,pAt),m=t?(e==null?void 0:e.id)??null:null,v=S.useRef(n);S.useEffect(()=>{m!==null&&g({type:"reset"})},[m]),S.useEffect(()=>{v.current!==n&&(v.current=n,g({type:"set_save_error",error:""}))},[n]);const y=S.useCallback((w,C)=>async({file:_,onSuccess:T,onError:k})=>{var A,I;g({type:"set_uploading",fieldName:w,uploading:!0});try{const $=_,P=await Kv($),N=(A=P==null?void 0:P.data)==null?void 0:A.url;if(!N)throw new Error("上传失败");const R=((I=P==null?void 0:P.data)==null?void 0:I.name)||$.name||N.split("/").pop()||"未知文件";g({type:"remember_file_name",url:N,name:R}),C<=1?o(w,N):l(w,N),T==null||T(P),kt.success("文件上传成功")}catch($){k==null||k($ instanceof Error?$:new Error("文件上传失败")),kt.error(WF($,"文件上传失败"))}finally{g({type:"set_uploading",fieldName:w,uploading:!1})}},[l,o]),x=S.useCallback(async()=>{if(!e)return;const w=zkn(r,i);if(w){kt.warning(w);return}g({type:"set_save_error",error:""}),g({type:"set_saving",saving:!0});try{const C=jkn(r,i);if(r.mode==="edit"&&r.activeScheduleId)await h.mutateAsync({agentId:e.id,scheduleId:r.activeScheduleId,data:C}),kt.success("定时任务已更新"),a(r.activeScheduleId);else{const _=await d.mutateAsync({agentId:e.id,data:C}),T=m3e(_),k=T&&typeof T=="object"&&!Array.isArray(T)?a$(T):"";kt.success("定时任务已创建"),a(k||void 0)}}catch(C){g({type:"set_save_error",error:WF(C,"保存失败")})}finally{g({type:"set_saving",saving:!1})}},[e,d,r,i,a,h]),b=S.useCallback(async w=>{const C=a$(w);if(C){g({type:"set_deleting",scheduleId:C});try{if(!e)return;await f.mutateAsync({agentId:e.id,scheduleId:C}),kt.success("定时任务已删除"),s(C),a()}catch(_){kt.error(WF(_,"删除失败"))}finally{g({type:"set_deleting",scheduleId:""})}}},[e,s,f,a]);return{...p,handleFileUpload:y,save:x,deleteSchedule:b}}const qkn={includeDisabled:!0},Ykn={},Kkn={getSchedules:JAr,getWebhooks:Xq};function Xkn(e){return{includeDisabled:e.includeDisabled}}function Zkn(e){return{platform:e.platform,domain:e.domain}}function Qkn(e=Kkn){return{schedules:{list:(t,r)=>{const n=t,i=Xkn(r);return{queryKey:Si.schedules.list(n,i),queryFn:async()=>{const a=await e.getSchedules(n,{include_disabled:i.includeDisabled});return Mkn(a)}}}},webhooks:{list:(t={})=>{const r=Zkn(t);return{queryKey:Si.webhooks.list(r),queryFn:async()=>{const n=await e.getWebhooks({platform:r.platform,domain:r.domain});return Dkn(n)}}}}}}function Jkn(e,t){return[t,...(e??[]).filter(r=>r.webhook_id!==t.webhook_id)]}const gAt=Qkn(),e4n=0,t4n=[],r4n=[];function n4n(e,t){const r=pl(),[n,i]=S.useState(0),a=S.useRef(null),s=t&&e!==null,o=S.useMemo(()=>gAt.schedules.list(e??e4n,qkn),[e]),l=S.useMemo(()=>gAt.webhooks.list(Ykn),[]),u=qv({...o,enabled:s}),d=qv({...l,enabled:s});S.useEffect(()=>{if(!s||e===null){a.current=null;return}if(u.isFetching||d.isFetching)return;const p=String(e);a.current!==p&&(a.current=p,i(g=>g+1))},[e,s,u.isFetching,d.isFetching]);const h=S.useCallback(()=>r.getQueryData(o.queryKey)??[],[r,o.queryKey]),f=S.useCallback(p=>{r.setQueryData(l.queryKey,g=>Jkn(g,p))},[r,l.queryKey]);return{schedules:u.data??t4n,webhooks:d.data??r4n,listLoading:s&&u.isFetching,webhookLoading:s&&d.isFetching,scheduleError:u.error?WF(u.error,"获取定时任务失败"):"",webhookError:d.error?WF(d.error,"获取通知地址失败"):"",initialLoadRevision:n,getCachedSchedules:h,prependWebhook:f}}function i4n(e,t){const r=S.useMemo(()=>G9(e==null?void 0:e.input_params),[e==null?void 0:e.input_params]),n=n4n((e==null?void 0:e.id)??null,t),i=Wkn(e,r),a=S.useRef(0);S.useEffect(()=>{n.webhookError&&kt.error(n.webhookError)},[n.webhookError]),S.useEffect(()=>{n.scheduleError&&kt.error(n.scheduleError)},[n.scheduleError]),S.useEffect(()=>{n.initialLoadRevision===0||a.current===n.initialLoadRevision||(a.current=n.initialLoadRevision,i.selectScheduleList(n.schedules,n.webhooks))},[i.selectScheduleList,n.initialLoadRevision,n.schedules,n.webhooks]);const s=S.useCallback(()=>{i.startCreate(n.webhooks)},[i.startCreate,n.webhooks]),o=S.useCallback(g=>{i.selectScheduleList(n.getCachedSchedules(),n.webhooks,g)},[i.selectScheduleList,n.getCachedSchedules,n.webhooks]),l=j5(r,i.draft.values,i.updateValues),u=S.useMemo(()=>Ry(r,i.draft.values),[r,i.draft.values]),d=Ukn({agent:e,open:t,draft:i.draft,draftRevision:i.editorRevision,inputFields:r,refreshSchedules:o,clearActiveSchedule:i.clearActiveSchedule,updateField:i.updateField,appendFieldValue:i.appendFieldValue}),h=S.useCallback(g=>{const m=dAt(g);m&&(n.prependWebhook(m),i.updateWebhook(m.webhook_id))},[i.updateWebhook,n.prependWebhook]),f=S.useMemo(()=>new Map(n.webhooks.map(g=>[g.webhook_id,hAt(g)])),[n.webhooks]),p=S.useMemo(()=>{const g=new Set,m=n.webhooks.map(v=>(g.add(v.webhook_id),{value:v.webhook_id,label:`${hAt(v)}${v.is_default?" · 默认":""}`,disabled:v.is_active===!1}));return i.draft.webhookId&&!g.has(i.draft.webhookId)&&m.unshift({value:i.draft.webhookId,label:`当前通知地址 (${i.draft.webhookId})`,disabled:!1}),m},[i.draft.webhookId,n.webhooks]);return{schedules:n.schedules,webhooks:n.webhooks,listLoading:n.listLoading,webhookLoading:n.webhookLoading,draft:i.draft,editorRevision:i.editorRevision,quickAddWebhookOpen:i.quickAddWebhookOpen,saving:d.saving,deletingId:d.deletingId,saveError:d.saveError,uploading:d.uploading,fileNameMap:d.fileNameMap,inputFields:r,visibleInputFields:u,dynamicOptions:l,webhookNameById:f,webhookOptions:p,startCreate:s,editSchedule:i.editSchedule,updateTaskName:i.updateTaskName,updateEnabled:i.updateEnabled,updateWebhook:i.updateWebhook,updateCron:i.updateCron,updateField:i.updateField,handleFileUpload:d.handleFileUpload,save:d.save,deleteSchedule:d.deleteSchedule,openQuickAddWebhook:i.openQuickAddWebhook,closeQuickAddWebhook:i.closeQuickAddWebhook,addCreatedWebhook:h}}const{Text:mAt}=Af;function a4n({agent:e,open:t,onClose:r}){const n=i4n(e,t),{schedules:i,webhooks:a,draft:s,editorRevision:o,listLoading:l,webhookLoading:u,quickAddWebhookOpen:d,saving:h,deletingId:f,saveError:p,uploading:g,fileNameMap:m,inputFields:v,visibleInputFields:y,dynamicOptions:x,webhookNameById:b,webhookOptions:w,startCreate:C,editSchedule:_,updateTaskName:T,updateEnabled:k,updateWebhook:A,updateCron:I,updateField:$,handleFileUpload:P,save:N,deleteSchedule:R,openQuickAddWebhook:L,closeQuickAddWebhook:M,addCreatedWebhook:O}=n,D=F=>{const B=Lkn(F),j=Pkn(F.next_run_at),H=F.webhook_id?F.webhook_name||b.get(F.webhook_id)||F.webhook_id:"";return E.jsxs(E.Fragment,{children:[E.jsx("span",{className:"sm-task-item-frequency",children:B}),(j||H)&&E.jsxs("span",{className:"sm-task-item-extra",children:[j&&E.jsxs("span",{children:["下次执行 ",j]}),H&&E.jsxs("span",{children:["通知 ",H]})]})]})};return E.jsxs(Ii,{title:null,open:t,onCancel:r,width:920,centered:!0,footer:E.jsxs("div",{className:"sm-footer",children:[E.jsx(ur,{onClick:r,children:"关闭"}),E.jsx(ur,{type:"primary",loading:h,onClick:N,children:s.mode==="edit"?"保存修改":"创建任务"})]}),className:"schedule-modal",closable:!1,styles:{container:{padding:0}},children:[E.jsxs("div",{className:"sm-header",children:[E.jsx(Bo,{className:"sm-header-icon"}),E.jsxs("div",{children:[E.jsx("div",{className:"sm-header-title",children:"定时触发配置"}),E.jsx("div",{className:"sm-header-sub",children:(e==null?void 0:e.name)||"当前智能体"})]}),E.jsx(ur,{type:"primary",icon:E.jsx(Bl,{}),onClick:()=>C(),children:"创建任务"})]}),E.jsxs("div",{className:"sm-layout",children:[E.jsxs("aside",{className:"sm-task-panel",children:[E.jsx("div",{className:"sm-task-panel-head",children:E.jsxs("div",{children:[E.jsx("div",{className:"sm-task-panel-title",children:"已创建任务"}),E.jsxs("div",{className:"sm-task-panel-count",children:[i.length," 个定时任务"]})]})}),E.jsx(ji,{spinning:l,children:i.length===0?E.jsx("div",{className:"sm-task-empty",children:E.jsx(Xa,{image:Xa.PRESENTED_IMAGE_SIMPLE,description:"暂无定时任务"})}):E.jsx("div",{className:"sm-task-list",children:i.map(F=>{const B=a$(F),j=s.mode==="edit"&&s.activeScheduleId===B,H=cAt(F);return E.jsxs("div",{className:`sm-task-item${j?" sm-task-item--active":""}`,children:[E.jsx("button",{type:"button",className:"sm-task-select",onClick:()=>_(F),children:E.jsxs("div",{className:"sm-task-item-main",children:[E.jsxs("div",{className:"sm-task-item-title",children:[E.jsx("span",{children:oAt(F)}),E.jsx(hs,{color:H?"green":"default",children:H?"启用":"停用"})]}),E.jsx("div",{className:"sm-task-item-meta",children:D(F)})]})}),E.jsx("div",{className:"sm-task-actions",children:E.jsx(jU,{title:"删除定时任务",description:"删除后不可恢复,确认删除?",okText:"删除",cancelText:"取消",okButtonProps:{danger:!0,loading:f===B},onConfirm:z=>{z==null||z.stopPropagation(),R(F)},onCancel:z=>z==null?void 0:z.stopPropagation(),children:E.jsx(ur,{type:"text",size:"small",danger:!0,icon:E.jsx(Wv,{}),onClick:z=>z.stopPropagation()})})})]},B||F.name)})})})]}),E.jsxs("section",{className:"sm-editor",children:[E.jsxs("div",{className:"sm-editor-head",children:[E.jsxs("div",{children:[E.jsx("div",{className:"sm-editor-title",children:s.mode==="edit"?"编辑任务定时器":"创建任务定时器"}),E.jsx("div",{className:"sm-editor-sub",children:"频率和执行参数沿用当前智能体的配置表单"})]}),E.jsxs("div",{className:"sm-header-switch",children:[E.jsx(mAt,{type:"secondary",style:{fontSize:12},children:s.enabled?"已启用":"已停用"}),E.jsx(Vc,{size:"small",checked:s.enabled,onChange:k})]})]}),E.jsxs("div",{className:"sm-body",children:[E.jsxs("div",{className:"sm-section",children:[E.jsxs("div",{className:"sm-label",children:["任务名称",E.jsx("span",{style:{color:"#ef4444",marginLeft:2},children:"*"})]}),E.jsx(zr,{value:s.taskName,onChange:F=>T(F.target.value),placeholder:"例如:每日店铺表现分析"})]}),E.jsxs("div",{className:"sm-section",children:[E.jsxs("div",{className:"sm-field-head",children:[E.jsxs("div",{children:[E.jsxs("div",{className:"sm-label",children:["通知地址",E.jsx("span",{style:{color:"#ef4444",marginLeft:2},children:"*"})]}),E.jsx("div",{className:"sm-param-hint",children:"任务触发后的消息通知地址"})]}),E.jsx(ur,{size:"small",onClick:L,children:"添加通知地址"})]}),E.jsx(En,{allowClear:!0,showSearch:!0,loading:u,disabled:u,value:s.webhookId||void 0,onChange:F=>A(F||""),placeholder:"请选择通知 Webhook",optionFilterProp:"label",options:w}),!u&&a.length===0&&E.jsx("div",{className:"sm-inline-alert",children:"暂无可用通知地址,请添加一个通知地址。"})]}),s.enabled?E.jsxs(E.Fragment,{children:[E.jsxs("div",{className:"sm-section",children:[E.jsx("div",{className:"sm-label",children:"调度频率"}),E.jsx("div",{className:"sm-param-hint",children:"设置智能体自动执行的时间间隔和触发时间"}),E.jsx(N_e,{defaultValue:s.cron,onChange:I},o)]}),v.length>0&&E.jsxs("div",{className:"sm-section",children:[E.jsx("div",{className:"sm-label",children:"执行参数"}),E.jsx("div",{className:"sm-param-hint",children:"定时执行时使用的参数,与手动执行时填写的参数一致"}),E.jsx("div",{className:"sm-form-panel",children:E.jsx("div",{className:"sm-dynamic-fields",children:y.map(F=>E.jsxs("div",{className:"sm-field-item",children:[E.jsxs("div",{className:"sm-field-label",children:[E.jsx("span",{children:F.label||F.name}),F.required&&E.jsx("span",{style:{color:"#ef4444",marginLeft:2},children:"*"}),F.description&&E.jsx(ei,{title:F.description,children:E.jsx(FS,{className:"sm-field-label__hint","aria-label":`${F.label||F.name}说明`})})]}),E.jsx(WQ,{field:F,value:s.values[F.name],size:"middle",imageUploadMode:"dragger",uploading:!!g[F.name],fileNameMap:m,getOptionState:x.getFieldState,onChange:$,onUpload:P})]},F.name))})})]})]}):E.jsxs("div",{className:"sm-disabled-hint",children:[E.jsx(Bo,{style:{fontSize:28,color:"#d1d5db"}}),E.jsx(mAt,{type:"secondary",style:{fontSize:13},children:"任务已停用,保存后不会自动触发"})]}),p&&E.jsx("div",{className:"sm-save-error",children:p})]})]})]}),E.jsx(Hvt,{open:d,onClose:M,onSuccess:O})]})}function s4n({agentsCount:e,error:t,onOpenMarket:r}){return E.jsx("section",{className:"automation-empty-state",children:E.jsxs("div",{children:[E.jsx("span",{className:`automation-badge automation-badge--${t?"red":"blue"}`,children:t?"加载失败":"空状态"}),E.jsx("h2",{children:t?"智能体列表读取失败":e>0?"请选择一个智能体":"还没有启用智能体"}),E.jsx("p",{children:t||(e>0?"从智能体中心选择一个智能体后,再进入驾驶舱运行。":"先到智能体中心启用一个模板,系统会创建用户专属智能体,再进入驾驶舱。")}),E.jsx("button",{type:"button",className:"automation-action-button automation-action-button--primary",onClick:r,children:"去智能体中心"})]})})}function o4n({embedded:e,agentName:t,cockpitTransitionLoading:r,historyPanel:n,workbenchPanel:i,onReturnToAgentSelection:a}){return E.jsxs(E.Fragment,{children:[!e&&E.jsx("header",{className:"wandox-automation-page-header",children:E.jsxs("div",{className:"automation-workbench-head",children:[E.jsx("div",{children:E.jsx("h2",{children:t})}),E.jsx(ur,{className:"wandox-automation-page-header__back",icon:E.jsx(WS,{}),onClick:a,children:"返回智能体选择"})]})}),E.jsxs("section",{className:`automation-workspace${r?" is-loading":""}`,children:[r&&E.jsx(NB,{className:"automation-workspace-loading"}),n,i]})]})}function l4n(e){const t=Pbt(e);if(t)return`${sp(t.getMonth()+1)}/${sp(t.getDate())} ${sp(t.getHours())}:${sp(t.getMinutes())}`;const r=e.time.match(/(\d{1,2}):(\d{2})/);return r?`--/-- ${sp(Number(r[1]))}:${r[2]}`:e.time}function v3e(e){if(e.status==="waiting"||e.status==="failed")return"attention";const t=UJ(e.businessStatus);return t==="waiting"||t==="failed"?"attention":e.status==="running"||t==="running"?"running":"completed"}function y3e(e){const t=v3e(e),r=UJ(e.businessStatus);return e.status==="failed"||r==="failed"?"failed":e.status==="waiting"?"waiting":t==="attention"?r==="waiting"?"waiting":"failed":t==="running"?"running":r??"completed"}function c4n(e){var i;const t=y3e(e);if((i=e.businessStatus)!=null&&i.trim()&&UJ(e.businessStatus)===t)return e.businessStatus.trim();if(t==="waiting")return"待确认";if(t==="failed")return"失败";if(t==="completed")return"已完成";const r=e.steps.find(a=>a.status==="running"),n=(r==null?void 0:r.title)??"";return/(?:AI|生成|仿写|分析)/i.test(n)?"AI 生成中":/(?:提交|刊登)/.test(n)?"刊登中":/(?:查询|异步)/.test(n)?"查询中":"进行中"}function u4n(e,t){return["automation-history-task-card",`automation-history-task-card--${y3e(e)}`,t?"automation-history-task-card--active":""].filter(Boolean).join(" ")}function d4n(e,t){const r=e.title.trim(),n=r===String(e.id)||/^(?:agent[_-])?exec(?:ution)?[_-]/i.test(r);return r&&!n?r:t}function h4n(e){var n,i;const t=((n=e.listErrorMessage)==null?void 0:n.trim())||((i=e.listResultSummary)==null?void 0:i.trim());if(t)return t;const r=e.steps.find(a=>["waiting","running","failed"].includes(a.status));return(r==null?void 0:r.description)||e.resultTitle||(r==null?void 0:r.title)||e.summary||"执行任务"}function f4n(e){return[e.triggerType==="scheduled"||e.trigger==="定时运行"?"定时执行":"手动执行",l4n(e)].filter(Boolean).join(" · ")}function p4n({children:e,tone:t="gray"}){return E.jsx("span",{className:`automation-badge automation-badge--${t}`,children:e})}function g4n({model:e,actions:t,footer:r}){const{agentName:n,hasSchedule:i,mode:a,error:s,loading:o,filteredRunCount:l,runCount:u,statusFilter:d,groups:h,recordTotal:f,pagination:{page:p,pageCount:g},deletingExecutionId:m,activeRunId:v}=e,{createRun:y,configureSchedule:x,changeStatusFilter:b,reload:w,openRun:C,openWaitingRun:_,removeRun:T,changePage:k}=t,A=I=>{const $=a!=="run"&&v===I.id,P=u4n(I,$),N=y3e(I),R=I.recordId!=null&&m===I.recordId;return E.jsxs("div",{className:"automation-history-task-card-shell",children:[E.jsxs("button",{type:"button",className:P,title:I.summary,onClick:()=>I.status==="waiting"?_(I):C(I.id),children:[E.jsxs("div",{className:"automation-history-task-card__head",children:[E.jsx("strong",{children:d4n(I,n)}),E.jsxs("span",{className:`automation-history-task-card__state automation-history-task-card__state--${N}`,children:[E.jsx("i",{}),c4n(I)]})]}),E.jsx("span",{className:"automation-history-task-card__subtitle",children:h4n(I)}),E.jsx("small",{children:f4n(I)})]}),E.jsx(ei,{title:R?"正在删除":"删除执行记录",placement:"top",children:E.jsx("button",{type:"button",className:"automation-history-task-card__delete","aria-label":`删除执行记录:${I.title}`,disabled:m!=null||I.recordId==null,onClick:()=>T(I),children:R?E.jsx(ji,{size:"small"}):E.jsx(Wv,{"aria-hidden":"true"})})})]},I.id)};return E.jsxs("section",{className:"automation-panel automation-history-panel",children:[!s&&E.jsxs("div",{className:"wandox-automation-cockpit-actions",children:[E.jsxs("button",{type:"button",className:`wandox-automation-cockpit-action wandox-automation-cockpit-action--run${a==="run"?" wandox-automation-cockpit-action--selected":""}`,onClick:y,children:[E.jsx(Bl,{"aria-hidden":"true"}),E.jsx("strong",{children:"新建任务"})]}),E.jsx(ei,{title:i?"已配置定时触发":"配置定时触发",placement:"right",children:E.jsxs("button",{type:"button",className:`wandox-automation-cockpit-action wandox-automation-cockpit-action--schedule-${i?"active":"idle"}`,onClick:x,"aria-label":i?"已配置定时触发":"配置定时触发",children:[E.jsx(Bo,{"aria-hidden":"true"}),E.jsx("strong",{children:"定时触发"})]})})]}),!s&&E.jsx("div",{className:"automation-history-status-filters",role:"tablist","aria-label":"任务状态筛选",children:[["all","全部"],["attention","待处理"],["running","进行中"],["completed","已完成"]].map(([I,$])=>E.jsx("button",{type:"button",role:"tab","aria-selected":d===I,className:d===I?"is-active":"",onClick:()=>b(I),children:$},I))}),E.jsxs("div",{className:`automation-history-list${!s&&!o&&l===0?" is-empty":""}`,children:[s&&E.jsxs("button",{type:"button",className:"automation-memory-card automation-memory-card--failed",onClick:w,children:[E.jsxs("span",{className:"automation-memory-card__contacts","aria-hidden":"true",children:[E.jsx("i",{}),E.jsx("i",{}),E.jsx("i",{})]}),E.jsxs("div",{className:"automation-memory-card__head",children:[E.jsx("span",{className:"automation-memory-card__status",children:"失败"}),E.jsx(p4n,{tone:"red",children:"重试"})]}),E.jsx("strong",{children:"执行历史读取失败"}),E.jsx("small",{children:s}),E.jsx("span",{className:"automation-memory-card__action",children:"重新读取"})]}),!s&&!o&&l===0&&E.jsxs("div",{className:"automation-history-empty",children:[E.jsx("span",{className:"automation-history-empty-icon",children:E.jsx(Bo,{})}),E.jsxs("div",{children:[E.jsx("strong",{children:u>0?"当前筛选暂无任务":"暂无执行历史"}),E.jsx("small",{children:u>0?"切换状态筛选查看其他任务。":"首次运行后,记录会显示在这里。"})]})]}),!s&&h.map(I=>E.jsxs("section",{className:`automation-history-task-group automation-history-task-group--${I.key}`,children:[E.jsxs("div",{className:"automation-history-task-group__head",children:[E.jsx("span",{children:I.label}),E.jsx("em",{children:" · "}),E.jsx("em",{children:I.runs.length})]}),E.jsx("div",{className:"automation-history-task-group__stack",children:I.runs.map(A)})]},I.key))]}),!s&&!o&&f>0&&E.jsxs("nav",{className:"automation-history-pagination","aria-label":"执行任务分页",children:[E.jsx("button",{type:"button","aria-label":"上一页",disabled:p<=1,onClick:()=>k(Math.max(1,p-1)),children:"‹"}),E.jsxs("span",{className:"automation-history-pagination__summary",children:[p," / ",g]}),E.jsx("button",{type:"button","aria-label":"下一页",disabled:p>=g,onClick:()=>k(Math.min(g,p+1)),children:"›"})]}),r]})}const vAt="wandox-automation-live-execution-traces-v1",b3e=12;function m4n(){if(typeof window>"u")return[];try{const e=JSON.parse(window.sessionStorage.getItem(vAt)||"[]");return Array.isArray(e)?e.filter(t=>Yt(t)&&typeof t.executionId=="string"&&typeof t.agentId=="number"&&typeof t.agentName=="string"&&typeof t.updatedAt=="string"&&Array.isArray(t.steps)).slice(0,b3e):[]}catch{return[]}}function v4n(e){if(!(typeof window>"u"))try{window.sessionStorage.setItem(vAt,JSON.stringify(e.slice(0,b3e)))}catch{}}function y4n(e){return e.replace(/\s*·\s*(待执行|执行中|等待确认|已完成|执行失败)$/,"").trim()}function b4n(e){return e==="running"?"RUN":e==="waiting"?"HOLD":e==="completed"?"DONE":e==="failed"?"ERR":"QUEUE"}function x4n(e){return e==="running"?"LIVE":e==="waiting"?"PAUSED":e==="completed"?"SYNCED":e==="failed"?"HALTED":"STANDBY"}function w4n(e){if(!e)return"--:--:--";const t=new Date(e);return Number.isNaN(t.getTime())?"--:--:--":`${sp(t.getHours())}:${sp(t.getMinutes())}:${sp(t.getSeconds())}`}function S4n(e,t,r,n){const i=new Map(t.map(a=>[a.id,a]));return e.map(a=>{const s=i.get(a.id);if(a.status==="pending")return{...a,occurredAt:s==null?void 0:s.occurredAt};const o=!s||s.status!==a.status||s.title!==a.title||s.detail!==a.detail;return{...a,occurredAt:o?r:s.occurredAt??n??r}})}function C4n(e,t){const r=e.find(i=>i.executionId===t.executionId);return[{...t,steps:S4n(t.steps,(r==null?void 0:r.steps)??[],t.updatedAt,r==null?void 0:r.updatedAt)},...e.filter(i=>i.executionId!==t.executionId)].slice(0,b3e)}function _4n(e){return e==="running"?"执行中":e==="waiting"?"等待确认":e==="completed"?"已完成":e==="failed"?"执行失败":"待执行"}function T4n({trace:e,steps:t,stepsRef:r}){const n=(e==null?void 0:e.status)??"empty";return E.jsxs("section",{className:`wandox-automation-live-trace wandox-automation-live-trace--${n}`,"aria-label":"实时执行动态",children:[E.jsxs("div",{className:"wandox-automation-live-trace__terminal-bar","aria-hidden":"true",children:[E.jsxs("span",{className:"wandox-automation-live-trace__terminal-lights",children:[E.jsx("i",{}),E.jsx("i",{}),E.jsx("i",{})]}),E.jsx("strong",{children:"实时执行动态"}),E.jsx("em",{className:`wandox-automation-live-trace__stream-status wandox-automation-live-trace__stream-status--${n}`,children:x4n(n)})]}),t.length>0?E.jsx("div",{ref:r,className:"wandox-automation-live-trace__steps",role:"log","aria-live":"polite",children:t.map(i=>{const a=y4n(i.detail);return E.jsxs("div",{className:`wandox-automation-live-trace__step wandox-automation-live-trace__step--${i.status} wandox-automation-live-trace__step--${i.kind??"step"}`,children:[E.jsx("time",{dateTime:i.occurredAt,children:w4n(i.status==="pending"?void 0:i.occurredAt??(e==null?void 0:e.updatedAt))}),E.jsxs("div",{className:"wandox-automation-live-trace__copy",children:[E.jsxs("strong",{title:i.title,children:[E.jsx("b",{children:"$"})," ",i.title]}),E.jsxs("span",{className:"wandox-automation-live-trace__state","aria-label":_4n(i.status),children:["[",b4n(i.status),"]"]}),a&&E.jsxs("small",{children:[E.jsx("b",{children:"›"}),a]})]})]},i.id)})}):E.jsxs("div",{className:"wandox-automation-live-trace__empty",children:[E.jsx("time",{children:"--:--:--"}),E.jsxs("div",{children:[E.jsxs("strong",{children:[E.jsx("b",{children:"$"})," waiting_for_substep_events"]}),E.jsx("small",{children:"监听后台执行流..."})]}),E.jsx("span",{"aria-hidden":"true",children:"[IDLE]"})]})]})}function E4n({embedded:e,agentName:t,cockpitTransitionLoading:r,history:n,activeLiveExecutionTrace:i,activeLiveExecutionSubsteps:a,liveTraceStepsRef:s,workbenchMode:o,activeRunFailed:l,activeWorkbenchStageKey:u,waitingActiveStageKey:d,selectedWorkbenchStepHasConfirmPreview:h,renderWorkbenchFlow:f,renderFailedTaskRerunAction:p,onReturnToAgentSelection:g}){return E.jsx(o4n,{embedded:e,agentName:t,cockpitTransitionLoading:r,onReturnToAgentSelection:g,historyPanel:E.jsx(g4n,{...n,footer:E.jsx(T4n,{trace:i,steps:a,stepsRef:s})}),workbenchPanel:E.jsx("section",{className:`automation-workbench automation-workbench--flow automation-workbench--${o}${o==="detail"&&l?" is-failed":""}`,children:E.jsx("div",{className:`automation-workbench-body automation-workbench-body--flow${o==="waiting"&&u.startsWith("step:")&&u===d?" is-waiting-step":""}${u.startsWith("step:")?" is-step-stage":""}${h?" is-confirm-preview-stage":""}${u==="params"?" is-params-stage":""}${u==="complete"?" is-complete-stage":""}`,children:o==="run"?f():E.jsxs("div",{className:"wandox-automation-flow-layout",children:[f(),p()]})})})})}function k4n({model:e,actions:t,slots:r}){return E.jsx(E4n,{embedded:e.embedded,agentName:e.agentName,cockpitTransitionLoading:e.transitionLoading,onReturnToAgentSelection:t.back,history:{model:e.history,actions:t.history},activeLiveExecutionTrace:e.liveTrace.active,activeLiveExecutionSubsteps:e.liveTrace.substeps,liveTraceStepsRef:e.liveTrace.stepsRef,workbenchMode:e.workbench.mode,activeRunFailed:e.workbench.activeRunFailed,activeWorkbenchStageKey:e.workbench.activeStageKey,waitingActiveStageKey:e.workbench.waitingActiveStageKey,selectedWorkbenchStepHasConfirmPreview:e.workbench.selectedStepHasConfirmPreview,renderWorkbenchFlow:r.renderWorkbenchFlow,renderFailedTaskRerunAction:r.renderFailedTaskRerunAction})}function A4n({open:e,agents:t,loading:r=!1,sender:n,summary:i,onClose:a,onConfirm:s,onCreateAgent:o}){const[l,u]=S.useState(null),[d,h]=S.useState("");S.useEffect(()=>{e&&(u(null),h(""))},[e]);const f=S.useMemo(()=>{const g=d.trim().toLowerCase();return g?t.filter(m=>{var v;return m.name.toLowerCase().includes(g)||((v=m.description)==null?void 0:v.toLowerCase().includes(g))}):t},[t,d]),p=S.useMemo(()=>t.find(g=>g.id===l)??null,[t,l]);return E.jsxs(Ii,{className:"wandox-inbox-process",open:e,title:null,footer:null,width:680,centered:!0,destroyOnHidden:!0,onCancel:a,children:[E.jsxs("div",{className:"wandox-inbox-process__header",children:[E.jsx("span",{className:"wandox-inbox-process__eyebrow",children:"收件箱流转"}),E.jsx("h2",{className:"wandox-inbox-process__title",children:"选择承接智能体"}),E.jsx("p",{className:"wandox-inbox-process__description",children:"选择后进入驾驶舱,继续配置本次任务并查看完整执行过程。"})]}),E.jsxs("div",{className:"wandox-inbox-process__steps","aria-label":"流转处理步骤",children:[E.jsxs("div",{className:"wandox-inbox-process__step wandox-inbox-process__step--active",children:[E.jsx("span",{className:"wandox-inbox-process__step-number",children:"1"}),E.jsx("span",{className:"wandox-inbox-process__step-copy",children:"选择智能体"})]}),E.jsx("span",{className:"wandox-inbox-process__step-line","aria-hidden":"true"}),E.jsxs("div",{className:"wandox-inbox-process__step",children:[E.jsx("span",{className:"wandox-inbox-process__step-number",children:"2"}),E.jsx("span",{className:"wandox-inbox-process__step-copy",children:"配置任务"})]}),E.jsx("span",{className:"wandox-inbox-process__step-line","aria-hidden":"true"}),E.jsxs("div",{className:"wandox-inbox-process__step",children:[E.jsx("span",{className:"wandox-inbox-process__step-number",children:"3"}),E.jsx("span",{className:"wandox-inbox-process__step-copy",children:"执行并记录"})]})]}),E.jsxs("div",{className:"wandox-inbox-process__source",children:[E.jsx("span",{className:"wandox-inbox-process__source-avatar","aria-hidden":"true",children:(n||"同事").slice(0,1)}),E.jsxs("div",{className:"wandox-inbox-process__source-copy",children:[E.jsxs("span",{className:"wandox-inbox-process__source-label",children:[n||"同事"," 转交的执行结果"]}),E.jsx("strong",{className:"wandox-inbox-process__source-summary",children:i||"当前执行结果将作为本次任务的上游数据"})]})]}),E.jsx(zr,{className:"wandox-inbox-process__search",value:d,prefix:E.jsx(Up,{}),placeholder:"搜索智能体",allowClear:!0,onChange:g=>h(g.target.value)}),E.jsx("div",{className:"wandox-inbox-process__agent-list",children:r?E.jsxs("div",{className:"wandox-inbox-process__state",children:[E.jsx(ji,{size:"small"}),E.jsx("span",{className:"wandox-inbox-process__state-text",children:"正在读取智能体"})]}):f.length>0?f.map(g=>{const m=l===g.id;return E.jsxs("button",{type:"button",className:`wandox-inbox-process__agent${m?" wandox-inbox-process__agent--selected":""}`,"aria-pressed":m,onClick:()=>u(g.id),children:[E.jsx("span",{className:"wandox-inbox-process__agent-avatar","aria-hidden":"true",children:g.name.slice(0,1)}),E.jsxs("span",{className:"wandox-inbox-process__agent-copy",children:[E.jsx("strong",{className:"wandox-inbox-process__agent-name",children:g.name}),E.jsx("span",{className:"wandox-inbox-process__agent-description",children:g.description||"进入驾驶舱后配置本次运行参数"})]}),E.jsx("span",{className:"wandox-inbox-process__agent-check","aria-hidden":"true",children:m&&E.jsx(ym,{})})]},g.id)}):E.jsxs("div",{className:"wandox-inbox-process__empty",children:[E.jsx(Xa,{image:Xa.PRESENTED_IMAGE_SIMPLE,description:d?"没有匹配的智能体":"暂无可用智能体"}),!d&&E.jsxs("button",{type:"button",className:"wandox-inbox-process__create-link",onClick:o,children:[E.jsx(Bl,{}),"创建智能体承接"]})]})}),E.jsxs("div",{className:"wandox-inbox-process__footer",children:[E.jsx("span",{className:"wandox-inbox-process__footer-note",children:"流转来源会自动关联到新的执行记忆。"}),E.jsxs("div",{className:"wandox-inbox-process__footer-actions",children:[E.jsx("button",{type:"button",className:"wandox-inbox-process__button wandox-inbox-process__button--secondary",onClick:a,children:"取消"}),E.jsx("button",{type:"button",className:"wandox-inbox-process__button wandox-inbox-process__button--primary",disabled:!p,onClick:()=>p&&s(p),children:"下一步:配置任务"})]})]})]})}function yAt(e){const t=Fh(e);return Yt(t)?Yt(t.result)?t.result:t:{}}function I4n(e){const t=Fh(e),r=yAt(e);return r.result_data??r.output_data??r.output??r.data??(Yt(t)?t.result_data??t.output_data??t.output??t.data:t)}function $4n(e){const t=Fh(e),r=yAt(e);return Yt(t)?String(r.result_summary??t.result_summary??""):""}function R4n({loading:e,error:t,detail:r,onRetry:n}){if(e)return E.jsxs("div",{className:"automation-inbox-result-empty",children:[E.jsx(ji,{size:"small"}),E.jsx("span",{children:"正在读取执行结果"})]});if(t)return E.jsxs("div",{className:"automation-inbox-result-empty is-error",children:[E.jsx(Rkr,{}),E.jsx("span",{children:t}),E.jsx("button",{type:"button",className:"automation-action-button automation-action-button--compact automation-action-button--danger",onClick:n,children:"重试"})]});if(!r)return E.jsxs("div",{className:"automation-inbox-result-empty",children:[E.jsx(rx,{}),E.jsx("span",{children:"暂无执行结果"})]});const i=I4n(r),a=$4n(r),s=ys(i)?fT(i):a;return ys(s)?E.jsx(qo,{payload:s}):E.jsxs("div",{className:"automation-inbox-result-empty",children:[E.jsx(rx,{}),E.jsx("span",{children:"暂无执行结果内容"})]})}function N4n({model:e,actions:t}){const{embedded:r,transferCount:n,loading:i,groups:a,active:s,rejectingTransferId:o}=e,l=(s==null?void 0:s.transfer)??null,u=(s==null?void 0:s.pending)??!1,d=(s==null?void 0:s.sender)??"",h=(s==null?void 0:s.time)??"",f=s==null?void 0:s.resultContent,{back:p,refresh:g,selectTransfer:m,process:v,createAgent:y,reject:x}=t;return E.jsxs(E.Fragment,{children:[!r&&E.jsx("header",{className:"wandox-automation-page-header",children:E.jsxs("div",{className:"automation-workbench-head",children:[E.jsx("div",{children:E.jsx("h2",{children:"结果收件箱"})}),E.jsx(ur,{className:"wandox-automation-page-header__back",icon:E.jsx(WS,{}),onClick:p,children:"返回智能体选择"})]})}),E.jsxs("section",{className:"automation-workspace automation-workspace--inbox",children:[E.jsxs("section",{className:"automation-panel automation-history-panel automation-history-panel--inbox",children:[E.jsxs("div",{className:"automation-panel-head",children:[E.jsx("div",{children:E.jsx("h2",{children:"收件记录"})}),E.jsx("button",{type:"button",className:"wandox-automation-inbox-refresh","aria-label":"刷新收件",title:"刷新收件",onClick:g,disabled:i,children:i?E.jsx(ji,{size:"small"}):E.jsx(Vv,{})})]}),E.jsx("div",{className:`automation-history-list automation-inbox-memory-list${!i&&n===0?" is-empty":""}`,children:i&&n===0?E.jsxs("div",{className:"automation-history-empty",children:[E.jsx("span",{className:"automation-history-empty-icon",children:E.jsx(ji,{size:"small"})}),E.jsxs("div",{children:[E.jsx("strong",{children:"正在读取收件"}),E.jsx("small",{children:"收件列表会按转交时间展示。"})]})]}):n===0?E.jsxs("div",{className:"automation-history-empty",children:[E.jsx("span",{className:"automation-history-empty-icon",children:E.jsx(rx,{})}),E.jsxs("div",{children:[E.jsx("strong",{children:"暂无收件"}),E.jsx("small",{children:"同事转交执行结果后,会出现在这里。"})]})]}):a.map(b=>E.jsxs("div",{className:"automation-memory-group",children:[E.jsx("div",{className:"automation-memory-date",children:E.jsx("span",{children:b.label})}),E.jsx("div",{className:"automation-memory-stack",children:b.items.map(w=>{const C=(l==null?void 0:l.id)===w.id;return E.jsxs("button",{type:"button",className:`automation-inbox-memory-card automation-inbox-memory-card--${w.runStatus}${C?" automation-inbox-memory-card--active":""}`,title:w.summary,onClick:()=>m(w.id),children:[E.jsx("span",{className:"automation-inbox-memory-card__icon","aria-hidden":"true",children:E.jsx(rx,{})}),E.jsxs("div",{className:"automation-inbox-memory-card__main",children:[E.jsx("strong",{children:w.primaryText}),E.jsx("small",{children:w.time})]}),E.jsx("span",{className:"automation-inbox-memory-card__state",children:w.statusText})]},w.id)})})]},b.key))})]}),E.jsx("section",{className:`automation-workbench automation-workbench--inbox${(l==null?void 0:l.status)==="rejected"?" is-failed":""}${l&&u?" has-footer":""}`,children:E.jsxs("div",{className:"wandox-automation-inbox-detail",children:[E.jsx("div",{className:"automation-workbench-body wandox-automation-inbox-detail__body",children:i&&!l?E.jsxs("section",{className:"automation-workbench-empty wandox-automation-inbox-detail__empty",children:[E.jsx(ji,{}),E.jsx("strong",{children:"正在读取收件详情"}),E.jsx("span",{children:"读取完成后会显示当前收件。"})]}):l?E.jsxs("section",{className:"wandox-automation-inbox-bubble",children:[E.jsxs("div",{className:"wandox-automation-inbox-bubble__head",children:[E.jsx("span",{className:"wandox-automation-inbox-bubble__avatar","aria-hidden":"true",children:(d||"同事").slice(0,1)}),E.jsxs("div",{className:"wandox-automation-inbox-bubble__meta",children:[E.jsx("span",{className:"wandox-automation-inbox-bubble__sender",children:d||"同事"}),E.jsx("span",{className:"wandox-automation-inbox-bubble__action",children:"转交"}),h&&E.jsx("span",{className:"wandox-automation-inbox-bubble__time",children:h})]})]}),E.jsx("div",{className:"wandox-automation-inbox-bubble__content",children:E.jsx("div",{className:"automation-inbox-result-content",children:f})})]}):E.jsxs("section",{className:"automation-workbench-empty wandox-automation-inbox-detail__empty",children:[E.jsx(rx,{}),E.jsx("strong",{children:"暂无收件"}),E.jsx("span",{children:"有新的结果流转时,这里会显示处理入口。"})]})}),l&&u&&E.jsxs("div",{className:"automation-workbench-footer wandox-automation-inbox-detail__footer",children:[E.jsx("div",{className:"wandox-automation-inbox-detail__footer-note",children:"处理当前流转结果,或创建一个新智能体承接后续执行。"}),E.jsxs("div",{className:"wandox-automation-inbox-detail__footer-actions",children:[E.jsxs("button",{type:"button",className:"automation-inbox-action-button automation-inbox-action-button--process",onClick:()=>v(l),children:[E.jsx(If,{}),"处理"]}),E.jsxs("button",{type:"button",className:"automation-inbox-action-button automation-inbox-action-button--create",onClick:()=>y(l),children:[E.jsx(Bl,{}),"创建智能体"]}),E.jsxs("button",{type:"button",className:"automation-inbox-action-button automation-inbox-action-button--reject",disabled:o===l.id,onClick:()=>x(l),children:[E.jsx(us,{}),o===l.id?"拒绝中":"拒绝"]})]})]})]})})]})]})}function L4n({model:e,actions:t}){return E.jsxs(E.Fragment,{children:[E.jsx(N4n,{model:{embedded:e.embedded,transferCount:e.transferCount,loading:e.loading,groups:e.groups,active:e.active?{...e.active,resultContent:E.jsx(R4n,{loading:e.result.loading,error:e.result.error,detail:e.result.detail,onRetry:t.retryResult})}:null,rejectingTransferId:e.rejectingTransferId},actions:{back:t.back,refresh:t.refresh,selectTransfer:t.selectTransfer,process:t.process,createAgent:t.createAgent,reject:t.reject}}),E.jsx(A4n,{open:!!e.process.transfer,agents:e.process.agents,loading:e.process.loading,sender:e.process.sender,summary:e.process.summary,onClose:t.closeProcess,onConfirm:t.continueProcess,onCreateAgent:t.createAgentFromProcess})]})}function x3e(e){return e?typeof e.has_schedule=="boolean"?e.has_schedule:!!(e.schedule_enabled||e.schedule_cron||e.next_run_at):!1}function P4n(e){if(!x3e(e))return"未设置定时";if(e.schedule_display)return e.schedule_display;if(e.schedule_cron)return e.schedule_cron;const t=pw(e.next_run_at);return t?`下次 ${t}`:"已设置定时"}function M4n(e){const t=e.execution_count??0,r=pw(e.last_executed_at);return!r&&t===0?{time:"尚未运行",detail:"暂无运行记录"}:e.last_result_status==="failed"?{time:r||"最近一次",detail:"上次运行失败"}:e.last_result_status==="completed"?{time:r||"最近一次",detail:"上次运行成功"}:{time:r||"已有运行记录",detail:`已运行 ${t} 次`}}function D4n(e){const t=e.input_data_schema,r=Array.isArray(t)?t.length:0,n=Array.isArray(e.tags)?e.tags.slice(0,2).join(" · "):"";return r>0?`${r} 个运行参数`:n||e.category||"可直接启用"}function O4n(e){const t=`${e.name} ${e.scene_name||""}`.toLowerCase();return t.includes("广告")?E.jsx(HEr,{}):t.includes("listing")||t.includes("标题")?E.jsx(ege,{}):t.includes("刊登")||t.includes("商品")||t.includes("库存")?E.jsx(fkr,{}):t.includes("关键词")||t.includes("选品")||t.includes("竞品")?E.jsx(Up,{}):E.jsx($0e,{})}function bAt({loading:e,error:t,empty:r,onReload:n}){return e?E.jsxs("div",{className:"automation-market-state",children:[E.jsx(ji,{size:"small"}),E.jsx("span",{children:"正在读取自动化列表"})]}):t?E.jsxs("div",{className:"automation-market-state automation-market-state--error",children:[E.jsx("strong",{children:"列表读取失败"}),E.jsx("span",{children:t}),n&&E.jsx(ur,{onClick:n,children:"重新加载"})]}):E.jsxs("div",{className:"automation-market-state",children:[E.jsx(fq,{}),E.jsx("strong",{children:r}),E.jsx("span",{children:"从下方模板启用后,会显示在这里。"})]})}function B4n({embedded:e,agentsLoading:t,agentsError:r,marketLoading:n,marketError:i,marketTemplates:a,availableAgents:s,subscribingTemplateId:o,deletingAgentId:l,pendingInboxCount:u,onReloadMarket:d,onEnableMarketTemplate:h,onSelectAgent:f,onConfigureSchedule:p,onDeleteCustomAgent:g,onOpenInbox:m,onCreateAgent:v}){const y=a.filter(b=>b.my_status!=="enabled"),x=s.filter(x3e).length;return E.jsx("section",{className:"automation-market",children:E.jsxs("div",{className:"automation-market__content",children:[E.jsxs("header",{className:"automation-market-intro",children:[E.jsxs("div",{className:"automation-market-intro__copy",children:[E.jsx("h1",{children:"我的自动化"}),E.jsx("p",{children:"进入工作台手动执行,或为重复工作设置定时触发。"})]}),E.jsxs("div",{className:"automation-market-intro__aside",children:[E.jsxs("div",{className:"automation-market-summary","aria-label":"自动化概览",children:[E.jsxs("span",{"aria-label":`${s.length} 个`,children:[E.jsx("strong",{children:s.length})," 个自动化"]}),E.jsxs("span",{children:[E.jsx("strong",{children:x})," 个已设置定时"]})]}),!e&&E.jsxs("div",{className:"automation-market-tools",children:[E.jsx(ei,{title:u>0?`收件箱 · ${u} 条待处理`:"收件箱",children:E.jsx(iA,{dot:u>0,children:E.jsx(ur,{className:"automation-market-tools__button",icon:E.jsx(rx,{}),"aria-label":"收件箱",onClick:m})})}),E.jsx(ei,{title:"创建自动化",children:E.jsx(ur,{className:"automation-market-tools__button",icon:E.jsx(Bl,{}),"aria-label":"创建自动化",onClick:v})})]})]})]}),E.jsxs("table",{className:"automation-market-list","aria-label":"我的自动化列表",children:[E.jsx("thead",{children:E.jsxs("tr",{className:"automation-market-list__columns",children:[E.jsx("th",{scope:"col",children:"自动化与用途"}),E.jsx("th",{scope:"col",children:"运行状态"}),E.jsx("th",{scope:"col",children:"最近运行"}),E.jsx("th",{scope:"col","aria-label":"操作"})]})}),E.jsx("tbody",{children:s.length>0?s.map(b=>{const w=l===b.id,C=b.is_from_market?"移除":"删除",_=x3e(b),T=M4n(b),k=[{key:"schedule",label:_?"管理定时":"设置定时",icon:E.jsx(Bo,{})},{type:"divider"},{key:"remove",label:w?`${C}中`:C,danger:!0,disabled:w}];return E.jsxs("tr",{className:"automation-market-row",children:[E.jsxs("td",{className:"automation-market-row__agent",children:[E.jsx("span",{className:"automation-market-row__avatar",children:O4n(b)}),E.jsxs("div",{className:"automation-market-row__copy",children:[E.jsx("strong",{title:b.name,children:b.name}),E.jsx("span",{title:b.description||b.scene_name||void 0,children:b.description||b.scene_name||"运行、查看记录并配置定时任务"})]})]}),E.jsxs("td",{className:`automation-market-row__state${_?" automation-market-row__state--active":""}`,children:[E.jsx("i",{}),E.jsx("span",{children:P4n(b)})]}),E.jsxs("td",{className:"automation-market-row__last",children:[E.jsx("strong",{children:T.time}),E.jsx("span",{children:T.detail})]}),E.jsxs("td",{className:"automation-market-row__actions",children:[E.jsx(ur,{className:"automation-market-row__enter",onClick:()=>f(b),children:"进入工作台"}),E.jsx(jv,{trigger:["click"],placement:"bottomRight",menu:{items:k,onClick:({key:A})=>{A==="schedule"&&p(b),A==="history"&&f(b),A==="remove"&&g(b)}},children:E.jsx(ur,{type:"text",className:"automation-market-row__more",icon:E.jsx(qG,{}),"aria-label":`${b.name}的更多操作`})})]})]},`agent-${b.id}`)}):E.jsx("tr",{children:E.jsx("td",{className:"automation-market-state-cell",colSpan:4,children:E.jsx(bAt,{loading:t,error:r,empty:"暂无可用自动化",onReload:d})})})})]}),(n||i||y.length>0)&&E.jsxs("section",{className:"automation-market-discovery",children:[E.jsxs("div",{className:"automation-market-discovery__head",children:[E.jsxs("div",{children:[E.jsx("h2",{children:"可启用自动化"}),E.jsx("p",{children:"启用后会添加到“我的自动化”。"})]}),y.length>0&&E.jsxs("span",{children:[y.length," 个模板"]})]}),E.jsxs("table",{className:"automation-market-list automation-market-list--templates","aria-label":"可启用自动化列表",children:[E.jsx("thead",{children:E.jsxs("tr",{className:"automation-market-list__columns",children:[E.jsx("th",{scope:"col",children:"自动化与用途"}),E.jsx("th",{scope:"col",children:"配置"}),E.jsx("th",{scope:"col",children:"分类"}),E.jsx("th",{scope:"col","aria-label":"操作"})]})}),E.jsx("tbody",{children:y.length>0?y.map(b=>{const w=o===b.id;return E.jsxs("tr",{className:"automation-market-row automation-market-row--template",children:[E.jsxs("td",{className:"automation-market-row__agent",children:[E.jsx("span",{className:"automation-market-row__avatar",children:E.jsx(fq,{})}),E.jsxs("div",{className:"automation-market-row__copy",children:[E.jsx("strong",{title:b.name,children:b.name}),E.jsx("span",{title:b.description||void 0,children:b.description||"启用后即可进入工作台运行"})]})]}),E.jsx("td",{className:"automation-market-row__meta",children:D4n(b)}),E.jsx("td",{className:"automation-market-row__meta",children:b.category||"通用"}),E.jsx("td",{className:"automation-market-row__actions",children:E.jsx(ur,{className:"automation-market-row__enter",loading:w,disabled:o!==null,onClick:()=>h(b),children:w?"启用中":"启用"})})]},`market-${b.id}`)}):E.jsx("tr",{children:E.jsx("td",{className:"automation-market-state-cell",colSpan:4,children:E.jsx(bAt,{loading:n,error:i,empty:"暂无可启用模板",onReload:d})})})})]})]})]})})}function F4n({model:e,actions:t}){return E.jsx(B4n,{...e,onReloadMarket:t.reload,onEnableMarketTemplate:t.enableTemplate,onSelectAgent:t.selectAgent,onConfigureSchedule:t.configureSchedule,onDeleteCustomAgent:t.deleteAgent,onOpenInbox:t.openInbox,onCreateAgent:t.createAgent})}function z4n({text:e}){return e?E.jsx("div",{className:"automation-toast",children:e}):null}function j4n({view:e,market:t,inbox:r,cockpit:n,empty:i,transferModal:a,scheduleModal:s,toast:o}){return E.jsxs("main",{className:"automation",children:[e==="market"?E.jsx(F4n,{...t}):e==="inbox"?E.jsx(L4n,{...r}):n?E.jsx(k4n,{...n}):E.jsx(s4n,{...i}),E.jsx(u3e,{...a}),E.jsx(a4n,{...s}),E.jsx(Skn,{}),E.jsx(Ikn,{}),E.jsx(z4n,{text:o})]})}function V4n(e){const t=typeof e=="number"?e:Number(e);return Number.isFinite(t)&&t>0?t:null}function H4n(e,t){return V4n(t??e.execution_record_id??e.execution_id)}function W4n(e,{selectedAgentId:t,recommendedAgentId:r}){return e.agent_id?e.agent_id===t||e.agent_id===r&&r!=null:!0}function G4n(){const e=S.useRef(""),t=S.useRef(""),r=S.useCallback(()=>{e.current="",t.current=""},[]),n=S.useCallback((a,s)=>{const o=`${a}:${s||""}`;return e.current===o?!1:(e.current=o,!0)},[]),i=S.useCallback((a,s,o)=>{const l=`${a}:${s}:${String(o??"")}`;return t.current===l?!1:(t.current=l,!0)},[]);return{reset:r,shouldHandleWaiting:n,shouldHandleFinished:i}}const w3e={phase:"idle",drawer:null,waitingRunId:"",waitingInfo:null,waitingLoading:!1,waitingSubmitting:!1};function U4n(e,t){if(t.type==="execution_started")return{...e,phase:"running",waitingRunId:"",waitingInfo:null,drawer:e.drawer==="run"||e.drawer==="waiting"?null:e.drawer};if(t.type==="execution_finished")return{...e,phase:t.phase,waitingRunId:"",waitingInfo:null,waitingLoading:!1,waitingSubmitting:!1,drawer:"detail"};if(t.type==="execution_cancelled")return{...w3e};const r=typeof t.update=="function"?t.update(e):t.update;return{...e,...r}}function s$(e,t){return r=>{e({type:"update",update:n=>({[t]:typeof r=="function"?r(n[t]):r})})}}function q4n(){const[e,t]=S.useReducer(U4n,w3e),r=S.useMemo(()=>s$(t,"phase"),[]),n=S.useMemo(()=>s$(t,"drawer"),[]),i=S.useMemo(()=>s$(t,"waitingRunId"),[]),a=S.useMemo(()=>s$(t,"waitingInfo"),[]),s=S.useMemo(()=>s$(t,"waitingLoading"),[]),o=S.useMemo(()=>s$(t,"waitingSubmitting"),[]),l=S.useCallback(()=>t({type:"update",update:{drawer:"detail"}}),[]),u=S.useCallback((I=!1)=>t({type:"update",update:$=>({drawer:"run",phase:I?$.phase:"idle"})}),[]),d=S.useCallback(I=>t({type:"update",update:{waitingRunId:I,waitingInfo:null,waitingLoading:!0,drawer:"waiting"}}),[]),h=S.useCallback(()=>t({type:"update",update:{waitingRunId:"",waitingInfo:null,waitingLoading:!1,waitingSubmitting:!1,drawer:null}}),[]),f=S.useCallback(()=>t({type:"update",update:w3e}),[]),p=S.useCallback(()=>t({type:"execution_cancelled"}),[]),g=S.useCallback((I,$)=>t({type:"update",update:P=>({waitingInfo:I,waitingRunId:$??P.waitingRunId,waitingLoading:!1,drawer:"waiting"})}),[]),m=S.useCallback(()=>t({type:"execution_started"}),[]),v=S.useCallback(()=>t({type:"update",update:{phase:"running",drawer:"run",waitingRunId:"",waitingInfo:null}}),[]),y=S.useCallback(()=>t({type:"update",update:{phase:"idle",drawer:"run"}}),[]),x=S.useCallback(()=>t({type:"update",update:{phase:"failed"}}),[]),b=S.useCallback(()=>t({type:"update",update:{phase:"running"}}),[]),w=S.useCallback(()=>t({type:"update",update:{phase:"idle"}}),[]),C=S.useCallback(()=>t({type:"update",update:{phase:"review_content"}}),[]),_=S.useCallback(()=>t({type:"update",update:{phase:"review_submit"}}),[]),T=S.useCallback(()=>t({type:"update",update:{phase:"polling"}}),[]),k=S.useCallback(()=>t({type:"update",update:{phase:"completed"}}),[]),A=S.useCallback(I=>t({type:"execution_finished",phase:I}),[]);return{...e,setPhase:r,setDrawer:n,setWaitingRunId:i,setWaitingInfo:a,setWaitingLoading:s,setWaitingSubmitting:o,openDetailDrawer:l,openRunDrawer:u,beginWaiting:d,clearWaiting:h,resetExecution:f,cancelExecution:p,advanceWaiting:g,executionStarted:m,beginExecution:v,prepareRun:y,failExecution:x,setRunningPhase:b,setIdlePhase:w,setReviewContentPhase:C,setReviewSubmitPhase:_,setPollingPhase:T,setCompletedPhase:k,executionFinished:A}}function Y4n(){const[e,t]=S.useState(m4n);S.useEffect(()=>{v4n(e)},[e]);const r=S.useCallback(n=>{t(i=>C4n(i,n))},[]);return{traces:e,recordEvent:r}}function xAt(...e){return e.find(ys)}function wAt(e,t){const r=e.result_data,n=rke(r),i=ike(r,n,3);if(i.length>0)return i;const s=[["处理状态",TB(e.status)==="completed"&&t?`已完成 ${t} 个步骤`:hT(e)],["触发方式",e.trigger_display||(e.trigger_type==="scheduled"?"定时运行":"手动运行")]];return e.duration_ms&&s.push(["耗时",`${Math.round(Number(e.duration_ms)/1e3)} 秒`]),s.filter(([,o])=>ys(o)).slice(0,3)}function SAt(e,t,r,n=new Map){return qJ(t,n)}function S3e(e){if(!Yt(e))return;const t=Yt(e.execution)?e.execution:{},r=Yt(e.workflow)?e.workflow:{},n=Yt(e.chain)?e.chain:{};return xAt(e.steps,e.workflow_steps,e.execution_steps,e.playbooks,t.steps,t.workflow_steps,t.execution_steps,t.playbooks,r.steps,r.playbooks,n.steps,n.playbooks)}function Ute(e){const t=Fh(e);if(!Yt(t))return;const r=Yt(t.execution)?t.execution:{},n=Yt(t.result)?t.result:{},i=S3e(t),a=Array.isArray(i)?i.flatMap(s=>Yt(s)?[s.input_data,s.input]:[]):[];return Ubt(r.input_data,r.params,r.input_params,r.input,r.run_params,r.execution_params,t.input_data,t.params,t.input_params,t.input,n.input_data,n.params,n.input_params,n.input,...a)}function qte(e,t){const r=Fh(e),n=Yt(r)&&Yt(r.execution)?r.execution:{};return rfn(t,Yt(r)?r.input_params:void 0,n.input_params)}function CAt(e){return ys(e)?typeof e=="string"?e.trim():gw(e):""}function K4n(e){const t=Sg(e.execution_title,e.agent_name)||"智能体执行",r=e,n=e.started_at??r.created_at??e.completed_at??r.updated_at,i=e.execution_steps??e.workflow_steps??e.steps,a=rxt(e.result_data,e,i),s=TB(e.status),o=JEe(i),l=e,u=Ubt(l.input_data,l.params,l.input_params,l.input,l.run_params,l.execution_params),d=Yt(l.result)?l.result:{},h=l.result_id??l.resultId??d.id??d.result_id,f=Hy(l.current_step_index);return{id:String(e.id??e.execution_id),recordId:Number.isFinite(Number(e.id))?Number(e.id):void 0,currentStepIndex:f,currentStepId:Xbt(i,f),resultId:h?String(h):void 0,title:t,time:pw(n)||"未知时间",occurredAt:n,trigger:e.trigger_type==="scheduled"?"定时运行":"手动运行",triggerType:e.trigger_type,status:s,businessStatus:e.business_status??void 0,summary:a.subtitle||(s==="completed"?"":hT(e)),resultTitle:a.title||Cg(t,e.result_summary,e.error_message),listResultSummary:CAt(e.result_summary),listErrorMessage:CAt(e.error_message),resultContent:a.content,resultPayload:a.payload,params:SAt(e,u),inputValues:AB(u),steps:QEe({...e,summary:hT(e)}),outputs:a.meta.length>0?a.meta:wAt(e,o),detailData:a.detailData}}function _At(e){const t=Fh(e);if(!Yt(t))return;const r=Yt(t.execution)?t.execution:{},n=Yt(t.result)?t.result:{};return GJ(n.id??n.result_id??r.result_id??t.result_id)}function X4n(e,t){return WEe([t,...e.filter(r=>r.id!==t.id)])}function Z4n(e,t,r){let n=!1;const i=e.map(a=>{if(a.id!==t)return a;const s=r(a);return s!==a&&(n=!0),s});return n?i:e}function Q4n(e,t){const r=e.filter(n=>n.id!==t);return r.length===e.length?e:r}function J4n(e,t){return e>1&&t<=1?e-1:e}function eAn({selectedAgent:e,setActiveRunId:t,beginWaiting:r,advanceWaiting:n,clearWaiting:i,setWaitingLoading:a,getExecutionDetail:s,updateRun:o,notify:l,getErrorMessage:u}){return S.useCallback(async d=>{t(d.id);const h=Number(d.id);if(!Number.isFinite(h)){kt.error("无法定位执行记录");return}r(d.id);try{const[f,p]=await Promise.allSettled([mI(h),s(h)]);if(p.status==="fulfilled"){const m=p.value,v=Ute(m),y=qte(m,e==null?void 0:e.input_params);_g(v)&&o(d.id,x=>ZEe(x,v,y))}if(f.status==="rejected")throw f.reason;const g=f.value;if(!g){kt.info("当前执行记录暂无待处理步骤"),i();return}n(g,d.id),l("已读取待处理表单")}catch(f){kt.error(u(f,"加载待处理表单失败")),i()}finally{a(!1)}},[n,r,i,u,s,l,e,t,a,o])}function tAn({isExecuting:e,currentExecutionId:t,selectedAgentId:r,cancelledExecutionRef:n,abort:i,cancelExecution:a,resetLiveExecutionState:s,setActiveRunSnapshot:o,notify:l,refreshLiveRuns:u}){const d=pl(),h=Nf({...dp.executions.cancel(),onSuccess:(f,p)=>Hh(d,{type:"execution-cancelled",executionId:p,agentId:r??void 0},{refetchType:"none"})});return S.useCallback(async()=>{if(e){n.current=!0,i(),a(),s(),o(f=>f&&f.status==="running"?{...f,status:"failed",summary:"执行已取消"}:f);try{t!=null&&Number.isFinite(Number(t))&&await h.mutateAsync(Number(t)),l("执行已取消"),r&&u()}catch(f){kt.error(So(f,"取消执行失败"))}}},[i,a,h,n,t,e,l,u,s,r,o])}function rAn({isExecuting:e,reExecutingStepId:t,setReExecutingStepId:r,resetExecutionEvents:n,clearExecutionDetail:i,setActiveRunId:a,executionStarted:s,failExecution:o,reExecuteStep:l,notify:u,refreshLiveRuns:d}){return S.useCallback(async(h,f)=>{if(e||t||!yI(f))return;const p=Number(f.id);if(!Number.isFinite(p)){kt.error("无法定位执行记录");return}const g=Tfn(h,f.currentStepIndex,f.currentStepId);r(h.id);try{const m=Sa.getState(),v=f.steps.length>0?f.steps:[h];m.setCurrentExecutionId(p),m.setExecutionSteps(ixt(v,p)),m.setLatestSSEEvent(null),n(),i(p),a(f.id),s(),u(`正在重新执行步骤:${h.title}`),await l(p,g),d()}catch(m){o(),kt.error(So(m,"步骤重新执行失败"))}finally{r("")}},[i,s,o,e,u,l,t,d,n,a,r])}function nAn({isExecuting:e,rerunningRunId:t,reExecutingStepId:r,selectedAgentId:n,resolveRetryRunFormValues:i,resetLiveExecutionState:a,pendingExecutionTitleRef:s,setRerunningRunId:o,applyRetryValues:l,prepareRun:u,setSelectedWorkbenchStageKey:d,setExpandedWorkbenchStageKeys:h,notify:f}){return S.useCallback(async p=>{if(!(e||t||r)&&n&&yI(p)){o(p.id);try{const g=await i(p);a(),s.current="",l(g),u(),d("params"),h(["params"]),f("已回填本次参数,确认后开始执行")}catch(g){kt.error(So(g,"读取本次任务参数失败"))}finally{o("")}}},[l,e,f,s,u,r,a,i,t,n,h,o,d])}function iAn({runInputFields:e,selectedAgentInputParams:t,getExecutionDetail:r,updateRun:n}){return S.useCallback(async i=>{let a=_g(i.inputValues)?i.inputValues:void 0;const s=Number(i.id);if(!a&&Number.isFinite(s)){const u=await r(s);a=Ute(u);const d=qte(u,t);_g(a)&&n(i.id,h=>ZEe(h,a,d))}const o=AB(a)??i.inputValues??{};if(e.length===0)return _g(o)?{...o}:{};const l=qbt(e,{...i,inputValues:_g(o)?o:i.inputValues});return{...nw(e,l),...l,...Yt(o)?o:{}}},[r,e,t,n])}function aAn({waitingInfo:e,waitingRun:t,waitingPreviewSteps:r,runPreviewSteps:n,selectedAgentId:i,setWaitingSubmitting:a,resumeExecution:s,clearExecutionDetail:o,advanceWaiting:l,clearWaiting:u,notify:d,refreshLiveRuns:h}){return S.useCallback(async f=>{if(!e||!t)return;const p=Number(t.id);if(!Number.isFinite(p)){kt.error("无法定位执行记录");return}const g=t.steps.map(v=>({step_id:v.id})),m=f.action==="return_previous"?dT(e,g):e.step_id;if(!m){kt.error("无法定位需要继续的步骤");return}a(!0);try{const v=nxt(t,e,(r==null?void 0:r.runId)===t.id?r.steps:n),y=Sa.getState();if(y.setCurrentExecutionId(p),y.setExecutionSteps(ixt(v.length>0?v:t.steps,p)),y.setExecutionProgress(v.length>0?Math.round(v.filter(b=>b.status==="completed").length/v.length*100):0),y.setLatestSSEEvent(null),await s(p,m,f.inputData,{action:f.action,confirmedInput:f.confirmedInput,modifiedParams:f.modifiedParams}),o(p),f.action==="return_previous"){const b=await mI(p,m);b?(l(b),d("已返回上一步,请继续处理")):(u(),d("已返回上一步")),i&&h();return}const x=Sa.getState().latestSSEEvent;if((x==null?void 0:x.type)==="waiting_input"){const b=await mI(p,x.step_id);b?(l(b,t.id),d("执行已到下一处人工确认")):u()}else u(),f.action==="cancel"?d("执行已取消"):["execution_failed","step_failed","timeout"].includes((x==null?void 0:x.type)??"")?d("继续执行失败,请查看执行详情"):d("已提交,执行记录正在刷新");i&&h()}catch(v){kt.error(So(v,"继续执行失败"))}finally{a(!1)}},[l,o,u,d,h,s,n,i,a,e,r,t])}function sAn({selectedAgentId:e,currentExecutionId:t,execution:r,executions:n,runForm:i,cockpit:a,recommendations:s,agentExecution:o,resetExecutionEvents:l,pendingExecutionTitleRef:u,recommendedExecutionRef:d,setActiveRunId:h,setDeletingExecutionId:f,setModal:p,inboxRunTransfer:g,setInboxRunTransfer:m,refreshInboxTransfers:v,loadAgents:y,waitingPreviewSteps:x,notify:b}){const w=pl(),C=Nf({...dp.executions.delete(),onSuccess:(Qe,{executionId:Je})=>Hh(w,{type:"execution-deleted",executionId:Je,agentId:e??void 0},{refetchType:"none"})}),[_,T]=S.useState(""),[k,A]=S.useState(""),[I,$]=S.useState(void 0),P=S.useRef(!1),{phase:N,setWaitingRunId:R,setWaitingInfo:L,setWaitingLoading:M,setWaitingSubmitting:O,openDetailDrawer:D,openRunDrawer:F,beginWaiting:B,clearWaiting:j,resetExecution:H,cancelExecution:z,advanceWaiting:W,executionStarted:G,beginExecution:q,prepareRun:Y,failExecution:K,setIdlePhase:Z}=r,{runInputFields:X,runFormValues:Q,applyRetryValues:J,resetForExecution:re,getVisibleFields:ne,persistCurrentRunValues:se,setInputSnapshot:ce,clearInputSnapshot:le}=i,{selectedAgent:te,isLiveAgent:oe,runPreviewSteps:xe,activeRun:pe,waitingRun:Ae,runParametersLoading:Te,isExecuting:Le,historyPage:Re}=a.state,{refreshHistory:ue,changeHistoryPage:de,setSelectedWorkbenchStageKey:he,setExpandedWorkbenchStageKeys:ve}=a.actions,{realRuns:be,setActiveRunSnapshot:ee,loadExecutions:me,getExecutionDetail:ae,clearExecutionDetail:fe,updateRun:ie,removeRun:$e}=n,{load:ge,enable:Be,setActionId:Ne}=s,{startExecution:Fe,startRecommendedExecution:Oe,resumeExecution:Xe,reExecuteStep:He,acceptTransfer:ot,abort:Ce}=o,it=S.useCallback(()=>{Ce(),H(),l(),d.current=null;const Qe=Sa.getState();Qe.setExecutionSteps([]),Qe.setExecutionProgress(0),Qe.setCurrentExecutionId(null),Qe.setLatestSSEEvent(null)},[Ce,d,H,l]),we=S.useCallback(()=>{re(e),u.current="",R(""),L(null),M(!1),O(!1),he("params")},[u,re,e,he,L,M,R,O]),Pe=S.useCallback(()=>{Le||(Z(),it(),we()),F(Le),b(Le?"执行过程正在更新":"确认参数后开始执行")},[Le,b,F,it,we,Z]),ke=eAn({selectedAgent:te,setActiveRunId:h,beginWaiting:B,advanceWaiting:W,clearWaiting:j,setWaitingLoading:M,getExecutionDetail:ae,updateRun:ie,notify:b,getErrorMessage:So}),De=aAn({waitingInfo:r.waitingInfo,waitingRun:Ae,waitingPreviewSteps:x,runPreviewSteps:xe,selectedAgentId:e,setWaitingSubmitting:O,resumeExecution:(Qe,Je,lt,nt)=>Xe(Qe,Je,lt,nt),clearExecutionDetail:fe,advanceWaiting:W,clearWaiting:j,notify:b,refreshLiveRuns:ue}),et=iAn({runInputFields:X,selectedAgentInputParams:te==null?void 0:te.input_params,getExecutionDetail:ae,updateRun:ie});function Ue(){if(!oe||!e||N==="running")return;if(Te){b("正在读取运行参数");return}const Qe=ne(),Je=Qe.filter(Pt=>Pt.required&&tp(Q[Pt.name]));if(Je.length>0){kt.warning(`请填写必填参数: ${Je.map(Pt=>Pt.label||Pt.name).join(", ")}`);return}const lt=Qe.map(Pt=>({field:Pt,error:VQ(Pt)?Lvt(Q[Pt.name],Pt.address_validation):""})).find(Pt=>Pt.error);if(lt){kt.warning(`${lt.field.label||lt.field.name}: ${lt.error}`);return}const nt=se(e,Qe),yt=efn(nt);u.current=yt??"",ce(nt),P.current=!1,it(),q();const bt=g;b(bt?"已承接流转结果,正在创建新的执行记忆":Qe.length>0?"已开始执行,参数会自动复用到再次执行":"已开始执行,这个智能体无需运行参数"),(bt?ot(bt.id,{action:"use_existing_agent",agent_id:e,input_data:nt,create_execution_chain:!0,fan_out_enabled:!1}):Fe(e,nt,{executionTitle:yt})).then(()=>{bt&&(m(null),v(),ue())}).catch(Pt=>{P.current||(K(),kt.error(So(Pt,bt?"承接流转执行失败":"执行失败")))})}const Ke=nAn({isExecuting:Le,rerunningRunId:_,reExecutingStepId:k,selectedAgentId:e,resolveRetryRunFormValues:et,resetLiveExecutionState:it,pendingExecutionTitleRef:u,setRerunningRunId:T,applyRetryValues:J,prepareRun:Y,setSelectedWorkbenchStageKey:he,setExpandedWorkbenchStageKeys:ve,notify:b}),Se=rAn({isExecuting:Le,reExecutingStepId:k,setReExecutingStepId:A,resetExecutionEvents:l,clearExecutionDetail:fe,setActiveRunId:h,executionStarted:G,failExecution:K,reExecuteStep:He,notify:b,refreshLiveRuns:ue}),vt=tAn({isExecuting:Le,currentExecutionId:t,selectedAgentId:e,cancelledExecutionRef:P,abort:Ce,cancelExecution:z,resetLiveExecutionState:it,setActiveRunSnapshot:ee,notify:b,refreshLiveRuns:ue}),ft=S.useCallback(async Qe=>{const Je=Hy(Qe.resultId);if(Je)return Je;const lt=Number(Qe.id);if(!Number.isFinite(lt))return;const nt=await ae(lt),yt=_At(nt);if(yt)return ie(Qe.id,bt=>({...bt,resultId:yt})),Hy(yt)},[ae,ie]),mt=S.useCallback(()=>{p(null),$(void 0)},[p]),Ye=S.useCallback(async Qe=>{if(Qe.status==="completed"){h(Qe.id),D();try{const Je=await ft(Qe);Je||kt.warning("当前执行记录缺少结果 ID,提交时无法流转"),$(Je),p("share")}catch(Je){kt.error(So(Je,"结果详情读取失败")),$(void 0),p("share")}}},[D,ft,h,p]),st=S.useCallback(Qe=>{if(!e||Qe.recordId==null){kt.error("缺少执行记录ID,无法删除");return}const Je=Qe.recordId,lt=Qe.status==="running"||Qe.status==="waiting";Ii.confirm({title:lt?"取消并删除这条执行记录?":"删除这条执行记录?",content:lt?"当前任务仍在进行。系统将先取消执行,再删除记录。":`删除「${Qe.title}」后,该记录将从执行历史中移除。`,okText:lt?"取消并删除":"删除",cancelText:"保留",okButtonProps:{danger:!0},centered:!0,onOk:async()=>{f(Je);try{await C.mutateAsync({executionId:Je,cancelFirst:lt}),$e(Qe.id),lt&&t===Je&&(Ce(),z());const nt=J4n(Re,be.length);de(nt),await me(e,nt),kt.success("执行记录已删除")}catch(nt){throw kt.error(So(nt,"删除执行记录失败")),nt}finally{f(null)}}})},[Ce,z,de,t,C,Re,me,be.length,$e,e,f]),Me=S.useCallback(async Qe=>{try{await Be(Qe.id),await ge(te==null?void 0:te.market_template_id),await y(null,!1),kt.success("已启用智能体")}catch(Je){await ge(te==null?void 0:te.market_template_id),kt.error(So(Je,"启用推荐智能体失败"))}finally{Ne(null)}},[Be,y,ge,te==null?void 0:te.market_template_id,Ne]),tt=S.useCallback(async Qe=>{if(!pe||pe.status!=="completed"){kt.warning("当前结果完成后才能执行推荐智能体");return}const Je=await ft(pe);if(!Je){kt.warning("当前结果还在同步,请稍后再试");return}const lt=`${Qe.name} · 推荐执行`;Ne(Qe.id),it(),d.current={templateId:Qe.id,templateName:Qe.name,agentId:Qe.my_agent_id},u.current=lt,le(),q(),b("已开始执行推荐智能体");try{await Oe(Je,Qe.id,{inputData:{},executionTitle:lt})}catch(nt){d.current=null,K(),kt.error(So(nt,"推荐智能体执行失败"))}finally{Ne(null)}},[pe,q,le,K,b,u,d,it,ft,Ne,Oe]);return{state:{rerunningRunId:_,reExecutingStepId:k,transferModalResultId:I},actions:{openRunDrawer:Pe,openWaitingRun:ke,submitWaitingInput:De,rerunFailedExecution:Ke,reExecuteFailedStep:Se,startRun:Ue,cancelCurrentExecution:vt,closeTransferModal:mt,openShareForRun:Ye,deleteExecutionRecord:st,enableRecommendedTemplate:Me,executeRecommendedTemplate:tt}}}const oAn=new Set(["re_executing","step_running","step_awaiting_async","step_pending_async","substep_running","substep_completed","step_completed","step_failed","waiting_input","execution_completed","execution_failed","timeout"]),lAn=new Set(["execution_failed","step_failed","timeout"]);function cAn(e){const t=e.type==="waiting_input",r=e.type==="execution_completed",n=lAn.has(e.type),i=r||n;return{status:t?"waiting":r?"completed":n?"failed":"running",phase:t?"idle":r?"completed":n?"failed":"running",waitingStepId:t&&e.step_id||null,isWaiting:t,isTerminal:i,isTerminalFailure:n,shouldCaptureLiveTrace:oAn.has(e.type)}}function uAn({event:e,transition:t,executionSteps:r,runPreviewSteps:n}){const i=t.waitingStepId;return{nextSteps:r.length>0?Qbt(r,i):n.map((s,o)=>({...s,status:i&&o===0?"waiting":s.status,humanConfirm:i&&o===0?!0:s.humanConfirm,humanConfirmTriggered:i&&o===0?!0:s.humanConfirmTriggered})),nextStatus:t.status,nextStepError:So(e.error||e.error_message,"执行失败")}}function dAn(e){const t=Sa(n=>n.latestSSEEvent),r=S.useRef(e);r.current=e,S.useEffect(()=>{var B;if(!t)return;const{enabled:n,selectedAgent:i,currentExecutionId:a,executionSteps:s,runPreviewSteps:o,runInputData:l,recommendedExecutionRef:u,pendingExecutionTitleRef:d,shouldHandleWaiting:h,shouldHandleFinished:f,recordLiveTraceEvent:p,upsertRun:g,setActiveRunId:m,executionStarted:v,setIdlePhase:y,beginWaiting:x,setWaitingInfo:b,setWaitingLoading:w,clearExecutionDetail:C,setWaitingPreviewSteps:_,executionFinished:T,refreshLiveRuns:k,notify:A}=r.current;if(!n||!i)return;const I=u.current;if(!W4n(t,{selectedAgentId:i.id,recommendedAgentId:I==null?void 0:I.agentId}))return;I&&t.agent_id&&(u.current={...I,agentId:t.agent_id});const $=t.agent_id??i.id,P=((B=t.agent_name)==null?void 0:B.trim())||(I==null?void 0:I.templateName)||i.name,N=H4n(t,a);if(!N)return;const R=String(N),L=cAn(t),{nextSteps:M,nextStatus:O,nextStepError:D}=uAn({event:t,transition:L,executionSteps:s,runPreviewSteps:o}),F=new Date().toISOString();if(L.shouldCaptureLiveTrace&&s.length>0&&p({executionId:R,agentId:$,agentName:P,status:O,updatedAt:F,steps:lfn(s)}),g(j=>afn({event:t,existing:j.find(H=>H.id===R),eventExecutionId:N,eventAgentName:P,isRecommended:!!I,pendingExecutionTitle:d.current,runInputData:l,nextSteps:M,nextStatus:O,nextStepError:D,eventTime:F})),m(R),O==="running"&&v(),t.type==="waiting_input"){if(!h(R,t.step_id))return;const j=gI(t),H=M.map(W=>({step_id:W.id}));y(),x(R),b({...j,return_step_id:dT(j,H)});let z=!1;return mI(N,t.step_id).then(W=>{z||!W||b({...W,return_step_id:dT(W,H)})}).catch(()=>{}).finally(()=>{z||w(!1)}),()=>{z=!0}}L.isTerminal&&f(t.type,R,t.result_id||t.error||t.error_message||"")&&(C(N),_(null),T(t.type==="execution_completed"?"completed":"failed"),k(),A(t.type==="execution_completed"?"执行完成,已进入详情":"执行失败,请查看详情"),u.current=null)},[t])}function GF(e,t){const r=Fh(e),n=[],i=s=>{if(!Yt(s))return;const o=Yt(s.execution)?s.execution:{},l=Yt(s.workflow)?s.workflow:{},u=Yt(s.chain)?s.chain:{},d=Yt(s.agent_config)?s.agent_config:{};n.push(s.steps,s.workflow_steps,s.execution_steps,s.playbooks,o.steps,o.workflow_steps,o.execution_steps,o.playbooks,l.steps,l.playbooks,u.steps,u.playbooks,d.steps,d.playbooks,Yt(s.config)?s.config.steps:void 0,Yt(s.agent)?s.agent.steps:void 0,Yt(s.agent)?s.agent.playbooks:void 0,Yt(s.custom_agent)?s.custom_agent.steps:void 0,Yt(s.custom_agent)?s.custom_agent.playbooks:void 0,Yt(s.detail)?s.detail.steps:void 0,Yt(s.detail)?s.detail.playbooks:void 0)};i(r),i(e);const a=n.find(Array.isArray);return!Array.isArray(a)||a.length===0?[]:a.map((s,o)=>{const l=Yt(s)?s:{},u=Yt(l.playbook)?l.playbook:{},d=Yt(l.workflow)?l.workflow:{},h=l.step_id??l.id??l.playbook_id??`step_${o+1}`,f=Sg(l.step_name,l.playbook_name,l.name,l.title,l.skill_name,u.name,d.name);return{id:String(h),title:f||(a.length===1?Sg(t):"")||`步骤 ${o+1}`,description:Sg(l.description,u.description,d.description)||"执行配置的流程",event:"pending",humanConfirm:!!(l.requires_human_confirm??l.requires_human_input??l.human_confirm),status:"pending"}})}function o$(e){return e.some(t=>!/^步骤 \d+$/.test(t.title))}function C3e(e){return GF(e,e==null?void 0:e.name)}function Yte(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function _3e(e){if(typeof e=="number"&&Number.isFinite(e))return String(e);if(typeof e=="string"&&e.trim())return e.trim()}function hAn(e,t=0){const r=Yte(e)?e:{},n=Yte(r.target_user)?r.target_user:{},i=Yte(r.source_result)?r.source_result:{},a=Yte(r.source_execution)?r.source_execution:{},s=_3e(r.source_result_id??r.result_id??i.id??i.result_id),o=_3e(r.source_execution_id??r.execution_id??a.id??a.execution_id);return{id:_3e(r.id??r.transfer_code)??`transfer-${t}`,target:String(r.target_nickname??r.target_username??r.target_name??n.display_name??n.nickname??n.username??r.target_user_id??"接收人"),runId:o??s??"-",executionId:o,resultId:s,time:pw(r.created_at)||"未知时间",status:String(r.status??"pending")}}function fAn(e,t){const r=new Set([t.id,t.resultId].filter(n=>!!n));return!!(e.executionId&&r.has(e.executionId))||!!(e.resultId&&r.has(e.resultId))||r.has(e.runId)}const pAn={page:1,pageSize:100},gAn={page:1,pageSize:24},T3e=10,mAn={page:1,pageSize:100},vAn={page:1,pageSize:50},yAn={getAgents:Ive,getAgentDetail:XAr,getMarketTemplates:u3r,getMarketTemplateRecommendations:h3r,getExecutions:$ve,getExecutionDetail:zQe,getResultDetail:s3r,getPendingTransfers:jQe,getSentTransfers:l3r};function bAn(e){return{page:e.page,pageSize:e.pageSize,sceneId:e.sceneId,isTemplate:e.isTemplate}}function xAn(e){return{page:e.page,pageSize:e.pageSize,category:e.category,keyword:e.keyword}}function wAn(e){return{agentId:e.agentId,page:e.page,pageSize:e.pageSize,status:e.status,statuses:TAt(e.statuses),businessStatuses:TAt(e.businessStatuses),triggerType:e.triggerType,startDate:e.startDate,endDate:e.endDate}}function TAt(e){if(!e)return;const t=e.map(r=>r.trim()).filter(Boolean);return t.length?Array.from(new Set(t)):void 0}function EAt(e){return{page:e.page,pageSize:e.pageSize}}function SAn(e=yAn){return{agents:{list:t=>{const r=bAn(t);return{queryKey:Si.agents.list(r),queryFn:async()=>{const n=await e.getAgents({page:r.page,page_size:r.pageSize,scene_id:r.sceneId,is_template:r.isTemplate});return vI(n)}}},detail:t=>{const r=t;return{queryKey:Si.agents.detail(r),queryFn:()=>e.getAgentDetail(r)}}},market:{templates:{list:t=>{const r=xAn(t);return{queryKey:Si.market.templates.list(r),queryFn:async()=>{const n=await e.getMarketTemplates({page:r.page,page_size:r.pageSize,category:r.category,keyword:r.keyword});return vI(n)}}}},recommendations:{byTemplate:t=>{const r=t;return{queryKey:Si.market.recommendations.byTemplate(r),queryFn:async()=>{const n=await e.getMarketTemplateRecommendations({market_template_id:r});return vI(n)}}}}},executions:{list:t=>{const r=wAn(t);return{queryKey:Si.executions.list(r),queryFn:async()=>{const n=await e.getExecutions({agent_id:r.agentId,page:r.page,page_size:r.pageSize,status:r.status,"status[]":r.statuses,"business_status[]":r.businessStatuses,trigger_type:r.triggerType,start_date:r.startDate,end_date:r.endDate}),i=vI(n),a=WEe(i.map(K4n));return{runs:a,total:Dhn(n,a.length)}}}},detail:t=>{const r=t;return{queryKey:Si.executions.detail(r),queryFn:()=>e.getExecutionDetail(r)}}},results:{detail:t=>{const r=t;return{queryKey:Si.results.detail(r),queryFn:async()=>Fh(await e.getResultDetail(r))}}},transfers:{sent:t=>{const r=EAt(t);return{queryKey:Si.transfers.sent(r),queryFn:async()=>{const n=await e.getSentTransfers({page:r.page,page_size:r.pageSize});return vI(n).map(hAn)}}},inbox:t=>{const r=EAt(t);return{queryKey:Si.transfers.inbox(r),queryFn:async()=>{const n=await e.getPendingTransfers({page:r.page,page_size:r.pageSize});return vI(n)}}}}}}const Ud=SAn();function CAn({enabled:e,selectedAgent:t,phase:r,runConfigAgentId:n,applyInputConfig:i,setRunPreviewStepItems:a,beginInputConfigLoading:s,onInputFieldsLoaded:o,notify:l,getErrorMessage:u}){const d=pl();S.useEffect(()=>{if(!e||!t||r==="running"||n===t.id)return;let h=!1;const f=g=>{h||i(t.id,g)},p=GEe(t);return a(C3e(t)),s(p),d.fetchQuery(Ud.agents.detail(t.id)).then(g=>{if(h)return;const m=GF(g,t.name);m.length>0&&a(m);const v=GEe(g);v.fields.length>0?(o(t.id,v.fields),f(v)):f(p)}).catch(g=>{h||(f(p),p.fields.length===0&&l(u(g,"运行参数读取失败")))}),()=>{h=!0}},[i,s,e,u,l,o,r,d,n,t,a])}function _An({enabled:e,isLiveAgent:t,activeRunId:r,realRuns:n,selectedAgent:i,selectedAgentName:a,selectedAgentInputParams:s,getExecutionDetail:o,updateRun:l,drawer:u,phase:d,activeRun:h,runPreviewStepItems:f,setRunPreviewStepItems:p,workspaceMode:g,waitingRunIdForPreview:m,waitingRunStatusForPreview:v,waitingRunSummaryForPreview:y,setWaitingPreviewSteps:x}){const b=pl();S.useEffect(()=>{if(!e||!t||!r)return;const w=n.find(k=>k.id===r),C=XEe(w==null?void 0:w.params)||_g(w==null?void 0:w.inputValues);if(!w||C&&(w.resultId||w.status!=="completed"))return;const _=Number(w.id);if(!Number.isFinite(_))return;let T=!1;return o(_).then(k=>{if(T)return;const A=_At(k),I=Ute(k);if(!A&&!_g(I))return;const $=qte(k,s);l(w.id,P=>{const N=A&&P.resultId!==String(A)?{...P,resultId:String(A)}:P;return ZEe(N,I,$)})}).catch(()=>{}),()=>{T=!0}},[r,e,o,t,n,s,l]),S.useEffect(()=>{if(!e||u!=="run"||!a||d==="running"||o$(f))return;const w=[h,n[0]].find(T=>T&&Number.isFinite(Number(T.id))),C=w?Number(w.id):null;if(!C)return;let _=!1;return o(C).then(T=>{if(_)return;const k=GF(T,a);k.length>0&&o$(k)&&p(k)}).catch(()=>{}),()=>{_=!0}},[h,u,e,o,d,n,f,a,p]),S.useEffect(()=>{if(!e||g!=="waiting"||!i||o$(f)&&f.length>1)return;let w=!1;const C=T=>T.length>0&&(T.length!==f.length||T.some((k,A)=>{var I,$;return k.id!==((I=f[A])==null?void 0:I.id)||k.title!==(($=f[A])==null?void 0:$.title)})),_=C3e(i);return C(_)&&p(_),b.fetchQuery(Ud.agents.detail(i.id)).then(T=>{if(w)return;const k=GF(T,i.name);C(k)&&p(k)}).catch(()=>{}),()=>{w=!0}},[e,f,i,b,p,g]),S.useEffect(()=>{if(!e)return;if(g!=="waiting"||!t||!m){x(null);return}const w=Number(m);if(!Number.isFinite(w)){x(null);return}let C=!1;return x(_=>(_==null?void 0:_.runId)===m?_:null),o(w).then(_=>{if(C)return;const T=Fh(_);if(!Yt(T))return;const k=Yt(T.execution)?T.execution:{},A=Yt(T.result)?T.result:{},I=S3e(T),$=v==="waiting"?"waiting_input":v,P={...k,id:k.id??w,execution_id:k.execution_id??m,status:k.status??A.status??$,result_summary:A.result_summary??k.result_summary??y},N=Kbt(I,P),R=GF(T,a),L=N.length>0&&o$(N)?N:R;L.length>0&&o$(L)&&x({runId:m,steps:L}),N.length>0&&o$(N)&&l(m,M=>({...M,steps:N}))}).catch(()=>{}),()=>{C=!0}},[e,o,t,a,x,l,m,v,y,g])}function TAn({runs:e,isLiveAgent:t,selectedAgentName:r,selectedAgentInputParams:n,setActiveRunId:i,openDetailDrawer:a,getExecutionDetail:s,clearExecutionDetail:o,updateRun:l}){return S.useCallback(async u=>{const d=e.find(f=>f.id===u);if(i(u),a(),!t)return;const h=Number(u);if(Number.isFinite(h)){yI(d)&&o(h);try{const f=await s(h),p=Fh(f);if(!Yt(p))return;const g=Yt(p.execution)?p.execution:{},m=Yt(p.result)?p.result:{},v=S3e(p),y=m.id??m.result_id??g.result_id,x=Ute(p),b=xAt(m.result_data,m.output_data,m.final_output,g.result_data,g.output_data,p.output_data,p.result_data),w=Ybt(v),C=(d==null?void 0:d.status)==="waiting"?"waiting_input":d==null?void 0:d.status,_=(d==null?void 0:d.status)==="completed"?"completed":g.status??m.status??C,T={...g,id:g.id??h,execution_id:g.execution_id??u,agent_name:g.agent_name??p.agent_name??r,status:_,result_summary:m.result_summary??g.result_summary,result_data:b,error_message:g.error_message??m.error_message??w},k=rke(m.output_data,m.result_data,g.result_data,p.output_data,p.result_data),A=qte(p,n),I=ike(b,k,3),$=rxt(b,T,v),P=TB(T.status),N=Kbt(v,T),R=JEe(v),L=Hy(g.current_step_index)??(d==null?void 0:d.currentStepIndex);l(u,M=>{var O;return{...M,currentStepIndex:L??M.currentStepIndex,currentStepId:Xbt(v,L)??M.currentStepId,resultId:y?String(y):M.resultId,title:((O=T.execution_title)==null?void 0:O.trim())||M.title,status:P,businessStatus:T.business_status??M.businessStatus,resultTitle:$.title||Cg(M.resultTitle,T.result_summary,T.error_message),summary:$.subtitle||(P==="completed"?"":hT(T)),resultContent:$.content,resultPayload:$.payload,params:SAt(T,x,y,A),inputValues:AB(x),steps:N,outputs:$.meta.length>0?$.meta:I.length>0?I:wAt(T,R),detailData:$.detailData}})}catch{}}},[o,s,t,a,e,n,r,i,l])}function EAn({enabled:e,activeRunId:t,agentsRef:r,setAgents:n,execution:i,executions:a,runForm:s,cockpit:o,recommendations:l,executionEvents:u,runPreviewStepItems:d,setRunPreviewStepItems:h,pendingExecutionTitleRef:f,recommendedExecutionRef:p,recordLiveTraceEvent:g,setActiveRunId:m,setWaitingPreviewSteps:v,notify:y}){const x=Sa(le=>le.currentExecutionId),b=Sa(le=>le.executionSteps),{drawer:w,phase:C,openDetailDrawer:_,executionStarted:T,setIdlePhase:k,beginWaiting:A,setWaitingInfo:I,setWaitingLoading:$,executionFinished:P}=i,{realRuns:N,getExecutionDetail:R,clearExecutionDetail:L,updateRun:M,upsertRun:O}=a,{runInputData:D,runConfigAgentId:F,beginInputConfigLoading:B,applyInputConfig:j}=s,{state:{selectedAgent:H,isLiveAgent:z,runPreviewSteps:W,runs:G,activeRun:q,waitingRunIdForPreview:Y,waitingRunStatusForPreview:K,waitingRunSummaryForPreview:Z,workspaceMode:X},actions:{refreshHistory:Q}}=o,{activate:J}=l,{shouldHandleWaiting:re,shouldHandleFinished:ne}=u,se=TAn({runs:G,isLiveAgent:z,selectedAgentName:H==null?void 0:H.name,selectedAgentInputParams:H==null?void 0:H.input_params,setActiveRunId:m,openDetailDrawer:_,getExecutionDetail:R,clearExecutionDetail:L,updateRun:M});_An({enabled:e,isLiveAgent:z,activeRunId:t,realRuns:N,selectedAgent:H,selectedAgentName:H==null?void 0:H.name,selectedAgentInputParams:H==null?void 0:H.input_params,getExecutionDetail:R,updateRun:M,drawer:w,phase:C,activeRun:q,runPreviewStepItems:d,setRunPreviewStepItems:h,workspaceMode:X,waitingRunIdForPreview:Y,waitingRunStatusForPreview:K,waitingRunSummaryForPreview:Z,setWaitingPreviewSteps:v});const ce=S.useCallback((le,te)=>{n(oe=>{const xe=oe.map(pe=>pe.id===le?{...pe,input_params:te}:pe);return r.current=xe,xe})},[r,n]);return CAn({enabled:e,selectedAgent:H,phase:C,runConfigAgentId:F,applyInputConfig:j,setRunPreviewStepItems:h,beginInputConfigLoading:B,onInputFieldsLoaded:ce,notify:y,getErrorMessage:So}),S.useEffect(()=>{J(e?H==null?void 0:H.market_template_id:null)},[J,e,H==null?void 0:H.market_template_id]),dAn({enabled:z,selectedAgent:H,currentExecutionId:x,executionSteps:b,runPreviewSteps:W,runInputData:D,recommendedExecutionRef:p,pendingExecutionTitleRef:f,shouldHandleWaiting:re,shouldHandleFinished:ne,recordLiveTraceEvent:g,upsertRun:O,setActiveRunId:m,executionStarted:T,setIdlePhase:k,beginWaiting:A,setWaitingInfo:I,setWaitingLoading:$,clearExecutionDetail:L,setWaitingPreviewSteps:v,executionFinished:P,refreshLiveRuns:Q,notify:y}),{currentExecutionId:x,openRun:se}}const kAn={agentId:0,page:1,pageSize:T3e};function kAt(e,t){return(e==null?void 0:e.agentId)===t.agentId&&e.page===t.page&&e.pageSize===t.pageSize}function AAn({enabled:e,selectedAgentIdRef:t}){var _,T;const r=pl(),[n,i]=S.useState(null),[a,s]=S.useState(null),o=S.useRef(null),l=S.useMemo(()=>Ud.executions.list(a??kAn),[a]),u=qv({...l,enabled:e&&a!==null}),d=((_=u.data)==null?void 0:_.runs)??[],h=((T=u.data)==null?void 0:T.total)??0,f=S.useCallback(k=>{const A={agentId:k.agentId,page:k.page,pageSize:k.pageSize},I=!kAt(o.current,A);o.current=A,I&&i(null),s($=>kAt($,A)?$:A)},[]),p=S.useCallback((k,A=1)=>{f({agentId:k,page:A,pageSize:T3e})},[f]),g=S.useCallback(k=>{const A=o.current;if(!A)return;const I=Ud.executions.list(A);r.setQueryData(I.queryKey,k)},[r]),m=S.useCallback(k=>r.fetchQuery(Ud.executions.detail(k)),[r]),v=S.useCallback(k=>{if(k==null){r.removeQueries({queryKey:Si.executions.details});return}r.removeQueries({queryKey:Si.executions.detail(k),exact:!0})},[r]),y=S.useCallback((k,A)=>{g(I=>{if(!I)return I;const $=Z4n(I.runs,k,A);return $===I.runs?I:{...I,runs:$}})},[g]),x=S.useCallback((k=!1)=>{i(null);const A=k?t.current:null;if(A!=null){p(A);return}o.current=null,s(null)},[p,t]),b=S.useCallback(k=>{g(A=>{if(!A)return A;const I=Q4n(A.runs,k);return I===A.runs?A:{runs:I,total:Math.max(0,A.total-1)}}),i(A=>(A==null?void 0:A.id)===k?null:A)},[g]),w=S.useCallback(k=>{g(A=>{const I=(A==null?void 0:A.runs)??[],$=k(I),P=I.some(R=>R.id===$.id),N=X4n(I,$);return{runs:N,total:A?A.total+(P?0:1):N.length}})},[g]),C=S.useCallback(async(k,A=1)=>{const I={agentId:k,page:A,pageSize:T3e};f(I);try{const $=await r.fetchQuery({...Ud.executions.list(I),staleTime:0});return t.current===k?$.runs:[]}catch{return[]}},[f,r,t]);return{realRuns:d,activeRunSnapshot:n,setActiveRunSnapshot:i,historyTotal:h,historyLoading:e&&a!==null&&u.isFetching,historyError:u.error?So(u.error,"加载执行历史失败"):"",loadExecutions:C,activateHistory:p,getExecutionDetail:m,clearExecutionDetail:v,updateRun:y,upsertRun:w,resetHistory:x,removeRun:b}}function IAn({embedded:e,view:t,setView:r,selectedAgentName:n,agentsCount:i,agentsError:a,pendingInboxCount:s,openInbox:o,reloadAgents:l,setDrawer:u,setModal:d,notify:h,onHeaderChange:f,onCockpitExit:p}){const[g,m]=S.useState(!1),v=S.useCallback(_=>{if(!n&&!_){kt.info("请先选择一个智能体");return}m(!0)},[n]),y=S.useCallback(()=>{m(!1),l()},[l]),x=S.useCallback(()=>{const _=Sa.getState();_.resetForm(),_.setEditingAgent(null),_.setShowAgentDrawer(!0),h("开始创建自定义智能体")},[h]),b=S.useCallback(()=>{u(null),d(null),m(!1),r("market"),p==null||p()},[p,u,d,r]),w=S.useMemo(()=>E.jsxs("div",{className:"automation-header-actions",children:[E.jsx(ei,{title:s>0?`收件箱 · ${s} 条待处理`:"收件箱",children:E.jsx(iA,{dot:s>0,children:E.jsx(ur,{className:"automation-header-icon-button",icon:E.jsx(rx,{}),"aria-label":"收件箱",onClick:o})})}),E.jsx(ei,{title:"创建自动化",children:E.jsx(ur,{className:"automation-header-icon-button",icon:E.jsx(Bl,{}),"aria-label":"创建自动化",onClick:x})})]}),[x,o,s]),C=S.useMemo(()=>t==="market"?{title:"自动化工作台",subtitle:"选择一个自动化进入工作台",actions:w}:t==="inbox"?{title:"结果收件箱",subtitle:"查看同事转交的执行结果和后续处理入口",actions:E.jsx(ur,{icon:E.jsx(WS,{}),onClick:b,children:"返回智能体选择"})}:n?{title:n,subtitle:"切换阶段查看本次执行的参数、过程和结果",actions:E.jsx(ur,{icon:E.jsx(WS,{}),onClick:b,children:"返回智能体选择"})}:{title:a?"智能体列表读取失败":i>0?"请选择一个智能体":"还没有启用智能体",subtitle:a||(i>0?"从智能体中心选择一个智能体后,再进入驾驶舱运行。":"先到智能体中心启用一个模板,系统会创建用户专属智能体,再进入驾驶舱。")},[i,a,w,b,n,t]);return S.useEffect(()=>{e&&(f==null||f(C))},[e,C,f]),{state:{scheduleModalOpen:g},actions:{openScheduleModal:v,closeScheduleModal:y,openCreateAgent:x,returnToAgentSelection:b}}}const $An=0,RAn=[];function NAn(){const e=pl(),[t,r]=S.useState(null),[n,i]=S.useState(null),a=S.useRef(null),s=S.useMemo(()=>Ud.market.recommendations.byTemplate(t??$An),[t]),o=qv({...s,enabled:t!==null}),l=Nf({...dp.market.enableRecommendedTemplate()}),u=S.useCallback(p=>{r(p||null)},[]),d=S.useCallback(p=>{a.current=p,i(p)},[]),h=S.useCallback(async p=>{if(!p)return u(null),[];u(p);try{return await e.fetchQuery({...Ud.market.recommendations.byTemplate(p),staleTime:0})}catch{return[]}},[u,e]),f=S.useCallback(async p=>{if(a.current!==null)return;const g=t;d(p);try{const m=await l.mutateAsync(p);return await Hh(e,{type:"market-template-enabled",sourceTemplateId:g},{refetchType:"none"}),m}finally{d(null)}},[t,l,e,d]);return{templates:o.data??RAn,loading:t!==null&&o.isFetching,actionId:n,setActionId:d,activate:u,load:h,enable:f}}const LAn=[];function PAn({active:e}){const t=pl(),r=S.useMemo(()=>Ud.transfers.sent(mAn),[]),n=qv({...r,enabled:e}),i=S.useCallback(s=>{t.setQueryData(r.queryKey,(o=[])=>typeof s=="function"?s(o):s)},[t,r.queryKey]),a=S.useCallback(async()=>{try{return await t.fetchQuery({...r,staleTime:0})}catch{return[]}},[t,r]);return{transfers:n.data??LAn,setTransfers:i,transfersLoading:e&&n.isFetching,loadTransfers:a}}const AAt={runInputFields:[],runInputGroups:[],runInputFormUi:{},runFormValues:{},runFormInstanceKey:0,rememberedRunGroupKeys:[],runSelectSearchValues:{},runTextDraftValues:{},runInputData:{},runConfigAgentId:null,runFormLoading:!1,runUploading:{},runFileNameMap:{}};function MAn(e,t){return typeof t=="function"?t(e):t}function DAn(e,t){switch(t.type){case"begin_config_loading":return{...e,runInputFields:t.config.fields,runInputGroups:t.config.formGroups,runInputFormUi:t.config.formUi,runFormLoading:!0};case"apply_config":return{...e,runInputFields:t.config.fields,runInputGroups:t.config.formGroups,runInputFormUi:t.config.formUi,runFormValues:t.values,rememberedRunGroupKeys:t.rememberedGroupKeys,runTextDraftValues:{},runConfigAgentId:t.agentId,runFormLoading:!1};case"replace_values":{const r=MAn(e.runFormValues,t.next);return r===e.runFormValues?e:{...e,runFormValues:r}}case"update_field":return{...e,runFormValues:{...e.runFormValues,[t.name]:t.value}};case"update_text_draft":return e.runTextDraftValues[t.name]===t.value?e:{...e,runTextDraftValues:{...e.runTextDraftValues,[t.name]:t.value}};case"commit_text_field":{const r={...e.runTextDraftValues};return delete r[t.name],{...e,runTextDraftValues:r,runFormValues:{...e.runFormValues,[t.name]:t.value}}}case"update_select_search":{const r=e.runSelectSearchValues[t.name];if(!t.value&&r&&!t.allowEmpty)return e;if(!t.value){if(!r)return e;const n={...e.runSelectSearchValues};return delete n[t.name],{...e,runSelectSearchValues:n}}return r===t.value?e:{...e,runSelectSearchValues:{...e.runSelectSearchValues,[t.name]:t.value}}}case"set_input_snapshot":return{...e,runInputData:t.values};case"apply_retry_values":return{...e,runInputData:{},runFormValues:t.values,runTextDraftValues:{},runSelectSearchValues:{},runFormInstanceKey:e.runFormInstanceKey+1};case"set_remembered_group_keys":return{...e,rememberedRunGroupKeys:t.groupKeys};case"reset_execution":return{...e,runFormValues:t.values,rememberedRunGroupKeys:t.rememberedGroupKeys,runTextDraftValues:{},runInputData:{},runSelectSearchValues:{},runUploading:{},runFileNameMap:{},runFormInstanceKey:e.runFormInstanceKey+1};case"reset_agent":return{...AAt,runFormInstanceKey:e.runFormInstanceKey};case"set_uploading":return{...e,runUploading:{...e.runUploading,[t.fieldName]:t.uploading}};case"remember_file_name":return{...e,runFileNameMap:{...e.runFileNameMap,[t.url]:t.name}}}}function OAn(){const[e,t]=S.useReducer(DAn,AAt),r=S.useRef({}),{runInputFields:n,runInputGroups:i,runInputFormUi:a,runFormValues:s,runFormInstanceKey:o,rememberedRunGroupKeys:l,runSelectSearchValues:u,runTextDraftValues:d,runInputData:h,runConfigAgentId:f,runFormLoading:p,runUploading:g,runFileNameMap:m}=e,v=S.useCallback(M=>{t({type:"replace_values",next:M})},[]),y=S.useCallback((M,O)=>{t({type:"update_field",name:M,value:O})},[]),x=S.useCallback((M,O)=>{t({type:"update_text_draft",name:M,value:O})},[]),b=S.useCallback((M,O)=>{t({type:"commit_text_field",name:M,value:O})},[]),w=S.useCallback(M=>{r.current[M]=!0},[]),C=S.useCallback((M,O)=>{const D=r.current[M]===!0;r.current[M]=!1,t({type:"update_select_search",name:M,value:O,allowEmpty:D})},[]),_=S.useCallback((M,O)=>async({file:D,onSuccess:F,onError:B})=>{var j,H,z;t({type:"set_uploading",fieldName:M,uploading:!0});try{const W=D,G=await Kv(W),q=(j=G==null?void 0:G.data)==null?void 0:j.url,Y=((H=G==null?void 0:G.data)==null?void 0:H.name)||W.name||(q==null?void 0:q.split("/").pop())||"未知文件";if(!q)throw new Error(((z=G==null?void 0:G.data)==null?void 0:z.message)||"上传失败");t({type:"remember_file_name",url:q,name:Y}),O<=1?y(M,q):v(K=>{const Z=Array.isArray(K[M])?K[M]:K[M]?[K[M]]:[];return{...K,[M]:[...Z,q]}}),F==null||F(G),kt.success("上传成功")}catch(W){B==null||B(W instanceof Error?W:new Error(So(W,"文件上传失败"))),kt.error(So(W,"文件上传失败"))}finally{t({type:"set_uploading",fieldName:M,uploading:!1})}},[v,y]),T=S.useCallback(M=>{t({type:"begin_config_loading",config:M})},[]),k=S.useCallback((M,O)=>{const D=Vbt(M,O.fields,O.formGroups);t({type:"apply_config",agentId:M,config:O,values:nw(O.fields,D.values),rememberedGroupKeys:D.groupKeys})},[]),A=S.useCallback(M=>{const O=M?Vbt(M,n,i):{values:{},groupKeys:[]};r.current={},t({type:"reset_execution",values:nw(n,O.values),rememberedGroupKeys:O.groupKeys})},[n,i]),I=S.useCallback(()=>{r.current={},t({type:"reset_agent"})},[]),$=S.useCallback((M=n,O=s)=>Fbt(M,O),[s,n]),P=S.useCallback((M,O=$())=>{const D=Bvt(O,s),F=Khn(M,O,i,D);return t({type:"set_remembered_group_keys",groupKeys:F}),D},[$,s,i]),N=S.useCallback(M=>{t({type:"set_input_snapshot",values:M})},[]),R=S.useCallback(()=>{t({type:"set_input_snapshot",values:{}})},[]),L=S.useCallback(M=>{r.current={},t({type:"apply_retry_values",values:M})},[]);return{runInputFields:n,runInputGroups:i,runInputFormUi:a,runFormValues:s,runFormInstanceKey:o,rememberedRunGroupKeys:l,runSelectSearchValues:u,runTextDraftValues:d,runInputData:h,runConfigAgentId:f,runFormLoading:p,runUploading:g,runFileNameMap:m,replaceRunFormValues:v,updateRunField:y,updateRunTextDraftField:x,commitRunTextField:b,allowEmptyRunSelectSearch:w,updateRunSelectSearch:C,handleRunFileUpload:_,beginInputConfigLoading:T,applyInputConfig:k,resetForExecution:A,getVisibleFields:$,persistCurrentRunValues:P,setInputSnapshot:N,clearInputSnapshot:R,applyRetryValues:L,resetForAgent:I}}const BAn=[{key:"attention",label:"需要你处理"},{key:"running",label:"进行中"},{key:"completed",label:"已完成"}],FAn={id:"",kind:"custom",name:"",source:"",description:"",status:"",schedule:"",nextRun:""};function zAn(e){return e?{id:String(e.id),kind:e.name.toLowerCase().includes("amazon")?"amazon":"custom",name:e.name,source:e.is_from_market?"来自智能体市场":e.origin_type==="from_transfer"?"来自结果流转":"自定义智能体",description:e.description||e.scene_name||"这个智能体已启用,可以运行、查看历史、配置定时任务。",status:e.status==="active"?"已启用":e.status==="draft"?"草稿可运行":"已归档",schedule:e.schedule_display||e.schedule_cron||"",nextRun:e.next_run_at?pw(e.next_run_at):"暂无定时"}:FAn}function jAn(e){return e?typeof e.has_schedule=="boolean"?e.has_schedule:!!(e.schedule_enabled||e.schedule_cron||e.next_run_at):!1}function VAn({runs:e,activeRunId:t,activeRunSnapshot:r}){return e.find(n=>n.id===t)??r??e[0]}function HAn(e,t){return(e==="schedule"?null:e)??((t==null?void 0:t.status)==="waiting"?"waiting":t?"detail":"run")}function WAn({runs:e,statusFilter:t,historyTotal:r,page:n,pageSize:i}){const a=WEe(e),s=t==="all"?a:a.filter(h=>v3e(h)===t),o=r,l=Math.max(1,Math.ceil(o/i)),u=Math.min(n,l),d=BAn.map(h=>({...h,runs:s.filter(f=>v3e(f)===h.key)})).filter(h=>h.runs.length>0);return{sortedRuns:a,filteredRuns:s,recordTotal:o,pageCount:l,activePage:u,groups:d}}const GAn=10;function UAn({view:e,agents:t,selectedAgentId:r,agentKind:n,realRuns:i,activeRunId:a,setActiveRunId:s,activeRunSnapshot:o,setActiveRunSnapshot:l,historyTotal:u,historyLoading:d,historyError:h,loadExecutions:f,activateHistory:p,deletingExecutionId:g,agentTransitionId:m,setAgentTransitionId:v,runFormLoading:y,runConfigAgentId:x,runPreviewStepItems:b,liveExecutionTraces:w,drawer:C,phase:_,transfers:T,waitingRunId:k,waitingInfo:A,waitingPreviewSteps:I}){const[$,P]=S.useState("all"),[N,R]=S.useState(1),[L,M]=S.useState("params"),[O,D]=S.useState(["params"]),[F,B]=S.useState(!1),j=S.useRef(""),H=S.useRef(null),z=S.useRef(""),W=S.useRef(null),G=S.useRef(null),q=S.useMemo(()=>t.find(Ne=>Ne.id===r)??null,[t,r]),Y=S.useMemo(()=>zAn(q),[q]),K=!!q,Z=S.useMemo(()=>b.length>0?b:C3e(q),[b,q]),X=i,Q=S.useMemo(()=>VAn({runs:X,activeRunId:a,activeRunSnapshot:o}),[a,o,X]),J=S.useMemo(()=>X.find(Ne=>Ne.id===k)??Q,[Q,X,k]),re=HAn(C,Q),ne=_==="running"||_==="review_content"||_==="review_submit"||_==="polling",se=yI(Q),ce=Fhn(Q),le=S.useMemo(()=>Q?T.filter(Ne=>fAn(Ne,Q)):[],[Q,T]),te=y||!!(K&&re==="run"&&q&&x!==q.id),oe=!!(e==="cockpit"&&q&&m===q.id),xe=S.useMemo(()=>w.find(Ne=>Ne.agentId===r&&Ne.steps.length>0)??null,[w,r]),pe=S.useMemo(()=>(xe==null?void 0:xe.steps.filter(Ne=>Ne.kind==="substep"||Ne.id.startsWith("substep:")))??[],[xe]),Ae=S.useMemo(()=>WAn({runs:X,statusFilter:$,historyTotal:u,page:N,pageSize:GAn}),[N,$,u,X]),{workbenchSteps:Te,waitingActiveStageKey:Le,workbenchIsCompleted:Re,defaultWorkbenchStageKey:ue,accessibleWorkbenchStageKeys:de,activeWorkbenchStageKey:he,selectedWorkbenchStepHasConfirmPreview:ve,workbenchFlowStages:be}=axt({workspaceMode:re,isExecuting:ne,phase:_,activeRun:Q,activeRunFailed:se,runPreviewSteps:Z,waitingRun:J,waitingInfo:A,waitingPreviewSteps:I,selectedWorkbenchStageKey:L}),{selectStage:ee,collapseStage:me}=sxt({agentKind:n,activeRunId:a,workspaceMode:re,defaultStageKey:ue,accessibleStageKeys:de,activeStageKey:he,expandedStageKeys:O,setSelectedStageKey:M,setExpandedStageKeys:D,setTransitioning:B,stageContextRef:z,transitionTimerRef:W,switchTimerRef:G}),ae=`${n}:${r??""}`;S.useEffect(()=>{if(e==="cockpit"&&r){if(j.current!==ae&&(j.current=ae,N!==1)){R(1);return}p(r,N)}},[p,ae,N,r,e]),S.useEffect(()=>{i.length!==0&&s(Ne=>{var Fe;return i.some(Oe=>Oe.id===Ne)?Ne:((Fe=i[0])==null?void 0:Fe.id)??""})},[i,s]),S.useEffect(()=>{if(!K||!a)return;const Ne=i.find(Fe=>Fe.id===a);Ne&&l(Ne)},[a,K,i,l]),S.useEffect(()=>{!r||m!==r||d||y||x!==r||v(null)},[m,d,x,y,r,v]),S.useEffect(()=>{if(pe.length===0&&!(xe!=null&&xe.updatedAt))return;const Ne=H.current;if(!Ne)return;const Fe=window.requestAnimationFrame(()=>{Ne.scrollTop=Ne.scrollHeight});return()=>window.cancelAnimationFrame(Fe)},[pe.length,xe==null?void 0:xe.updatedAt]),S.useEffect(()=>()=>{G.current!=null&&window.clearTimeout(G.current),W.current!=null&&window.clearTimeout(W.current)},[]);const fe=S.useCallback(Ne=>{P(Ne),R(1)},[]),ie=S.useCallback(Ne=>{R(Ne)},[]),$e=S.useCallback(()=>{r&&f(r,N)},[N,f,r]),ge=S.useCallback(()=>{if(r){if(N===1){f(r,1);return}R(1)}},[N,f,r]);return{model:{agentName:Y.name,transitionLoading:oe,history:{agentName:Y.name,hasSchedule:jAn(q),mode:re,error:h,loading:d,filteredRunCount:Ae.filteredRuns.length,runCount:X.length,statusFilter:$,groups:Ae.groups,recordTotal:Ae.recordTotal,pagination:{page:Ae.activePage,pageCount:Ae.pageCount},deletingExecutionId:g,activeRunId:a},liveTrace:{active:xe,substeps:pe,stepsRef:H},workbench:{mode:re,activeRunFailed:se,activeStageKey:he,waitingActiveStageKey:Le,selectedStepHasConfirmPreview:ve}},state:{selectedAgent:q,agent:Y,isLiveAgent:K,runPreviewSteps:Z,runs:X,activeRun:Q,waitingRun:J,waitingRunIdForPreview:(J==null?void 0:J.id)??"",waitingRunStatusForPreview:J==null?void 0:J.status,waitingRunSummaryForPreview:J==null?void 0:J.summary,workspaceMode:re,runParametersLoading:te,isExecuting:ne,activeRunTransfers:le,activeRunFailed:se,canShareActiveRun:ce,historyPage:N,workbenchSteps:Te,waitingActiveStageKey:Le,workbenchIsCompleted:Re,activeWorkbenchStageKey:he,workbenchFlowStages:be,expandedWorkbenchStageKeys:O,workbenchStageTransitioning:F},actions:{changeHistoryStatusFilter:fe,changeHistoryPage:ie,reloadHistory:$e,refreshHistory:ge,selectWorkbenchStage:ee,collapseWorkbenchStage:me,setSelectedWorkbenchStageKey:M,setExpandedWorkbenchStageKeys:D}}}const qAn=new Set(["string","text","textarea","url","boolean","number","integer","float","date","datetime","time","select","array","list","tags","multi_select","multiselect","file"]),IAt=new Set(["segmented","source","address","daterange","datetimerange","timerange"]);function YAn(e){var r,n;const t=e.type.toLowerCase();return["string","text","textarea","url"].includes(t)&&!((r=e.enum)!=null&&r.length)&&!((n=e.options)!=null&&n.length)&&!e.options_from_skill}function $At(e,t){const r=t.split(".")[0];return e.find(n=>n.name===t||n.name===r)}function KAn(e){var t;return(t=e.options)!=null&&t.length?e.options:(e.enum||[]).map(r=>({label:r,value:r}))}function RAt(e,t,r=e){const n=KAn(t);n.length!==0&&(r.enum=n.map(i=>i.value),r.enumNames=n.map(i=>i.label))}function XAn(e,t,r){if(!t.options_from_skill)return;const n=cTe(t.options_params||{});e.options_from_skill=t.options_from_skill,e.options_params=t.options_params||{},e["x-options-blocking-dependencies"]=n.filter(i=>{var a;return((a=$At(r,i))==null?void 0:a.required)??!0}),e["x-clear-on-options-change"]=!0}function ZAn(e,t){var i,a;const r=e.type.toLowerCase(),n={title:e.label||e.name,...e.placeholder?{placeholder:e.placeholder}:{},...e.hint||e.description?{description:e.hint||e.description}:{},...e.default!==void 0?{default:e.default}:{},...(e.span??1)>1||["text","textarea","url","file"].includes(r)?{"x-full-width":!0}:{}};if(r==="boolean")n.type="boolean";else if(r==="integer")n.type="integer";else if(r==="number"||r==="float")n.type="number";else if(r==="date"||r==="datetime"||r==="time")n.type="string",n.widget=r,e.format&&(n["x-temporal-format"]=e.format),e.picker&&(n["x-temporal-picker"]=e.picker),e.show_time!==void 0&&(n["x-temporal-show-time"]=e.show_time);else if(r==="file"){const s=Math.max(e.max_files??1,1);s>1?(n.type="array",n.items={type:"string",format:"uri"},n.maxItems=s):(n.type="string",n.format="uri"),n.widget="file",n.file_type=e.file_type,n.max_files=s}else if(z5(r)){const s={type:"string"};n.type="array",n.items=s,RAt(n,e,s)}else n.type="string",(r==="text"||r==="textarea"||r==="url")&&(n.widget="textarea"),RAt(n,e);return(r==="select"||(i=e.enum)!=null&&i.length||(a=e.options)!=null&&a.length||e.options_from_skill)&&(n.widget="select"),XAn(n,e,t),n}function QAn(e){var t;for(const r of e){const n=r.type.toLowerCase(),i=HQ(r);if(r.visible_when!==void 0)return"conditional-visibility";if(r.range||Dvt(r)||VQ(r)||IAt.has(n)||IAt.has(i))return"special-control";if(!qAn.has(n))return"unsupported-type";if((t=r.file_templates)!=null&&t.length)return"file-templates"}for(const r of e)if(r.options_from_skill)for(const n of cTe(r.options_params||{})){const i=$At(e,n);if(i&&YAn(i))return"draft-dependency"}}function JAn(e,t){return Object.fromEntries(e.map(r=>{const n=kB(r.remember_last)&&t.includes(r.key);return[r.key,{title:`${r.title.replace(/(已记住上次选择)$/,"")}${n?"(已记住上次选择)":""}`,description:r.description,propertyNames:r.fields,columns:Math.min(Math.max(r.columns??1,1),3)}]}))}function e3n({fields:e,groups:t=[],rememberedGroupKeys:r=[]}){if(e.length===0)return{eligible:!1,reason:"missing-fields"};const n=QAn(e);if(n)return{eligible:!1,reason:n};const i=Object.fromEntries(e.map(o=>[o.name,ZAn(o,e)])),a=e.filter(o=>o.required).map(o=>o.name);return{eligible:!0,schema:{type:"object",properties:i,...a.length?{required:a}:{},...t.length?{propertyGroups:JAn(t,r)}:{}},hasGroups:t.length>0}}function t3n({stepCount:e,isExecuting:t,runParametersLoading:r,onStartRun:n}){const i=t?"执行中":r?"读取参数":"直接开始执行";return E.jsxs("div",{className:"wandox-automation-direct-run",children:[E.jsxs("div",{className:"wandox-automation-direct-run__hero",children:[E.jsx("span",{className:"wandox-automation-direct-run__icon","aria-hidden":"true",children:E.jsx(If,{})}),E.jsxs("div",{className:"wandox-automation-direct-run__copy",children:[E.jsx("span",{className:"wandox-automation-direct-run__eyebrow",children:"直接执行"}),E.jsx("strong",{className:"wandox-automation-direct-run__title",children:"这个智能体无需填写运行参数"}),E.jsx("p",{className:"wandox-automation-direct-run__description",children:"系统会使用智能体默认配置运行,执行过程和最终结果会在当前页面持续更新。"})]}),E.jsx("span",{className:"wandox-automation-direct-run__badge",children:e>0?`${e} 个步骤`:"自动执行"})]}),E.jsxs("div",{className:"wandox-automation-direct-run__footer",children:[E.jsx("span",{className:"wandox-automation-direct-run__hint",children:"无需补充信息,开始后可在左侧历史记录中追踪本次运行。"}),E.jsxs("button",{type:"button",className:"automation-action-button automation-action-button--primary wandox-automation-direct-run__button",onClick:n,disabled:t||r,children:[E.jsx(If,{}),i]})]})]})}function NAt({status:e}){return E.jsx("span",{className:`automation-step-dot automation-step-dot--${e}`})}function r3n({value:e}){const t=txt(e);if(!ys(t))return null;if(typeof t=="object"&&t!==null&&!Array.isArray(t)){const r=Object.entries(t).filter(([n,i])=>!["execution_steps","output_fields_map","output_type"].includes(n)&&ys(i)).slice(0,16);return r.length===0?null:E.jsx("div",{className:"automation-detail-data-grid",children:r.map(([n,i])=>E.jsxs("div",{children:[E.jsx("span",{children:n}),E.jsx("pre",{children:Dbt(i)})]},n))})}return E.jsx("pre",{className:"automation-detail-json",children:Dbt(t)})}function n3n({steps:e,className:t}){return E.jsx("div",{className:["automation-mini-steps",t].filter(Boolean).join(" "),children:e.map(r=>{var n;return E.jsxs("div",{className:"automation-mini-step",children:[E.jsx(NAt,{status:r.status}),E.jsxs("div",{children:[E.jsx("span",{children:r.title}),(n=r.substeps)!=null&&n.length?E.jsx("div",{className:"wandox-automation-mini-substeps",children:r.substeps.map(i=>E.jsxs("div",{className:`wandox-automation-mini-substeps__item wandox-automation-mini-substeps__item--${i.status}`,children:[E.jsx(NAt,{status:i.status}),E.jsx("span",{children:i.title})]},i.id))}):null]})]},r.id)})})}function i3n({run:e}){return E.jsx(n3n,{steps:e.steps})}function a3n({run:e,isExecuting:t,rerunningRunId:r,reExecutingStepId:n,onRerun:i}){const a=r===e.id;return E.jsxs("div",{className:"wandox-automation-task-rerun",children:[E.jsxs("div",{className:"wandox-automation-task-rerun__copy",children:[E.jsx("strong",{children:"重新执行整个任务"}),E.jsx("span",{children:"沿用本次参数,确认后创建新的执行记录"})]}),E.jsxs("button",{type:"button",className:"automation-action-button automation-action-button--primary",onClick:()=>i(e),disabled:t||!!r||!!n,children:[E.jsx(Vv,{}),a?"读取参数":"重新执行"]})]})}function s3n({sender:e,isExecuting:t,onReturn:r}){return E.jsxs("div",{className:"wandox-inbox-run-context",children:[E.jsx("span",{className:"wandox-inbox-run-context__icon","aria-hidden":"true",children:E.jsx(rx,{})}),E.jsxs("div",{className:"wandox-inbox-run-context__copy",children:[E.jsx("span",{className:"wandox-inbox-run-context__eyebrow",children:"承接流转结果"}),E.jsxs("strong",{className:"wandox-inbox-run-context__title",children:["来自 ",e||"同事"," 的执行结果"]}),E.jsx("p",{className:"wandox-inbox-run-context__description",children:"填写本次运行参数后,系统会创建新的执行记忆并保留流转来源。"})]}),!t&&E.jsx("button",{type:"button",className:"wandox-inbox-run-context__back",onClick:r,children:"返回收件箱"})]})}function o3n({templates:e,loading:t,canExecute:r,actionTemplateId:n,onExecute:i,onEnable:a}){return t&&e.length===0?E.jsx("section",{className:"wandox-automation-recommendations",children:E.jsxs("div",{className:"wandox-automation-recommendations__empty",children:[E.jsx(ji,{size:"small"}),E.jsx("span",{children:"正在读取推荐智能体"})]})}):e.length===0?null:E.jsxs("section",{className:"wandox-automation-recommendations",children:[E.jsx("div",{className:"wandox-automation-recommendations__head",children:E.jsxs("div",{children:[E.jsx("h3",{children:"推荐下一步"}),E.jsx("p",{children:"基于当前执行结果继续处理。"})]})}),E.jsx("div",{className:"wandox-automation-recommendations__list",children:e.map(s=>{var f,p;const o=s.my_status||"not_enabled",l=n===s.id,u=n!==null,d=o==="disabled_by_offline",h=o==="enabled";return E.jsxs("article",{className:"wandox-automation-recommendation-card",children:[E.jsxs("div",{className:"wandox-automation-recommendation-card__main",children:[E.jsx("div",{className:"wandox-automation-recommendation-card__icon",children:s.icon?E.jsx("img",{src:s.icon,alt:""}):E.jsx(If,{})}),E.jsxs("div",{className:"wandox-automation-recommendation-card__content",children:[E.jsx("h4",{children:s.name}),s.description&&E.jsx("p",{children:s.description}),(s.category||((f=s.tags)==null?void 0:f.length))&&E.jsxs("div",{className:"wandox-automation-recommendation-card__tags",children:[s.category&&E.jsx("span",{children:s.category}),(p=s.tags)==null?void 0:p.slice(0,3).map(g=>E.jsx("span",{children:g},g))]})]})]}),E.jsx("div",{className:"wandox-automation-recommendation-card__action",children:d?E.jsx("button",{type:"button",className:"automation-action-button automation-action-button--compact",disabled:!0,children:"已下线"}):h?E.jsxs("button",{type:"button",className:"automation-action-button automation-action-button--primary automation-action-button--compact",disabled:!r||u,onClick:()=>i(s),children:[E.jsx(If,{}),l?"执行中":"使用当前结果执行"]}):E.jsxs("button",{type:"button",className:"automation-action-button automation-action-button--compact",disabled:u,onClick:()=>a(s),children:[E.jsx(Bl,{}),l?"启用中":"启用"]})})]},s.id)})})]})}function l3n({fields:e,values:t,readOnly:r,loading:n,readOnlyLoading:i,groups:a,rememberedGroupKeys:s,formInstanceKey:o,renderFieldLabel:l,getFormItemClassName:u,renderField:d}){if(n||r&&i&&e.length===0)return E.jsx(NB,{className:"automation-run-loading"});if(e.length===0)return E.jsxs("div",{className:"automation-no-params",children:[E.jsx(RA,{}),E.jsxs("div",{children:[E.jsx("strong",{children:r?"本次执行无需额外参数":"这个智能体无需填写运行参数"}),E.jsx("p",{children:r?"智能体使用默认配置进入执行步骤。":"点击开始执行后,系统会直接创建执行记录并进入流程。"})]})]});if(!r&&a.length>0){const h=new Map(e.map(f=>[f.name,f]));return E.jsx("div",{className:"automation-run-form-groups",children:a.map(f=>{const p=f.fields.map(v=>h.get(v)).filter(v=>!!v);if(p.length===0)return null;const g=Math.min(Math.max(f.columns??1,1),3),m=kB(f.remember_last)&&s.includes(f.key);return E.jsxs("section",{className:"automation-run-form-group-card",children:[E.jsxs("div",{className:"automation-run-form-group-card__head",children:[E.jsxs("strong",{className:"automation-run-form-group-card__title",children:[zhn(f),m&&E.jsx("span",{className:"automation-run-form-group-card__remembered",children:"(已记住上次选择)"})]}),f.description&&E.jsx("span",{className:"automation-run-form-group-card__description",children:f.description})]}),E.jsx(kn,{layout:"vertical",colon:!1,className:"automation-run-form automation-run-form--group-card",style:{gridTemplateColumns:`repeat(${g}, minmax(0, 1fr))`},children:p.map(v=>E.jsx(kn.Item,{label:l(v,!0),className:u(v),children:d(v,t,r)},v.name))},`${f.key}-${o}`)]},f.key)})})}return E.jsx(kn,{layout:"horizontal",colon:!1,labelAlign:"left",labelCol:{flex:"152px"},wrapperCol:{flex:1},className:`automation-run-form automation-run-form--live${r?" wandox-automation-run-form--readonly":""}`,children:e.map(h=>E.jsx(kn.Item,{label:l(h),className:u(h),children:d(h,t,r)},h.name))},r?"readonly-run-form":`editable-run-form-${o}`)}const c3n=S.forwardRef(function({hasGroups:t,presentation:r="sections",expandedGroupKeys:n,onExpandedGroupKeysChange:i,className:a,...s},o){const l=t&&r==="sections",u=t&&r==="collapse";return E.jsx(vEe,{ref:o,...s,groupDisplay:r,groupAccordion:!1,destroyInactiveGroups:!1,expandedGroupKeys:u?n:void 0,onExpandedGroupKeysChange:u?i:void 0,formLayout:t?"vertical":"horizontal",formLabelAlign:t?void 0:"left",formLabelCol:t?void 0:{flex:"152px"},formWrapperCol:t?void 0:{flex:1},showArrayControls:!1,className:["wandox-automation-schema-form","wandox-automation-schema-run-form",l?"wandox-automation-schema-form--grouped":void 0,l?"wandox-automation-schema-run-form--grouped":void 0,u?"wandox-automation-schema-form--collapsible":void 0,u?"wandox-automation-schema-run-form--collapsible":void 0,a].filter(Boolean).join(" ")})});function u3n({schema:e,value:t,hasGroups:r,formInstanceKey:n,onChange:i}){return E.jsx(c3n,{schema:e,value:t,formSize:"middle",onChange:i,loadOptions:_Ee,uploadFile:TEe,hasGroups:r,presentation:"sections"},`automation-schema-run-form-${n}`)}const Kte=(...e)=>["automation-action-button",...e.filter(Boolean)].join(" ");function d3n({model:e,actions:t}){const{formFooter:r=!1,footerNote:n,phase:i,executing:a,parametersLoading:s,visibleFieldCount:o,submitLabel:l,showDraft:u,draftLabel:d}=e,{openDetail:h,saveDraft:f,startRun:p,cancelExecution:g}=t,m=s?"读取参数":o===0?"直接开始执行":i==="failed"?"重新执行":a?"执行中":r?l:"开始执行";return E.jsxs("div",{className:`automation-workbench-inline-actions${r?" automation-workbench-inline-actions--form-footer":""}`,children:[r&&n&&E.jsx("span",{className:"automation-workbench-inline-actions__note",children:n}),E.jsx("div",{className:"automation-workbench-inline-actions__buttons",children:i==="completed"?E.jsx("button",{type:"button",className:Kte("automation-action-button--primary"),onClick:h,children:"查看结果详情"}):E.jsxs(E.Fragment,{children:[a&&E.jsxs("button",{type:"button",className:Kte("automation-action-button--danger"),onClick:g,children:[E.jsx(ZXe,{}),"取消执行"]}),r&&u&&!a&&E.jsx("button",{type:"button",className:Kte("automation-action-button--form-secondary"),onClick:f,children:d}),E.jsxs("button",{type:"button",className:Kte("automation-action-button--primary",r&&"automation-action-button--form-primary"),onClick:p,disabled:a||s,children:[!r&&E.jsx(If,{}),m]})]})})]})}function h3n({children:e,tone:t="gray"}){return E.jsx("span",{className:`automation-badge automation-badge--${t}`,children:e})}function f3n(e){const t=document.createElement("a");t.href=e.path,t.download=e.name,t.target="_blank",document.body.appendChild(t),t.click(),document.body.removeChild(t)}function p3n({cockpit:e,execution:t,runForm:r,recommendations:n,waitingOnlyMissing:i,setWaitingOnlyMissing:a,reExecutingStepId:s,rerunningRunId:o,inboxRunTransfer:l,inboxRunTransferSender:u,actions:d}){const{runInputFields:h,runInputGroups:f,runInputFormUi:p,runFormValues:g,runFormInstanceKey:m,rememberedRunGroupKeys:v,runSelectSearchValues:y,runTextDraftValues:x,runFormLoading:b,runUploading:w,runFileNameMap:C,replaceRunFormValues:_,updateRunField:T,updateRunTextDraftField:k,commitRunTextField:A,allowEmptyRunSelectSearch:I,updateRunSelectSearch:$,handleRunFileUpload:P,getVisibleFields:N,persistCurrentRunValues:R}=r,{phase:L,waitingInfo:M,waitingLoading:O,waitingSubmitting:D}=t,{templates:F,loading:B,actionId:j}=n,{selectedAgent:H,runPreviewSteps:z,activeRun:W,workspaceMode:G,runParametersLoading:q,isExecuting:Y,activeRunTransfers:K,activeRunFailed:Z,canShareActiveRun:X,workbenchSteps:Q,waitingActiveStageKey:J,workbenchIsCompleted:re,activeWorkbenchStageKey:ne,workbenchFlowStages:se,expandedWorkbenchStageKeys:ce,workbenchStageTransitioning:le}=e.state,{collapseWorkbenchStage:te,selectWorkbenchStage:oe}=e.actions,xe=S.useMemo(()=>e3n({fields:h,groups:f,rememberedGroupKeys:v}),[h,f,v]),pe=j5(xe.eligible?[]:h,g,_),Ae=new Set(h.map(we=>we.name)),Te=["store_account","product_sku","publish_mode"].every(we=>Ae.has(we)),Le=f.length>0,Re={title:p.title||(Te?"新建刊登任务":"新建任务"),description:p.description||(Te?"填写产品信息后,AI 将自动生成 Listing 文案并完成亚马逊模版映射":Le?"填写任务信息后,系统将自动执行后续流程":""),footerNote:p.footerNote||(Te?"两种来源拿到基本信息后,AI 统一做亚马逊模版映射,后续流程一致":Le?"确认参数后,系统将按当前配置执行后续流程":""),submitLabel:p.submitLabel||(Te?"开始生成 Listing →":"开始执行 →"),draftLabel:p.draftLabel||"存为草稿",showDraft:p.showDraft??Le},ue=we=>{if(we.hint||we.description)return we.hint||we.description;if(Te){if(we.name==="category")return"决定亚马逊模版";if(we.name==="source_skill")return"列表可扩展";if(we.name==="competitor_refs")return"支持多个,回车添加"}},de=(we,Pe=!1)=>{const ke=ue(we);return E.jsxs("span",{className:"wandox-automation-run-field-label",children:[E.jsxs("span",{children:[we.label||we.name,we.required&&E.jsx("span",{className:"automation-required",children:"*"}),Pe&&ke&&E.jsxs("span",{className:"wandox-automation-run-field-label__inline-hint",children:["(",ke,")"]})]}),!Pe&&ke&&E.jsx(ei,{title:ke,children:E.jsx("span",{className:"wandox-automation-run-field-label__hint","aria-label":`${we.label||we.name}说明`,children:E.jsx(FS,{})})})]})},he=we=>{var Ke,Se;const Pe=we.type.toLowerCase(),ke=HQ(we),De=["automation-run-form-item"],Ue=!!!((Ke=we.enum)!=null&&Ke.length||(Se=we.options)!=null&&Se.length||we.options_from_skill||["select","array","list","tags","segmented"].includes(Pe)||["select","segmented"].includes(ke))&&["textarea","text","url"].includes(Pe);return Pe==="file"&&De.push("automation-run-form-item--file"),Pe==="file"&&Mvt(we.file_type)&&De.push("automation-run-form-item--image"),(Ue||(we.span??1)>1)&&De.push("automation-run-form-item--wide"),De.join(" ")},ve=(we,Pe=g,ke=!1)=>E.jsx(WQ,{field:we,value:Pe[we.name],readOnly:ke,uploading:!!w[we.name],fileNameMap:C,getOptionState:pe.getFieldState,onChange:T,onUpload:P,onDownloadTemplate:f3n,draftValue:!ke&&Object.prototype.hasOwnProperty.call(x,we.name)?x[we.name]:void 0,onDraftChange:ke?void 0:k,onDraftCommit:ke?void 0:A,selectSearchValue:y[we.name]||"",onSelectAllowEmptySearch:De=>{I(De)},onSelectSearchChange:$}),be=({fields:we=h,values:Pe=g,readOnly:ke=!1}={})=>{const De=Fbt(we,Pe),et=ke?[]:qhn(De,f);return!ke&&we===h&&Pe===g&&!q&&xe.eligible&&xe.schema?E.jsx(u3n,{schema:xe.schema,value:g,hasGroups:!!xe.hasGroups,formInstanceKey:m,onChange:_}):E.jsx(l3n,{fields:De,values:Pe,readOnly:ke,loading:!ke&&q,readOnlyLoading:b,groups:et,rememberedGroupKeys:v,formInstanceKey:m,renderFieldLabel:de,getFormItemClassName:he,renderField:ve})},ee=()=>be(),me=()=>E.jsx(t3n,{stepCount:z.length,isExecuting:Y,runParametersLoading:q,onStartRun:d.startRun}),ae=()=>!l||G!=="run"?null:E.jsx(s3n,{sender:u,isExecuting:Y,onReturn:d.returnToInbox}),fe=we=>{var Ke,Se;const Pe=we.steps.findIndex(vt=>vt.status==="running"||vt.status==="waiting"),ke=Pe>=0?we.steps[Pe]:we.steps[0],De=((Ke=ke==null?void 0:ke.substeps)==null?void 0:Ke.find(vt=>vt.status==="running"))??((Se=ke==null?void 0:ke.substeps)==null?void 0:Se[ke.substeps.length-1]),et=we.steps.filter(vt=>vt.status==="completed").length,Ue=we.steps.length||1;return E.jsxs("div",{className:"wandox-automation-running-state",children:[E.jsxs("div",{className:"wandox-automation-running-state__hero",children:[E.jsx("span",{className:"wandox-automation-running-state__pulse","aria-hidden":"true",children:E.jsx("span",{})}),E.jsxs("div",{children:[E.jsx("strong",{children:"生成中"}),E.jsx("p",{children:De?`正在处理:${De.title}`:ke?`正在处理:${ke.title}`:"正在创建执行记录"})]}),E.jsx(h3n,{tone:"blue",children:`${et}/${Ue}`})]}),E.jsx(i3n,{run:we})]})},ie=W?E.jsx(r3n,{value:W.detailData}):null,$e=!!(W!=null&&W.resultPayload||W!=null&&W.resultContent||ie),ge=(W==null?void 0:W.status)==="running",Be=()=>{const we=N();H!=null&&H.id&&R(H.id,we),d.notify("草稿已保存,已记住启用记忆的分组")},Ne=(we=!1)=>{const Pe=N().length;return E.jsx(d3n,{model:{formFooter:we,footerNote:Re.footerNote,phase:L,executing:Y,parametersLoading:q,visibleFieldCount:Pe,submitLabel:Re.submitLabel,showDraft:!!Re.showDraft,draftLabel:Re.draftLabel},actions:{openDetail:d.openDetail,saveDraft:Be,startRun:d.startRun,cancelExecution:d.cancelExecution}})},Fe=(we=!1)=>{const Pe=h.length>0?h:((W==null?void 0:W.params)??[]).map(([Ue],Ke)=>({name:`history_param_${Ke}`,label:Ue,type:"string",required:!1})),ke=h.length>0?qbt(h,W):Pe.reduce((Ue,Ke,Se)=>{var vt;return Ue[Ke.name]=((vt=W==null?void 0:W.params[Se])==null?void 0:vt[1])??"",Ue},{}),De=N(),et=G==="run"&&!q&&De.length===0;return E.jsx(uxt,{workspaceMode:G,isTransitioning:we,showDirectRunPanel:et,formUi:Re,historicalFields:Pe,historicalValues:ke,historicalEmptyBody:be({fields:Pe,values:ke,readOnly:!0}),runBody:et?me():E.jsxs(E.Fragment,{children:[ee(),Ne(!0)]}),inboxContext:ae(),renderFieldLabel:de,formatValue:KEe,stringifyValue:gw,onCollapseStage:te})},Oe=(we,Pe=!1)=>{const ke=ake(we),De=`step:${we.id}`,et=G==="waiting"&&De===J,Ue=!!(W&&G!=="run"&&yI(W));return E.jsx(dxt,{model:{step:we,transitioning:Pe,waiting:{current:et,info:M,loading:O,onlyMissing:i,submitting:D},completedConfirmData:ke,activeRun:W,executing:Y,retry:{reExecutingStepId:s,rerunningRunId:o,canReExecute:Ue}},actions:{collapse:te,changeWaitingOnlyMissing:a,submitWaitingInput:d.submitWaitingInput,openWaitingRun:d.openWaitingRun,reExecute:(Ke,Se)=>void d.reExecuteFailedStep(Ke,Se)}})},Xe=()=>{if(!(H!=null&&H.market_template_id))return null;const we=!!(W&&W.status==="completed"&&!Z);return E.jsx(o3n,{templates:F,loading:B,canExecute:we,actionTemplateId:j,onExecute:Pe=>void d.executeRecommendedTemplate(Pe),onEnable:Pe=>void d.enableRecommendedTemplate(Pe)})},He=()=>{const we=ge?"生成中":$e&&KJ(W==null?void 0:W.resultTitle)||"执行结果",Pe=nke((W==null?void 0:W.resultPayload)??(W==null?void 0:W.resultContent),we),ke=(W==null?void 0:W.summary.trim())??"",De=!!($e&&ke&&!/^(执行完成|已完成(?:\s*\d+\s*个步骤)?)$/.test(ke)&&ke!==we);return E.jsx(lxt,{model:{completed:re,run:W,failed:Z,running:ge,hasResult:$e,shareable:X,transfers:K,phase:L,mode:G,progress:{completedSteps:Q.filter(et=>et.status==="completed").length,stepCount:Q.length},result:{heading:we,bodyPayload:Pe,summary:ke,showSummary:De},content:{runningTransition:W?fe(W):null,recommendedTemplates:Xe(),runActions:Ne()}},actions:{share:et=>void d.shareRun(et)}})},ot=(we,Pe=!1)=>we.kind==="params"?Fe(Pe):we.kind==="complete"?He():we.step?Oe(we.step,Pe):null;return{renderWorkbenchFlow:()=>E.jsx(cxt,{workspaceMode:G,stages:se,activeStageKey:ne,expandedStageKeys:ce,transitioning:le,renderStageContent:ot,onSelectStage:oe}),renderFailedTaskRerunAction:()=>G==="run"||!W||!Z?null:E.jsx(a3n,{run:W,isExecuting:Y,rerunningRunId:o,reExecutingStepId:s,onRerun:()=>void d.rerunFailedExecution(W)})}}function E3e(e){return e.transferred_nickname||e.transferred_username||e.transferred_by||"同事"}function Xte(e){return e.agent_name?`流转了「${e.agent_name}」的执行结果`:"流转了一份执行结果"}function g3n(e){var r;const t=((r=e==null?void 0:e.transfer_message)==null?void 0:r.trim())??"";return t&&t!=="-"?t:""}function m3n(e){return e?g3n(e)||Xte(e):"暂无待处理结果"}function v3n(e){return e==="accepted"?"已接收":e==="rejected"?"已拒绝":"待处理"}function y3n(e){return e==="accepted"?"completed":e==="rejected"?"failed":"waiting"}function b3n(e){return pw(e.created_at)||e.created_at||"未知时间"}function x3n(e){const t=new Date,r=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),n=new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime();if(n===r)return"今天";if(n===r-24*60*60*1e3)return"昨天";const i=`${sp(e.getMonth()+1)}/${sp(e.getDate())}`;return e.getFullYear()===t.getFullYear()?i:`${e.getFullYear()}/${i}`}function w3n(e){return{id:e.id,transfer:e,primaryText:m3n(e),statusText:v3n(e.status),runStatus:y3n(e.status),summary:Xte(e),time:pw(e.created_at)||"未知时间"}}function S3n(e){return e.map((t,r)=>({item:t,index:r,date:Nbt(t.created_at)})).sort((t,r)=>{var n,i;return(((n=r.date)==null?void 0:n.getTime())??0)-(((i=t.date)==null?void 0:i.getTime())??0)||t.index-r.index}).reduce((t,r)=>{const n=r.date?Bhn(r.date):"unknown",i=r.date?x3n(r.date):"未知日期",a=w3n(r.item),s=t[t.length-1];return(s==null?void 0:s.key)===n?(s.items.push(a),t):(t.push({key:n,label:i,items:[a]}),t)},[])}function C3n({inboxProcessTransfer:e,agentsRef:t,loadAgents:r,setInboxProcessTransfer:n,setInboxRunTransfer:i,setRejectingTransferId:a,selectAgent:s,notify:o,resetAgentStoreForm:l,setAgentStoreFormName:u,setPendingTransferId:d,setShowAgentDrawer:h}){const f=pl(),p=Nf({...dp.transfers.reject(),onSuccess:()=>Hh(f,{type:"transfer-rejected"})}),g=S.useCallback(async b=>{n(b),t.current.length===0&&await r(null,!1)},[t,r,n]),m=S.useCallback(b=>{const w=e;w&&(n(null),s(b),i(w),o("已进入承接任务配置"))},[e,o,s,n,i]),v=S.useCallback(b=>{n(null),l(),u(b.agent_name?`${b.agent_name}-处理`:""),d(b.id),h(!0)},[l,u,n,d,h]),y=S.useCallback(()=>{e&&v(e)},[v,e]),x=S.useCallback(b=>{Ii.confirm({title:"拒绝这条流转?",content:Xte(b),okText:"拒绝",okButtonProps:{danger:!0},cancelText:"取消",centered:!0,onOk:async()=>{a(b.id);try{await p.mutateAsync(b.id),kt.success("已拒绝")}catch(w){kt.error(So(w,"操作失败"))}finally{a(null)}}})},[p,a]);return{executeInboxTransfer:g,continueInboxTransfer:m,createAgentFromInbox:v,createAgentFromInboxProcess:y,rejectInboxTransfer:x}}const _3n=0;function T3n({view:e,activeTransfer:t}){const r=pl(),n=e==="inbox"?(t==null?void 0:t.source_result_id)??null:null,i=S.useMemo(()=>Ud.results.detail(n??_3n),[n]),a=qv({...i,enabled:n!==null}),s=S.useCallback(async()=>{if(n===null)return null;try{return await r.fetchQuery({...Ud.results.detail(n),staleTime:0})}catch{return null}},[r,n]);return{detail:a.data??null,loading:n!==null&&a.isFetching,error:a.error?So(a.error,"结果详情读取失败"):"",load:s}}const E3n=[];function LAt(e,t){Sa.setState({transfers:e,transfersLoading:t})}function k3n({active:e}){const t=pl(),r=S.useMemo(()=>Ud.transfers.inbox(vAn),[]),n=qv({...r,enabled:e}),i=n.data??E3n,a=e&&n.isFetching;S.useEffect(()=>{!e&&n.data===void 0||LAt(i,a)},[e,n.data,a,i]);const s=S.useCallback(async()=>{Sa.setState({transfersLoading:!0});try{const o=await t.fetchQuery({...r,staleTime:0});return LAt(o,!1),o}catch{return Sa.setState({transfersLoading:!1}),[]}},[r,t]);return{transfers:i,transfersLoading:a,loadTransfers:s}}function k3e(e,t){return e.find(r=>r.id===t)??e[0]??null}function A3n(e,t){const r=k3e(e,t);return{groups:S3n(e),pendingCount:e.filter(n=>n.status==="pending").length,activeTransfer:r,active:r?{transfer:r,pending:r.status==="pending",sender:E3e(r),time:b3n(r)}:null}}function I3n({view:e,agents:t,agentsLoading:r,agentsRef:n,loadAgents:i,selectAgent:a,notify:s,inboxRunTransfer:o,setInboxRunTransfer:l,setView:u,setDrawer:d,setModal:h,setAgentTransitionId:f}){const[p,g]=S.useState(null),[m,v]=S.useState(null),[y,x]=S.useState(null),{transfers:b,transfersLoading:w,loadTransfers:C}=k3n({active:e==="inbox"}),_=Sa(H=>H.resetForm),T=Sa(H=>H.setFormName),k=Sa(H=>H.setPendingTransferId),A=Sa(H=>H.setShowAgentDrawer),I=S.useMemo(()=>A3n(b,p),[p,b]),$=T3n({view:e,activeTransfer:I.activeTransfer}),{executeInboxTransfer:P,continueInboxTransfer:N,createAgentFromInbox:R,createAgentFromInboxProcess:L,rejectInboxTransfer:M}=C3n({inboxProcessTransfer:m,agentsRef:n,loadAgents:i,setInboxProcessTransfer:v,setInboxRunTransfer:l,setRejectingTransferId:x,selectAgent:a,notify:s,resetAgentStoreForm:_,setAgentStoreFormName:T,setPendingTransferId:k,setShowAgentDrawer:A});S.useEffect(()=>{e==="inbox"&&g(H=>{var z;return((z=k3e(b,H))==null?void 0:z.id)??null})},[b,e]);const O=S.useCallback(()=>{C()},[C]),D=S.useCallback(()=>{u("inbox"),d(null),h(null),g(H=>{var z;return((z=k3e(b,H))==null?void 0:z.id)??null})},[d,h,u,b]),F=S.useCallback(()=>{l(null),d(null),f(null),u("inbox")},[f,d,l,u]),B=S.useMemo(()=>({transferCount:b.length,loading:w,groups:I.groups,active:I.active,rejectingTransferId:y,result:{detail:$.detail,loading:$.loading,error:$.error},process:{transfer:m,agents:t,loading:r,sender:m?E3e(m):"",summary:m?Xte(m):""}}),[t,r,$.detail,$.error,$.loading,m,I.active,I.groups,y,b.length,w]),j=S.useMemo(()=>({refresh:O,selectTransfer:g,process:P,createAgent:R,reject:M,retryResult:()=>{$.load()},closeProcess:()=>v(null),continueProcess:N,createAgentFromProcess:L}),[N,R,L,P,$.load,O,M]);return{model:B,state:{pendingCount:I.pendingCount,runTransferSender:o?E3e(o):""},actions:{workspace:j,openInbox:D,refreshTransfers:O,returnToInboxFromTransfer:F}}}function $3n({active:e,agentsRef:t,selectedAgentIdRef:r,selectAgent:n,setSelectedAgentId:i,setActiveRunId:a,setView:s,resetHistory:o,setIdlePhase:l}){const u=pl(),d=S.useMemo(()=>Ud.agents.list(pAn),[]),h=S.useMemo(()=>Ud.market.templates.list(gAn),[]),f=qv({...d,enabled:e}),p=qv({...h,enabled:e}),g=f.data??[],m=p.data??[],v=S.useCallback((w,C,_=!1)=>{t.current=w,Sa.setState({agents:w,agentsLoading:!1});const T=C?w.find(P=>P.id===C):null,k=r.current,A=k?w.find(P=>P.id===k):null,I=T||A||null;if(I&&(T||_)&&n(I),I)return;r.current=null,i(null),o(),a(""),l();const $=Sa.getState();$.setExecutionSteps([]),$.setExecutionProgress(0),$.setCurrentExecutionId(null),$.setLatestSSEEvent(null),s(P=>P==="inbox"?"inbox":"market")},[t,o,n,r,a,l,i,s]);S.useEffect(()=>{f.data&&v(f.data)},[f.data,v]);const y=S.useCallback(w=>{u.setQueryData(d.queryKey,(C=[])=>{const _=typeof w=="function"?w(C):w;return t.current=_,Sa.setState({agents:_,agentsLoading:!1}),_})},[d.queryKey,t,u]),x=S.useCallback(async()=>{try{return await u.fetchQuery({...h,staleTime:0})}catch{return[]}},[h,u]),b=S.useCallback(async(w,C=!1,_=!1)=>{try{const T=await u.fetchQuery({...d,..._?{staleTime:0}:{}});return v(T,w,C),T}catch{return t.current.length===0&&Sa.setState({agents:[],agentsLoading:!1}),[]}},[d,t,u,v]);return{agents:g,setAgents:y,agentsLoading:g.length===0&&f.isFetching,agentsError:f.error?So(f.error,"加载智能体列表失败"):"",marketTemplates:m,marketLoading:p.isFetching,marketError:p.error?So(p.error,"加载市场模板失败"):"",loadAgents:b,loadMarketTemplates:x}}function R3n(e){const t=[],r=new Map;for(const n of e)r.set(n.id,n),!n.is_template&&n.status==="active"&&t.push(n);return{availableAgents:t,agentById:r}}function N3n({active:e,agentsRef:t,selectedAgentIdRef:r,selectAgent:n,setSelectedAgentId:i,setActiveRunId:a,setView:s,resetHistory:o,setIdlePhase:l}){const u=pl(),d=Nf({...dp.agents.delete(),onSuccess:(N,R)=>Hh(u,{type:"agent-deleted",agentId:R},{refetchType:"none"})}),h=Nf({...dp.market.enableTemplate(),onSuccess:()=>Hh(u,{type:"market-template-enabled"},{refetchType:"none"})}),f=h.isPending?h.variables??null:null,p=d.isPending?d.variables??null:null,{agents:g,setAgents:m,agentsLoading:v,agentsError:y,marketTemplates:x,marketLoading:b,marketError:w,loadAgents:C,loadMarketTemplates:_}=$3n({active:e,agentsRef:t,selectedAgentIdRef:r,selectAgent:n,setSelectedAgentId:i,setActiveRunId:a,setView:s,resetHistory:o,setIdlePhase:l}),{availableAgents:T}=S.useMemo(()=>R3n(g),[g]),k=S.useCallback(N=>{const R=N.is_from_market?"移除":"删除";Ii.confirm({title:`${R}「${N.name}」?`,content:N.is_from_market?"移除后可从市场重新启用。":"删除后需要重新创建。",okText:R,cancelText:"取消",okButtonProps:{danger:!0},onOk:async()=>{try{await d.mutateAsync(N.id),kt.success(`智能体已${R}`),r.current===N.id&&(r.current=null,i(null),o()),s("market"),await C(null,!1),await _()}catch(L){throw kt.error(So(L,`${R}智能体失败`)),L}}})},[d,C,_,o,r,i,s]),A=S.useCallback(async N=>{try{await h.mutateAsync(N.id),await _(),await C(null,!1),s("market"),kt.success("已启用智能体")}catch(R){kt.error(So(R,"启用模板失败"))}},[h,C,_,s]),I=S.useMemo(()=>({agentsLoading:v,agentsError:y,marketLoading:b,marketError:w,marketTemplates:x,availableAgents:T,subscribingTemplateId:f,deletingAgentId:p}),[v,y,T,p,w,b,x,f]),$=S.useCallback(()=>{Promise.all([C(null,!1,!0),_()])},[C,_]),P=S.useMemo(()=>({reload:$,enableTemplate:A,selectAgent:n,deleteAgent:k}),[k,A,$,n]);return{agents:g,setAgents:m,agentsLoading:v,agentsError:y,loadAgents:C,loadMarketTemplates:_,model:I,actions:P}}function PAt({embedded:e=!1,onHeaderChange:t,onCockpitEnter:r,onCockpitExit:n,onInboxEnter:i}){const[a,s]=S.useState("market"),o=q4n(),{drawer:l,setDrawer:u,phase:d,waitingRunId:h,setWaitingRunId:f,waitingInfo:p,setWaitingInfo:g,setWaitingLoading:m,setWaitingSubmitting:v,openDetailDrawer:y,setIdlePhase:x}=o,[b,w]=S.useState(null),[C,_]=S.useState(null),T=S.useRef([]),[k,A]=S.useState(null),[I,$]=S.useState(null),P=S.useRef(null),N=OAn(),R=AAn({enabled:a==="cockpit",selectedAgentIdRef:P}),{realRuns:L,activeRunSnapshot:M,setActiveRunSnapshot:O,historyTotal:D,historyLoading:F,historyError:B,loadExecutions:j,activateHistory:H,resetHistory:z}=R,[W,G]=S.useState(null),q=PAn({active:a==="cockpit"}),{transfers:Y}=q,[K,Z]=S.useState("amazon"),[X,Q]=S.useState(""),[J,re]=S.useState(null),[ne,se]=S.useState(""),ce=S.useCallback(xr=>{se(xr),window.setTimeout(()=>se(""),1900)},[]),{runConfigAgentId:le,runFormLoading:te,resetForAgent:oe}=N,[xe,pe]=S.useState([]),{traces:Ae,recordEvent:Te}=Y4n(),[Le,Re]=S.useState(null),[ue,de]=S.useState(!1),he=NAn(),ve=G4n(),{reset:be}=ve,ee=S.useRef(""),me=S.useRef(null),ae=l3e(),{abort:fe}=ae,ie=S.useCallback(xr=>{fe(),re(null);const at=Sa.getState();at.setExecutionSteps([]),at.setExecutionProgress(0),at.setCurrentExecutionId(null),at.setLatestSSEEvent(null),be();const qn=xr.name.toLowerCase().includes("amazon")?"amazon":"custom";P.current=xr.id,G(xr.id),A(xr.id),Z(qn),Q(""),z(!0),x(),oe(),pe([]),f(""),g(null),m(!1),v(!1),s("cockpit"),u("run"),w(null),r==null||r()},[fe,r,be,oe,z,u,x,g,m,f,v]),{agents:$e,setAgents:ge,agentsLoading:Be,agentsError:Ne,loadAgents:Fe,model:Oe,actions:Xe}=N3n({active:a==="market",agentsRef:T,selectedAgentIdRef:P,selectAgent:ie,setSelectedAgentId:A,setActiveRunId:Q,setView:s,resetHistory:z,setIdlePhase:x}),He=UAn({view:a,agents:$e,selectedAgentId:k,agentKind:K,realRuns:L,activeRunId:X,setActiveRunId:Q,activeRunSnapshot:M,setActiveRunSnapshot:O,historyTotal:D,historyLoading:F,historyError:B,loadExecutions:j,activateHistory:H,deletingExecutionId:C,agentTransitionId:W,setAgentTransitionId:G,runFormLoading:te,runConfigAgentId:le,runPreviewStepItems:xe,liveExecutionTraces:Ae,drawer:l,phase:d,transfers:Y,waitingRunId:h,waitingInfo:p,waitingPreviewSteps:Le}),{model:ot,state:{selectedAgent:Ce,agent:it},actions:{changeHistoryStatusFilter:we,changeHistoryPage:Pe,reloadHistory:ke}}=He,{model:De,state:{pendingCount:et,runTransferSender:Ue},actions:{workspace:Ke,openInbox:Se,refreshTransfers:vt,returnToInboxFromTransfer:ft}}=I3n({view:a,agents:$e,agentsLoading:Be,agentsRef:T,loadAgents:Fe,selectAgent:ie,notify:ce,inboxRunTransfer:J,setInboxRunTransfer:re,setView:s,setDrawer:u,setModal:w,setAgentTransitionId:G}),mt=S.useCallback(()=>{Se(),i==null||i()},[i,Se]);S.useEffect(()=>{de(!1)},[h]);const{currentExecutionId:Ye,openRun:st}=EAn({enabled:a==="cockpit",activeRunId:X,agentsRef:T,setAgents:ge,execution:o,executions:R,runForm:N,cockpit:He,recommendations:he,executionEvents:ve,runPreviewStepItems:xe,setRunPreviewStepItems:pe,pendingExecutionTitleRef:ee,recommendedExecutionRef:me,recordLiveTraceEvent:Te,setActiveRunId:Q,setWaitingPreviewSteps:Re,notify:ce}),{state:{rerunningRunId:Me,reExecutingStepId:tt,transferModalResultId:Qe},actions:{openRunDrawer:Je,openWaitingRun:lt,submitWaitingInput:nt,rerunFailedExecution:yt,reExecuteFailedStep:bt,startRun:At,cancelCurrentExecution:Pt,closeTransferModal:Mt,openShareForRun:fr,deleteExecutionRecord:Br,enableRecommendedTemplate:jt,executeRecommendedTemplate:rt}}=sAn({selectedAgentId:k,currentExecutionId:Ye,execution:o,executions:R,runForm:N,cockpit:He,recommendations:he,agentExecution:ae,resetExecutionEvents:be,pendingExecutionTitleRef:ee,recommendedExecutionRef:me,setActiveRunId:Q,setDeletingExecutionId:_,setModal:w,inboxRunTransfer:J,setInboxRunTransfer:re,refreshInboxTransfers:vt,loadAgents:Fe,waitingPreviewSteps:Le,notify:ce}),{state:{scheduleModalOpen:Nt},actions:{openScheduleModal:qt,closeScheduleModal:Sr,openCreateAgent:Vt,returnToAgentSelection:$t}}=IAn({embedded:e,view:a,setView:s,selectedAgentName:Ce?it.name:null,agentsCount:$e.length,agentsError:Ne,pendingInboxCount:et,openInbox:mt,reloadAgents:()=>void Fe(null,!1),setDrawer:u,setModal:w,notify:ce,onHeaderChange:t,onCockpitExit:n}),Lt=S.useCallback(xr=>{$(xr),qt(xr.name)},[qt]),ct=S.useCallback(()=>{$(null),qt()},[qt]),Dt=S.useCallback(()=>{$(null),Sr()},[Sr]),We=p3n({cockpit:He,execution:o,runForm:N,recommendations:he,waitingOnlyMissing:ue,setWaitingOnlyMissing:de,reExecutingStepId:tt,rerunningRunId:Me,inboxRunTransfer:J,inboxRunTransferSender:Ue,actions:{startRun:At,cancelExecution:()=>void Pt(),openDetail:y,notify:ce,openWaitingRun:lt,submitWaitingInput:nt,reExecuteFailedStep:bt,rerunFailedExecution:yt,returnToInbox:ft,shareRun:fr,executeRecommendedTemplate:rt,enableRecommendedTemplate:jt}});return E.jsx(j4n,{view:a,market:{model:{embedded:e,pendingInboxCount:et,...Oe},actions:{...Xe,configureSchedule:Lt,openInbox:mt,createAgent:Vt}},inbox:{model:{embedded:e,...De},actions:{back:$t,...Ke}},cockpit:Ce?{model:{embedded:e,...ot},actions:{back:$t,history:{createRun:Je,configureSchedule:ct,changeStatusFilter:we,reload:ke,openRun:st,openWaitingRun:lt,removeRun:Br,changePage:Pe}},slots:We}:null,empty:{agentsCount:$e.length,error:Ne,onOpenMarket:()=>s("market")},transferModal:{open:b==="share",onClose:Mt,resultId:Qe},scheduleModal:{agent:I||Ce,open:Nt,onClose:Dt},toast:ne})}function L3n({queueStatus:e}){if(!e)return null;const t=e.status==="waiting";return E.jsx("div",{className:"wandox-queue-overlay",children:E.jsx("div",{className:"wandox-queue-modal",children:t?E.jsxs(E.Fragment,{children:[E.jsx("div",{className:"wandox-queue-icon wandox-queue-icon--waiting",children:E.jsxs("svg",{viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[E.jsx("circle",{cx:"32",cy:"32",r:"28",stroke:"#E5E7EB",strokeWidth:"4"}),E.jsx("path",{d:"M32 16V32L44 38",stroke:"#8B5CF6",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"})]})}),E.jsx("div",{className:"wandox-queue-title",children:"当前使用人数较多,正在排队中..."}),E.jsxs("div",{className:"wandox-queue-stats",children:[E.jsxs("div",{className:"wandox-queue-stat",children:[E.jsx("div",{className:"wandox-queue-stat-value",children:e.position}),E.jsx("div",{className:"wandox-queue-stat-label",children:"前面还有"})]}),E.jsxs("div",{className:"wandox-queue-stat",children:[E.jsxs("div",{className:"wandox-queue-stat-value",children:["~",e.estimated_wait,"s"]}),E.jsx("div",{className:"wandox-queue-stat-label",children:"预计等待"})]})]}),E.jsxs("div",{className:"wandox-queue-tip",children:[E.jsx("span",{className:"wandox-queue-tip-icon",children:"💡"}),E.jsx("span",{children:"小贴士:等待期间可先查看其他功能模块"})]})]}):E.jsxs(E.Fragment,{children:[E.jsx("div",{className:"wandox-queue-icon wandox-queue-icon--ready",children:E.jsxs("svg",{viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[E.jsx("rect",{x:"4",y:"4",width:"56",height:"56",rx:"8",fill:"#10B981"}),E.jsx("path",{d:"M18 32L28 42L46 22",stroke:"white",strokeWidth:"5",strokeLinecap:"round",strokeLinejoin:"round"})]})}),E.jsx("div",{className:"wandox-queue-title wandox-queue-title--ready",children:"轮到您了!"}),E.jsx("div",{className:"wandox-queue-subtitle",children:"正在处理您的请求..."})]})})})}function P3n({open:e,actionName:t,defaultParams:r={},onCancel:n,onExecute:i}){const[a,s]=S.useState({});S.useEffect(()=>{if(e){const h={};for(const f of Object.keys(r)){const p=r[f];(typeof p=="string"||typeof p=="number")&&(h[f]=String(p))}s(h)}},[e,r]);const o=(h,f)=>{s(p=>({...p,[h]:f}))},l=h=>{h.preventDefault();const f={...r};for(const p of Object.keys(a))f[p]=a[p];i(f)},u=h=>{h.target===h.currentTarget&&n()},d=(h,f)=>typeof f=="object"&&f!==null?null:E.jsxs("div",{className:"wandox-form-item",children:[E.jsx("span",{className:"wandox-form-label",children:h}),E.jsx("input",{type:"text",className:"wandox-form-input",placeholder:`请输入 ${h}`,value:a[h]||"",onChange:p=>o(h,p.target.value)})]},h);return e?E.jsx("div",{className:"wandox-modal-overlay",onClick:u,children:E.jsxs("div",{className:"wandox-modal",style:{width:600},children:[E.jsxs("div",{className:"wandox-modal-header",children:[E.jsxs("h3",{className:"wandox-modal-title",children:["执行 Action: ",t]}),E.jsx("button",{type:"button",className:"wandox-modal-close",onClick:n,"aria-label":"关闭",children:E.jsx("svg",{width:"24",height:"24",viewBox:"0 0 16 16",fill:"currentColor",children:E.jsx("path",{d:"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"})})})]}),E.jsxs("div",{className:"wandox-modal-body",children:[E.jsx("div",{className:"wandox-modal-description",children:"以下是默认参数,您可以修改后执行,或直接使用默认值执行"}),E.jsxs("form",{onSubmit:l,children:[Object.keys(r).map(h=>d(h,r[h])),Object.keys(r).length===0&&E.jsx("div",{className:"wandox-empty-params",children:"该 Action 无需参数"})]})]}),E.jsxs("div",{className:"wandox-modal-footer",children:[E.jsx("button",{type:"button",className:"wandox-button wandox-button-default",onClick:n,children:"取消"}),E.jsx("button",{type:"button",className:"wandox-button wandox-button-primary",onClick:l,children:"执行"})]})]})}):null}const MAt=["要努力呀,为了想要的生活,为了人间的烟火气,为了今天的风和月。","欣赏不来别人视若珍宝的,就该保持沉默。","日子总是有意思的,了无生趣的是打不起精神的你。","我们终其一生,就是要摆脱他人的期待,找到真正的自己。","别在最好的年纪选择了安逸,那是对自己最大的辜负。","你现在的气质里,藏着你走过的路、读过的书和爱过的人。","成长就是,你终于明白有些路只能一个人走。","不是每一次努力都有收获,但每一次收获都需要努力。","生活从不眷顾因循守旧、满足现状的人,而将更多机遇留给勇于探索的人。","所有的困难都是暂时的,熬过去就是晴天。","你若盛开,清风自来。","别人笑我太疯癫,我笑他人看不穿。","走慢一点,是为了走得更远。","不必羡慕别人,你的故事才刚刚开始。","心若向阳,何惧忧伤。","人生没有白走的路,每一步都算数。","你不是在浪费时间,你是在积蓄力量。","别让昨天的遗憾,占满今天的时间。","深夜的努力,终将照亮黎明。","只要路是对的,就不怕遥远。","生活不会辜负每一个认真的人。","做一个有温度的人,遇见有光的事。","你所经历的每一次失败,都是未来成功的伏笔。","不要因为走得太远,而忘记为什么出发。","把每一天当作礼物,而不是任务。","越努力,越幸运。","你值得拥有你所渴望的一切。","别把时间花在你不喜欢的事情上,除非它能带你去你喜欢的地方。","有些事现在不做,一辈子都不会做了。","你的潜力,远比你想象的要大。","不要等到准备好了才开始,开始了才会准备好。","慢慢来,比较快。","善待自己,你已经很努力了。","每一个你讨厌的早晨,都是别人求之不得的机会。","世界上只有一种真正的英雄主义,那就是认清生活的真相后仍然热爱它。","人生不是等待风暴过去,而是学会在雨中起舞。","别总想着逃离,先想想能不能改变。","你无法控制风向,但可以调整帆的方向。","没有人能替你走你该走的路。","不要因为没有掌声而停止歌唱。","把抱怨环境的心情,用来改善环境吧。","你今天的懒惰,是明天后悔的源头。","没有人永远年轻,但永远有人正在年轻。","读书破万卷,不如行路十里。","人生最大的遗憾,是轻易放弃了本不该放弃的。","你不是失败了,你只是还没成功。","今天的苦,是明天的底气。","别把别人的看法,活成自己的枷锁。","有一种勇敢,叫做即使害怕也要继续走。","生活是场修行,凡事皆有意义。","不要和自己过不去,人生很短,开心最重要。","你现在偷的懒,都是以后还的债。","最好的时机,就是现在。","你不必完美,但你必须真实。","与其等待一个完美的开始,不如从不完美中开始。","成功不是终点,失败也不是终结,重要的是继续的勇气。","每一个坚持的背后,都有一个不为人知的故事。","改变不了环境,就改变自己。","别用你的忙来掩盖你的懒,也别用你的懒来消耗你的忙。","人生就像骑自行车,要保持平衡就必须不断前行。","昨天已经过去,明天还未到来,今天才是你拥有的全部。","宁可辛苦一阵子,不要痛苦一辈子。","不要让今日的懒惰,成为明日的遗憾。","你的态度,决定了你人生的高度。","路是走出来的,不是想出来的。","做你自己,别人的角色已经有人在演了。","年轻时以为不读书不足惜,后来方知书中有乾坤。","你若想要,便去追;你若已得,便珍惜。","最怕你一生碌碌无为,还安慰自己平凡可贵。","人生没有捷径,弯路也是路。","种一棵树最好的时间是十年前,其次是现在。","每天进步一点点,人生就会不一样。","不要只是看,要有所感悟;不要只是听,要有所行动。","心态好了,一切都好了。","你的未来,取决于你现在的决定。","好好爱自己,才有能力去爱别人。","人生路上,勿忘初心。","有梦想就去追,别给自己的平庸找借口。","世界是你的,但首先你要努力。","坚持不一定成功,但放弃一定失败。","你比你想象的更坚强,比你感觉的更勇敢。","把每一次失败都当成学费,你就赚了。","选择了远方,便只顾风雨兼程。","人生的意义不在于拿一手好牌,而在于打好一手烂牌。","不要在还可以冲刺的年纪,选择散步。","钱不是万能的,但没有钱是万万不能的。努力赚钱,才是对自己最大的尊重。","所谓天才,不过是比别人多了一点坚持。","你改变不了昨天,但你可以决定明天。","做最好的自己,才能遇见最好的别人。","不要因为懒惰而失去了本来可以拥有的东西。","人生没有返回键,但有暂停和前进。","别等别人为你喝彩,先为自己鼓掌。","与其焦虑,不如行动。","每一个优秀的人,都曾经历过一段无人问津的岁月。","你的每一步努力,都在为未来的自己铺路。","不想当将军的士兵不是好士兵,但当不了将军的士兵也可以是好士兵。","生活的艺术,就是把每一个平凡的日子过得不平凡。","人生就是一场旅行,在乎的不是目的地,而是沿途的风景。","不要因为别人的否定,而放弃对自己的肯定。","勇敢不是不害怕,而是即使害怕也还是去做。","命运给了你一手烂牌,你要做的是把它打好。","真正的强大,是内心的平静。","你所不能击垮的,终将使你更强大。","成功的人找方法,失败的人找借口。","不要总是想着明天,今天就是你最年轻的一天。","人生最重要的不是你站在哪里,而是你朝哪个方向走。","每个人都是自己人生的主角,不要沦为配角。","你现在付出的努力,都是在为未来的幸福买单。","心宽了,路才宽。","你所拥有的,比你想要的更多。","不要用战术上的勤奋,掩盖战略上的懒惰。","很多人看起来很忙,实际上只是在低水平上勤奋。","格局大了,烦恼就少了。","你的圈子,决定了你的见识;你的见识,决定了你的未来。","别总是看别人的生活,好好经营自己的就够了。","脚踏实地,仰望星空,这才是人生的正确打开方式。","吃一堑,长一智;受一挫,强一分。","每一次跌倒,都是一次重新出发的机会。","低谷的时候,沉得住气;高峰的时候,守得住心。","你一定要过得很好,这样才不辜负自己受过的苦。","少说多做,是成功的捷径。","人生苦短,别把时间浪费在不值得的人和事上。","越是艰难处,越是修心时。","机会都是留给有准备的人的。","爱拼才会赢,努力才会赢。","人生就像一杯茶,不会苦一辈子,但总会苦一阵子。","不要轻言放弃,你不知道下一秒会发生什么奇迹。","真正的成熟,是能与不完美的自己握手言和。","你所走过的弯路,都是你成长的印记。","别人可以成功,你也可以。","只有不断超越自己,才能不断创造可能。","努力不一定成功,不努力一定不成功。","当你觉得累的时候,说明你在走上坡路。","不经历风雨,怎能见彩虹。","比起抱怨,不如改变。","年轻没有失败,试错才是成长。","你的样子,将决定你世界的样子。","愿你出走半生,归来仍是少年。","有时候你以为的终点,不过是下一段旅程的起点。","今天努力工作,明天努力生活。","不要总是活在别人的评价里,你自己最清楚自己是谁。","无论多难,都要坚持做你认为对的事。","你不需要变成别人,你只需要成为更好的自己。","凡事提前准备,才能游刃有余。","没有什么是理所当然的,感恩才能幸福。","不要把安全感建立在别人身上,那是一种危险的依赖。","清醒的认识自己,是成功的第一步。","沉默是金,但行动是钻石。","用行动证明,而不是用嘴巴解释。","最终你会明白,一切都是值得的。","把目光放长远,眼前的得失不算什么。","不要让自己的懒惰成为别人勤奋的舞台。","你的每一次选择,都在塑造未来的你。","有时候沉默不是因为没话说,而是因为懂得珍惜。","你今天的努力,是明天底气的来源。","先成为你想成为的人,其他的顺其自然。","把握现在,才能拥有未来。","越简单越快乐,越复杂越烦恼。","人生没有真正的绝境,除非你自己放弃。","你比你想象的更有力量。","把每一件平凡的事做好,就是不平凡。","那些没能打败你的,终将使你更强大。","做事情要有始有终,这是对自己最基本的尊重。","不在沉默中爆发,就在沉默中消亡。","不要害怕慢,就怕站。","只要还在走,就没有到不了的地方。","自律的人,才有资格谈自由。","与其等风来,不如追风去。","你有多自律,就有多自由。","凡是过往,皆为序章。","不要在该奋斗的年纪选择了安逸。","人生难得几回搏,此时不搏何时搏。","成长的代价是失去一些幼稚,但获得了更多可能。","有梦想的人,睡觉都是在充电。","不要辜负每一个认真的早晨。","生命的意义,在于不断地自我超越。","你有权利选择,但选择了就要承担。","最大的风险,是不冒任何风险。","生活会奖励那些敢于尝试的人。","不要拿别人的错误惩罚自己。","学会放下,才能腾出手来拥抱新的可能。","所有的天才都曾是努力的凡人。","比别人优秀不是目的,成为更好的自己才是。","你不需要被所有人喜欢,但你必须喜欢自己。","保持好奇心,世界就不会无聊。","每一个平静的背后,都有一颗强大的内心。","把抱怨的时间用来思考,把悲伤的时间用来行动。","只要心里有光,哪里都是出路。","你的奋斗轨迹,就是你最好的简历。","成功不是偶然的,它是努力、坚持和学习的结果。","不要小看自己,宇宙都是从一个点开始的。","真正的自由,是不依赖任何人的底气。","你的努力,终有一天会让你站在阳光下。","生活不在别处,就在此时此刻。","每一段经历,都是人生最好的礼物。"];function M3n(){return E.jsxs("div",{className:"wandox-hub-skeleton-card",children:[E.jsxs("div",{className:"wandox-hub-skeleton-row",children:[E.jsx(go.Avatar,{active:!0,size:28,shape:"circle"}),E.jsx(go.Input,{active:!0,style:{width:120,height:18}})]}),E.jsxs("div",{style:{display:"flex",gap:8},children:[E.jsx(go.Input,{active:!0,block:!0,style:{height:40,borderRadius:10}}),E.jsx(go.Button,{active:!0,style:{width:80,height:40,borderRadius:10}})]})]})}function D3n(){return E.jsx("div",{className:"wandox-hub-skeleton-insights",children:[1,2,3].map(e=>E.jsx("div",{className:"wandox-hub-skeleton-insight-card",children:E.jsxs("div",{className:"wandox-hub-skeleton-insight-inner",children:[E.jsx(go.Input,{active:!0,style:{width:52,height:22,borderRadius:100}}),E.jsxs("div",{style:{flex:1},children:[E.jsx(go.Input,{active:!0,block:!0,style:{height:16,marginBottom:6}}),E.jsx(go.Input,{active:!0,style:{width:"70%",height:12}})]})]})},e))})}function O3n(e){return!!e&&/^https?:\/\//.test(e)}function A3e(e){if(!e)return"✦";if(O3n(e))return E.jsx("img",{src:e,alt:""});const t=KEn.get(e);return t?t.component:e}function B3n(e,t){const r=`${e||""} ${t||""}`.toLowerCase();return r.includes("red")||r.includes("critical")?"wandox-insight-severity--red":r.includes("orange")||r.includes("high")?"wandox-insight-severity--orange":r.includes("yellow")||r.includes("medium")?"wandox-insight-severity--yellow":"wandox-insight-severity--gray"}function F3n(e){const t=e.match(new RegExp("^\\p{Extended_Pictographic}","u"));return(t==null?void 0:t[0])||"📌"}function DAt(e){return e.replace(new RegExp("^\\p{Extended_Pictographic}\\s*","u"),"")}function OAt(e){var t;return e.bind_type==="playbook"&&e.bind_playbook_id&&((t=e.playbook_args)!=null&&t.length)?"执行":e.bind_type==="agent"?"找智能体聊聊":e.bind_type==="chat"?"分析一下":"查看详情"}function z3n(e,t){const r=e.asin||e.ASIN||e.sku||e.seller_sku,n=e.site||e.marketplace||e.country;if(r||n)return[r,n&&`(${n})`].filter(Boolean).join(" ");const i=Object.values(e).find(a=>a!=null&&String(a).trim());return i?String(i):`参数 ${t+1}`}function j3n(e,t){var n;const r=(n=e.query_template)==null?void 0:n.trim();return!r||!t?e.title:r.replace(/\{\{?\s*([\w.-]+)\s*\}?\}/g,(i,a)=>{const s=t[a];return s==null?i:String(s)})}function V3n(e){return!e||e.status==="disabled"||e.status==="error"||!e.scenes?[]:Object.entries(e.scenes).map(([t,r])=>({name:t,total_affected:r.total_affected,suggestions_count:r.suggestions_count,cards:Array.isArray(r.cards)?r.cards:[]})).filter(t=>t.cards.length>0)}function H3n({agentLoading:e,mainAgentForHub:t,mainAgentQuestions:r,agents:n,hubChatOpen:i,setHubChatOpen:a,hubChatInput:s,setHubChatInput:o,hubScrollIdx:l,hubScrollFading:u,onHubChatSend:d,onHubInputFocus:h,onHubInputBlur:f,messages:p,executing:g,hubInlineChatInput:m,setHubInlineChatInput:v,onHubInlineSend:y,onEnterProfessional:x,playbooks:b,executePlaybook:w,onRequestPlaybookParams:C,onAbort:_,onRespondToProposal:T,ssoToken:k,ssoDomain:A,ssoCompany:I}){var ve,be,ee,me,ae;const $=e&&!t,P=localStorage.getItem("sso_username")||"",N=localStorage.getItem("sso_user_id")||"",R=S.useRef(null),L=S.useRef(null),M=S.useMemo(()=>[],[]),[O,D]=S.useState(""),[F,B]=S.useState([]),[j,H]=S.useState(!1),[z,W]=S.useState("idle"),[G,q]=S.useState(0),[Y,K]=S.useState(null),[Z,X]=S.useState(!1),Q=n[0],J=(Q==null?void 0:Q.agent_code)||(Q==null?void 0:Q.agent_id)||"",re=(ve=Q==null?void 0:Q.questions)!=null&&ve.length?Q.questions:r,ne=A!=="yunduo"&&re[l%Math.max(re.length,1)]||"今天仓库订单处理的怎么样了?",se=S.useMemo(()=>MAt[Math.floor(Math.random()*MAt.length)],[]),ce=S.useMemo(()=>({Authorization:`Bearer ${k}`,"X-Tenant-ID":I,"X-Domain":A,"Content-Type":"application/json"}),[k,I,A]),le=S.useCallback(async(fe=!1)=>{if(!(!k||!A)){H(!0);try{const ie=await fetch(`${Is()}/api/v1/insights/${fe?"refresh":"recommendations"}`,{method:fe?"POST":"GET",headers:ce});if(!ie.ok)throw new Error(`HTTP ${ie.status}`);const $e=await ie.json(),ge=$e==null?void 0:$e.data;W((ge==null?void 0:ge.status)||"error"),q((ge==null?void 0:ge.total_cards)||0),B(V3n(ge))}catch{W("error"),q(0),B([])}finally{H(!1)}}},[ce,A,k]);S.useEffect(()=>{le()},[le]),S.useEffect(()=>{!O&&J&&D(J)},[J,O]);const te=F,oe=O||J||((be=M[0])==null?void 0:be.agent_id)||(t==null?void 0:t.agent_id),xe=cvt({token:k,domain:A,tenantId:I,agentId:oe||"",limit:5});S.useEffect(()=>{if(!Z||i){xe.clear();return}xe.search(s)},[Z,s,i,xe.search,xe.clear]);const pe=te.length>0&&te.every(fe=>fe.cards.length===1),Ae=M.slice(0,3),Te=M.slice(3),Le=oe===J?Q==null?void 0:Q.name:(ee=M.find(fe=>fe.agent_id===oe))==null?void 0:ee.name,Re=oe===J?Q!=null&&Q.icon?Iw(Q.icon):Iw("robot"):A3e((me=M.find(fe=>fe.agent_id===oe))==null?void 0:me.icon),ue=oe===J?Q==null?void 0:Q.description:(ae=M.find(fe=>fe.agent_id===oe))==null?void 0:ae.description,de=(fe,ie)=>{if(fe.bind_type==="agent"&&fe.bind_agent_code){x(fe.bind_agent_code);return}if(fe.bind_type==="playbook"&&fe.bind_playbook_id&&ie){a(!0),w({message:j3n(fe,ie),playbook_id:fe.bind_playbook_id,playbook_params:ie});return}d(oe,fe.title)},he=(fe,ie,$e,ge=!1,Be=!1)=>{const Ne=Array.isArray(ie.playbook_args)?ie.playbook_args:[],Fe=ie.bind_type==="playbook"&&!!ie.bind_playbook_id&&Ne.length>0;return E.jsxs("article",{className:`wandox-insight-card${ge?" wandox-insight-card--modal":""}${Be?" wandox-insight-card--featured":""}`,children:[E.jsxs("button",{type:"button",className:"wandox-insight-card-main",onClick:()=>{ge&&K(null),de(ie,Ne[0])},children:[E.jsxs("div",{className:"wandox-insight-card-top",children:[E.jsx("span",{className:`wandox-insight-severity ${B3n(ie.severity_color,ie.priority)}`,children:ie.severity_label||"观察"}),ie.affected_count&&E.jsx("span",{children:ie.affected_count})]}),E.jsx("h4",{children:ie.title}),ie.description&&E.jsx("p",{children:ie.description}),E.jsxs("div",{className:"wandox-insight-card-foot",children:[E.jsx("span",{children:ie.value_hint||"建议进一步确认"}),!Fe&&E.jsxs("strong",{children:[OAt(ie)," →"]})]})]}),Fe&&E.jsxs("div",{className:"wandox-insight-arg-list",children:[Ne.slice(0,ge?10:3).map((Oe,Xe)=>E.jsxs("button",{type:"button",className:"wandox-insight-arg-action",onClick:()=>{ge&&K(null),de(ie,Oe)},children:[E.jsx("span",{children:z3n(Oe,Xe)}),E.jsx("strong",{children:OAt(ie)})]},`${ie.title}-${Xe}`)),!ge&&Ne.length>3&&E.jsxs("button",{type:"button",className:"wandox-insight-arg-more",onClick:()=>K(te.find(Oe=>Oe.name===fe)||null),children:["还有 ",Ne.length-3," 项可执行"]})]})]},`${fe}-${ie.title}-${$e}`)};return E.jsx("div",{className:"wandox-view-scroll",children:E.jsxs("div",{className:"wandox-view-content wandox-hub-v2",children:[E.jsxs("div",{className:"wandox-hub-v2-header",children:[E.jsxs("div",{children:[E.jsxs("h1",{className:"wandox-hub-v2-title",children:["您好,",P||"欢迎回来"]}),E.jsx("p",{className:"wandox-hub-v2-subtitle",children:se})]}),A!=="yunduo"&&E.jsxs("button",{type:"button",className:"wandox-hub-v2-report",onClick:()=>{const fe=new URLSearchParams;k&&fe.append("authorization",k),A&&fe.append("x-domain",A),I&&fe.append("x-tenant-id",I),N&&fe.append("user_id",N),P&&fe.append("username",P),window.open(`https://ai.wandox.com/trend-report/trend-report-6.html${fe.toString()?`?${fe.toString()}`:""}`,"_blank")},children:[E.jsx("span",{className:"wandox-hub-v2-report-logo",children:"麦"}),E.jsxs("span",{children:[E.jsx("strong",{children:"麦多趋势报告"}),E.jsx("small",{children:"第六期 已更新 →"})]})]})]}),$?E.jsx(M3n,{}):E.jsxs("div",{ref:R,className:`wandox-hub-main-card${i?" wandox-hub-main-card--open":""}`,children:[E.jsx("div",{className:"wandox-hub-main-card-search",style:{opacity:i?0:1,maxHeight:i?0:520,transition:"opacity 0.2s ease, max-height 0.35s cubic-bezier(0.4,0,0.2,1)"},children:E.jsxs("div",{className:"wandox-hub-v2-input-panel",children:[E.jsxs("div",{className:"wandox-hub-v2-input-head",children:[E.jsxs("div",{className:"wandox-hub-v2-agent-title",children:[E.jsx("span",{className:"wandox-hub-v2-agent-mark",children:Re}),E.jsxs("div",{children:[E.jsx("strong",{children:Le||(t==null?void 0:t.name)||"通用问答"}),E.jsx("span",{children:ue||"问什么都行,系统会自动分流到对应的专业能力"})]})]}),E.jsxs("div",{className:"wandox-hub-v2-chip-row",style:{display:"none"},children:[J&&E.jsxs("button",{type:"button",className:`wandox-hub-v2-chip${oe===J?" wandox-hub-v2-chip--active":""}`,onClick:()=>D(J),title:(Q==null?void 0:Q.description)||(Q==null?void 0:Q.name)||"全部",children:[E.jsx("span",{className:"wandox-hub-v2-chip-icon",children:Q!=null&&Q.icon?Iw(Q.icon):"✦"}),"全部"]}),Ae.map(fe=>E.jsxs("button",{type:"button",className:`wandox-hub-v2-chip${fe.agent_id===oe?" wandox-hub-v2-chip--active":""}`,onClick:()=>D(fe.agent_id),title:fe.description||fe.name,children:[E.jsx("span",{className:"wandox-hub-v2-chip-icon",children:A3e(fe.icon)}),fe.name]},fe.agent_id)),Te.length>0&&E.jsx(jv,{menu:{items:Te.map(fe=>({key:fe.agent_id,label:E.jsxs("span",{className:"wandox-hub-v2-more-item",children:[E.jsx("span",{className:"wandox-hub-v2-chip-icon",children:A3e(fe.icon)}),E.jsx("span",{children:fe.name})]})})),onClick:({key:fe})=>D(String(fe))},placement:"bottomRight",children:E.jsxs("button",{type:"button",className:"wandox-hub-v2-chip wandox-hub-v2-chip--more",children:["更多 ",E.jsx(Q4,{})]})})]})]}),E.jsxs("div",{className:"wandox-hub-v2-input-wrap",children:[E.jsx(zr.TextArea,{value:s,onChange:fe=>o(fe.target.value),onPressEnter:fe=>{fe.shiftKey||(fe.preventDefault(),d(oe))},onFocus:()=>{X(!0),h==null||h()},onBlur:()=>{window.setTimeout(()=>X(!1),120),f==null||f()},placeholder:"请随便问,看看 AI 搭子怎么帮你避坑",autoSize:{minRows:3,maxRows:7},variant:"borderless",className:"wandox-hub-v2-textarea"}),E.jsx(Tvt,{open:Z,rewrittenQuestion:xe.rewrittenQuestion,questions:xe.questions,loading:xe.loading,placement:"bottom",onSelectRewrite:fe=>{o(fe),xe.clear()},onSelectQuestion:fe=>{o(""),xe.clear(),d(oe,fe.title)}})]}),E.jsxs("div",{className:"wandox-hub-v2-input-bottom",children:[E.jsxs("div",{className:"wandox-hub-v2-example",children:[E.jsx("span",{className:"wandox-hub-v2-example-label",children:"示例:"}),E.jsx("button",{type:"button",className:"wandox-hub-v2-example-text",onClick:()=>{o(ne)},style:{opacity:u?0:1,transform:u?"translateY(-4px)":"translateY(0)"},children:ne})]}),E.jsx(ur,{type:"primary",icon:E.jsx(JXe,{}),className:"wandox-hub-v2-send",onClick:()=>d(oe),children:"发送问题"})]})]})}),E.jsxs("div",{style:{height:i?"100%":0,display:"flex",flexDirection:"column",opacity:i?1:0,overflow:"hidden",transition:"opacity 0.3s ease 0.1s, max-height 0.4s cubic-bezier(0.4,0,0.2,1)",position:"relative",zIndex:i?1:-1},children:[E.jsxs("div",{className:"wandox-hub-chat-header",children:[t&&E.jsxs("div",{className:"wandox-hub-chat-agent-avatar",children:[Iw(t.icon),t.is_main&&E.jsx("div",{className:"wandox-hub-chat-agent-badge"})]}),E.jsx("span",{className:"wandox-hub-chat-agent-name",children:t==null?void 0:t.name}),E.jsx("span",{className:"wandox-hub-chat-status",children:"对话中"}),E.jsx("button",{type:"button",className:"wandox-hub-chat-close",onClick:()=>{_(),a(!1)},children:"×"})]}),E.jsxs("div",{className:"wandox-chat-section__body wandox-chat-section__body--hub",children:[E.jsx(P_e,{messages:p,executing:g,ssoToken:k,ssoDomain:A,ssoCompany:I,onExecutePlaybook:fe=>w(fe),onFillPlaybookParams:fe=>C({playbook_id:fe.playbookId,name:fe.playbookName,input_fields:fe.inputFields,initial_params:fe.initialParams,playbook_type:fe.playbookType}),onRespondToProposal:T,containerRef:L,className:"wandox-hub-messages"}),E.jsx(O_e,{messages:p,scrollContainerRef:L})]}),E.jsx("div",{className:"wandox-hub-chat-input-row",children:E.jsx(jQ,{executing:g,onSend:y,playbooks:b,value:m,onValueChange:v,placeholder:"继续提问…",ssoToken:k,ssoDomain:A,ssoCompany:I,onRequestPlaybookParams:C})}),E.jsx("div",{className:"wandox-hub-chat-footer",children:E.jsx("button",{type:"button",className:"wandox-hub-chat-enter-link",onClick:()=>x(),children:"进入完整对话视图 →"})})]})]}),(j||z==="error"||z==="success"&&G>=0)&&z!=="disabled"&&E.jsxs("div",{className:"wandox-hub-section wandox-hub-v2-insights",children:[E.jsxs("div",{className:"wandox-hub-v2-section-heading",children:[E.jsxs("div",{children:[E.jsxs("div",{className:"wandox-hub-v2-section-kicker",children:[E.jsx("span",{}),E.jsx("strong",{children:"基于你的数据,建议先看"})]}),E.jsx("p",{children:"系统每天扫描你的店铺数据,自动识别出值得处理的场景"})]}),E.jsx(ur,{type:"text",size:"small",icon:E.jsx(Vv,{}),className:"wandox-hub-v2-refresh",onClick:()=>le(!0),children:"换一批"})]}),j?E.jsx(D3n,{}):z==="error"?E.jsxs("div",{className:"wandox-insight-empty",children:[E.jsx("strong",{children:"数据获取失败,请稍后重试"}),E.jsx(ur,{type:"link",size:"small",onClick:()=>le(),children:"重试"})]}):te.length===0?E.jsxs("div",{className:"wandox-insight-empty",children:[E.jsx("strong",{children:"暂无场景推荐,数据正常"}),E.jsx("span",{children:"当前没有扫描到需要优先处理的运营场景"})]}):E.jsx("div",{className:`wandox-insight-scene-list${pe?" wandox-insight-scene-list--single-cards":""}${te.length===1?" wandox-insight-scene-list--one-scene":""}`,children:te.map(fe=>E.jsxs("section",{className:"wandox-insight-scene",children:[E.jsx("div",{className:"wandox-insight-scene-head",children:E.jsxs("div",{children:[E.jsx("strong",{children:DAt(fe.name)}),E.jsxs("span",{children:["扫描到"," ",fe.suggestions_count??fe.cards.length," ","条建议"]})]})}),E.jsx("div",{className:`wandox-insight-card-row${fe.cards.length===1?" wandox-insight-card-row--single":""}`,children:fe.cards.slice(0,4).map((ie,$e)=>he(fe.name,ie,$e,!1,fe.cards.length===1))}),fe.cards.length>4&&E.jsxs("button",{type:"button",className:"wandox-insight-view-all",onClick:()=>K(fe),children:["查看全部 ",fe.cards.length," 条建议 →"]})]},fe.name))})]}),E.jsxs("div",{className:"wandox-hub-section",children:[E.jsxs("div",{className:"wandox-hub-v2-section-heading",children:[E.jsxs("div",{children:[E.jsxs("div",{className:"wandox-hub-v2-section-kicker",children:[E.jsx("span",{}),E.jsx("strong",{children:"需要执行更专业的任务?"})]}),E.jsx("p",{children:"直接进入对应专家,按业务流程一步步处理"})]}),E.jsx(ur,{type:"link",size:"small",className:"wandox-hub-v2-refresh",onClick:()=>x(),children:"全部 →"})]}),$?E.jsx("div",{className:"wandox-agent-grid",children:[1,2,3].map(fe=>E.jsxs("div",{className:"wandox-agent-entry-card",style:{pointerEvents:"none"},children:[E.jsx(go.Avatar,{active:!0,size:36,shape:"square",style:{borderRadius:8,flexShrink:0}}),E.jsxs("div",{style:{flex:1},children:[E.jsx(go.Input,{active:!0,block:!0,style:{height:14,marginBottom:6}}),E.jsx(go.Input,{active:!0,style:{width:"80%",height:11}})]})]},fe))}):E.jsx("div",{className:"wandox-agent-grid",children:n.filter(fe=>!fe.is_main).slice(0,4).map(fe=>{const ie=GQ(fe);return E.jsxs("button",{type:"button",className:`wandox-agent-entry-card${ie?" wandox-agent-entry-card--with-badge":""}`,onClick:()=>x(fe.agent_id||void 0),children:[E.jsx("div",{className:"wandox-agent-entry-icon",children:Iw(fe.icon)}),E.jsxs("div",{className:"wandox-agent-entry-info",children:[E.jsx("div",{className:"wandox-agent-entry-name",children:fe.name}),E.jsx("div",{className:"wandox-agent-entry-desc",children:fe.description})]}),E.jsx(Dv,{className:"wandox-agent-entry-arrow"}),ie&&E.jsx("span",{className:`wandox-agent-entry-badge wandox-agent-entry-badge--${ie.kind}`,style:{background:ie.badgeColor,color:ie.badgeTextColor},children:ie.badgeText})]},fe.agent_id)})})]}),E.jsx(Ii,{open:!!Y,onCancel:()=>K(null),footer:null,width:920,centered:!0,className:"wandox-insight-modal",title:Y?E.jsxs("div",{className:"wandox-insight-modal-title",children:[E.jsx("span",{children:F3n(Y.name)}),E.jsxs("div",{children:[E.jsx("strong",{children:DAt(Y.name)}),E.jsxs("small",{children:[Y.cards.length," 条数据建议"]})]})]}):null,styles:{container:{padding:0}},children:Y&&E.jsx("div",{className:"wandox-insight-modal-grid",children:Y.cards.map((fe,ie)=>he(Y.name,fe,ie,!0))})})]})})}function W3n(e){const t=e.toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"}),r=e.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"});return`${t}
1100
- ${r}`}function I3e(e,t){return e.activeAgent===t.activeAgent&&e.webhookId===t.webhookId&&e.ssoToken===t.ssoToken&&e.ssoDomain===t.ssoDomain&&e.ssoCompany===t.ssoCompany}function G3n(e){const{activeAgent:t,webhookId:r="",ssoToken:n="",ssoDomain:i="",ssoCompany:a=""}=e,[s,o]=S.useState([]),l=S.useRef({activeAgent:t,webhookId:r,ssoToken:n,ssoDomain:i,ssoCompany:a});S.useEffect(()=>{l.current={activeAgent:t,webhookId:r,ssoToken:n,ssoDomain:i,ssoCompany:a},o([])},[t,r,n,i,a]);const u=S.useCallback(async()=>{if(!t)return;const d={activeAgent:t,webhookId:r,ssoToken:n,ssoDomain:i,ssoCompany:a};if(I3e(l.current,d))try{const h=await IAr({agent_id:t,limit:10,use_cache:!1});if(!I3e(l.current,d))return;if(h!=null&&h.data&&Array.isArray(h.data)){const f=h.data.map(p=>{const g=Array.isArray(p.actions)?p.actions||[]:[],m=p.ui_payload,v=m==null?void 0:m.actions,y=Array.isArray(v)?v:[],b=[...g,...y].map(C=>{const _=C;return{label:_.display_name||_.label||"执行",action_id:_.action_id,playbook_id:_.playbook_id,display_name:_.display_name,display_icon:_.display_icon,params:_.params,params_fields_map:_.params_fields_map,type:_.type,url:_.url,style:_.style,status:_.action_status||_.status||void 0,sort_order:_.sort_order,executed_job_id:_.executed_job_id,supports_batch:_.supports_batch===!0,batch_max_items:_.batch_max_items,batch_id:_.batch_id,outputs:_.outputs}}),w=p.outputs;return{type:p.widget_type||"daily_report",priority:p.priority||"medium",title:p.title||"每日战报",summary:p.summary||"",timestamp:p.created_at?W3n(new Date(p.created_at||"")):"",data:p.card_data||{},actions:b,id:p.inbox_id||"",agent_id:p.agent_id||"",read:!!p.is_read,ui_payload:w||m||{}}});if(f.length>0){const p=f.sort((g,m)=>{const v=g.timestamp?new Date(g.timestamp.replace(/\n/g," ")).getTime():0;return(m.timestamp?new Date(m.timestamp.replace(/\n/g," ")).getTime():0)-v});o(p)}else o([])}else o([])}catch(h){if(!I3e(l.current,d))return;throw o([]),h}},[t,r,n,i,a]);return{widgets:s,setWidgets:o,loadDailyReports:u}}function U3n(){const[e,t]=S.useState([]),[r,n]=S.useState(!1),[i,a]=S.useState(!1),[s,o]=S.useState(""),[l,u]=S.useState([]),[d,h]=S.useState(!1),[f,p]=S.useState(null),[g,m]=S.useState(!0),v=S.useRef(null),y=S.useCallback(async()=>{if(v.current)return v.current;const I=(async()=>{n(!0);try{const $=await NAr({page:1,page_size:20});return Array.isArray($==null?void 0:$.data)?(t($.data),a(!0),!0):(a(!1),!1)}catch{return a(!1),!1}finally{n(!1),v.current=null}})();return v.current=I,I},[]),x=S.useCallback(()=>i?Promise.resolve(!0):y(),[y,i]),b=S.useCallback(I=>{o(I),p({session_id:I,type:"dashboard_intent",intents:[],data:{}}),m(!1),(async(P={})=>{h(!0);try{const N=await NQe(I,{params:P});N.success&&N.data&&(p(N.data),N.data.input_params&&u(N.data.input_params))}catch{}finally{h(!1)}})()},[]),w=S.useCallback(I=>{if(!s)return;(async()=>{h(!0);try{const P=await NQe(s,{params:I});P.success&&P.data&&p(P.data)}catch{}finally{h(!1)}})()},[s]),C=S.useCallback(I=>{s===I&&(o(""),p(null),u([])),y()},[s,y]),_=S.useCallback(()=>{if(!s)return null;const I=e.find($=>$.playbook_id===s);return(I==null?void 0:I.name)||null},[s,e]),T=S.useCallback((I,$)=>{p(I),m($!==void 0?$:!0)},[]),k=S.useCallback(()=>{},[]),A=S.useCallback(()=>{o(""),p(null),u([])},[]);return{solidifiedPlaybooks:e,solidifiedPlaybooksLoading:r,solidifiedPlaybooksLoaded:i,activeSolidifiedPlaybook:s,setActiveSolidifiedPlaybook:o,solidifyInputParams:l,solidifyLoading:d,dashboardData:f,setDashboardData:p,dashboardShowSaveButton:g,setDashboardShowSaveButton:m,loadSolidifiedPlaybooks:y,ensureSolidifiedPlaybooksLoaded:x,handleSolidifiedPlaybookClick:b,handleSolidifyParamsSearch:w,handleSolidifiedPlaybookDelete:C,getCurrentSolidifiedPlaybookName:_,handleDashboardPreview:T,handleSolidifyComplete:k,clearDashboard:A}}function q3n(){const{allQuestions:e,setCurrentQuestion:t}=F_e();S.useEffect(()=>{if(e.length===0)return;const r=Math.floor(Math.random()*e.length);t(e[r]);const n=setInterval(()=>{const i=Math.floor(Math.random()*e.length);t(e[i])},1e4);return()=>{clearInterval(n)}},[e,t])}function BAt(e){const{activeAgent:t,onRecommendationsUpdate:r,...n}=e,i=S.useRef(null),a=rTe({activeAgent:t,...n,onMessagesUpdate:u=>{var d;return(d=i.current)==null?void 0:d.setMessages(u)},onRecommendationsUpdate:r}),s=Jvt({...n,activeAgent:t,executePlaybook:a.executePlaybook,isExecutingRef:a.executingRef});i.current=s;const o=S.useCallback(()=>{s.setMessages([])},[s.setMessages]),l=S.useMemo(()=>({sendMessage:a.sendMessage,executePlaybook:a.executePlaybook,respondToProposal:a.respondToProposal,stopCurrent:a.stopCurrent,retrigger:a.retrigger,abort:a.abort,clearMessages:o}),[a.abort,a.executePlaybook,a.respondToProposal,a.retrigger,a.sendMessage,a.stopCurrent,o]);return{...a,messageData:s,actions:l}}const Y3n=99;function K3n(e){return{id:e.agent_id||e.agent_code||"",agentId:e.agent_id,agentCode:e.agent_code,name:e.name||"未命名智能体",description:e.description||"",icon:Iw(e.icon),current:e.is_main===!0,packageBenefit:GQ(e)}}function $3e(e){const t=K3n(e);return{id:t.id,agentId:t.agentId,agentCode:t.agentCode,name:t.name,desc:t.description,icon:t.icon,current:t.current,packageBenefit:t.packageBenefit}}function FAt(e){return{...e,name:e.name||"未命名智能体"}}function zAt(e){const t=[];for(const r of e){Array.isArray(r.questions)&&t.push(...r.questions);const n=r.children;for(const i of n||[])Array.isArray(i.questions)&&t.push(...i.questions)}return t}function Zte(e,t){return t?e.id===t||e.agentId===t||e.agentCode===t:!1}function X3n({presetAgents:e}={}){const{setAllQuestions:t}=F_e(),[r,n]=S.useState(()=>e&&e.length>0?e.filter(m=>!m.hidden).map($3e):[]),[i,a]=S.useState(()=>e&&e.length>0?e.filter(m=>!m.hidden):[]),[s,o]=S.useState(0),[l,u]=S.useState(0),[d,h]=S.useState(!0),[f,p]=S.useState(null),g=S.useCallback(async()=>{var m;h(!0),p(null);try{if(e&&e.length>0){const w=e.filter(_=>!_.hidden);n(w.map($3e));const C=w.map(FAt);a(C),t(zAt(C)),o(w.length),u(w.length);return}const v=await Yq({page:1,page_size:Y3n}),y=v.data||[],x=y.filter(w=>!w.hidden);!x.some(w=>w.is_main)&&x.length>0&&(x[0]={...x[0],is_main:!0}),n(x.map($3e));const b=x.map(FAt);a(b),t(zAt(b)),o(typeof((m=v.meta)==null?void 0:m.total)=="number"?v.meta.total:x.length),u(y.length)}catch{p("智能体列表加载失败"),n([]),a([]),t([]),o(0),u(0)}finally{h(!1)}},[e,t]);return S.useEffect(()=>{g()},[g]),{agents:r,sourceAgents:i,total:s,hasMore:l<s,loading:d,error:f,reload:g}}function Z3n(e){const t=e||{};return{playbooks:tyt(t),playbookGroups:Array.isArray(t.playbook_groups)?t.playbook_groups:[],childAgents:Array.isArray(t.children)?t.children:[]}}function Q3n(e){return Array.isArray(e)?e.reduce((t,r)=>{const n=typeof(r==null?void 0:r.name)=="string"?r.name.trim():"";return n&&t.push({...r,name:n}),t},[]):[]}function J3n(e){var s,o,l,u,d,h,f,p;const t=e,r=(t==null?void 0:t.roles)??((s=t==null?void 0:t.data)==null?void 0:s.roles)??[];if(!Array.isArray(r))return{categories:[],scenes:[],totalCount:0};const n=[],i=[];let a=0;for(const g of r){const m=g.name||g.role_code||"";for(const v of g.goals||[]){const y=v.items||[],x=String(v.id);y.length>0&&n.push({key:x,name:v.name||"未命名分类",count:y.length});for(const b of y){const w=b.playbook_id||((o=b.playbook)==null?void 0:o.playbook_id);w&&i.push({key:`${x}-${w}`,title:b.title||b.name||((l=b.playbook)==null?void 0:l.name)||"未命名场景",description:b.subtitle||b.description||((u=b.playbook)==null?void 0:u.description)||"",sourceLabel:m,tags:Q3n(b.tags),playbookId:w,inputFields:b.input_fields||((d=b.playbook)==null?void 0:d.input_fields)||[],categoryKey:x,videoUrl:b.video_url||((h=b.playbook)==null?void 0:h.video_url)||void 0,videoDuration:b.video_duration||((f=b.playbook)==null?void 0:f.video_duration)||void 0,viewCount:b.view_count??((p=b.playbook)==null?void 0:p.view_count)})}a+=y.length}}return{categories:n,scenes:i,totalCount:a}}const e5n="默认场景";function jAt(e){return e.category_name||e.category||e.type||e5n}function t5n(e){const t=new Map;for(const r of e){const n=jAt(r);t.set(n,(t.get(n)??0)+1)}return Array.from(t,([r,n])=>({key:r,name:r,count:n}))}function r5n(e){return e.map(t=>{const r=jAt(t);return{key:`default:${t.playbook_id}`,title:t.name||"未命名场景",description:t.description||"",sourceLabel:r,tags:[],playbookId:t.playbook_id,inputFields:t.input_fields||[],categoryKey:r,videoUrl:t.video_url,videoDuration:t.video_duration,viewCount:t.view_count}})}function VAt(e){return e}function HAt(e){return{key:e.key,title:e.title,desc:e.description,reason:e.sourceLabel,tags:e.tags,playbook_id:e.playbookId,input_fields:e.inputFields,categoryKey:e.categoryKey,video_url:e.videoUrl,video_duration:e.videoDuration,view_count:e.viewCount}}function n5n(e){return t5n(e).map(VAt)}function i5n(e){return r5n(e).map(HAt)}function a5n(e){if(Array.isArray(e))return e;const t=e;return Array.isArray(t==null?void 0:t.user_playbooks)?t.user_playbooks:[]}function s5n(e){const t=e==="default"?"":e,[r,n]=S.useState([]),[i,a]=S.useState([]),[s,o]=S.useState([]),[l,u]=S.useState([]),[d,h]=S.useState(!1),[f,p]=S.useState([]),[g,m]=S.useState([]),[v,y]=S.useState(0),[x,b]=S.useState(!1),[w,C]=S.useState(!1),[_,T]=S.useState(null),[k,A]=S.useState(null),[I,$]=S.useState(null),P=S.useRef(0),N=S.useRef(0),R=S.useCallback(async()=>{const D=++P.current;if(!t){n([]),a([]),o([]),u([]),p([]),m([]),y(0),b(!1),h(!1),C(!0),N.current+=1;return}b(!0),C(!1),T(null),A(null),$(null),u([]),N.current+=1;const F=[(async()=>{try{const{data:B}=await Kq({agent_id:t});if(D!==P.current)return;const j=Z3n(B);n(j.playbooks),a(j.playbookGroups),o(j.childAgents)}catch{if(D!==P.current)return;T("场景加载失败"),n([]),a([]),o([])}finally{D===P.current&&C(!0)}})(),(async()=>{try{const B=await VQe({agent_id:t,role_id:null});if(D!==P.current)return;const j=J3n(B);p(j.categories),m(j.scenes),y(j.totalCount)}catch{if(D!==P.current)return;$("使用地图加载失败"),p([]),m([]),y(0)}})()];await Promise.allSettled(F),D===P.current&&b(!1)},[t]),L=S.useCallback(async()=>{const D=++N.current;if(!t){u([]);return}h(!0),A(null);try{const{data:F}=await AQe({agent_id:t});if(D!==N.current)return;u(a5n(F))}catch{if(D!==N.current)return;A("我的场景加载失败"),u([])}finally{D===N.current&&h(!1)}},[t]);S.useEffect(()=>(R(),()=>{P.current+=1}),[R]);const M=S.useMemo(()=>f.map(VAt),[f]),O=S.useMemo(()=>g.map(HAt),[g]);return{playbooks:r,playbookGroups:i,childAgents:s,userPlaybooks:l,userPlaybooksLoading:d,loadUserPlaybooks:L,playbooksLoaded:w,sceneCategories:f,scenes:g,sceneTotalCount:v,loading:x,detailError:_,userPlaybooksError:k,sceneMapError:I,reload:R,useMapCategories:M,useMapCards:O,useMapTotalCount:v,useMapError:I}}function WAt({presetAgents:e,initialAgentId:t}={}){const r=X3n({presetAgents:e}),[n,i]=S.useState(()=>{if(!t)return"";const h=e==null?void 0:e.find(f=>Zte({id:f.agent_id||f.agent_code||"",agentId:f.agent_id,agentCode:f.agent_code},t));return(h==null?void 0:h.agent_id)||(h==null?void 0:h.agent_code)||t}),a=S.useRef(null);S.useEffect(()=>{if(r.agents.length!==0){if(t&&a.current!==t){a.current=t;const f=r.agents.find(p=>Zte(p,t))||r.agents.find(p=>p.current)||r.agents[0];n!==f.id&&i(f.id);return}if(n!=="default"&&!r.agents.some(h=>h.id===n)){const h=r.agents.find(f=>f.current)||r.agents[0];i(h.id)}}},[r.agents,t,n]);const s=S.useCallback(h=>{i(h)},[]),o=s,l=S.useMemo(()=>r.agents.find(h=>h.id===n),[r.agents,n]),u=S.useMemo(()=>r.sourceAgents.find(h=>h.agent_id===n||h.agent_code===n),[r.sourceAgents,n]),d=s5n(n);return{...r,agentLoading:r.loading,...d,sceneLoading:d.loading,selectedAgentId:n,selectedAgent:l,sourceAgents:r.sourceAgents,sourceSelectedAgent:u,activeAgent:n,setActiveAgent:o,selectAgent:s}}const GAt={chat:{title:"对话",subtitle:""},plan:{title:"自动化",subtitle:"创建、管理并追踪自动化智能体的执行结果,支持定时触发与对内流转"},professional:{title:"专业智能体",subtitle:"深度分析与专业领域对话"},goals:{title:"目标追踪",subtitle:"跟踪关键业务指标和目标进展"},settings:{title:"通知配置",subtitle:"配置 Webhook 通知,实时接收系统重要事件"}},o5n=5*60*1e3,l5n=3;function c5n(e={}){const{showAside:t=!0,showLogout:r=!1,onLogout:n,presetAgents:i,webhookId:a,onReady:s,initialAgentId:o,initialPlaybookId:l,initialPlaybookParams:u}=e,d=localStorage.getItem("sso_token")||"",h=localStorage.getItem("sso_domain")||"maiduo",f=localStorage.getItem("sso_company")||"",g=`${Is()}/api/v1/oss/upload2`,m=S.useCallback(async ct=>{const{data:Dt}=await Yv({playbook_id:ct});return Dt},[]),v=S.useCallback(ct=>PAr({session_id:ct.session_id||"",name:ct.name,description:ct.description}),[]),y=S.useCallback(ct=>RQe({session_id:ct.session_id||"",user_hint:ct.user_hint||""}),[]),{activeAgent:x,setActiveAgent:b,sourceAgents:w,playbooks:C,userPlaybooks:_,userPlaybooksLoading:T,childAgents:k,agentLoading:A,sceneLoading:I,loadUserPlaybooks:$,playbooksLoaded:P}=WAt({presetAgents:i,initialAgentId:o}),N=A||I,[R,L]=S.useState(()=>!!o),[M,O]=S.useState(!1),[D,F]=S.useState(!1),[B,j]=S.useState([]),[H,z]=S.useState(0),W=S.useRef(!1),{executing:G,stopping:q,executingRef:Y,queueStatus:K,messageData:Z,actions:X}=BAt({activeAgent:x,webhookId:a,ssoToken:d,ssoDomain:h,ssoCompany:f,onRecommendationsUpdate:j}),{sendMessage:Q,executePlaybook:J,respondToProposal:re,stopCurrent:ne,retrigger:se,abort:ce,clearMessages:le}=X;S.useEffect(()=>{W.current&&!G&&z(ct=>ct+1),W.current=G},[G]);const{widgets:te,setWidgets:oe,loadDailyReports:xe}=G3n({activeAgent:x,webhookId:a,ssoToken:d,ssoDomain:h,ssoCompany:f}),pe=U3n();q3n();const[Ae,Te]=S.useState(()=>localStorage.getItem("wandox_sidebar_agent_mode")==="true"),Le=S.useCallback(()=>{Te(ct=>{const Dt=!ct;return localStorage.setItem("wandox_sidebar_agent_mode",String(Dt)),Dt})},[]),[Re,ue]=S.useState(!1),[de,he]=S.useState(!1),[ve,be]=S.useState(!1),[ee,me]=S.useState(!1),[ae,fe]=S.useState(null),[ie,$e]=S.useState(!1),[ge,Be]=S.useState(null),[Ne,Fe]=S.useState(""),[Oe,Xe]=S.useState(null),[He,ot]=S.useState("chat"),[Ce,it]=S.useState(null),we=S.useCallback(()=>{ue(!0),he(!1)},[]),Pe=S.useCallback(()=>{ue(!1),he(!1)},[]),[ke,De]=S.useState(""),[et,Ue]=S.useState(0),[Ke,Se]=S.useState(!1),[vt,ft]=S.useState(!1),[mt,Ye]=S.useState(!1),[st,Me]=S.useState(""),tt=S.useRef(null),Qe=S.useRef(!1),[Je,lt]=S.useState(null),[nt,yt]=S.useState(!1),bt=N||Z.loading,At=S.useCallback(ct=>{fe(()=>ct)},[]);S.useEffect(()=>{s&&s({showInspectionResults:ct=>{lt(ct||null),yt(!0)}})},[s]),S.useEffect(()=>{L(!!o),O(!1),F(!1)},[o,l,u]),S.useEffect(()=>{if(x)return j([]),()=>{Y.current&&ce()}},[x,a,d,h,f]),S.useEffect(()=>{if(He!=="professional"){Qe.current=!1;return}if(!x)return;Qe.current||(Z.loadMessagesAndDailyReport(),xe()),Qe.current=!1;let ct=0,Dt=null;return Dt=setInterval(async()=>{try{await xe(),ct=0}catch{ct++,ct>=l5n&&Dt&&(clearInterval(Dt),Dt=null)}},o5n),()=>{Dt&&clearInterval(Dt)}},[He,x,a,d,h,f]);const Pt=w.find(ct=>ct.is_main)??w[0],Mt=(Pt==null?void 0:Pt.questions)||[];S.useEffect(()=>{Ue(0),Se(!1)},[Pt==null?void 0:Pt.agent_id]),S.useEffect(()=>{if(Mt.length<=1||vt)return;let ct;const Dt=setInterval(()=>{Se(!0),ct=setTimeout(()=>{Ue(We=>(We+1)%Mt.length),Se(!1)},350)},3500);return()=>{clearInterval(Dt),clearTimeout(ct)}},[Mt.length,vt]),S.useEffect(()=>{if(tt.current&&x&&x!=="default"){const ct=tt.current;tt.current=null,Q(ct)}},[x,Q]),S.useEffect(()=>{if(!o||!R||!x||x==="default"||w.length===0)return;!!nTe(w,o)||L(!1)},[o,R,x,w]),S.useEffect(()=>{!o||l||M||!x||x==="default"||!w.find(Dt=>Oh(Dt,x)&&Oh(Dt,o))||(O(!0),ot("professional"),pe.clearDashboard(),L(!1))},[o,l,M,x,w,pe]),S.useEffect(()=>{var qn;if(!o||!l||D||!x||x==="default"||!P||!w.find(Na=>Oh(Na,x)&&Oh(Na,o)))return;const Dt=C.find(Na=>eyt(Na,l));if(!Dt){ot("professional"),kt.error(`指定的场景(${l})不存在,已切换到智能体界面`),F(!0),L(!1);return}F(!0),ot("professional"),Qe.current=!0,le(),pe.clearDashboard(),Xe(null),Fe("");const We=u||{},xr=Object.keys(We).length>0,at=(Dt.input_fields??[]).filter(Na=>{if(!Na.required)return!1;const xt=We[Na.name];return xt==null||xt===""});if((((qn=Dt.input_fields)==null?void 0:qn.length)??0)>0&&(!xr||at.length>0)){Xe(Dt),L(!1);return}J({message:Dt.name,playbook_id:l,playbook_params:We}),L(!1)},[o,l,D,x,P,w,C,u]);const fr=S.useCallback(ct=>{Zan(w,x,ct)||(Y.current&&(ce(),kt.info("已中止当前场景,切换智能体")),b(ct),Fe(""),Xe(null),pe.clearDashboard(),le(),oe([]))},[ce,x,w,le,Y,b,pe,oe]),Br=(ct,Dt)=>{const We=(Dt??ke).trim()||Mt[et%Mt.length]||"",xr=ct||(Pt==null?void 0:Pt.agent_id);!We||!xr||(De(""),Ye(!0),le(),x===xr?Q(We):(Qe.current=!0,tt.current=We,b(xr)))},jt=(ct,Dt)=>{pe.handleDashboardPreview(ct,Dt),ot("chat"),b("default")},rt=()=>{pe.handleSolidifyComplete(),ot("chat"),b("default")},Nt=ct=>{ot(ct),(ct==="goals"||ct==="settings"||ct==="plan"||ct==="chat")&&pe.clearDashboard()},qt=()=>{he(!1),me(!0),pe.ensureSolidifiedPlaybooksLoaded()},Sr=ct=>{me(!1),pe.handleSolidifiedPlaybookClick(ct),ot("chat"),b("default"),Fe(""),Xe(null)},Vt=()=>{var ct,Dt;if(pe.dashboardData)return E.jsx(sgt,{data:pe.dashboardData,showSaveButton:pe.dashboardShowSaveButton,onSaveSuccess:pe.loadSolidifiedPlaybooks,onSaveDashboard:v,onPreviewDashboard:y,title:pe.getCurrentSolidifiedPlaybookName()||void 0,customParamsForm:pe.solidifyInputParams.length>0?E.jsx(yan,{inputParams:pe.solidifyInputParams,onSearch:pe.handleSolidifyParamsSearch,loading:pe.solidifyLoading}):void 0,showGlobalFilter:pe.solidifyInputParams.length>0});switch(He){case"chat":return E.jsx(y_e.Provider,{value:{onExecutePlaybook:J,getPlaybookDetail:m,ossUploadUrl:g,ssoToken:d,ssoDomain:h,ssoCompany:f,onFillPlaybookParams:We=>{const xr={playbook_id:We.playbookId,name:We.playbookName,input_fields:We.inputFields,initial_params:We.initialParams,playbook_type:We.playbookType};Xe(xr),ot("professional")}},children:E.jsx(H3n,{agentLoading:N,mainAgentForHub:Pt,mainAgentQuestions:Mt,agents:w,hubChatOpen:mt,setHubChatOpen:Ye,hubChatInput:ke,setHubChatInput:De,hubScrollIdx:et,hubScrollFading:Ke,onHubChatSend:Br,onHubInputFocus:()=>ft(!0),onHubInputBlur:()=>ft(!1),messages:Z.messages,executing:G,hubInlineChatInput:st,setHubInlineChatInput:Me,onHubInlineSend:(We,xr,at)=>{Pt!=null&&Pt.agent_id&&(x!==Pt.agent_id&&b(Pt.agent_id),Q(We,xr,at))},onEnterProfessional:We=>{We&&b(We),Fe(""),Xe(null),pe.clearDashboard(),oe([]),ot("professional")},playbooks:C,executePlaybook:J,onRequestPlaybookParams:Xe,clearMessages:le,onAbort:ce,onRespondToProposal:re,ssoToken:d,ssoDomain:h,ssoCompany:f})});case"goals":return E.jsx($3r,{});case"settings":return E.jsx(Wvt,{});case"plan":return E.jsx(PAt,{embedded:!0,onHeaderChange:it,onCockpitEnter:we,onCockpitExit:Pe});case"professional":return E.jsxs(E.Fragment,{children:[E.jsx(Ran,{title:((ct=w.find(We=>Oh(We,x)))==null?void 0:ct.name)||"Wandox智能体",agentSwitcher:Ae?void 0:E.jsxs("div",{style:{display:"inline-flex",alignItems:"center",height:34,background:"#fff",border:"1px solid #e5e0f0",borderRadius:10,boxSizing:"border-box",overflow:"hidden"},children:[E.jsxs("div",{style:{display:"flex",alignItems:"center",padding:"0 0 0 8px"},children:[E.jsx("div",{style:{width:22,height:22,flexShrink:0},children:Iw((Dt=w.find(We=>Oh(We,x)))==null?void 0:Dt.icon)}),E.jsx(En,{value:x,onChange:We=>fr(We),options:w.map(We=>({value:We.agent_id,label:We.name})),variant:"borderless",suffixIcon:E.jsx(IA,{style:{color:"#9275ff",verticalAlign:"middle"}}),style:{fontWeight:600,fontSize:14,minWidth:100,color:"#4a3a6a"},popupMatchSelectWidth:!1})]}),E.jsx("button",{type:"button",onClick:Le,title:"切换为侧边栏选择",style:{display:"flex",alignItems:"center",justifyContent:"center",width:34,height:"100%",cursor:"pointer",color:"#b0a0c8",borderLeft:"1px solid #e5e0f0",transition:"all 0.15s",background:"none",border:"none",padding:0},onMouseEnter:We=>{We.currentTarget.style.color="#7c3aed",We.currentTarget.style.background="#f5f0ff"},onMouseLeave:We=>{We.currentTarget.style.color="#b0a0c8",We.currentTarget.style.background="transparent"},children:E.jsx(QXe,{style:{fontSize:13}})})]}),count:te.length,widgets:te,activeAgent:x,agents:w,childAgents:k,ssoDomain:h,ssoToken:d,ssoCompany:f,onWidgetsUpdate:oe,onExecuteComplete:()=>{xe()},externalRobotName:Je,externalShowPanel:nt}),E.jsx(lvt,{messages:Z.messages,playbooks:C,messagesTotal:Z.messagesTotal,loadMoreMessages:Z.loadMoreMessages,loading:bt,executing:G,ssoToken:d,ssoDomain:h,ssoCompany:f,activeAgent:x,webhookId:a,onExecutePlaybook:J,onSolidifySuccess:pe.loadSolidifiedPlaybooks,onDashboardPreview:jt,onSolidifyComplete:rt,onFillPlaybookParams:We=>{const xr={playbook_id:We.playbookId,name:We.playbookName,input_fields:We.inputFields,initial_params:We.initialParams,playbook_type:We.playbookType};Xe(xr)},onActionClick:We=>{We.action_id?(be(!0),ae&&ae({action_id:We.action_id,action_params:We.params})):We.playbook_id&&J({message:We.display_name||"执行",playbook_id:We.playbook_id,...We.params?{playbook_params:We.params}:{}})},onExecuteComplete:()=>{xe()},onRespondToProposal:re,onRetrigger:se}),E.jsxs("div",{className:"chat-input-area",children:[E.jsx($vt,{playbooks:C,playbookLoading:N,onPlaybookClick:J,onSelectPlaybook:We=>{Xe(We)},recommendations:B,userPlaybooks:_,userPlaybooksLoading:T,onLoadUserPlaybooks:$,agentId:q5(w.find(We=>Oh(We,x)))||x,recentRefreshKey:H}),E.jsx(jQ,{executing:G,stopping:q,onStop:ne,onSend:Q,playbooks:C,recommendations:B,value:Ne,onValueChange:Fe,onRequestPlaybookParams:Xe,ssoToken:d,ssoDomain:h,ssoCompany:f})]})]});default:return null}},$t=He==="plan"?Ce??GAt.plan:GAt[He],Lt=(He==="plan"||!pe.dashboardData)&&He!=="professional"&&He!=="chat";return E.jsx(v3r,{children:E.jsxs(ZEn,{children:[E.jsx("div",{className:`wandox-aside-overlay ${de?"wandox-aside-overlay--visible":""}`,onClick:()=>he(!1),onKeyDown:ct=>ct.key==="Escape"&&he(!1),role:"button",tabIndex:0,"aria-label":"关闭侧边栏"}),t&&E.jsx(XEn,{active:x,agents:w,onChange:ct=>{he(!1),fr(ct)},collapsed:Re,onToggle:()=>ue(ct=>!ct),className:de?"wandox-aside--mobile-open":"",activeView:He,onViewChange:Nt,onToolboxOpen:qt,showLogout:r,onLogout:n,sidebarAgentMode:Ae,onToggleSidebarMode:Le,onAgentSelect:ct=>fr(ct)}),t&&Re&&E.jsx("button",{type:"button",className:"wandox-aside-floating-open",onClick:()=>ue(!1),"aria-label":"展开侧边栏",title:"展开侧边栏",children:E.jsx(QXe,{})}),E.jsxs("div",{className:"wandox-workspace",children:[E.jsxs("div",{className:"wandox-mobile-header",children:[E.jsx("button",{type:"button",className:"wandox-mobile-menu-btn",onClick:()=>{ue(!1),he(!0)},children:"☰"}),E.jsx("h1",{className:"wandox-mobile-title",children:"Wandox"}),r&&n?E.jsx("button",{type:"button",onClick:n,style:{width:40,height:40,background:"transparent",border:"none",cursor:"pointer"},children:"退出"}):E.jsx("div",{style:{width:40}})]}),Lt&&E.jsxs("div",{className:"wandox-workspace-topbar",children:[E.jsxs("div",{className:"wandox-workspace-topbar-info",children:[E.jsx("h1",{className:"wandox-workspace-topbar-title",children:($t==null?void 0:$t.title)??"您好,欢迎使用 AI 智能体"}),E.jsx("p",{className:"wandox-workspace-topbar-subtitle",children:($t==null?void 0:$t.subtitle)??""})]}),E.jsx("div",{className:"wandox-workspace-topbar-actions",children:He==="plan"?Ce==null?void 0:Ce.actions:null})]}),E.jsx("div",{className:`wandox-workspace-container${He==="plan"?" wandox-workspace-container--automation":""}`,children:Vt()})]}),E.jsx(ban,{open:ee,loading:pe.solidifiedPlaybooksLoading,playbooks:pe.solidifiedPlaybooks,activePlaybookId:pe.activeSolidifiedPlaybook,onClose:()=>me(!1),onPlaybookClick:Sr,onPlaybookDelete:pe.handleSolidifiedPlaybookDelete}),E.jsx(z0t,{open:ve,ssoToken:d,ssoDomain:h,ssoCompany:f,onClose:()=>be(!1),onExecuteAction:At,onExecuteComplete:()=>{setTimeout(()=>{xe()},1e3)}}),E.jsx(P3n,{open:ie,actionId:(ge==null?void 0:ge.action_id)||"",actionName:(ge==null?void 0:ge.display_name)||"",defaultParams:ge==null?void 0:ge.params,onCancel:()=>{$e(!1),Be(null)},onExecute:ct=>{$e(!1),be(!0),ae&&ge&&ae({action_id:ge.action_id,action_params:ct}),Be(null)}}),E.jsx(man,{open:!!Oe,playbook:Oe,onClose:()=>Xe(null),onSubmit:(ct,Dt)=>{Xe(null),J({message:ct.name,playbook_id:ct.playbook_id,playbook_params:Dt})}}),R&&E.jsx(Gvt,{}),E.jsx(L3n,{queueStatus:K})]})})}const u5n=Object.freeze(Object.defineProperty({__proto__:null,default:c5n},Symbol.toStringTag,{value:"Module"})),R3e="__all__",UAt="__my__",N3e="__library_all__",d5n="__library__:",h5n=[{key:"map",label:"使用地图"},{key:"my",label:"我的场景"},{key:"all",label:"全部场景"}];function f5n(e){return e==="map"?"搜索当前地图下的场景":e==="my"?"搜索我的场景":"搜索全部场景"}function p5n({open:e,source:t,categories:r,categoryKey:n,search:i,cards:a,executing:s,loadingPlaybookId:o,onClose:l,onSourceChange:u,onCategoryChange:d,onSearchChange:h,onSelectScene:f}){return E.jsx(OS,{open:e,onClose:l,placement:"bottom",height:"min(82vh, 780px)",destroyOnClose:!1,styles:{body:{padding:0,background:"var(--wc-bg)"},header:{display:"none"}},getContainer:!1,title:null,closeIcon:null,push:!1,children:E.jsxs("div",{className:"wandox-console-chat__drawer",children:[E.jsxs("header",{className:"wandox-console-chat__drawer-top",children:[E.jsx("div",{className:"wandox-console-chat__drawer-title",children:E.jsx("nav",{className:"wandox-console-chat__drawer-tabs","aria-label":"场景来源",children:h5n.map(p=>E.jsx("button",{type:"button",className:t===p.key?"is-active":"",onClick:()=>u(p.key),children:p.label},p.key))})}),E.jsx("button",{type:"button",className:"wandox-console-chat__drawer-close",onClick:l,"aria-label":"关闭",children:E.jsx(us,{})})]}),E.jsxs("div",{className:"wandox-console-chat__drawer-middle",children:[t!=="my"&&E.jsxs("aside",{className:"wandox-console-chat__drawer-cats",children:[E.jsx("div",{className:"wandox-console-chat__drawer-catslabel",children:"场景分类"}),r.map(p=>{const g=p.key===n;return E.jsxs("button",{type:"button",className:`wandox-console-chat__drawer-cat${g?" wandox-console-chat__drawer-cat--active":""}`,onClick:()=>d(p.key),children:[E.jsx("span",{className:"wandox-console-chat__drawer-cat-name",children:p.name}),E.jsx("span",{className:"wandox-console-chat__drawer-cat-count",children:p.count})]},p.key)})]}),E.jsxs("div",{className:"wandox-console-chat__drawer-body",children:[E.jsx("div",{className:"wandox-console-chat__drawer-toolbar",children:E.jsx(zr,{allowClear:!0,prefix:E.jsx(Up,{}),placeholder:f5n(t),value:i,onChange:p=>h(p.target.value)})}),a.length===0?E.jsx("div",{className:"wandox-console-chat__drawer-empty",children:i?"没有匹配的场景":"暂无可用场景"}):E.jsx("div",{className:"wandox-console-scenes",children:a.map(p=>{const g=o===p.playbook_id;return E.jsx("button",{type:"button",className:"wandox-console-scene",disabled:s||!!o,"aria-busy":g,onClick:()=>void f(p),children:E.jsxs("div",{className:"wandox-console-scene__body",children:[E.jsx("strong",{children:p.title}),p.desc&&E.jsx("span",{className:"wandox-console-scene__desc",children:p.desc}),g&&E.jsx("span",{className:"wandox-console-scene__loading",children:"正在读取场景..."})]})},p.key)})})]})]})]})})}const g5n=e=>{const{onError:t}=e;t==null||t(new Error("该场景暂不支持文件上传"))};function qAt({field:e,value:t,uploading:r,fileNameMap:n,getOptionState:i,onChange:a,onUpload:s}){const o=z5(e.type),l=s??((u,d)=>g5n);return E.jsxs("div",{className:"wandox-console-field",children:[E.jsxs("label",{htmlFor:`wc-param-${e.name}`,children:[E.jsx("span",{className:"wandox-console-field__label-text",children:e.label||e.name}),e.description||e.hint?E.jsx(ei,{title:e.description||e.hint,children:E.jsx(FS,{"aria-label":`${e.label||e.name}说明`})}):null,e.required&&E.jsx("span",{className:"wandox-console-field__required",children:"必填"}),o&&E.jsx("span",{className:"wandox-console-field__required",children:"多值"})]}),E.jsx(WQ,{field:e,value:t,uploading:r,fileNameMap:n,getOptionState:i,onChange:a,onUpload:l,onDownloadTemplate:u=>window.open(u.path,"_blank","noopener,noreferrer")})]})}function m5n(e){if(Array.isArray(e))return e;const t=e;return Array.isArray(t==null?void 0:t.user_playbooks)?t.user_playbooks:[]}function v5n({agentId:e,agentName:t,playbookId:r,playbookParams:n,initialMessage:i,initialAttachments:a,useMapCards:s=[],useMapCategories:o=[],playbooks:l=[],userPlaybooks:u=[],agents:d=[],onChangeAgent:h,onBack:f,onSelectScene:p,onReady:g}){const m=localStorage.getItem("sso_token")||"",v=localStorage.getItem("sso_domain")||"maiduo",y=localStorage.getItem("sso_company")||"",x=S.useRef(null),b=S.useRef(!1),[w,C]=S.useState(!1),[_,T]=S.useState(""),[k,A]=S.useState(""),[I,$]=S.useState("map"),[P,N]=S.useState(R3e),[R,L]=S.useState(null),M=S.useRef(null);S.useEffect(()=>{if(!R||w)return;const xt=setTimeout(()=>{var Wt;(Wt=M.current)==null||Wt.focus()},120);return()=>clearTimeout(xt)},[R,w]);const[O,D]=S.useState([]),[F,B]=S.useState({}),j=j5(O,F,B),H=S.useMemo(()=>Ry(O,F).filter(xt=>xt.required&&tp(F[xt.name])),[O,F]),[z,W]=S.useState("chat"),[G,q]=S.useState([]),[Y,K]=S.useState(null),[Z,X]=S.useState("results"),[Q,J]=S.useState(!1),[re,ne]=S.useState([]);S.useEffect(()=>{g==null||g({showInspectionResults:xt=>{W("robot"),X("results"),K(xt||null)}})},[g]);const[se,ce]=S.useState([]),[le,te]=S.useState(!1),[oe,xe]=S.useState(void 0),[pe,Ae]=S.useState([]),[Te,Le]=S.useState(""),[Re,ue]=S.useState("map"),[de,he]=S.useState(void 0),ve=S.useRef(0),be=S.useRef(0),[ee,me]=S.useState(BQ),[ae,fe]=S.useState({}),[ie,$e]=S.useState(()=>new Set),ge=S.useCallback((xt,Wt,Ot)=>({key:`${Wt}-${xt.playbook_id}`,title:xt.name||"未命名场景",desc:xt.description||"",reason:Ot,tags:[],playbook_id:xt.playbook_id,input_fields:xt.input_fields||[],categoryKey:Wt,video_url:xt.video_url,video_duration:xt.video_duration,view_count:xt.view_count}),[]),Be=S.useMemo(()=>{const xt=u.map(Zr=>ge(Zr,UAt,"我的场景")),Wt=new Map;for(const Zr of l){const oi=Zr.category_name||Zr.category||Zr.type||"默认场景",Li=`${d5n}${oi}`,$c=Wt.get(Li)||[];$c.push(ge(Zr,Li,oi)),Wt.set(Li,$c)}const Ot=Array.from(Wt.values()).flat(),Zt=[{key:N3e,name:"全部",count:Ot.length,cards:Ot},...Array.from(Wt,([Zr,oi])=>{var Li;return{key:Zr,name:((Li=oi[0])==null?void 0:Li.reason)||"默认场景",count:oi.length,cards:oi}})],Lr=[{key:R3e,name:t||"全部场景",count:s.length,cards:s},...o.map(Zr=>({key:Zr.key,name:Zr.name,count:Zr.count,cards:s.filter(oi=>oi.categoryKey===Zr.key)}))];return{allCategories:Zt,mapCategories:Lr,myCards:xt}},[t,l,ge,s,o,u]),Ne=S.useMemo(()=>I==="all"?Be.allCategories:I==="map"?Be.mapCategories:[],[Be,I]),Fe=S.useMemo(()=>s.map(xt=>({category:null,category_name:xt.reason,description:xt.desc,domain:"",id:0,name:xt.title,playbook_id:xt.playbook_id,scope:"usemap",status:"available",sub_category:null,tags:xt.tags.map(Wt=>Wt.name),input_fields:xt.input_fields,video_url:xt.video_url,video_duration:xt.video_duration,view_count:xt.view_count,type:"",version:""})),[s]),Oe=S.useMemo(()=>{const xt=new Map;for(const Wt of[...l,...u,...Fe])Wt.playbook_id&&xt.set(Wt.playbook_id,Wt);return Array.from(xt.values())},[l,u,Fe]),Xe=S.useMemo(()=>{const xt=new Map;for(const Wt of l){const Ot=Wt.category_name||Wt.category||Wt.type||"默认场景",Zt=xt.get(Ot)||[];Zt.push(Wt),xt.set(Ot,Zt)}return[{key:"__my__",label:"我的场景",playbooks:[]},...Array.from(xt,([Wt,Ot])=>({key:`all:${Wt}`,label:Wt,playbooks:Ot}))]},[l]),He=S.useMemo(()=>{const xt=new Map(Fe.map(Wt=>[Wt.playbook_id,Wt]));return o.map(Wt=>({key:`map:${Wt.key}`,label:Wt.name,playbooks:s.filter(Ot=>Ot.categoryKey===Wt.key).map(Ot=>xt.get(Ot.playbook_id)).filter(Ot=>!!Ot)}))},[s,o,Fe]),ot=Re==="map"?He:Xe,Ce=S.useMemo(()=>{var Ot;const xt=k.trim().toLowerCase(),Wt=I==="my"?Be.myCards:((Ot=Ne.find(Zt=>Zt.key===P))==null?void 0:Ot.cards)||[];return xt?Wt.filter(Zt=>Zt.title.toLowerCase().includes(xt)||Zt.desc.toLowerCase().includes(xt)):Wt},[Ne,P,Be.myCards,I,k]),it=S.useCallback(xt=>{const Wt=Array.isArray(xt)?xt:[];ce(Wt),te(Wt.length>0)},[]),we=S.useMemo(()=>d.find(xt=>xt.id===e),[d,e]),{messageData:Pe,executing:ke,stopping:De,actions:et}=BAt({activeAgent:e,ssoToken:m,ssoDomain:v,ssoCompany:y,onRecommendationsUpdate:it}),{sendMessage:Ue,executePlaybook:Ke,respondToProposal:Se,stopCurrent:vt,retrigger:ft}=et,{messages:mt,messagesTotal:Ye,loading:st,loadMessages:Me,loadMoreMessages:tt}=Pe,Qe=S.useMemo(()=>{for(let xt=mt.length-1;xt>=0;xt--)if(mt[xt].role==="assistant")return mt[xt].id},[mt]),Je=S.useCallback(async()=>{if(!e||!m){Ae([]);return}try{const xt=await LQe({agent_id:e,limit:8});Ae(Array.isArray(xt.data)?xt.data:[])}catch{}},[e,m]);S.useEffect(()=>{Je()},[Je]);const lt=S.useCallback(async xt=>{await Ke(xt),Je()},[Ke,Je]),nt=S.useCallback(async xt=>{const Wt=String(xt.playbook_id||"").trim();if(!Wt)throw new Error("场景缺少 playbook_id");const{data:Ot}=await Yv({playbook_id:Wt});return zQ(xt,Ot)},[]);S.useEffect(()=>{b.current||(b.current=!0,(async()=>{if(await Me(),r){const xt=(i==null?void 0:i.trim())||"执行场景";lt({message:xt,playbook_id:r,playbook_params:n||{}})}else i!=null&&i.trim()&&Ue(i.trim(),void 0,a)})())},[r,i,a,n,lt,Me,Ue]),S.useEffect(()=>{if(!e)return;let xt=!1;return(async()=>{try{const{data:Wt}=await Kq({agent_id:e});if(xt)return;const Ot=(Wt==null?void 0:Wt.children)||[];q(Ot),K(null)}catch{q([])}})(),()=>{xt=!0}},[e]),S.useEffect(()=>{Qe&&Qe!==oe&&xe(Qe)},[Qe,oe]),S.useEffect(()=>{if(z!=="robot"||Z!=="history"||!Y){ne([]);return}const xt=G.find(Ot=>Ot.name===Y);if(!xt)return;let Wt=!1;return J(!0),(async()=>{try{const Ot=await IQe({agent_id:xt.agent_id,limit:50});if(Wt)return;const Lr=(Array.isArray(Ot==null?void 0:Ot.data)?Ot.data:[]).map((Zr,oi)=>({id:Zr.id||Zr.execute_id||`record_${oi}`,action_name:Zr.action_name||Zr.display_name||"未知动作",status:Zr.status||"pending",created_at:Zr.created_at||"",completed_at:Zr.completed_at,output_data:Zr.output_data,error:Zr.error}));ne(Lr)}catch{ne([])}finally{Wt||J(!1)}})(),()=>{Wt=!0}},[z,Z,Y,G]);const yt=S.useCallback((xt,Wt,Ot)=>{if(te(!1),Wt){lt({message:xt,playbook_id:Wt});return}Ue(xt,void 0,Ot)},[lt,Ue]),bt=S.useCallback(xt=>{$(xt),N(xt==="all"?N3e:xt==="map"?R3e:UAt),A(""),L(null),D([]),B({})},[]),At=S.useCallback(()=>{$("all"),N(N3e),A(""),L(null),D([]),B({}),C(!0)},[]),Pt=S.useCallback(()=>{C(!1),L(null),D([]),B({})},[]),Mt=S.useCallback((xt,Wt={})=>{L({key:xt.playbook_id,playbook_id:xt.playbook_id,title:xt.name,desc:xt.description??"",reason:"",tags:[],categoryKey:"",input_fields:xt.input_fields||[]});const Ot=G9(xt.input_fields||[]);D(Ot),B(nw(Ot,Wt))},[]),fr=S.useCallback(async xt=>{var Ot;if(ke||_)return;const Wt=String(xt.playbook_id||"").trim();if(!Wt){kt.error("场景缺少 playbook_id");return}T(Wt);try{const Zt={category:null,category_name:xt.reason||void 0,description:xt.desc,domain:"",id:0,name:xt.title,playbook_id:Wt,scope:"",status:"available",sub_category:null,tags:xt.tags.map(oi=>oi.name),type:"",version:"",input_fields:xt.input_fields,video_url:xt.video_url,video_duration:xt.video_duration,view_count:xt.view_count},{data:Lr}=await Yv({playbook_id:Wt});if(!Lr||typeof Lr!="object"||Array.isArray(Lr))throw new Error("场景详情为空");const Zr=zQ(Zt,Lr);if(C(!1),(Ot=Zr.input_fields)!=null&&Ot.length){Mt(Zr);return}yt(Zr.name,Zr.playbook_id),p==null||p(xt)}catch(Zt){const Lr=Zt instanceof Error?Zt.message:"场景加载失败";kt.error(Lr)}finally{T("")}},[ke,Mt,yt,p,_]),Br=S.useCallback(async xt=>{if(!ke){if(te(!1),xt.input_fields&&xt.input_fields.length>0){Mt(xt);return}try{await lt({message:xt.name,playbook_id:xt.playbook_id})}catch(Wt){const Ot=Wt instanceof Error?Wt.message:"执行失败";kt.error(Ot)}}},[ke,lt,Mt]),jt=S.useCallback(async xt=>{var Ot;if(ke||Te)return;const Wt=String(xt.playbook_id||"").trim();if(Wt){Le(Wt),te(!1);try{const Zt=Min(xt),Lr=await nt(xt);if((Ot=Lr.input_fields)!=null&&Ot.length){Mt(Lr,Zt);return}await lt({message:Lr.name,playbook_id:Lr.playbook_id})}catch(Zt){const Lr=Zt instanceof Error?Zt.message:"场景参数加载失败";kt.error(Lr)}finally{Le("")}}},[ke,lt,Mt,nt,Te]),rt=S.useCallback(async()=>{if(!R||ke)return;const Wt=Ry(O,F).filter(Lr=>Lr.required&&tp(F[Lr.name]));if(Wt.length>0){kt.warning(`请先填写 ${Wt.length} 项必填参数`);return}C(!1),te(!1);const Ot=R,Zt=F;L(null),D([]),B({});try{const Lr=Ot.title||(i==null?void 0:i.trim())||"执行场景";await lt({message:Lr,playbook_id:Ot.playbook_id,playbook_params:Zt}),p==null||p(Ot)}catch(Lr){const Zr=Lr instanceof Error?Lr.message:"执行失败";kt.error(Zr)}},[R,O,F,ke,lt,i,p]),Nt=S.useCallback(xt=>{be.current+=1,he({requestId:++ve.current,playbooks:xt})},[]),qt=S.useCallback(()=>{const xt=++be.current;he({requestId:++ve.current,playbooks:[],loading:!0}),(async()=>{await new Promise(Wt=>{window.requestAnimationFrame(()=>Wt())});try{const{data:Wt}=await AQe({agent_id:e});if(xt!==be.current)return;he({requestId:++ve.current,playbooks:m5n(Wt)})}catch{if(xt!==be.current)return;kt.error("我的场景加载失败"),he({requestId:++ve.current,playbooks:[]})}})()},[e]),Sr=S.useCallback(xt=>{he(Wt=>(Wt==null?void 0:Wt.requestId)===xt?void 0:Wt)},[]),Vt=E.jsxs("div",{className:"wandox-console-chat__scene-quick",children:[E.jsx(jv,{menu:{selectedKeys:[Re],items:[{key:"all",label:"全部场景"},{key:"map",label:"使用地图"}],onClick:({key:xt})=>{be.current+=1,ue(xt)}},trigger:["click"],placement:"topLeft",children:E.jsxs("button",{type:"button",className:"wandox-console-chat__scene-source",disabled:ke,children:[E.jsx("span",{children:Re==="map"?"使用地图":"全部场景"}),E.jsx("svg",{className:"wandox-console-chat__scene-source-arrow",width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",focusable:"false",children:E.jsx("path",{d:"M8.413 0.963a2 2 0 0 1 2.738.712l4.872 8.301a4 4 0 0 1 0 4.049l-4.872 8.3a2 2 0 1 1-3.45-2.025L12.574 12 7.701 3.7A2 2 0 0 1 8.413.963Z"})})]})}),E.jsx("span",{className:"wandox-console-chat__scene-separator","aria-hidden":!0,children:"|"}),E.jsx("div",{className:"wandox-console-chat__scene-categories",children:ot.map(xt=>E.jsx("button",{type:"button",className:"wandox-console-chat__choose-scene",disabled:ke,onClick:()=>xt.key==="__my__"?qt():Nt(xt.playbooks),children:xt.label},xt.key))})]}),$t=S.useCallback(async xt=>{var Zr;const Wt=(Zr=xt.meta_content)!=null&&Zr.playbook_id?"数据报表":"对话内容",Ot=new Date().toISOString().slice(0,10);if(D_e(xt)){const oi=nvt(xt);if(!oi){kt.warning("没有可导出的表格数据");return}const Li=oi.fields.map(co=>co.label).join(","),$c=oi.rows.map(co=>oi.fields.map(yn=>ivt(co[yn.name])).join(",")),nm=`\uFEFF${[Li,...$c].join(`
1101
- `)}`;avt(new Blob([nm],{type:"text/csv;charset=utf-8;"}),`${Wt}_${Ot}.csv`);return}const Zt=document.querySelector(`[data-message-id="${xt.message_id||xt.id}"] .wandox-message-content`);if(!Zt){kt.warning("无法定位消息内容");return}const Lr=window.open("","_blank");if(!Lr){kt.warning("请允许弹出窗口");return}Lr.document.write(`<!DOCTYPE html><html><head><meta charset="utf-8"><title>${Wt}_${Ot}</title><style>body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding:20px;color:#333}table{border-collapse:collapse;width:100%}th,td{border:1px solid #d9d9d9;padding:6px 8px;font-size:13px;text-align:left}th{background:#fafafa}img{max-width:100%}pre{white-space:pre-wrap;word-break:break-all;font-size:12px;background:#f5f5f5;padding:12px;border-radius:4px}button,.ant-btn,.ant-tooltip-open{display:none!important}</style></head><body>${Zt.innerHTML}</body></html>`),Lr.document.close(),Lr.onload=()=>{Lr.print(),Lr.close()}},[]),Lt=S.useCallback(xt=>{var Lr,Zr,oi;const Wt=mt.find(Li=>Li.message_id===xt||Li.id===xt),Ot=M_e(Wt);if(!Ot){kt.warning("缺少场景 ID,无法配置定时触发");return}const Zt=((Zr=(Lr=Wt==null?void 0:Wt.actions)==null?void 0:Lr.find(Li=>Li.playbook_id===Ot))==null?void 0:Zr.display_name)||((oi=Wt==null?void 0:Wt.meta_content)==null?void 0:oi.playbook_name)||Ot;me({visible:!0,messageId:xt,agentId:e,playbookId:Ot,playbookName:Zt})},[e,mt]),ct=S.useCallback(()=>{me(BQ)},[]),Dt=S.useCallback(xt=>{const Wt=xt.message_id;return Wt&&Object.prototype.hasOwnProperty.call(ae,Wt)?ae[Wt]:j0t(xt)},[ae]),We=S.useCallback(async(xt,Wt,Ot)=>{var oi;const Zt=xt.message_id;if(!Zt||ie.has(Zt))return!1;const Lr=Dt(xt),Zr=V0t(Lr,Wt);fe(Li=>({...Li,[Zt]:Zr})),$e(Li=>new Set(Li).add(Zt));try{const Li=await kQe({domain:v},{message_id:Zt,rating:Zr,tags:(oi=Ot==null?void 0:Ot.tags)!=null&&oi.length?Ot.tags:void 0,text:(Ot==null?void 0:Ot.text)||void 0});if((Li==null?void 0:Li.success)===!1)throw new Error(Li.message||"反馈提交失败");return!0}catch(Li){return fe($c=>({...$c,[Zt]:Lr})),kt.error(Li instanceof Error?Li.message:"反馈提交失败,请稍后重试"),!1}finally{$e(Li=>{const $c=new Set(Li);return $c.delete(Zt),$c})}},[ie,Dt,v]),xr=S.useCallback(async xt=>{te(!1);try{await ft(xt)}catch(Wt){const Ot=Wt instanceof Error?Wt.message:"重新生成失败";kt.error(Ot)}},[ft]),at=S.useCallback(()=>{te(xt=>!xt)},[]),qn=S.useCallback((xt,Wt)=>{if(xt.role!=="assistant"||xt.execution_status==="executing")return null;const Zt=Wt&&xt.id===oe&&se.length>0,Lr=le?"隐藏推荐":Zt?`显示推荐(${se.length})`:"推荐";return E.jsxs(E.Fragment,{children:[E.jsx(ovt,{msg:xt,domain:v,onExportMessage:$t,exportIcon:"copy",showSolidify:!1,onOpenScheduleDialog:Lt,onRetrigger:xr,feedbackRating:Dt(xt),feedbackPending:!!xt.message_id&&ie.has(xt.message_id),onFeedback:We,extraActions:Zt?E.jsx(ei,{title:Lr,children:E.jsxs("button",{type:"button",className:`wandox-console-chat__toolbar-toggle${le?" is-active":""}`,"aria-label":Lr,"aria-expanded":le,onClick:at,children:[E.jsx(Ckr,{}),E.jsx("span",{className:"wandox-console-chat__toolbar-toggle-count",children:se.length})]})}):null}),Zt&&le&&E.jsx("ul",{className:"wandox-console-chat__recommendations","aria-label":"推荐场景",children:se.map((Zr,oi)=>E.jsx("li",{className:"wandox-console-chat__recommendations-item",children:E.jsxs("button",{type:"button",className:"wandox-console-chat__recommendations-pill",disabled:ke,onClick:()=>{Br(Zr)},title:Zr.description||Zr.name,children:[E.jsx("span",{className:"wandox-console-chat__recommendations-pill-label",children:Zr.name}),E.jsx("span",{className:"wandox-console-chat__recommendations-pill-arrow",children:E.jsx(pq,{})})]})},`${Zr.playbook_id||Zr.name}-${oi}`))})]})},[ke,ie,Dt,Br,$t,We,Lt,xr,se,oe,le,v,at]),Na=S.useMemo(()=>E.jsxs("div",{className:"wandox-console-chat__body",children:[E.jsx(P_e,{messages:mt,executing:ke,ssoToken:m,ssoDomain:v,ssoCompany:y,onExecutePlaybook:lt,onRespondToProposal:Se,containerRef:x,messagesTotal:Ye,loadMoreMessages:tt,loading:st,initialLoadingContent:E.jsx(svt,{}),conversationKey:e,messageToolbar:qn}),E.jsx(O_e,{messages:mt,scrollContainerRef:x,mode:"deepseek"})]}),[e,lt,ke,tt,mt,st,Ye,qn,Se,y,v,m]);return E.jsxs("div",{className:"wandox-root wandox-console-chat",children:[E.jsxs("header",{className:"wandox-console-chat__top",children:[E.jsxs("button",{type:"button",className:"wandox-console-chat__back",onClick:f,children:[E.jsx(WS,{}),E.jsx("span",{children:"返回"})]}),E.jsx("div",{className:"wandox-console-chat__agent-selector",children:E.jsx(jv,{menu:{items:d.map(xt=>({key:xt.id,disabled:xt.id===e,label:E.jsxs("span",{className:"wandox-console-agent-menu-item",children:[E.jsx("span",{className:"wandox-console-agent-menu-item__icon",children:xt.icon}),E.jsx("span",{className:"wandox-console-agent-menu-item__name",children:xt.name}),xt.id===e&&E.jsx(ym,{className:"wandox-console-agent-menu-item__check"})]})})),onClick:({key:xt})=>h==null?void 0:h(xt)},trigger:["click"],placement:"bottomLeft",children:E.jsxs("button",{type:"button",className:"wandox-console-chat__title","aria-label":"切换智能体",title:"切换智能体",children:[(we==null?void 0:we.icon)&&E.jsx("span",{className:"wandox-console-chat__title-icon",children:we.icon}),E.jsx("span",{className:"wandox-console-chat__title-name",children:t||(we==null?void 0:we.name)||"智能体"}),E.jsx(Q4,{className:"wandox-console-chat__title-arrow"})]})})}),E.jsxs("button",{type:"button",className:"wandox-console-chat__all-scenes",disabled:ke,onClick:At,children:[E.jsx(OTr,{}),E.jsx("span",{children:"全部场景"})]}),E.jsx(X_e,{benefit:we==null?void 0:we.packageBenefit})]}),E.jsxs("nav",{className:"wandox-console-chat__topbar",children:[E.jsx("button",{type:"button",className:`wandox-console-chat__topbar-tab ${z==="chat"?"active":""}`,onClick:()=>W("chat"),children:"智能体会话"}),E.jsx("button",{type:"button",className:`wandox-console-chat__topbar-tab ${z==="robot"?"active":""}`,onClick:()=>{W("robot"),K(null)},children:E.jsx("span",{children:"巡检机器人"})})]}),z==="chat"?Na:E.jsxs("div",{className:"wandox-console-chat__robot",children:[E.jsx("div",{className:"wandox-console-chat__robot-chips",children:G.length===0?E.jsx("div",{className:"wandox-console-chat__robot-empty",children:"该智能体暂无巡检机器人"}):E.jsxs(E.Fragment,{children:[G.length>0&&E.jsx("button",{type:"button",className:`wandox-console-chat__robot-chip ${Y===null?"active":""}`,onClick:()=>K(null),children:"全部"}),G.map(xt=>E.jsx("button",{type:"button",className:`wandox-console-chat__robot-chip ${Y===xt.name?"active":""}`,onClick:()=>K(xt.name),children:xt.name},xt.agent_id))]})}),E.jsxs("div",{className:"wandox-console-chat__robot-tabs",children:[E.jsx("button",{type:"button",className:`wandox-console-chat__robot-tab ${Z==="results"?"active":""}`,onClick:()=>X("results"),children:"巡检结果"}),E.jsxs("button",{type:"button",className:`wandox-console-chat__robot-tab ${Z==="history"?"active":""}`,onClick:()=>X("history"),children:["执行记录",Z==="history"&&Y&&re.length>0&&E.jsx("span",{className:"wandox-console-chat__robot-tab-badge",children:re.length})]})]}),E.jsx("div",{className:"wandox-console-chat__robot-content",children:Z==="results"?E.jsxs("div",{className:"wandox-console-chat__robot-empty",children:[E.jsx("div",{className:"wandox-console-chat__robot-empty-icon",children:E.jsx($0e,{})}),E.jsx("div",{className:"wandox-console-chat__robot-empty-title",children:Y?`${Y} 暂无巡检结果`:"请选择一个机器人查看巡检结果"}),E.jsx("div",{className:"wandox-console-chat__robot-empty-desc",children:"巡检结果会在机器人执行后展示在这里"})]}):Y?Q?E.jsxs("div",{className:"wandox-console-chat__robot-loading",children:[E.jsx(ji,{size:"small"}),E.jsx("span",{children:"加载中..."})]}):re.length===0?E.jsx("div",{className:"wandox-console-chat__robot-empty",children:E.jsx("div",{className:"wandox-console-chat__robot-empty-title",children:"暂无执行记录"})}):E.jsx("ul",{className:"wandox-console-chat__robot-history",children:re.map(xt=>E.jsxs("li",{className:`wandox-console-chat__robot-history-item wandox-console-chat__robot-history-item--${xt.status}`,children:[E.jsxs("div",{className:"wandox-console-chat__robot-history-info",children:[E.jsx("span",{className:"wandox-console-chat__robot-history-name",children:xt.action_name}),E.jsx("span",{className:"wandox-console-chat__robot-history-time",children:xt.created_at?new Date(xt.created_at).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""})]}),E.jsx("span",{className:`wandox-console-chat__robot-history-status wandox-console-chat__robot-history-status--${xt.status}`,children:{pending:"等待中",running:"执行中",success:"成功",failed:"失败"}[xt.status]||xt.status})]},xt.id))}):E.jsxs("div",{className:"wandox-console-chat__robot-empty",children:[E.jsx("div",{className:"wandox-console-chat__robot-empty-icon",children:E.jsx($0e,{})}),E.jsx("div",{className:"wandox-console-chat__robot-empty-title",children:"请先选择机器人"}),E.jsx("div",{className:"wandox-console-chat__robot-empty-desc",children:"在上方选择机器人以查看其执行记录"})]})})]}),z==="chat"&&pe.length>0&&!(R&&!w)&&E.jsx("div",{className:"wandox-console-chat__recent",children:E.jsx("div",{className:"wandox-console-chat__recent-bar",children:pe.map((xt,Wt)=>E.jsx("button",{type:"button",className:"wandox-console-chat__recent-chip",disabled:ke||!!Te,title:xt.description||xt.name,onClick:()=>{jt(xt)},children:xt.name},`${xt.playbook_id||xt.name}-${Wt}`))})}),z==="chat"&&E.jsx("div",{className:"wandox-console-chat__input",children:R&&!w?E.jsxs("div",{className:"wandox-console-input-playbook wandox-console-prompt",children:[E.jsxs("div",{className:"wandox-console-prompt__head",children:[E.jsxs("div",{className:"wandox-console-scenechoice",children:[E.jsx("span",{children:"已选择场景"}),E.jsx("strong",{children:R.title})]}),E.jsx("button",{type:"button",className:"wandox-console-changescene",onClick:()=>{L(null),D([]),B({})},children:"重新选择"})]}),E.jsx("div",{ref:M,tabIndex:-1,className:"wandox-console-taskarea wandox-console-taskarea--static",children:R.desc||R.title}),O.length>0&&E.jsxs("div",{className:"wandox-console-paramarea",children:[E.jsxs("div",{className:"wandox-console-paramhead",children:[E.jsx(eZe,{}),E.jsx("strong",{children:"确认分析范围"}),E.jsxs("span",{className:"wandox-console-paramhead__status",children:[E.jsx(RA,{})," ",H.length>0?`待填 ${H.length} 项必填参数`:"参数已就绪"]})]}),E.jsx("div",{className:"wandox-console-params",children:Ry(O,F).map(xt=>E.jsx(qAt,{field:xt,value:F[xt.name],uploading:!1,fileNameMap:{},getOptionState:j.getFieldState,onChange:(Wt,Ot)=>B(Zt=>({...Zt,[Wt]:Ot}))},xt.name))})]}),E.jsxs("div",{className:"wandox-console-prompt__foot",children:[E.jsx("span",{className:"wandox-console-input-playbook__tip",children:"· 已继承当前上下文"}),E.jsxs("button",{type:"button",className:"wandox-console-start",disabled:!R||ke||H.length>0,onClick:rt,children:["开始执行",E.jsx(pq,{})]})]})]}):E.jsx(jQ,{onSend:yt,executing:ke,stopping:De,onStop:vt,placeholder:"今天帮你做些什么? / 快速调用场景",ssoToken:m,ssoDomain:v,ssoCompany:y,leadingActions:Vt,uploadButtonAsLeading:!0,uploadButtonLabel:"添加文件",mentionTriggerChar:"/",mentionListRequest:de,onMentionListRequestHandled:Sr,autoFocusInput:!R,playbooks:Oe,onRequestPlaybookParams:Mt})}),E.jsx(p5n,{open:w,source:I,categories:Ne,categoryKey:P,search:k,cards:Ce,executing:ke,loadingPlaybookId:_,onClose:Pt,onSourceChange:bt,onCategoryChange:N,onSearchChange:A,onSelectScene:fr}),E.jsx(K0t,{open:ee.visible,agentId:ee.agentId,playbookId:ee.playbookId,playbookName:ee.playbookName,onClose:ct})]})}const{TextArea:y5n}=zr;function b5n({useMapCards:e,useMapCategories:t,playbooks:r=[],selectedCategoryKey:n,onCategorySelect:i,loading:a,useMapError:s,onRetry:o,onStartAnalysis:l,agents:u,selectedAgentId:d,onAgentSelect:h,onOpenAgentChat:f}){const[p,g]=S.useState(""),[m,v]=S.useState(""),y=S.useRef(null),[x,b]=S.useState([]),[w,C]=S.useState(!1),[_,T]=S.useState(""),k=S.useRef(0),[A,I]=S.useState({}),[$,P]=S.useState({}),[N,R]=S.useState({}),[L,M]=S.useState([]),[O,D]=S.useState(!1),F=S.useRef(null),B=S.useMemo(()=>e.length>0?e:i5n(r),[e,r]),j=S.useMemo(()=>n?B.filter(te=>te.categoryKey===n):B,[B,n]),H=S.useMemo(()=>{const te=m.trim().toLowerCase();return te?j.filter(oe=>oe.title.toLowerCase().includes(te)||oe.desc.toLowerCase().includes(te)):j},[j,m]),z=S.useMemo(()=>H.slice(0,6),[H]),W=a||s&&B.length===0||H.length>0,[G,q]=S.useState("");S.useEffect(()=>{k.current+=1,q(""),g(""),b([]),I({}),C(!1),T("")},[n]),S.useEffect(()=>{G&&!B.some(te=>te.playbook_id===G)&&(k.current+=1,q(""),g(""),b([]),I({}),C(!1),T(""))},[G,B]);const Y=S.useMemo(()=>B.find(te=>te.playbook_id===G)??null,[B,G]);S.useEffect(()=>{if(a||Y)return;const te=window.setTimeout(()=>{var xe,pe;const oe=(pe=(xe=y.current)==null?void 0:xe.resizableTextArea)==null?void 0:pe.textArea;oe==null||oe.focus()},0);return()=>window.clearTimeout(te)},[a,Y]);const K=S.useCallback(async te=>{const oe=String(te.playbook_id||"").trim();if(!oe){kt.error("场景缺少 playbook_id");return}const xe=++k.current;q(oe),b([]),I({}),P({}),R({}),C(!0),T("");try{const{data:pe}=await Yv({playbook_id:oe});if(xe!==k.current)return;if(!pe||typeof pe!="object"||Array.isArray(pe))throw new Error("场景详情为空");const Ae=G9(_vt(pe));b(Ae),I(nw(Ae))}catch(pe){if(xe!==k.current)return;const Ae=pe instanceof Error?pe.message:"场景参数加载失败";T(Ae),kt.error("场景参数加载失败,请稍后重试")}finally{xe===k.current&&C(!1)}},[]),Z=()=>{k.current+=1,q(""),g(""),b([]),I({}),C(!1),T("")},X=j5(x,A,I),Q=S.useMemo(()=>Ry(x,A),[x,A]),J=S.useCallback((te,oe)=>{I(xe=>({...xe,[te]:oe}))},[]),re=S.useCallback((te,oe)=>async({file:xe,onSuccess:pe,onError:Ae})=>{var Te,Le;P(Re=>({...Re,[te]:!0}));try{const Re=xe,ue=await Kv(Re),de=(Te=ue==null?void 0:ue.data)==null?void 0:Te.url,he=((Le=ue==null?void 0:ue.data)==null?void 0:Le.name)||Re.name;if(!de)throw new Error("上传结果缺少文件地址");R(ve=>({...ve,[de]:he})),I(ve=>{if(oe<=1)return{...ve,[te]:de};const be=Array.isArray(ve[te])?ve[te]:ve[te]?[ve[te]]:[];return{...ve,[te]:[...be,de]}}),pe==null||pe(ue),kt.success("上传成功")}catch(Re){const ue=Re instanceof Error?Re:new Error("上传失败");Ae==null||Ae(ue),kt.error(ue.message)}finally{P(Re=>({...Re,[te]:!1}))}},[]),ne=S.useCallback(async te=>{const oe=Array.from(te.target.files??[]);if(te.target.value="",oe.length!==0){D(!0);try{const xe=await Promise.all(oe.map(async pe=>{var Re,ue;const Ae=await Kv(pe),Te=(Re=Ae==null?void 0:Ae.data)==null?void 0:Re.url,Le=((ue=Ae==null?void 0:Ae.data)==null?void 0:ue.name)||pe.name;if(!Te)throw new Error("上传结果缺少文件地址");return{type:pe.type.startsWith("image/")?"image":"file",url:Te,name:Le,mime_type:pe.type}}));M(pe=>[...pe,...xe]),kt.success(`已添加 ${xe.length} 个附件`)}catch(xe){kt.error(xe instanceof Error?xe.message:"上传失败")}finally{D(!1)}}},[]),se=S.useCallback(te=>{M(oe=>oe.filter(xe=>xe.url!==te))},[]),ce=S.useMemo(()=>Q.filter(te=>te.required&&tp(A[te.name])),[Q,A]),le=S.useMemo(()=>u.find(te=>te.id===d)??u.find(te=>te.current)??u[0],[u,d]);return E.jsx("div",{className:"wandox-console-view",children:E.jsxs("div",{className:"wandox-console-homecenter",children:[E.jsxs("div",{className:"wandox-console-homecenter-hero",children:[le&&E.jsxs("div",{className:"wandox-console-home-header",children:[E.jsxs("div",{className:"wandox-console-home-header__agent",children:[E.jsx("span",{className:"wandox-console-home-header__avatar",children:le.icon}),E.jsxs("div",{className:"wandox-console-home-header__identity",children:[E.jsxs("div",{className:"wandox-console-home-header__selector-row",children:[E.jsx(jv,{menu:{items:u.map(te=>({key:te.id,disabled:te.id===le.id,label:E.jsxs("span",{className:"wandox-console-agent-menu-item",children:[E.jsx("span",{className:"wandox-console-agent-menu-item__icon",children:te.icon}),E.jsx("span",{className:"wandox-console-agent-menu-item__name",children:te.name}),te.id===le.id&&E.jsx(RA,{className:"wandox-console-agent-menu-item__check"})]})})),onClick:({key:te})=>h==null?void 0:h(te)},trigger:["click"],placement:"bottomLeft",children:E.jsxs("button",{type:"button",className:"wandox-console-home-header__selector","aria-label":"切换智能体",children:[E.jsx("span",{className:"wandox-console-home-header__name",children:le.name}),E.jsx(Q4,{className:"wandox-console-home-header__arrow"})]})}),E.jsx(X_e,{benefit:le.packageBenefit})]}),le.desc&&E.jsx("p",{className:"wandox-console-home-header__description",title:le.desc,children:le.desc})]})]}),E.jsxs("button",{type:"button",className:"wandox-console-home-header__history",onClick:()=>f==null?void 0:f(),children:[E.jsx("span",{children:"会话记录"}),E.jsx(Dv,{className:"wandox-console-home-header__history-arrow"})]})]}),E.jsxs("div",{className:"wandox-console-prompt",children:[Y&&E.jsxs("div",{className:"wandox-console-prompt__head",children:[E.jsxs("div",{className:"wandox-console-scenechoice",children:[E.jsx("span",{children:"已选择场景"}),E.jsx("strong",{children:Y.title})]}),E.jsx("button",{type:"button",className:"wandox-console-changescene",onClick:Z,children:"重新选择"})]}),Y?E.jsx("div",{className:"wandox-console-taskarea wandox-console-taskarea--static",children:Y.desc||Y.title}):E.jsx("div",{className:"wandox-console-taskarea",children:E.jsx(y5n,{ref:y,value:p,onChange:te=>g(te.target.value),autoSize:{minRows:2},variant:"borderless",placeholder:"直接描述你的问题,或选择一个场景开始"})}),Y&&w&&E.jsxs("div",{className:"wandox-console-paramarea wandox-console-paramarea--state",children:[E.jsx(xvt,{}),E.jsx("span",{children:"正在读取场景参数..."})]}),Y&&!w&&_&&E.jsxs("div",{className:"wandox-console-paramarea wandox-console-paramarea--state",children:[E.jsx("span",{children:"场景参数加载失败"}),E.jsxs("button",{type:"button",className:"wandox-console-paramarea__retry",onClick:()=>void K(Y),children:[E.jsx(Vv,{}),"重试"]})]}),Y&&!w&&!_&&Q.length>0&&E.jsxs("div",{className:"wandox-console-paramarea",children:[E.jsxs("div",{className:"wandox-console-paramhead",children:[E.jsx(eZe,{}),E.jsx("strong",{children:"确认分析范围"}),E.jsxs("span",{className:"wandox-console-paramhead__status",children:[E.jsx(RA,{})," ",ce.length>0?`待填 ${ce.length} 项必填参数`:"参数已就绪"]})]}),E.jsx("div",{className:"wandox-console-params",children:Q.map(te=>E.jsx(qAt,{field:te,value:A[te.name],uploading:!!$[te.name],fileNameMap:N,getOptionState:X.getFieldState,onChange:J,onUpload:re},te.name))})]}),E.jsxs("div",{className:`wandox-console-prompt__foot${Y?" wandox-console-prompt__foot--scene":""}`,children:[!Y&&E.jsx("button",{type:"button",className:"wandox-console-attach",onClick:()=>{var te;return(te=F.current)==null?void 0:te.click()},disabled:O,title:O?"上传中…":"附件",children:E.jsx(Bl,{})}),E.jsx("input",{ref:F,type:"file",multiple:!0,accept:"image/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.csv,.zip",hidden:!0,onChange:ne}),Y?E.jsxs("button",{type:"button",className:"wandox-console-start",disabled:w||!!_||ce.length>0,onClick:()=>{l==null||l({playbookId:Y.playbook_id,playbookParams:A,message:Y.title,attachments:L})},children:["开始执行",E.jsx(pq,{})]}):E.jsx("div",{className:"wandox-console-prompt__foot-right",children:E.jsx("button",{type:"button",className:"wandox-console-prompt__send",disabled:!p.trim(),onClick:()=>{l==null||l({playbookParams:{},message:p.trim(),attachments:L})},"aria-label":"发送",children:E.jsx(YXe,{})})})]})]}),L.length>0&&E.jsx("div",{className:"wandox-console-attachments",children:L.map(te=>E.jsxs("span",{className:"wandox-console-attach-item",children:[te.type==="image"?E.jsx("img",{src:te.url,alt:te.name,className:"wandox-console-attach-item__thumb"}):E.jsx(Gme,{className:"wandox-console-attach-item__icon"}),E.jsx("span",{className:"wandox-console-attach-item__name",title:te.name,children:te.name}),E.jsx("button",{type:"button",className:"wandox-console-attach-item__remove","aria-label":"移除附件",onClick:()=>se(te.url),children:E.jsx(us,{})})]},te.url))}),E.jsxs("div",{className:"wandox-console-scenehead",children:[E.jsx("div",{className:"wandox-console-chips",role:"tablist","aria-label":"场景分类",children:t.slice(0,5).map(te=>E.jsx("button",{type:"button",role:"tab","aria-selected":n===te.key,className:`wandox-console-chip${n===te.key?" wandox-console-chip--active":""}`,onClick:()=>i==null?void 0:i(te.key),children:E.jsx("span",{children:te.name})},te.key))}),E.jsx("div",{className:"wandox-console-scenesearch",children:E.jsx(zr,{allowClear:!0,prefix:E.jsx(Up,{}),placeholder:"搜索当前地图下的场景",value:m,onChange:te=>v(te.target.value)})})]})]}),W&&E.jsxs("section",{className:"wandox-console-scene-section","aria-label":"个性化场景",children:[E.jsx("div",{className:"wandox-console-scene-section__header",children:E.jsx("div",{children:E.jsx("h2",{children:"为你推荐"})})}),a?E.jsxs("div",{className:"wandox-console-agents__loading",style:{justifyContent:"center",padding:"40px 0"},children:[E.jsx(ji,{size:"small"}),E.jsx("span",{children:"正在加载场景..."})]}):s&&B.length===0?E.jsxs("div",{className:"wandox-console-agents__error",style:{alignItems:"center",padding:"32px 0"},children:[E.jsx("span",{children:s}),E.jsxs("button",{type:"button",onClick:o,children:[E.jsx(Vv,{}),"重试"]})]}):H.length===0?E.jsxs("div",{className:"wandox-console-scene-section__empty",children:[E.jsx(Up,{}),E.jsx("span",{children:m?"没有匹配的场景":"当前分类暂无场景"})]}):E.jsx("div",{className:"wandox-console-scenes-wrap",children:E.jsx("div",{className:"wandox-console-scenes",children:z.map(te=>E.jsx("button",{type:"button",className:`wandox-console-scene${G===te.playbook_id?" wandox-console-scene--selected":""}`,onClick:()=>K(te),children:E.jsxs("div",{className:"wandox-console-scene__body",children:[E.jsx("strong",{children:te.title}),te.desc&&E.jsx("span",{className:"wandox-console-scene__desc",children:te.desc})]})},te.key))})})]})]})})}const x5n=[{id:"conversation",title:"智能体",desc:"与智能体自由对话或选择场景执行任务",icon:E.jsx(S0e,{}),accent:"#4f46e5"},{id:"automation",title:"自动化",desc:"管理与执行自动化流程、定时任务与驾驶舱",icon:E.jsx(gq,{}),accent:"#4f46e5"}],UF={id:"notification",title:"通知配置",icon:E.jsx(i0e,{}),accent:"#e0730c"};function w5n({features:e,onOpenFeature:t,activeId:r}){return E.jsxs("header",{className:"wandox-console-topnav","aria-label":"控制台顶部导航",children:[E.jsx("nav",{className:"wandox-console-topnav__pill","aria-label":"工作台",children:e.map(n=>{const i=r===n.id;return E.jsxs("button",{type:"button",className:`wandox-console-topnav__pill-btn${i?" wandox-console-topnav__pill-btn--active":""}`,title:n.title,"aria-label":n.title,"aria-current":i?"page":void 0,onClick:()=>t(n.id),children:[E.jsx("span",{className:"wandox-console-topnav__pill-icon",children:n.icon}),E.jsx("span",{className:"wandox-console-topnav__pill-text",children:n.title})]},n.id)})}),E.jsx("button",{type:"button",className:"wandox-console-topnav__notify",style:{"--notify-accent":UF.accent},title:UF.title,"aria-label":UF.title,onClick:()=>t(UF.id),children:E.jsx("span",{className:"wandox-console-topnav__notify-icon",children:UF.icon})})]})}function S5n({className:e="",state:t="idle"}){return E.jsx("img",{className:`wandox-console-companion${e?` ${e}`:""}`,"data-state":t,src:qq,alt:"","aria-hidden":"true"})}function YAt({fading:e}){return E.jsxs("div",{className:`wandox-console-init${e?" wandox-console-init--fading":""}`,"aria-hidden":!0,children:[E.jsx("div",{className:"wandox-console-init__halo wandox-console-init__halo--a"}),E.jsx("div",{className:"wandox-console-init__halo wandox-console-init__halo--b"}),E.jsxs("div",{className:"wandox-console-init__inner",children:[E.jsx(S5n,{className:"wandox-console-init__companion",state:"thinking"}),E.jsxs("div",{children:[E.jsx("div",{className:"wandox-console-init__title",children:"正在准备你的控制台"}),E.jsx("div",{className:"wandox-console-init__subtitle",children:"正在加载智能体与场景数据…"})]}),E.jsxs("div",{className:"wandox-console-init__dots","aria-hidden":!0,children:[E.jsx("span",{}),E.jsx("span",{}),E.jsx("span",{}),E.jsx("span",{}),E.jsx("span",{})]})]}),E.jsx("div",{className:"wandox-console-init__footnote",children:"由 Wandox AI 提供动力"})]})}function KAt({title:e,onBack:t,hideHeader:r=!1,className:n,children:i}){return E.jsxs("div",{className:`wandox-console-featureview${n?` ${n}`:""}`,children:[!r&&E.jsxs("div",{className:"wandox-console-featureview__bar",children:[E.jsxs("button",{type:"button",className:"wandox-console-featureview__back",onClick:t,children:[E.jsx(WS,{}),"返回控制台"]}),E.jsx("span",{className:"wandox-console-featureview__title",children:e})]}),E.jsx("div",{className:"wandox-console-featureview__body",children:i})]})}function C5n({agents:e,initialAgentId:t,initialPlaybookId:r,initialPlaybookParams:n,onReady:i}={}){const{agents:a,agentLoading:s,selectedAgentId:o,selectedAgent:l,selectAgent:u,...d}=WAt({presetAgents:e,initialAgentId:t}),[h,f]=S.useState(null),p=S.useRef(null),g=S.useRef(!1),[m,v]=S.useState("home"),[y,x]=S.useState(null),[b,w]=S.useState(!1),[C,_]=S.useState(null),[T,k]=S.useState(""),A=l==null?void 0:l.name,I=S.useCallback(Q=>{if(p.current){p.current.showInspectionResults(Q);return}f({robotName:Q})},[]);S.useEffect(()=>{i==null||i({showInspectionResults:I})},[I,i]),S.useEffect(()=>{!h||p.current||!o||m==="chat"||(_({agentId:o,agentName:A,playbookParams:{},message:""}),v("chat"))},[m,h,o,A]),S.useEffect(()=>{k("")},[o]);const{playbooks:$,userPlaybooks:P,useMapCategories:N,useMapCards:R,sceneLoading:L,useMapError:M,reload:O}=d,D=S.useMemo(()=>N.length>0?N:n5n($),[N,$]);S.useEffect(()=>{if(D.length===0)return;D.some(J=>J.key===T)||k(D[0].key)},[D]);const F=S.useRef(!1);S.useEffect(()=>{if(F.current||!r||!o||L)return;const Q=a.find(J=>J.id===o&&Zte(J,t));Q&&(F.current=!0,_({agentId:o,agentName:Q.name,playbookId:r,playbookParams:n||{},message:""}),v("chat"))},[L,a,t,r,n,o,A]),S.useEffect(()=>{if(g.current||!t||r||!o||L)return;const Q=a.find(J=>J.id===o&&Zte(J,t));Q&&(g.current=!0,_({agentId:Q.id,agentName:Q.name,playbookParams:{},message:""}),v("chat"))},[a,L,t,r,o]);const[B,j]=S.useState(!0),[H,z]=S.useState(!1);S.useEffect(()=>{if(!B||!(!s&&a.length>0&&!!o&&!L))return;z(!0);const re=setTimeout(()=>j(!1),280);return()=>clearTimeout(re)},[s,a.length,o,L,B]);const W=S.useCallback(()=>{v("home"),x(null),w(!1)},[]),G=S.useCallback(Q=>{if(Q==="conversation"){W();return}w(!1),x(Q)},[W]),q=Q=>{u(Q),v("home")},Y=Q=>{if(Q===o)return;const J=a.find(re=>re.id===Q);u(Q),_({agentId:Q,agentName:J==null?void 0:J.name,playbookParams:{},message:""})},K=()=>{o&&(_({agentId:o,agentName:A,playbookParams:{},message:""}),v("chat"))},Z=Q=>{_({agentId:o,agentName:A,playbookId:Q.playbookId,playbookParams:Q.playbookParams,message:Q.message,attachments:Q.attachments}),v("chat")};return m==="chat"&&C?E.jsxs("div",{className:"wandox-console-chat-shell",children:[E.jsx(v5n,{agentId:C.agentId,agentName:C.agentName,playbookId:C.playbookId,playbookParams:C.playbookParams,initialMessage:C.message,initialAttachments:C.attachments,useMapCards:R,useMapCategories:N,playbooks:$,userPlaybooks:P,agents:a,onReady:Q=>{p.current=Q,h&&(Q.showInspectionResults(h.robotName),f(null))},onChangeAgent:Y,onBack:()=>{p.current=null,v("home")},onSelectScene:()=>{}},`${C.agentId}:${C.playbookId||"free-chat"}`),B&&E.jsx(YAt,{fading:H})]}):E.jsxs("div",{className:`wandox-console${b?" wandox-console--secondary":""}`,children:[B&&E.jsx(YAt,{fading:H}),!b&&E.jsx(w5n,{features:x5n,activeId:y??"conversation",onOpenFeature:G}),E.jsxs("main",{className:"wandox-console-main",children:[y==="automation"&&E.jsx(KAt,{title:"自动化",onBack:()=>x(null),hideHeader:!0,className:"wandox-console-featureview--automation",children:E.jsx(PAt,{onCockpitEnter:()=>w(!0),onCockpitExit:()=>w(!1),onInboxEnter:()=>w(!0)})}),y==="notification"&&E.jsx(KAt,{title:"通知配置",onBack:()=>x(null),hideHeader:!0,children:E.jsx(Wvt,{})}),!y&&E.jsx(b5n,{useMapCards:R,useMapCategories:D,playbooks:$,selectedCategoryKey:T,onCategorySelect:k,loading:L,useMapError:M,onRetry:O,onStartAnalysis:Z,agents:a,selectedAgentId:o,onAgentSelect:q,onOpenAgentChat:K})]})]})}const _5n=Object.freeze(Object.defineProperty({__proto__:null,default:C5n},Symbol.toStringTag,{value:"Module"}));class lr extends Error{constructor(t,r){var n="KaTeX parse error: "+t,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var d;a+15<o.length?d=o.slice(a,a+15)+"…":d=o.slice(a),n+=u+l+d}super(n),this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,lr.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}}var T5n=/([A-Z])/g,E5n=e=>e.replace(T5n,"-$1").toLowerCase(),k5n={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},A5n=/[&><"']/g,hu=e=>String(e).replace(A5n,t=>k5n[t]),Qte=e=>e.type==="ordgroup"||e.type==="color"?e.body.length===1?Qte(e.body[0]):e:e.type==="font"?Qte(e.body):e,I5n=new Set(["mathord","textord","atom"]),l1=e=>I5n.has(Qte(e).type),$5n=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},Jte={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>e==="Infinity"?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function R5n(e){if(typeof e!="string")return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function N5n(e){if(e.default!==void 0)return e.default;var t=Array.isArray(e.type)?e.type[0]:e.type;return R5n(t)}function L5n(e,t,r,n){var i=r[t];e[t]=i!==void 0?n.processor?n.processor(i):i:N5n(n)}class L3e{constructor(t){t===void 0&&(t={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{};for(var r of Object.keys(Jte)){var n=Jte[r];n&&L5n(this,r,t,n)}}reportNonstrict(t,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(t,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new lr("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+t+"]"),n);typeof console<"u"}}useStrictBehavior(t,r,n){var i=this.strict;if(typeof i=="function")try{i=i(t,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:(typeof console<"u",!1)}isTrusted(t){if("url"in t&&t.url&&!t.protocol){var r=$5n(t.url);if(r==null)return!1;t.protocol=r}var n=typeof this.trust=="function"?this.trust(t):this.trust;return!!n}}class $w{constructor(t,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=r,this.cramped=n}sup(){return k0[P5n[this.id]]}sub(){return k0[M5n[this.id]]}fracNum(){return k0[D5n[this.id]]}fracDen(){return k0[O5n[this.id]]}cramp(){return k0[B5n[this.id]]}text(){return k0[F5n[this.id]]}isTight(){return this.size>=2}}var P3e=0,ere=1,l$=2,c1=3,qF=4,hp=5,c$=6,Qu=7,k0=[new $w(P3e,0,!1),new $w(ere,0,!0),new $w(l$,1,!1),new $w(c1,1,!0),new $w(qF,2,!1),new $w(hp,2,!0),new $w(c$,3,!1),new $w(Qu,3,!0)],P5n=[qF,hp,qF,hp,c$,Qu,c$,Qu],M5n=[hp,hp,hp,hp,Qu,Qu,Qu,Qu],D5n=[l$,c1,qF,hp,c$,Qu,c$,Qu],O5n=[c1,c1,hp,hp,Qu,Qu,Qu,Qu],B5n=[ere,ere,c1,c1,hp,hp,Qu,Qu],F5n=[P3e,ere,l$,c1,l$,c1,l$,c1],Xn={DISPLAY:k0[P3e],TEXT:k0[l$],SCRIPT:k0[qF],SCRIPTSCRIPT:k0[c$]},M3e=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function z5n(e){for(var t=0;t<M3e.length;t++)for(var r=M3e[t],n=0;n<r.blocks.length;n++){var i=r.blocks[n];if(e>=i[0]&&e<=i[1])return r.name}return null}var tre=[];M3e.forEach(e=>e.blocks.forEach(t=>tre.push(...t)));function XAt(e){for(var t=0;t<tre.length;t+=2)if(e>=tre[t]&&e<=tre[t+1])return!0;return!1}var Sl=e=>e+" "+e,u$=80,j5n=function(t,r){return"M95,"+(622+t+r)+`
1100
+ ${r}`}function I3e(e,t){return e.activeAgent===t.activeAgent&&e.webhookId===t.webhookId&&e.ssoToken===t.ssoToken&&e.ssoDomain===t.ssoDomain&&e.ssoCompany===t.ssoCompany}function G3n(e){const{activeAgent:t,webhookId:r="",ssoToken:n="",ssoDomain:i="",ssoCompany:a=""}=e,[s,o]=S.useState([]),l=S.useRef({activeAgent:t,webhookId:r,ssoToken:n,ssoDomain:i,ssoCompany:a});S.useEffect(()=>{l.current={activeAgent:t,webhookId:r,ssoToken:n,ssoDomain:i,ssoCompany:a},o([])},[t,r,n,i,a]);const u=S.useCallback(async()=>{if(!t)return;const d={activeAgent:t,webhookId:r,ssoToken:n,ssoDomain:i,ssoCompany:a};if(I3e(l.current,d))try{const h=await IAr({agent_id:t,limit:10,use_cache:!1});if(!I3e(l.current,d))return;if(h!=null&&h.data&&Array.isArray(h.data)){const f=h.data.map(p=>{const g=Array.isArray(p.actions)?p.actions||[]:[],m=p.ui_payload,v=m==null?void 0:m.actions,y=Array.isArray(v)?v:[],b=[...g,...y].map(C=>{const _=C;return{label:_.display_name||_.label||"执行",action_id:_.action_id,playbook_id:_.playbook_id,display_name:_.display_name,display_icon:_.display_icon,params:_.params,params_fields_map:_.params_fields_map,type:_.type,url:_.url,style:_.style,status:_.action_status||_.status||void 0,sort_order:_.sort_order,executed_job_id:_.executed_job_id,supports_batch:_.supports_batch===!0,batch_max_items:_.batch_max_items,batch_id:_.batch_id,outputs:_.outputs}}),w=p.outputs;return{type:p.widget_type||"daily_report",priority:p.priority||"medium",title:p.title||"每日战报",summary:p.summary||"",timestamp:p.created_at?W3n(new Date(p.created_at||"")):"",data:p.card_data||{},actions:b,id:p.inbox_id||"",agent_id:p.agent_id||"",read:!!p.is_read,ui_payload:w||m||{}}});if(f.length>0){const p=f.sort((g,m)=>{const v=g.timestamp?new Date(g.timestamp.replace(/\n/g," ")).getTime():0;return(m.timestamp?new Date(m.timestamp.replace(/\n/g," ")).getTime():0)-v});o(p)}else o([])}else o([])}catch(h){if(!I3e(l.current,d))return;throw o([]),h}},[t,r,n,i,a]);return{widgets:s,setWidgets:o,loadDailyReports:u}}function U3n(){const[e,t]=S.useState([]),[r,n]=S.useState(!1),[i,a]=S.useState(!1),[s,o]=S.useState(""),[l,u]=S.useState([]),[d,h]=S.useState(!1),[f,p]=S.useState(null),[g,m]=S.useState(!0),v=S.useRef(null),y=S.useCallback(async()=>{if(v.current)return v.current;const I=(async()=>{n(!0);try{const $=await NAr({page:1,page_size:20});return Array.isArray($==null?void 0:$.data)?(t($.data),a(!0),!0):(a(!1),!1)}catch{return a(!1),!1}finally{n(!1),v.current=null}})();return v.current=I,I},[]),x=S.useCallback(()=>i?Promise.resolve(!0):y(),[y,i]),b=S.useCallback(I=>{o(I),p({session_id:I,type:"dashboard_intent",intents:[],data:{}}),m(!1),(async(P={})=>{h(!0);try{const N=await NQe(I,{params:P});N.success&&N.data&&(p(N.data),N.data.input_params&&u(N.data.input_params))}catch{}finally{h(!1)}})()},[]),w=S.useCallback(I=>{if(!s)return;(async()=>{h(!0);try{const P=await NQe(s,{params:I});P.success&&P.data&&p(P.data)}catch{}finally{h(!1)}})()},[s]),C=S.useCallback(I=>{s===I&&(o(""),p(null),u([])),y()},[s,y]),_=S.useCallback(()=>{if(!s)return null;const I=e.find($=>$.playbook_id===s);return(I==null?void 0:I.name)||null},[s,e]),T=S.useCallback((I,$)=>{p(I),m($!==void 0?$:!0)},[]),k=S.useCallback(()=>{},[]),A=S.useCallback(()=>{o(""),p(null),u([])},[]);return{solidifiedPlaybooks:e,solidifiedPlaybooksLoading:r,solidifiedPlaybooksLoaded:i,activeSolidifiedPlaybook:s,setActiveSolidifiedPlaybook:o,solidifyInputParams:l,solidifyLoading:d,dashboardData:f,setDashboardData:p,dashboardShowSaveButton:g,setDashboardShowSaveButton:m,loadSolidifiedPlaybooks:y,ensureSolidifiedPlaybooksLoaded:x,handleSolidifiedPlaybookClick:b,handleSolidifyParamsSearch:w,handleSolidifiedPlaybookDelete:C,getCurrentSolidifiedPlaybookName:_,handleDashboardPreview:T,handleSolidifyComplete:k,clearDashboard:A}}function q3n(){const{allQuestions:e,setCurrentQuestion:t}=F_e();S.useEffect(()=>{if(e.length===0)return;const r=Math.floor(Math.random()*e.length);t(e[r]);const n=setInterval(()=>{const i=Math.floor(Math.random()*e.length);t(e[i])},1e4);return()=>{clearInterval(n)}},[e,t])}function BAt(e){const{activeAgent:t,onRecommendationsUpdate:r,...n}=e,i=S.useRef(null),a=rTe({activeAgent:t,...n,onMessagesUpdate:u=>{var d;return(d=i.current)==null?void 0:d.setMessages(u)},onRecommendationsUpdate:r}),s=Jvt({...n,activeAgent:t,executePlaybook:a.executePlaybook,isExecutingRef:a.executingRef});i.current=s;const o=S.useCallback(()=>{s.setMessages([])},[s.setMessages]),l=S.useMemo(()=>({sendMessage:a.sendMessage,executePlaybook:a.executePlaybook,respondToProposal:a.respondToProposal,stopCurrent:a.stopCurrent,retrigger:a.retrigger,abort:a.abort,clearMessages:o}),[a.abort,a.executePlaybook,a.respondToProposal,a.retrigger,a.sendMessage,a.stopCurrent,o]);return{...a,messageData:s,actions:l}}const Y3n=99;function K3n(e){return{id:e.agent_id||e.agent_code||"",agentId:e.agent_id,agentCode:e.agent_code,name:e.name||"未命名智能体",description:e.description||"",icon:Iw(e.icon),current:e.is_main===!0,packageBenefit:GQ(e)}}function $3e(e){const t=K3n(e);return{id:t.id,agentId:t.agentId,agentCode:t.agentCode,name:t.name,desc:t.description,icon:t.icon,current:t.current,packageBenefit:t.packageBenefit}}function FAt(e){return{...e,name:e.name||"未命名智能体"}}function zAt(e){const t=[];for(const r of e){Array.isArray(r.questions)&&t.push(...r.questions);const n=r.children;for(const i of n||[])Array.isArray(i.questions)&&t.push(...i.questions)}return t}function Zte(e,t){return t?e.id===t||e.agentId===t||e.agentCode===t:!1}function X3n({presetAgents:e}={}){const{setAllQuestions:t}=F_e(),[r,n]=S.useState(()=>e&&e.length>0?e.filter(m=>!m.hidden).map($3e):[]),[i,a]=S.useState(()=>e&&e.length>0?e.filter(m=>!m.hidden):[]),[s,o]=S.useState(0),[l,u]=S.useState(0),[d,h]=S.useState(!0),[f,p]=S.useState(null),g=S.useCallback(async()=>{var m;h(!0),p(null);try{if(e&&e.length>0){const w=e.filter(_=>!_.hidden);n(w.map($3e));const C=w.map(FAt);a(C),t(zAt(C)),o(w.length),u(w.length);return}const v=await Yq({page:1,page_size:Y3n}),y=v.data||[],x=y.filter(w=>!w.hidden);!x.some(w=>w.is_main)&&x.length>0&&(x[0]={...x[0],is_main:!0}),n(x.map($3e));const b=x.map(FAt);a(b),t(zAt(b)),o(typeof((m=v.meta)==null?void 0:m.total)=="number"?v.meta.total:x.length),u(y.length)}catch{p("智能体列表加载失败"),n([]),a([]),t([]),o(0),u(0)}finally{h(!1)}},[e,t]);return S.useEffect(()=>{g()},[g]),{agents:r,sourceAgents:i,total:s,hasMore:l<s,loading:d,error:f,reload:g}}function Z3n(e){const t=e||{};return{playbooks:tyt(t),playbookGroups:Array.isArray(t.playbook_groups)?t.playbook_groups:[],childAgents:Array.isArray(t.children)?t.children:[]}}function Q3n(e){return Array.isArray(e)?e.reduce((t,r)=>{const n=typeof(r==null?void 0:r.name)=="string"?r.name.trim():"";return n&&t.push({...r,name:n}),t},[]):[]}function J3n(e){var s,o,l,u,d,h,f,p;const t=e,r=(t==null?void 0:t.roles)??((s=t==null?void 0:t.data)==null?void 0:s.roles)??[];if(!Array.isArray(r))return{categories:[],scenes:[],totalCount:0};const n=[],i=[];let a=0;for(const g of r){const m=g.name||g.role_code||"";for(const v of g.goals||[]){const y=v.items||[],x=String(v.id);y.length>0&&n.push({key:x,name:v.name||"未命名分类",count:y.length});for(const b of y){const w=b.playbook_id||((o=b.playbook)==null?void 0:o.playbook_id);w&&i.push({key:`${x}-${w}`,title:b.title||b.name||((l=b.playbook)==null?void 0:l.name)||"未命名场景",description:b.subtitle||b.description||((u=b.playbook)==null?void 0:u.description)||"",sourceLabel:m,tags:Q3n(b.tags),playbookId:w,inputFields:b.input_fields||((d=b.playbook)==null?void 0:d.input_fields)||[],categoryKey:x,videoUrl:b.video_url||((h=b.playbook)==null?void 0:h.video_url)||void 0,videoDuration:b.video_duration||((f=b.playbook)==null?void 0:f.video_duration)||void 0,viewCount:b.view_count??((p=b.playbook)==null?void 0:p.view_count)})}a+=y.length}}return{categories:n,scenes:i,totalCount:a}}const e5n="默认场景";function jAt(e){return e.category_name||e.category||e.type||e5n}function t5n(e){const t=new Map;for(const r of e){const n=jAt(r);t.set(n,(t.get(n)??0)+1)}return Array.from(t,([r,n])=>({key:r,name:r,count:n}))}function r5n(e){return e.map(t=>{const r=jAt(t);return{key:`default:${t.playbook_id}`,title:t.name||"未命名场景",description:t.description||"",sourceLabel:r,tags:[],playbookId:t.playbook_id,inputFields:t.input_fields||[],categoryKey:r,videoUrl:t.video_url,videoDuration:t.video_duration,viewCount:t.view_count}})}function VAt(e){return e}function HAt(e){return{key:e.key,title:e.title,desc:e.description,reason:e.sourceLabel,tags:e.tags,playbook_id:e.playbookId,input_fields:e.inputFields,categoryKey:e.categoryKey,video_url:e.videoUrl,video_duration:e.videoDuration,view_count:e.viewCount}}function n5n(e){return t5n(e).map(VAt)}function i5n(e){return r5n(e).map(HAt)}function a5n(e){if(Array.isArray(e))return e;const t=e;return Array.isArray(t==null?void 0:t.user_playbooks)?t.user_playbooks:[]}function s5n(e){const t=e==="default"?"":e,[r,n]=S.useState([]),[i,a]=S.useState([]),[s,o]=S.useState([]),[l,u]=S.useState([]),[d,h]=S.useState(!1),[f,p]=S.useState([]),[g,m]=S.useState([]),[v,y]=S.useState(0),[x,b]=S.useState(!1),[w,C]=S.useState(!1),[_,T]=S.useState(null),[k,A]=S.useState(null),[I,$]=S.useState(null),P=S.useRef(0),N=S.useRef(0),R=S.useCallback(async()=>{const D=++P.current;if(!t){n([]),a([]),o([]),u([]),p([]),m([]),y(0),b(!1),h(!1),C(!0),N.current+=1;return}b(!0),C(!1),T(null),A(null),$(null),u([]),N.current+=1;const F=[(async()=>{try{const{data:B}=await Kq({agent_id:t});if(D!==P.current)return;const j=Z3n(B);n(j.playbooks),a(j.playbookGroups),o(j.childAgents)}catch{if(D!==P.current)return;T("场景加载失败"),n([]),a([]),o([])}finally{D===P.current&&C(!0)}})(),(async()=>{try{const B=await VQe({agent_id:t,role_id:null});if(D!==P.current)return;const j=J3n(B);p(j.categories),m(j.scenes),y(j.totalCount)}catch{if(D!==P.current)return;$("使用地图加载失败"),p([]),m([]),y(0)}})()];await Promise.allSettled(F),D===P.current&&b(!1)},[t]),L=S.useCallback(async()=>{const D=++N.current;if(!t){u([]);return}h(!0),A(null);try{const{data:F}=await AQe({agent_id:t});if(D!==N.current)return;u(a5n(F))}catch{if(D!==N.current)return;A("我的场景加载失败"),u([])}finally{D===N.current&&h(!1)}},[t]);S.useEffect(()=>(R(),()=>{P.current+=1}),[R]);const M=S.useMemo(()=>f.map(VAt),[f]),O=S.useMemo(()=>g.map(HAt),[g]);return{playbooks:r,playbookGroups:i,childAgents:s,userPlaybooks:l,userPlaybooksLoading:d,loadUserPlaybooks:L,playbooksLoaded:w,sceneCategories:f,scenes:g,sceneTotalCount:v,loading:x,detailError:_,userPlaybooksError:k,sceneMapError:I,reload:R,useMapCategories:M,useMapCards:O,useMapTotalCount:v,useMapError:I}}function WAt({presetAgents:e,initialAgentId:t}={}){const r=X3n({presetAgents:e}),[n,i]=S.useState(()=>{if(!t)return"";const h=e==null?void 0:e.find(f=>Zte({id:f.agent_id||f.agent_code||"",agentId:f.agent_id,agentCode:f.agent_code},t));return(h==null?void 0:h.agent_id)||(h==null?void 0:h.agent_code)||t}),a=S.useRef(null);S.useEffect(()=>{if(r.agents.length!==0){if(t&&a.current!==t){a.current=t;const f=r.agents.find(p=>Zte(p,t))||r.agents.find(p=>p.current)||r.agents[0];n!==f.id&&i(f.id);return}if(n!=="default"&&!r.agents.some(h=>h.id===n)){const h=r.agents.find(f=>f.current)||r.agents[0];i(h.id)}}},[r.agents,t,n]);const s=S.useCallback(h=>{i(h)},[]),o=s,l=S.useMemo(()=>r.agents.find(h=>h.id===n),[r.agents,n]),u=S.useMemo(()=>r.sourceAgents.find(h=>h.agent_id===n||h.agent_code===n),[r.sourceAgents,n]),d=s5n(n);return{...r,agentLoading:r.loading,...d,sceneLoading:d.loading,selectedAgentId:n,selectedAgent:l,sourceAgents:r.sourceAgents,sourceSelectedAgent:u,activeAgent:n,setActiveAgent:o,selectAgent:s}}const GAt={chat:{title:"对话",subtitle:""},plan:{title:"自动化",subtitle:"创建、管理并追踪自动化智能体的执行结果,支持定时触发与对内流转"},professional:{title:"专业智能体",subtitle:"深度分析与专业领域对话"},goals:{title:"目标追踪",subtitle:"跟踪关键业务指标和目标进展"},settings:{title:"通知配置",subtitle:"配置 Webhook 通知,实时接收系统重要事件"}},o5n=5*60*1e3,l5n=3;function c5n(e={}){const{showAside:t=!0,showLogout:r=!1,onLogout:n,presetAgents:i,webhookId:a,onReady:s,initialAgentId:o,initialPlaybookId:l,initialPlaybookParams:u}=e,d=localStorage.getItem("sso_token")||"",h=localStorage.getItem("sso_domain")||"maiduo",f=localStorage.getItem("sso_company")||"",g=`${Is()}/api/v1/oss/upload2`,m=S.useCallback(async ct=>{const{data:Dt}=await Yv({playbook_id:ct});return Dt},[]),v=S.useCallback(ct=>PAr({session_id:ct.session_id||"",name:ct.name,description:ct.description}),[]),y=S.useCallback(ct=>RQe({session_id:ct.session_id||"",user_hint:ct.user_hint||""}),[]),{activeAgent:x,setActiveAgent:b,sourceAgents:w,playbooks:C,userPlaybooks:_,userPlaybooksLoading:T,childAgents:k,agentLoading:A,sceneLoading:I,loadUserPlaybooks:$,playbooksLoaded:P}=WAt({presetAgents:i,initialAgentId:o}),N=A||I,[R,L]=S.useState(()=>!!o),[M,O]=S.useState(!1),[D,F]=S.useState(!1),[B,j]=S.useState([]),[H,z]=S.useState(0),W=S.useRef(!1),{executing:G,stopping:q,executingRef:Y,queueStatus:K,messageData:Z,actions:X}=BAt({activeAgent:x,webhookId:a,ssoToken:d,ssoDomain:h,ssoCompany:f,onRecommendationsUpdate:j}),{sendMessage:Q,executePlaybook:J,respondToProposal:re,stopCurrent:ne,retrigger:se,abort:ce,clearMessages:le}=X;S.useEffect(()=>{W.current&&!G&&z(ct=>ct+1),W.current=G},[G]);const{widgets:te,setWidgets:oe,loadDailyReports:xe}=G3n({activeAgent:x,webhookId:a,ssoToken:d,ssoDomain:h,ssoCompany:f}),pe=U3n();q3n();const[Ae,Te]=S.useState(()=>localStorage.getItem("wandox_sidebar_agent_mode")==="true"),Le=S.useCallback(()=>{Te(ct=>{const Dt=!ct;return localStorage.setItem("wandox_sidebar_agent_mode",String(Dt)),Dt})},[]),[Re,ue]=S.useState(!1),[de,he]=S.useState(!1),[ve,be]=S.useState(!1),[ee,me]=S.useState(!1),[ae,fe]=S.useState(null),[ie,$e]=S.useState(!1),[ge,Be]=S.useState(null),[Ne,Fe]=S.useState(""),[Oe,Xe]=S.useState(null),[He,ot]=S.useState("chat"),[Ce,it]=S.useState(null),we=S.useCallback(()=>{ue(!0),he(!1)},[]),Pe=S.useCallback(()=>{ue(!1),he(!1)},[]),[ke,De]=S.useState(""),[et,Ue]=S.useState(0),[Ke,Se]=S.useState(!1),[vt,ft]=S.useState(!1),[mt,Ye]=S.useState(!1),[st,Me]=S.useState(""),tt=S.useRef(null),Qe=S.useRef(!1),[Je,lt]=S.useState(null),[nt,yt]=S.useState(!1),bt=N||Z.loading,At=S.useCallback(ct=>{fe(()=>ct)},[]);S.useEffect(()=>{s&&s({showInspectionResults:ct=>{lt(ct||null),yt(!0)}})},[s]),S.useEffect(()=>{L(!!o),O(!1),F(!1)},[o,l,u]),S.useEffect(()=>{if(x)return j([]),()=>{Y.current&&ce()}},[x,a,d,h,f]),S.useEffect(()=>{if(He!=="professional"){Qe.current=!1;return}if(!x)return;Qe.current||(Z.loadMessagesAndDailyReport(),xe()),Qe.current=!1;let ct=0,Dt=null;return Dt=setInterval(async()=>{try{await xe(),ct=0}catch{ct++,ct>=l5n&&Dt&&(clearInterval(Dt),Dt=null)}},o5n),()=>{Dt&&clearInterval(Dt)}},[He,x,a,d,h,f]);const Pt=w.find(ct=>ct.is_main)??w[0],Mt=(Pt==null?void 0:Pt.questions)||[];S.useEffect(()=>{Ue(0),Se(!1)},[Pt==null?void 0:Pt.agent_id]),S.useEffect(()=>{if(Mt.length<=1||vt)return;let ct;const Dt=setInterval(()=>{Se(!0),ct=setTimeout(()=>{Ue(We=>(We+1)%Mt.length),Se(!1)},350)},3500);return()=>{clearInterval(Dt),clearTimeout(ct)}},[Mt.length,vt]),S.useEffect(()=>{if(tt.current&&x&&x!=="default"){const ct=tt.current;tt.current=null,Q(ct)}},[x,Q]),S.useEffect(()=>{if(!o||!R||!x||x==="default"||w.length===0)return;!!nTe(w,o)||L(!1)},[o,R,x,w]),S.useEffect(()=>{!o||l||M||!x||x==="default"||!w.find(Dt=>Oh(Dt,x)&&Oh(Dt,o))||(O(!0),ot("professional"),pe.clearDashboard(),L(!1))},[o,l,M,x,w,pe]),S.useEffect(()=>{var qn;if(!o||!l||D||!x||x==="default"||!P||!w.find(Na=>Oh(Na,x)&&Oh(Na,o)))return;const Dt=C.find(Na=>eyt(Na,l));if(!Dt){ot("professional"),kt.error(`指定的场景(${l})不存在,已切换到智能体界面`),F(!0),L(!1);return}F(!0),ot("professional"),Qe.current=!0,le(),pe.clearDashboard(),Xe(null),Fe("");const We=u||{},xr=Object.keys(We).length>0,at=(Dt.input_fields??[]).filter(Na=>{if(!Na.required)return!1;const xt=We[Na.name];return xt==null||xt===""});if((((qn=Dt.input_fields)==null?void 0:qn.length)??0)>0&&(!xr||at.length>0)){Xe(Dt),L(!1);return}J({message:Dt.name,playbook_id:l,playbook_params:We}),L(!1)},[o,l,D,x,P,w,C,u]);const fr=S.useCallback(ct=>{Zan(w,x,ct)||(Y.current&&(ce(),kt.info("已中止当前场景,切换智能体")),b(ct),Fe(""),Xe(null),pe.clearDashboard(),le(),oe([]))},[ce,x,w,le,Y,b,pe,oe]),Br=(ct,Dt)=>{const We=(Dt??ke).trim()||Mt[et%Mt.length]||"",xr=ct||(Pt==null?void 0:Pt.agent_id);!We||!xr||(De(""),Ye(!0),le(),x===xr?Q(We):(Qe.current=!0,tt.current=We,b(xr)))},jt=(ct,Dt)=>{pe.handleDashboardPreview(ct,Dt),ot("chat"),b("default")},rt=()=>{pe.handleSolidifyComplete(),ot("chat"),b("default")},Nt=ct=>{ot(ct),(ct==="goals"||ct==="settings"||ct==="plan"||ct==="chat")&&pe.clearDashboard()},qt=()=>{he(!1),me(!0),pe.ensureSolidifiedPlaybooksLoaded()},Sr=ct=>{me(!1),pe.handleSolidifiedPlaybookClick(ct),ot("chat"),b("default"),Fe(""),Xe(null)},Vt=()=>{var ct,Dt;if(pe.dashboardData)return E.jsx(sgt,{data:pe.dashboardData,showSaveButton:pe.dashboardShowSaveButton,onSaveSuccess:pe.loadSolidifiedPlaybooks,onSaveDashboard:v,onPreviewDashboard:y,title:pe.getCurrentSolidifiedPlaybookName()||void 0,customParamsForm:pe.solidifyInputParams.length>0?E.jsx(yan,{inputParams:pe.solidifyInputParams,onSearch:pe.handleSolidifyParamsSearch,loading:pe.solidifyLoading}):void 0,showGlobalFilter:pe.solidifyInputParams.length>0});switch(He){case"chat":return E.jsx(y_e.Provider,{value:{onExecutePlaybook:J,getPlaybookDetail:m,ossUploadUrl:g,ssoToken:d,ssoDomain:h,ssoCompany:f,onFillPlaybookParams:We=>{const xr={playbook_id:We.playbookId,name:We.playbookName,input_fields:We.inputFields,initial_params:We.initialParams,playbook_type:We.playbookType};Xe(xr),ot("professional")}},children:E.jsx(H3n,{agentLoading:N,mainAgentForHub:Pt,mainAgentQuestions:Mt,agents:w,hubChatOpen:mt,setHubChatOpen:Ye,hubChatInput:ke,setHubChatInput:De,hubScrollIdx:et,hubScrollFading:Ke,onHubChatSend:Br,onHubInputFocus:()=>ft(!0),onHubInputBlur:()=>ft(!1),messages:Z.messages,executing:G,hubInlineChatInput:st,setHubInlineChatInput:Me,onHubInlineSend:(We,xr,at)=>{Pt!=null&&Pt.agent_id&&(x!==Pt.agent_id&&b(Pt.agent_id),Q(We,xr,at))},onEnterProfessional:We=>{We&&b(We),Fe(""),Xe(null),pe.clearDashboard(),oe([]),ot("professional")},playbooks:C,executePlaybook:J,onRequestPlaybookParams:Xe,clearMessages:le,onAbort:ce,onRespondToProposal:re,ssoToken:d,ssoDomain:h,ssoCompany:f})});case"goals":return E.jsx($3r,{});case"settings":return E.jsx(Wvt,{});case"plan":return E.jsx(PAt,{embedded:!0,onHeaderChange:it,onCockpitEnter:we,onCockpitExit:Pe});case"professional":return E.jsxs(E.Fragment,{children:[E.jsx(Ran,{title:((ct=w.find(We=>Oh(We,x)))==null?void 0:ct.name)||"Wandox智能体",agentSwitcher:Ae?void 0:E.jsxs("div",{style:{display:"inline-flex",alignItems:"center",height:34,background:"#fff",border:"1px solid #e5e0f0",borderRadius:10,boxSizing:"border-box",overflow:"hidden"},children:[E.jsxs("div",{style:{display:"flex",alignItems:"center",padding:"0 0 0 8px"},children:[E.jsx("div",{style:{width:22,height:22,flexShrink:0},children:Iw((Dt=w.find(We=>Oh(We,x)))==null?void 0:Dt.icon)}),E.jsx(En,{value:x,onChange:We=>fr(We),options:w.map(We=>({value:We.agent_id,label:We.name})),variant:"borderless",suffixIcon:E.jsx(IA,{style:{color:"#9275ff",verticalAlign:"middle"}}),style:{fontWeight:600,fontSize:14,minWidth:100,color:"#4a3a6a"},popupMatchSelectWidth:!1})]}),E.jsx("button",{type:"button",onClick:Le,title:"切换为侧边栏选择",style:{display:"flex",alignItems:"center",justifyContent:"center",width:34,height:"100%",cursor:"pointer",color:"#b0a0c8",borderLeft:"1px solid #e5e0f0",transition:"all 0.15s",background:"none",border:"none",padding:0},onMouseEnter:We=>{We.currentTarget.style.color="#7c3aed",We.currentTarget.style.background="#f5f0ff"},onMouseLeave:We=>{We.currentTarget.style.color="#b0a0c8",We.currentTarget.style.background="transparent"},children:E.jsx(QXe,{style:{fontSize:13}})})]}),count:te.length,widgets:te,activeAgent:x,agents:w,childAgents:k,ssoDomain:h,ssoToken:d,ssoCompany:f,onWidgetsUpdate:oe,onExecuteComplete:()=>{xe()},externalRobotName:Je,externalShowPanel:nt}),E.jsx(lvt,{messages:Z.messages,playbooks:C,messagesTotal:Z.messagesTotal,loadMoreMessages:Z.loadMoreMessages,loading:bt,executing:G,ssoToken:d,ssoDomain:h,ssoCompany:f,activeAgent:x,webhookId:a,onExecutePlaybook:J,onSolidifySuccess:pe.loadSolidifiedPlaybooks,onDashboardPreview:jt,onSolidifyComplete:rt,onFillPlaybookParams:We=>{const xr={playbook_id:We.playbookId,name:We.playbookName,input_fields:We.inputFields,initial_params:We.initialParams,playbook_type:We.playbookType};Xe(xr)},onActionClick:We=>{We.action_id?(be(!0),ae&&ae({action_id:We.action_id,action_params:We.params})):We.playbook_id&&J({message:We.display_name||"执行",playbook_id:We.playbook_id,...We.params?{playbook_params:We.params}:{}})},onExecuteComplete:()=>{xe()},onRespondToProposal:re,onRetrigger:se}),E.jsxs("div",{className:"chat-input-area",children:[E.jsx($vt,{playbooks:C,playbookLoading:N,onPlaybookClick:J,onSelectPlaybook:We=>{Xe(We)},recommendations:B,userPlaybooks:_,userPlaybooksLoading:T,onLoadUserPlaybooks:$,agentId:q5(w.find(We=>Oh(We,x)))||x,recentRefreshKey:H}),E.jsx(jQ,{executing:G,stopping:q,onStop:ne,onSend:Q,playbooks:C,recommendations:B,value:Ne,onValueChange:Fe,onRequestPlaybookParams:Xe,ssoToken:d,ssoDomain:h,ssoCompany:f})]})]});default:return null}},$t=He==="plan"?Ce??GAt.plan:GAt[He],Lt=(He==="plan"||!pe.dashboardData)&&He!=="professional"&&He!=="chat";return E.jsx(v3r,{children:E.jsxs(ZEn,{children:[E.jsx("div",{className:`wandox-aside-overlay ${de?"wandox-aside-overlay--visible":""}`,onClick:()=>he(!1),onKeyDown:ct=>ct.key==="Escape"&&he(!1),role:"button",tabIndex:0,"aria-label":"关闭侧边栏"}),t&&E.jsx(XEn,{active:x,agents:w,onChange:ct=>{he(!1),fr(ct)},collapsed:Re,onToggle:()=>ue(ct=>!ct),className:de?"wandox-aside--mobile-open":"",activeView:He,onViewChange:Nt,onToolboxOpen:qt,showLogout:r,onLogout:n,sidebarAgentMode:Ae,onToggleSidebarMode:Le,onAgentSelect:ct=>fr(ct)}),t&&Re&&E.jsx("button",{type:"button",className:"wandox-aside-floating-open",onClick:()=>ue(!1),"aria-label":"展开侧边栏",title:"展开侧边栏",children:E.jsx(QXe,{})}),E.jsxs("div",{className:"wandox-workspace",children:[E.jsxs("div",{className:"wandox-mobile-header",children:[E.jsx("button",{type:"button",className:"wandox-mobile-menu-btn",onClick:()=>{ue(!1),he(!0)},children:"☰"}),E.jsx("h1",{className:"wandox-mobile-title",children:"Wandox"}),r&&n?E.jsx("button",{type:"button",onClick:n,style:{width:40,height:40,background:"transparent",border:"none",cursor:"pointer"},children:"退出"}):E.jsx("div",{style:{width:40}})]}),Lt&&E.jsxs("div",{className:"wandox-workspace-topbar",children:[E.jsxs("div",{className:"wandox-workspace-topbar-info",children:[E.jsx("h1",{className:"wandox-workspace-topbar-title",children:($t==null?void 0:$t.title)??"您好,欢迎使用 AI 智能体"}),E.jsx("p",{className:"wandox-workspace-topbar-subtitle",children:($t==null?void 0:$t.subtitle)??""})]}),E.jsx("div",{className:"wandox-workspace-topbar-actions",children:He==="plan"?Ce==null?void 0:Ce.actions:null})]}),E.jsx("div",{className:`wandox-workspace-container${He==="plan"?" wandox-workspace-container--automation":""}`,children:Vt()})]}),E.jsx(ban,{open:ee,loading:pe.solidifiedPlaybooksLoading,playbooks:pe.solidifiedPlaybooks,activePlaybookId:pe.activeSolidifiedPlaybook,onClose:()=>me(!1),onPlaybookClick:Sr,onPlaybookDelete:pe.handleSolidifiedPlaybookDelete}),E.jsx(z0t,{open:ve,ssoToken:d,ssoDomain:h,ssoCompany:f,onClose:()=>be(!1),onExecuteAction:At,onExecuteComplete:()=>{setTimeout(()=>{xe()},1e3)}}),E.jsx(P3n,{open:ie,actionId:(ge==null?void 0:ge.action_id)||"",actionName:(ge==null?void 0:ge.display_name)||"",defaultParams:ge==null?void 0:ge.params,onCancel:()=>{$e(!1),Be(null)},onExecute:ct=>{$e(!1),be(!0),ae&&ge&&ae({action_id:ge.action_id,action_params:ct}),Be(null)}}),E.jsx(man,{open:!!Oe,playbook:Oe,onClose:()=>Xe(null),onSubmit:(ct,Dt)=>{Xe(null),J({message:ct.name,playbook_id:ct.playbook_id,playbook_params:Dt})}}),R&&E.jsx(Gvt,{}),E.jsx(L3n,{queueStatus:K})]})})}const u5n=Object.freeze(Object.defineProperty({__proto__:null,default:c5n},Symbol.toStringTag,{value:"Module"})),R3e="__all__",UAt="__my__",N3e="__library_all__",d5n="__library__:",h5n=[{key:"all",label:"全部场景"},{key:"my",label:"我的场景"},{key:"map",label:"使用地图"}];function f5n(e){return e==="map"?"搜索当前地图下的场景":e==="my"?"搜索我的场景":"搜索全部场景"}function p5n({open:e,source:t,categories:r,categoryKey:n,search:i,cards:a,executing:s,loadingPlaybookId:o,onClose:l,onSourceChange:u,onCategoryChange:d,onSearchChange:h,onSelectScene:f}){return E.jsx(OS,{open:e,onClose:l,placement:"bottom",height:"min(82vh, 780px)",destroyOnClose:!1,styles:{body:{padding:0,background:"var(--wc-bg)"},header:{display:"none"}},getContainer:!1,title:null,closeIcon:null,push:!1,children:E.jsxs("div",{className:"wandox-console-chat__drawer",children:[E.jsxs("header",{className:"wandox-console-chat__drawer-top",children:[E.jsx("div",{className:"wandox-console-chat__drawer-title",children:E.jsx("nav",{className:"wandox-console-chat__drawer-tabs","aria-label":"场景来源",children:h5n.map(p=>E.jsx("button",{type:"button",className:t===p.key?"is-active":"",onClick:()=>u(p.key),children:p.label},p.key))})}),E.jsx("button",{type:"button",className:"wandox-console-chat__drawer-close",onClick:l,"aria-label":"关闭",children:E.jsx(us,{})})]}),E.jsxs("div",{className:"wandox-console-chat__drawer-middle",children:[t!=="my"&&E.jsxs("aside",{className:"wandox-console-chat__drawer-cats",children:[E.jsx("div",{className:"wandox-console-chat__drawer-catslabel",children:"场景分类"}),r.map(p=>{const g=p.key===n;return E.jsxs("button",{type:"button",className:`wandox-console-chat__drawer-cat${g?" wandox-console-chat__drawer-cat--active":""}`,onClick:()=>d(p.key),children:[E.jsx("span",{className:"wandox-console-chat__drawer-cat-name",children:p.name}),E.jsx("span",{className:"wandox-console-chat__drawer-cat-count",children:p.count})]},p.key)})]}),E.jsxs("div",{className:"wandox-console-chat__drawer-body",children:[E.jsx("div",{className:"wandox-console-chat__drawer-toolbar",children:E.jsx(zr,{allowClear:!0,prefix:E.jsx(Up,{}),placeholder:f5n(t),value:i,onChange:p=>h(p.target.value)})}),a.length===0?E.jsx("div",{className:"wandox-console-chat__drawer-empty",children:i?"没有匹配的场景":"暂无可用场景"}):E.jsx("div",{className:"wandox-console-scenes",children:a.map(p=>{const g=o===p.playbook_id;return E.jsx("button",{type:"button",className:"wandox-console-scene",disabled:s||!!o,"aria-busy":g,onClick:()=>void f(p),children:E.jsxs("div",{className:"wandox-console-scene__body",children:[E.jsx("strong",{title:p.title,children:p.title}),p.desc&&E.jsx("span",{className:"wandox-console-scene__desc",title:p.desc,children:p.desc}),g&&E.jsx("span",{className:"wandox-console-scene__loading",children:"正在读取场景..."})]})},p.key)})})]})]})]})})}const g5n=e=>{const{onError:t}=e;t==null||t(new Error("该场景暂不支持文件上传"))};function qAt({field:e,value:t,uploading:r,fileNameMap:n,getOptionState:i,onChange:a,onUpload:s}){const o=z5(e.type),l=s??((u,d)=>g5n);return E.jsxs("div",{className:"wandox-console-field",children:[E.jsxs("label",{htmlFor:`wc-param-${e.name}`,children:[E.jsx("span",{className:"wandox-console-field__label-text",children:e.label||e.name}),e.description||e.hint?E.jsx(ei,{title:e.description||e.hint,children:E.jsx(FS,{"aria-label":`${e.label||e.name}说明`})}):null,e.required&&E.jsx("span",{className:"wandox-console-field__required",children:"必填"}),o&&E.jsx("span",{className:"wandox-console-field__required",children:"多值"})]}),E.jsx(WQ,{field:e,value:t,uploading:r,fileNameMap:n,getOptionState:i,onChange:a,onUpload:l,onDownloadTemplate:u=>window.open(u.path,"_blank","noopener,noreferrer")})]})}function m5n(e){if(Array.isArray(e))return e;const t=e;return Array.isArray(t==null?void 0:t.user_playbooks)?t.user_playbooks:[]}function v5n({agentId:e,agentName:t,playbookId:r,playbookParams:n,initialMessage:i,initialAttachments:a,useMapCards:s=[],useMapCategories:o=[],playbooks:l=[],userPlaybooks:u=[],agents:d=[],onChangeAgent:h,onBack:f,onSelectScene:p,onReady:g}){const m=localStorage.getItem("sso_token")||"",v=localStorage.getItem("sso_domain")||"maiduo",y=localStorage.getItem("sso_company")||"",x=S.useRef(null),b=S.useRef(!1),[w,C]=S.useState(!1),[_,T]=S.useState(""),[k,A]=S.useState(""),[I,$]=S.useState("map"),[P,N]=S.useState(R3e),[R,L]=S.useState(null),M=S.useRef(null);S.useEffect(()=>{if(!R||w)return;const xt=setTimeout(()=>{var Wt;(Wt=M.current)==null||Wt.focus()},120);return()=>clearTimeout(xt)},[R,w]);const[O,D]=S.useState([]),[F,B]=S.useState({}),j=j5(O,F,B),H=S.useMemo(()=>Ry(O,F).filter(xt=>xt.required&&tp(F[xt.name])),[O,F]),[z,W]=S.useState("chat"),[G,q]=S.useState([]),[Y,K]=S.useState(null),[Z,X]=S.useState("results"),[Q,J]=S.useState(!1),[re,ne]=S.useState([]);S.useEffect(()=>{g==null||g({showInspectionResults:xt=>{W("robot"),X("results"),K(xt||null)}})},[g]);const[se,ce]=S.useState([]),[le,te]=S.useState(!1),[oe,xe]=S.useState(void 0),[pe,Ae]=S.useState([]),[Te,Le]=S.useState(""),[Re,ue]=S.useState("map"),[de,he]=S.useState(void 0),ve=S.useRef(0),be=S.useRef(0),[ee,me]=S.useState(BQ),[ae,fe]=S.useState({}),[ie,$e]=S.useState(()=>new Set),ge=S.useCallback((xt,Wt,Ot)=>({key:`${Wt}-${xt.playbook_id}`,title:xt.name||"未命名场景",desc:xt.description||"",reason:Ot,tags:[],playbook_id:xt.playbook_id,input_fields:xt.input_fields||[],categoryKey:Wt,video_url:xt.video_url,video_duration:xt.video_duration,view_count:xt.view_count}),[]),Be=S.useMemo(()=>{const xt=u.map(Zr=>ge(Zr,UAt,"我的场景")),Wt=new Map;for(const Zr of l){const oi=Zr.category_name||Zr.category||Zr.type||"默认场景",Li=`${d5n}${oi}`,$c=Wt.get(Li)||[];$c.push(ge(Zr,Li,oi)),Wt.set(Li,$c)}const Ot=Array.from(Wt.values()).flat(),Zt=[{key:N3e,name:"全部场景",count:Ot.length,cards:Ot},...Array.from(Wt,([Zr,oi])=>{var Li;return{key:Zr,name:((Li=oi[0])==null?void 0:Li.reason)||"默认场景",count:oi.length,cards:oi}})],Lr=[{key:R3e,name:"全部场景",count:s.length,cards:s},...o.map(Zr=>({key:Zr.key,name:Zr.name,count:Zr.count,cards:s.filter(oi=>oi.categoryKey===Zr.key)}))];return{allCategories:Zt,mapCategories:Lr,myCards:xt}},[t,l,ge,s,o,u]),Ne=S.useMemo(()=>I==="all"?Be.allCategories:I==="map"?Be.mapCategories:[],[Be,I]),Fe=S.useMemo(()=>s.map(xt=>({category:null,category_name:xt.reason,description:xt.desc,domain:"",id:0,name:xt.title,playbook_id:xt.playbook_id,scope:"usemap",status:"available",sub_category:null,tags:xt.tags.map(Wt=>Wt.name),input_fields:xt.input_fields,video_url:xt.video_url,video_duration:xt.video_duration,view_count:xt.view_count,type:"",version:""})),[s]),Oe=S.useMemo(()=>{const xt=new Map;for(const Wt of[...l,...u,...Fe])Wt.playbook_id&&xt.set(Wt.playbook_id,Wt);return Array.from(xt.values())},[l,u,Fe]),Xe=S.useMemo(()=>{const xt=new Map;for(const Wt of l){const Ot=Wt.category_name||Wt.category||Wt.type||"默认场景",Zt=xt.get(Ot)||[];Zt.push(Wt),xt.set(Ot,Zt)}return[{key:"__my__",label:"我的场景",playbooks:[]},...Array.from(xt,([Wt,Ot])=>({key:`all:${Wt}`,label:Wt,playbooks:Ot}))]},[l]),He=S.useMemo(()=>{const xt=new Map(Fe.map(Wt=>[Wt.playbook_id,Wt]));return o.map(Wt=>({key:`map:${Wt.key}`,label:Wt.name,playbooks:s.filter(Ot=>Ot.categoryKey===Wt.key).map(Ot=>xt.get(Ot.playbook_id)).filter(Ot=>!!Ot)}))},[s,o,Fe]),ot=Re==="map"?He:Xe,Ce=S.useMemo(()=>{var Ot;const xt=k.trim().toLowerCase(),Wt=I==="my"?Be.myCards:((Ot=Ne.find(Zt=>Zt.key===P))==null?void 0:Ot.cards)||[];return xt?Wt.filter(Zt=>Zt.title.toLowerCase().includes(xt)||Zt.desc.toLowerCase().includes(xt)):Wt},[Ne,P,Be.myCards,I,k]),it=S.useCallback(xt=>{const Wt=Array.isArray(xt)?xt:[];ce(Wt),te(Wt.length>0)},[]),we=S.useMemo(()=>d.find(xt=>xt.id===e),[d,e]),{messageData:Pe,executing:ke,stopping:De,actions:et}=BAt({activeAgent:e,ssoToken:m,ssoDomain:v,ssoCompany:y,onRecommendationsUpdate:it}),{sendMessage:Ue,executePlaybook:Ke,respondToProposal:Se,stopCurrent:vt,retrigger:ft}=et,{messages:mt,messagesTotal:Ye,loading:st,loadMessages:Me,loadMoreMessages:tt}=Pe,Qe=S.useMemo(()=>{for(let xt=mt.length-1;xt>=0;xt--)if(mt[xt].role==="assistant")return mt[xt].id},[mt]),Je=S.useCallback(async()=>{if(!e||!m){Ae([]);return}try{const xt=await LQe({agent_id:e,limit:8});Ae(Array.isArray(xt.data)?xt.data:[])}catch{}},[e,m]);S.useEffect(()=>{Je()},[Je]);const lt=S.useCallback(async xt=>{await Ke(xt),Je()},[Ke,Je]),nt=S.useCallback(async xt=>{const Wt=String(xt.playbook_id||"").trim();if(!Wt)throw new Error("场景缺少 playbook_id");const{data:Ot}=await Yv({playbook_id:Wt});return zQ(xt,Ot)},[]);S.useEffect(()=>{b.current||(b.current=!0,(async()=>{if(await Me(),r){const xt=(i==null?void 0:i.trim())||"执行场景";lt({message:xt,playbook_id:r,playbook_params:n||{}})}else i!=null&&i.trim()&&Ue(i.trim(),void 0,a)})())},[r,i,a,n,lt,Me,Ue]),S.useEffect(()=>{if(!e)return;let xt=!1;return(async()=>{try{const{data:Wt}=await Kq({agent_id:e});if(xt)return;const Ot=(Wt==null?void 0:Wt.children)||[];q(Ot),K(null)}catch{q([])}})(),()=>{xt=!0}},[e]),S.useEffect(()=>{Qe&&Qe!==oe&&xe(Qe)},[Qe,oe]),S.useEffect(()=>{if(z!=="robot"||Z!=="history"||!Y){ne([]);return}const xt=G.find(Ot=>Ot.name===Y);if(!xt)return;let Wt=!1;return J(!0),(async()=>{try{const Ot=await IQe({agent_id:xt.agent_id,limit:50});if(Wt)return;const Lr=(Array.isArray(Ot==null?void 0:Ot.data)?Ot.data:[]).map((Zr,oi)=>({id:Zr.id||Zr.execute_id||`record_${oi}`,action_name:Zr.action_name||Zr.display_name||"未知动作",status:Zr.status||"pending",created_at:Zr.created_at||"",completed_at:Zr.completed_at,output_data:Zr.output_data,error:Zr.error}));ne(Lr)}catch{ne([])}finally{Wt||J(!1)}})(),()=>{Wt=!0}},[z,Z,Y,G]);const yt=S.useCallback((xt,Wt,Ot)=>{if(te(!1),Wt){lt({message:xt,playbook_id:Wt});return}Ue(xt,void 0,Ot)},[lt,Ue]),bt=S.useCallback(xt=>{$(xt),N(xt==="all"?N3e:xt==="map"?R3e:UAt),A(""),L(null),D([]),B({})},[]),At=S.useCallback(()=>{$("all"),N(N3e),A(""),L(null),D([]),B({}),C(!0)},[]),Pt=S.useCallback(()=>{C(!1),L(null),D([]),B({})},[]),Mt=S.useCallback((xt,Wt={})=>{L({key:xt.playbook_id,playbook_id:xt.playbook_id,title:xt.name,desc:xt.description??"",reason:"",tags:[],categoryKey:"",input_fields:xt.input_fields||[]});const Ot=G9(xt.input_fields||[]);D(Ot),B(nw(Ot,Wt))},[]),fr=S.useCallback(async xt=>{var Ot;if(ke||_)return;const Wt=String(xt.playbook_id||"").trim();if(!Wt){kt.error("场景缺少 playbook_id");return}T(Wt);try{const Zt={category:null,category_name:xt.reason||void 0,description:xt.desc,domain:"",id:0,name:xt.title,playbook_id:Wt,scope:"",status:"available",sub_category:null,tags:xt.tags.map(oi=>oi.name),type:"",version:"",input_fields:xt.input_fields,video_url:xt.video_url,video_duration:xt.video_duration,view_count:xt.view_count},{data:Lr}=await Yv({playbook_id:Wt});if(!Lr||typeof Lr!="object"||Array.isArray(Lr))throw new Error("场景详情为空");const Zr=zQ(Zt,Lr);if(C(!1),(Ot=Zr.input_fields)!=null&&Ot.length){Mt(Zr);return}yt(Zr.name,Zr.playbook_id),p==null||p(xt)}catch(Zt){const Lr=Zt instanceof Error?Zt.message:"场景加载失败";kt.error(Lr)}finally{T("")}},[ke,Mt,yt,p,_]),Br=S.useCallback(async xt=>{if(!ke){if(te(!1),xt.input_fields&&xt.input_fields.length>0){Mt(xt);return}try{await lt({message:xt.name,playbook_id:xt.playbook_id})}catch(Wt){const Ot=Wt instanceof Error?Wt.message:"执行失败";kt.error(Ot)}}},[ke,lt,Mt]),jt=S.useCallback(async xt=>{var Ot;if(ke||Te)return;const Wt=String(xt.playbook_id||"").trim();if(Wt){Le(Wt),te(!1);try{const Zt=Min(xt),Lr=await nt(xt);if((Ot=Lr.input_fields)!=null&&Ot.length){Mt(Lr,Zt);return}await lt({message:Lr.name,playbook_id:Lr.playbook_id})}catch(Zt){const Lr=Zt instanceof Error?Zt.message:"场景参数加载失败";kt.error(Lr)}finally{Le("")}}},[ke,lt,Mt,nt,Te]),rt=S.useCallback(async()=>{if(!R||ke)return;const Wt=Ry(O,F).filter(Lr=>Lr.required&&tp(F[Lr.name]));if(Wt.length>0){kt.warning(`请先填写 ${Wt.length} 项必填参数`);return}C(!1),te(!1);const Ot=R,Zt=F;L(null),D([]),B({});try{const Lr=Ot.title||(i==null?void 0:i.trim())||"执行场景";await lt({message:Lr,playbook_id:Ot.playbook_id,playbook_params:Zt}),p==null||p(Ot)}catch(Lr){const Zr=Lr instanceof Error?Lr.message:"执行失败";kt.error(Zr)}},[R,O,F,ke,lt,i,p]),Nt=S.useCallback(xt=>{be.current+=1,he({requestId:++ve.current,playbooks:xt})},[]),qt=S.useCallback(()=>{const xt=++be.current;he({requestId:++ve.current,playbooks:[],loading:!0}),(async()=>{await new Promise(Wt=>{window.requestAnimationFrame(()=>Wt())});try{const{data:Wt}=await AQe({agent_id:e});if(xt!==be.current)return;he({requestId:++ve.current,playbooks:m5n(Wt)})}catch{if(xt!==be.current)return;kt.error("我的场景加载失败"),he({requestId:++ve.current,playbooks:[]})}})()},[e]),Sr=S.useCallback(xt=>{he(Wt=>(Wt==null?void 0:Wt.requestId)===xt?void 0:Wt)},[]),Vt=E.jsxs("div",{className:"wandox-console-chat__scene-quick",children:[E.jsx(jv,{menu:{selectedKeys:[Re],items:[{key:"all",label:"全部场景"},{key:"map",label:"使用地图"}],onClick:({key:xt})=>{be.current+=1,ue(xt)}},trigger:["click"],placement:"topLeft",children:E.jsxs("button",{type:"button",className:"wandox-console-chat__scene-source",disabled:ke,children:[E.jsx("span",{children:Re==="map"?"使用地图":"全部场景"}),E.jsx("svg",{className:"wandox-console-chat__scene-source-arrow",width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",focusable:"false",children:E.jsx("path",{d:"M8.413 0.963a2 2 0 0 1 2.738.712l4.872 8.301a4 4 0 0 1 0 4.049l-4.872 8.3a2 2 0 1 1-3.45-2.025L12.574 12 7.701 3.7A2 2 0 0 1 8.413.963Z"})})]})}),E.jsx("span",{className:"wandox-console-chat__scene-separator","aria-hidden":!0,children:"|"}),E.jsx("div",{className:"wandox-console-chat__scene-categories",children:ot.map(xt=>E.jsx("button",{type:"button",className:"wandox-console-chat__choose-scene",disabled:ke,onClick:()=>xt.key==="__my__"?qt():Nt(xt.playbooks),children:xt.label},xt.key))})]}),$t=S.useCallback(async xt=>{var Zr;const Wt=(Zr=xt.meta_content)!=null&&Zr.playbook_id?"数据报表":"对话内容",Ot=new Date().toISOString().slice(0,10);if(D_e(xt)){const oi=nvt(xt);if(!oi){kt.warning("没有可导出的表格数据");return}const Li=oi.fields.map(co=>co.label).join(","),$c=oi.rows.map(co=>oi.fields.map(yn=>ivt(co[yn.name])).join(",")),nm=`\uFEFF${[Li,...$c].join(`
1101
+ `)}`;avt(new Blob([nm],{type:"text/csv;charset=utf-8;"}),`${Wt}_${Ot}.csv`);return}const Zt=document.querySelector(`[data-message-id="${xt.message_id||xt.id}"] .wandox-message-content`);if(!Zt){kt.warning("无法定位消息内容");return}const Lr=window.open("","_blank");if(!Lr){kt.warning("请允许弹出窗口");return}Lr.document.write(`<!DOCTYPE html><html><head><meta charset="utf-8"><title>${Wt}_${Ot}</title><style>body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding:20px;color:#333}table{border-collapse:collapse;width:100%}th,td{border:1px solid #d9d9d9;padding:6px 8px;font-size:13px;text-align:left}th{background:#fafafa}img{max-width:100%}pre{white-space:pre-wrap;word-break:break-all;font-size:12px;background:#f5f5f5;padding:12px;border-radius:4px}button,.ant-btn,.ant-tooltip-open{display:none!important}</style></head><body>${Zt.innerHTML}</body></html>`),Lr.document.close(),Lr.onload=()=>{Lr.print(),Lr.close()}},[]),Lt=S.useCallback(xt=>{var Lr,Zr,oi;const Wt=mt.find(Li=>Li.message_id===xt||Li.id===xt),Ot=M_e(Wt);if(!Ot){kt.warning("缺少场景 ID,无法配置定时触发");return}const Zt=((Zr=(Lr=Wt==null?void 0:Wt.actions)==null?void 0:Lr.find(Li=>Li.playbook_id===Ot))==null?void 0:Zr.display_name)||((oi=Wt==null?void 0:Wt.meta_content)==null?void 0:oi.playbook_name)||Ot;me({visible:!0,messageId:xt,agentId:e,playbookId:Ot,playbookName:Zt})},[e,mt]),ct=S.useCallback(()=>{me(BQ)},[]),Dt=S.useCallback(xt=>{const Wt=xt.message_id;return Wt&&Object.prototype.hasOwnProperty.call(ae,Wt)?ae[Wt]:j0t(xt)},[ae]),We=S.useCallback(async(xt,Wt,Ot)=>{var oi;const Zt=xt.message_id;if(!Zt||ie.has(Zt))return!1;const Lr=Dt(xt),Zr=V0t(Lr,Wt);fe(Li=>({...Li,[Zt]:Zr})),$e(Li=>new Set(Li).add(Zt));try{const Li=await kQe({domain:v},{message_id:Zt,rating:Zr,tags:(oi=Ot==null?void 0:Ot.tags)!=null&&oi.length?Ot.tags:void 0,text:(Ot==null?void 0:Ot.text)||void 0});if((Li==null?void 0:Li.success)===!1)throw new Error(Li.message||"反馈提交失败");return!0}catch(Li){return fe($c=>({...$c,[Zt]:Lr})),kt.error(Li instanceof Error?Li.message:"反馈提交失败,请稍后重试"),!1}finally{$e(Li=>{const $c=new Set(Li);return $c.delete(Zt),$c})}},[ie,Dt,v]),xr=S.useCallback(async xt=>{te(!1);try{await ft(xt)}catch(Wt){const Ot=Wt instanceof Error?Wt.message:"重新生成失败";kt.error(Ot)}},[ft]),at=S.useCallback(()=>{te(xt=>!xt)},[]),qn=S.useCallback((xt,Wt)=>{if(xt.role!=="assistant"||xt.execution_status==="executing")return null;const Zt=Wt&&xt.id===oe&&se.length>0,Lr=le?"隐藏推荐":Zt?`显示推荐(${se.length})`:"推荐";return E.jsxs(E.Fragment,{children:[E.jsx(ovt,{msg:xt,domain:v,onExportMessage:$t,exportIcon:"copy",showSolidify:!1,onOpenScheduleDialog:Lt,onRetrigger:xr,feedbackRating:Dt(xt),feedbackPending:!!xt.message_id&&ie.has(xt.message_id),onFeedback:We,extraActions:Zt?E.jsx(ei,{title:Lr,children:E.jsxs("button",{type:"button",className:`wandox-console-chat__toolbar-toggle${le?" is-active":""}`,"aria-label":Lr,"aria-expanded":le,onClick:at,children:[E.jsx(Ckr,{}),E.jsx("span",{className:"wandox-console-chat__toolbar-toggle-count",children:se.length})]})}):null}),Zt&&le&&E.jsx("ul",{className:"wandox-console-chat__recommendations","aria-label":"推荐场景",children:se.map((Zr,oi)=>E.jsx("li",{className:"wandox-console-chat__recommendations-item",children:E.jsxs("button",{type:"button",className:"wandox-console-chat__recommendations-pill",disabled:ke,onClick:()=>{Br(Zr)},title:Zr.description||Zr.name,children:[E.jsx("span",{className:"wandox-console-chat__recommendations-pill-label",children:Zr.name}),E.jsx("span",{className:"wandox-console-chat__recommendations-pill-arrow",children:E.jsx(pq,{})})]})},`${Zr.playbook_id||Zr.name}-${oi}`))})]})},[ke,ie,Dt,Br,$t,We,Lt,xr,se,oe,le,v,at]),Na=S.useMemo(()=>E.jsxs("div",{className:"wandox-console-chat__body",children:[E.jsx(P_e,{messages:mt,executing:ke,ssoToken:m,ssoDomain:v,ssoCompany:y,onExecutePlaybook:lt,onRespondToProposal:Se,containerRef:x,messagesTotal:Ye,loadMoreMessages:tt,loading:st,initialLoadingContent:E.jsx(svt,{}),conversationKey:e,messageToolbar:qn}),E.jsx(O_e,{messages:mt,scrollContainerRef:x,mode:"deepseek"})]}),[e,lt,ke,tt,mt,st,Ye,qn,Se,y,v,m]);return E.jsxs("div",{className:"wandox-root wandox-console-chat",children:[E.jsxs("header",{className:"wandox-console-chat__top",children:[E.jsxs("button",{type:"button",className:"wandox-console-chat__back",onClick:f,children:[E.jsx(WS,{}),E.jsx("span",{children:"返回"})]}),E.jsx("div",{className:"wandox-console-chat__agent-selector",children:E.jsx(jv,{menu:{items:d.map(xt=>({key:xt.id,disabled:xt.id===e,label:E.jsxs("span",{className:"wandox-console-agent-menu-item",children:[E.jsx("span",{className:"wandox-console-agent-menu-item__icon",children:xt.icon}),E.jsx("span",{className:"wandox-console-agent-menu-item__name",children:xt.name}),xt.id===e&&E.jsx(ym,{className:"wandox-console-agent-menu-item__check"})]})})),onClick:({key:xt})=>h==null?void 0:h(xt)},trigger:["click"],placement:"bottomLeft",children:E.jsxs("button",{type:"button",className:"wandox-console-chat__title","aria-label":"切换智能体",title:"切换智能体",children:[(we==null?void 0:we.icon)&&E.jsx("span",{className:"wandox-console-chat__title-icon",children:we.icon}),E.jsx("span",{className:"wandox-console-chat__title-name",children:t||(we==null?void 0:we.name)||"智能体"}),E.jsx(Q4,{className:"wandox-console-chat__title-arrow"})]})})}),E.jsxs("button",{type:"button",className:"wandox-console-chat__all-scenes",disabled:ke,onClick:At,children:[E.jsx(OTr,{}),E.jsx("span",{children:"全部场景"})]}),E.jsx(X_e,{benefit:we==null?void 0:we.packageBenefit})]}),E.jsxs("nav",{className:"wandox-console-chat__topbar",children:[E.jsx("button",{type:"button",className:`wandox-console-chat__topbar-tab ${z==="chat"?"active":""}`,onClick:()=>W("chat"),children:"智能体会话"}),E.jsx("button",{type:"button",className:`wandox-console-chat__topbar-tab ${z==="robot"?"active":""}`,onClick:()=>{W("robot"),K(null)},children:E.jsx("span",{children:"巡检机器人"})})]}),z==="chat"?Na:E.jsxs("div",{className:"wandox-console-chat__robot",children:[E.jsx("div",{className:"wandox-console-chat__robot-chips",children:G.length===0?E.jsx("div",{className:"wandox-console-chat__robot-empty",children:"该智能体暂无巡检机器人"}):E.jsxs(E.Fragment,{children:[G.length>0&&E.jsx("button",{type:"button",className:`wandox-console-chat__robot-chip ${Y===null?"active":""}`,onClick:()=>K(null),children:"全部"}),G.map(xt=>E.jsx("button",{type:"button",className:`wandox-console-chat__robot-chip ${Y===xt.name?"active":""}`,onClick:()=>K(xt.name),children:xt.name},xt.agent_id))]})}),E.jsxs("div",{className:"wandox-console-chat__robot-tabs",children:[E.jsx("button",{type:"button",className:`wandox-console-chat__robot-tab ${Z==="results"?"active":""}`,onClick:()=>X("results"),children:"巡检结果"}),E.jsxs("button",{type:"button",className:`wandox-console-chat__robot-tab ${Z==="history"?"active":""}`,onClick:()=>X("history"),children:["执行记录",Z==="history"&&Y&&re.length>0&&E.jsx("span",{className:"wandox-console-chat__robot-tab-badge",children:re.length})]})]}),E.jsx("div",{className:"wandox-console-chat__robot-content",children:Z==="results"?E.jsxs("div",{className:"wandox-console-chat__robot-empty",children:[E.jsx("div",{className:"wandox-console-chat__robot-empty-icon",children:E.jsx($0e,{})}),E.jsx("div",{className:"wandox-console-chat__robot-empty-title",children:Y?`${Y} 暂无巡检结果`:"请选择一个机器人查看巡检结果"}),E.jsx("div",{className:"wandox-console-chat__robot-empty-desc",children:"巡检结果会在机器人执行后展示在这里"})]}):Y?Q?E.jsxs("div",{className:"wandox-console-chat__robot-loading",children:[E.jsx(ji,{size:"small"}),E.jsx("span",{children:"加载中..."})]}):re.length===0?E.jsx("div",{className:"wandox-console-chat__robot-empty",children:E.jsx("div",{className:"wandox-console-chat__robot-empty-title",children:"暂无执行记录"})}):E.jsx("ul",{className:"wandox-console-chat__robot-history",children:re.map(xt=>E.jsxs("li",{className:`wandox-console-chat__robot-history-item wandox-console-chat__robot-history-item--${xt.status}`,children:[E.jsxs("div",{className:"wandox-console-chat__robot-history-info",children:[E.jsx("span",{className:"wandox-console-chat__robot-history-name",children:xt.action_name}),E.jsx("span",{className:"wandox-console-chat__robot-history-time",children:xt.created_at?new Date(xt.created_at).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""})]}),E.jsx("span",{className:`wandox-console-chat__robot-history-status wandox-console-chat__robot-history-status--${xt.status}`,children:{pending:"等待中",running:"执行中",success:"成功",failed:"失败"}[xt.status]||xt.status})]},xt.id))}):E.jsxs("div",{className:"wandox-console-chat__robot-empty",children:[E.jsx("div",{className:"wandox-console-chat__robot-empty-icon",children:E.jsx($0e,{})}),E.jsx("div",{className:"wandox-console-chat__robot-empty-title",children:"请先选择机器人"}),E.jsx("div",{className:"wandox-console-chat__robot-empty-desc",children:"在上方选择机器人以查看其执行记录"})]})})]}),z==="chat"&&pe.length>0&&!(R&&!w)&&E.jsx("div",{className:"wandox-console-chat__recent",children:E.jsx("div",{className:"wandox-console-chat__recent-bar",children:pe.map((xt,Wt)=>E.jsx("button",{type:"button",className:"wandox-console-chat__recent-chip",disabled:ke||!!Te,title:xt.description||xt.name,onClick:()=>{jt(xt)},children:xt.name},`${xt.playbook_id||xt.name}-${Wt}`))})}),z==="chat"&&E.jsx("div",{className:"wandox-console-chat__input",children:R&&!w?E.jsxs("div",{className:"wandox-console-input-playbook wandox-console-prompt",children:[E.jsxs("div",{className:"wandox-console-prompt__head",children:[E.jsxs("div",{className:"wandox-console-scenechoice",children:[E.jsx("span",{children:"已选择场景"}),E.jsx("strong",{children:R.title})]}),E.jsx("button",{type:"button",className:"wandox-console-changescene",onClick:()=>{L(null),D([]),B({})},children:"重新选择"})]}),E.jsx("div",{ref:M,tabIndex:-1,className:"wandox-console-taskarea wandox-console-taskarea--static",children:R.desc||R.title}),O.length>0&&E.jsxs("div",{className:"wandox-console-paramarea",children:[E.jsxs("div",{className:"wandox-console-paramhead",children:[E.jsx(eZe,{}),E.jsx("strong",{children:"确认分析范围"}),E.jsxs("span",{className:"wandox-console-paramhead__status",children:[E.jsx(RA,{})," ",H.length>0?`待填 ${H.length} 项必填参数`:"参数已就绪"]})]}),E.jsx("div",{className:"wandox-console-params",children:Ry(O,F).map(xt=>E.jsx(qAt,{field:xt,value:F[xt.name],uploading:!1,fileNameMap:{},getOptionState:j.getFieldState,onChange:(Wt,Ot)=>B(Zt=>({...Zt,[Wt]:Ot}))},xt.name))})]}),E.jsxs("div",{className:"wandox-console-prompt__foot",children:[E.jsx("span",{className:"wandox-console-input-playbook__tip",children:"· 已继承当前上下文"}),E.jsxs("button",{type:"button",className:"wandox-console-start",disabled:!R||ke||H.length>0,onClick:rt,children:["开始执行",E.jsx(pq,{})]})]})]}):E.jsx(jQ,{onSend:yt,executing:ke,stopping:De,onStop:vt,placeholder:"今天帮你做些什么? / 快速调用场景",ssoToken:m,ssoDomain:v,ssoCompany:y,leadingActions:Vt,uploadButtonAsLeading:!0,uploadButtonLabel:"添加文件",mentionTriggerChar:"/",mentionListRequest:de,onMentionListRequestHandled:Sr,autoFocusInput:!R,playbooks:Oe,onRequestPlaybookParams:Mt})}),E.jsx(p5n,{open:w,source:I,categories:Ne,categoryKey:P,search:k,cards:Ce,executing:ke,loadingPlaybookId:_,onClose:Pt,onSourceChange:bt,onCategoryChange:N,onSearchChange:A,onSelectScene:fr}),E.jsx(K0t,{open:ee.visible,agentId:ee.agentId,playbookId:ee.playbookId,playbookName:ee.playbookName,onClose:ct})]})}const{TextArea:y5n}=zr;function b5n({useMapCards:e,useMapCategories:t,playbooks:r=[],selectedCategoryKey:n,onCategorySelect:i,loading:a,useMapError:s,onRetry:o,onStartAnalysis:l,agents:u,selectedAgentId:d,onAgentSelect:h,onOpenAgentChat:f}){const[p,g]=S.useState(""),[m,v]=S.useState(""),y=S.useRef(null),[x,b]=S.useState([]),[w,C]=S.useState(!1),[_,T]=S.useState(""),k=S.useRef(0),[A,I]=S.useState({}),[$,P]=S.useState({}),[N,R]=S.useState({}),[L,M]=S.useState([]),[O,D]=S.useState(!1),F=S.useRef(null),B=S.useMemo(()=>e.length>0?e:i5n(r),[e,r]),j=S.useMemo(()=>n?B.filter(te=>te.categoryKey===n):B,[B,n]),H=S.useMemo(()=>{const te=m.trim().toLowerCase();return te?j.filter(oe=>oe.title.toLowerCase().includes(te)||oe.desc.toLowerCase().includes(te)):j},[j,m]),z=S.useMemo(()=>H.slice(0,6),[H]),W=a||s&&B.length===0||H.length>0,[G,q]=S.useState("");S.useEffect(()=>{k.current+=1,q(""),g(""),b([]),I({}),C(!1),T("")},[n]),S.useEffect(()=>{G&&!B.some(te=>te.playbook_id===G)&&(k.current+=1,q(""),g(""),b([]),I({}),C(!1),T(""))},[G,B]);const Y=S.useMemo(()=>B.find(te=>te.playbook_id===G)??null,[B,G]);S.useEffect(()=>{if(a||Y)return;const te=window.setTimeout(()=>{var xe,pe;const oe=(pe=(xe=y.current)==null?void 0:xe.resizableTextArea)==null?void 0:pe.textArea;oe==null||oe.focus()},0);return()=>window.clearTimeout(te)},[a,Y]);const K=S.useCallback(async te=>{const oe=String(te.playbook_id||"").trim();if(!oe){kt.error("场景缺少 playbook_id");return}const xe=++k.current;q(oe),b([]),I({}),P({}),R({}),C(!0),T("");try{const{data:pe}=await Yv({playbook_id:oe});if(xe!==k.current)return;if(!pe||typeof pe!="object"||Array.isArray(pe))throw new Error("场景详情为空");const Ae=G9(_vt(pe));b(Ae),I(nw(Ae))}catch(pe){if(xe!==k.current)return;const Ae=pe instanceof Error?pe.message:"场景参数加载失败";T(Ae),kt.error("场景参数加载失败,请稍后重试")}finally{xe===k.current&&C(!1)}},[]),Z=()=>{k.current+=1,q(""),g(""),b([]),I({}),C(!1),T("")},X=j5(x,A,I),Q=S.useMemo(()=>Ry(x,A),[x,A]),J=S.useCallback((te,oe)=>{I(xe=>({...xe,[te]:oe}))},[]),re=S.useCallback((te,oe)=>async({file:xe,onSuccess:pe,onError:Ae})=>{var Te,Le;P(Re=>({...Re,[te]:!0}));try{const Re=xe,ue=await Kv(Re),de=(Te=ue==null?void 0:ue.data)==null?void 0:Te.url,he=((Le=ue==null?void 0:ue.data)==null?void 0:Le.name)||Re.name;if(!de)throw new Error("上传结果缺少文件地址");R(ve=>({...ve,[de]:he})),I(ve=>{if(oe<=1)return{...ve,[te]:de};const be=Array.isArray(ve[te])?ve[te]:ve[te]?[ve[te]]:[];return{...ve,[te]:[...be,de]}}),pe==null||pe(ue),kt.success("上传成功")}catch(Re){const ue=Re instanceof Error?Re:new Error("上传失败");Ae==null||Ae(ue),kt.error(ue.message)}finally{P(Re=>({...Re,[te]:!1}))}},[]),ne=S.useCallback(async te=>{const oe=Array.from(te.target.files??[]);if(te.target.value="",oe.length!==0){D(!0);try{const xe=await Promise.all(oe.map(async pe=>{var Re,ue;const Ae=await Kv(pe),Te=(Re=Ae==null?void 0:Ae.data)==null?void 0:Re.url,Le=((ue=Ae==null?void 0:Ae.data)==null?void 0:ue.name)||pe.name;if(!Te)throw new Error("上传结果缺少文件地址");return{type:pe.type.startsWith("image/")?"image":"file",url:Te,name:Le,mime_type:pe.type}}));M(pe=>[...pe,...xe]),kt.success(`已添加 ${xe.length} 个附件`)}catch(xe){kt.error(xe instanceof Error?xe.message:"上传失败")}finally{D(!1)}}},[]),se=S.useCallback(te=>{M(oe=>oe.filter(xe=>xe.url!==te))},[]),ce=S.useMemo(()=>Q.filter(te=>te.required&&tp(A[te.name])),[Q,A]),le=S.useMemo(()=>u.find(te=>te.id===d)??u.find(te=>te.current)??u[0],[u,d]);return E.jsx("div",{className:"wandox-console-view",children:E.jsxs("div",{className:"wandox-console-homecenter",children:[E.jsxs("div",{className:"wandox-console-homecenter-hero",children:[le&&E.jsxs("div",{className:"wandox-console-home-header",children:[E.jsxs("div",{className:"wandox-console-home-header__agent",children:[E.jsx("span",{className:"wandox-console-home-header__avatar",children:le.icon}),E.jsxs("div",{className:"wandox-console-home-header__identity",children:[E.jsxs("div",{className:"wandox-console-home-header__selector-row",children:[E.jsx(jv,{menu:{items:u.map(te=>({key:te.id,disabled:te.id===le.id,label:E.jsxs("span",{className:"wandox-console-agent-menu-item",children:[E.jsx("span",{className:"wandox-console-agent-menu-item__icon",children:te.icon}),E.jsx("span",{className:"wandox-console-agent-menu-item__name",children:te.name}),te.id===le.id&&E.jsx(RA,{className:"wandox-console-agent-menu-item__check"})]})})),onClick:({key:te})=>h==null?void 0:h(te)},trigger:["click"],placement:"bottomLeft",children:E.jsxs("button",{type:"button",className:"wandox-console-home-header__selector","aria-label":"切换智能体",children:[E.jsx("span",{className:"wandox-console-home-header__name",children:le.name}),E.jsx(Q4,{className:"wandox-console-home-header__arrow"})]})}),E.jsx(X_e,{benefit:le.packageBenefit})]}),le.desc&&E.jsx("p",{className:"wandox-console-home-header__description",title:le.desc,children:le.desc})]})]}),E.jsxs("button",{type:"button",className:"wandox-console-home-header__history",onClick:()=>f==null?void 0:f(),children:[E.jsx("span",{children:"会话记录"}),E.jsx(Dv,{className:"wandox-console-home-header__history-arrow"})]})]}),E.jsxs("div",{className:"wandox-console-prompt",children:[Y&&E.jsxs("div",{className:"wandox-console-prompt__head",children:[E.jsxs("div",{className:"wandox-console-scenechoice",children:[E.jsx("span",{children:"已选择场景"}),E.jsx("strong",{children:Y.title})]}),E.jsx("button",{type:"button",className:"wandox-console-changescene",onClick:Z,children:"重新选择"})]}),Y?E.jsx("div",{className:"wandox-console-taskarea wandox-console-taskarea--static",children:Y.desc||Y.title}):E.jsx("div",{className:"wandox-console-taskarea",children:E.jsx(y5n,{ref:y,value:p,onChange:te=>g(te.target.value),autoSize:{minRows:2},variant:"borderless",placeholder:"直接描述你的问题,或选择一个场景开始"})}),Y&&w&&E.jsxs("div",{className:"wandox-console-paramarea wandox-console-paramarea--state",children:[E.jsx(xvt,{}),E.jsx("span",{children:"正在读取场景参数..."})]}),Y&&!w&&_&&E.jsxs("div",{className:"wandox-console-paramarea wandox-console-paramarea--state",children:[E.jsx("span",{children:"场景参数加载失败"}),E.jsxs("button",{type:"button",className:"wandox-console-paramarea__retry",onClick:()=>void K(Y),children:[E.jsx(Vv,{}),"重试"]})]}),Y&&!w&&!_&&Q.length>0&&E.jsxs("div",{className:"wandox-console-paramarea",children:[E.jsxs("div",{className:"wandox-console-paramhead",children:[E.jsx(eZe,{}),E.jsx("strong",{children:"确认分析范围"}),E.jsxs("span",{className:"wandox-console-paramhead__status",children:[E.jsx(RA,{})," ",ce.length>0?`待填 ${ce.length} 项必填参数`:"参数已就绪"]})]}),E.jsx("div",{className:"wandox-console-params",children:Q.map(te=>E.jsx(qAt,{field:te,value:A[te.name],uploading:!!$[te.name],fileNameMap:N,getOptionState:X.getFieldState,onChange:J,onUpload:re},te.name))})]}),E.jsxs("div",{className:`wandox-console-prompt__foot${Y?" wandox-console-prompt__foot--scene":""}`,children:[!Y&&E.jsx("button",{type:"button",className:"wandox-console-attach",onClick:()=>{var te;return(te=F.current)==null?void 0:te.click()},disabled:O,title:O?"上传中…":"附件",children:E.jsx(Bl,{})}),E.jsx("input",{ref:F,type:"file",multiple:!0,accept:"image/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.csv,.zip",hidden:!0,onChange:ne}),Y?E.jsxs("button",{type:"button",className:"wandox-console-start",disabled:w||!!_||ce.length>0,onClick:()=>{l==null||l({playbookId:Y.playbook_id,playbookParams:A,message:Y.title,attachments:L})},children:["开始执行",E.jsx(pq,{})]}):E.jsx("div",{className:"wandox-console-prompt__foot-right",children:E.jsx("button",{type:"button",className:"wandox-console-prompt__send",disabled:!p.trim(),onClick:()=>{l==null||l({playbookParams:{},message:p.trim(),attachments:L})},"aria-label":"发送",children:E.jsx(YXe,{})})})]})]}),L.length>0&&E.jsx("div",{className:"wandox-console-attachments",children:L.map(te=>E.jsxs("span",{className:"wandox-console-attach-item",children:[te.type==="image"?E.jsx("img",{src:te.url,alt:te.name,className:"wandox-console-attach-item__thumb"}):E.jsx(Gme,{className:"wandox-console-attach-item__icon"}),E.jsx("span",{className:"wandox-console-attach-item__name",title:te.name,children:te.name}),E.jsx("button",{type:"button",className:"wandox-console-attach-item__remove","aria-label":"移除附件",onClick:()=>se(te.url),children:E.jsx(us,{})})]},te.url))}),E.jsxs("div",{className:"wandox-console-scenehead",children:[E.jsx("div",{className:"wandox-console-chips",role:"tablist","aria-label":"场景分类",children:t.slice(0,5).map(te=>E.jsx("button",{type:"button",role:"tab","aria-selected":n===te.key,className:`wandox-console-chip${n===te.key?" wandox-console-chip--active":""}`,onClick:()=>i==null?void 0:i(te.key),children:E.jsx("span",{children:te.name})},te.key))}),E.jsx("div",{className:"wandox-console-scenesearch",children:E.jsx(zr,{allowClear:!0,prefix:E.jsx(Up,{}),placeholder:"搜索当前地图下的场景",value:m,onChange:te=>v(te.target.value)})})]})]}),W&&E.jsxs("section",{className:"wandox-console-scene-section","aria-label":"个性化场景",children:[E.jsx("div",{className:"wandox-console-scene-section__header",children:E.jsx("div",{children:E.jsx("h2",{children:"为你推荐"})})}),a?E.jsxs("div",{className:"wandox-console-agents__loading",style:{justifyContent:"center",padding:"40px 0"},children:[E.jsx(ji,{size:"small"}),E.jsx("span",{children:"正在加载场景..."})]}):s&&B.length===0?E.jsxs("div",{className:"wandox-console-agents__error",style:{alignItems:"center",padding:"32px 0"},children:[E.jsx("span",{children:s}),E.jsxs("button",{type:"button",onClick:o,children:[E.jsx(Vv,{}),"重试"]})]}):H.length===0?E.jsxs("div",{className:"wandox-console-scene-section__empty",children:[E.jsx(Up,{}),E.jsx("span",{children:m?"没有匹配的场景":"当前分类暂无场景"})]}):E.jsx("div",{className:"wandox-console-scenes-wrap",children:E.jsx("div",{className:"wandox-console-scenes",children:z.map(te=>E.jsx("button",{type:"button",className:`wandox-console-scene${G===te.playbook_id?" wandox-console-scene--selected":""}`,onClick:()=>K(te),children:E.jsxs("div",{className:"wandox-console-scene__body",children:[E.jsx("strong",{title:te.title,children:te.title}),te.desc&&E.jsx("span",{className:"wandox-console-scene__desc",title:te.desc,children:te.desc})]})},te.key))})})]})]})})}const x5n=[{id:"conversation",title:"智能体",desc:"与智能体自由对话或选择场景执行任务",icon:E.jsx(S0e,{}),accent:"#4f46e5"},{id:"automation",title:"自动化",desc:"管理与执行自动化流程、定时任务与驾驶舱",icon:E.jsx(gq,{}),accent:"#4f46e5"}],UF={id:"notification",title:"通知配置",icon:E.jsx(i0e,{}),accent:"#e0730c"};function w5n({features:e,onOpenFeature:t,activeId:r}){return E.jsxs("header",{className:"wandox-console-topnav","aria-label":"控制台顶部导航",children:[E.jsx("nav",{className:"wandox-console-topnav__pill","aria-label":"工作台",children:e.map(n=>{const i=r===n.id;return E.jsxs("button",{type:"button",className:`wandox-console-topnav__pill-btn${i?" wandox-console-topnav__pill-btn--active":""}`,title:n.title,"aria-label":n.title,"aria-current":i?"page":void 0,onClick:()=>t(n.id),children:[E.jsx("span",{className:"wandox-console-topnav__pill-icon",children:n.icon}),E.jsx("span",{className:"wandox-console-topnav__pill-text",children:n.title})]},n.id)})}),E.jsx("button",{type:"button",className:"wandox-console-topnav__notify",style:{"--notify-accent":UF.accent},title:UF.title,"aria-label":UF.title,onClick:()=>t(UF.id),children:E.jsx("span",{className:"wandox-console-topnav__notify-icon",children:UF.icon})})]})}function S5n({className:e="",state:t="idle"}){return E.jsx("img",{className:`wandox-console-companion${e?` ${e}`:""}`,"data-state":t,src:qq,alt:"","aria-hidden":"true"})}function YAt({fading:e}){return E.jsxs("div",{className:`wandox-console-init${e?" wandox-console-init--fading":""}`,"aria-hidden":!0,children:[E.jsx("div",{className:"wandox-console-init__halo wandox-console-init__halo--a"}),E.jsx("div",{className:"wandox-console-init__halo wandox-console-init__halo--b"}),E.jsxs("div",{className:"wandox-console-init__inner",children:[E.jsx(S5n,{className:"wandox-console-init__companion",state:"thinking"}),E.jsxs("div",{children:[E.jsx("div",{className:"wandox-console-init__title",children:"正在准备你的控制台"}),E.jsx("div",{className:"wandox-console-init__subtitle",children:"正在加载智能体与场景数据…"})]}),E.jsxs("div",{className:"wandox-console-init__dots","aria-hidden":!0,children:[E.jsx("span",{}),E.jsx("span",{}),E.jsx("span",{}),E.jsx("span",{}),E.jsx("span",{})]})]}),E.jsx("div",{className:"wandox-console-init__footnote",children:"由 Wandox AI 提供动力"})]})}function KAt({title:e,onBack:t,hideHeader:r=!1,className:n,children:i}){return E.jsxs("div",{className:`wandox-console-featureview${n?` ${n}`:""}`,children:[!r&&E.jsxs("div",{className:"wandox-console-featureview__bar",children:[E.jsxs("button",{type:"button",className:"wandox-console-featureview__back",onClick:t,children:[E.jsx(WS,{}),"返回控制台"]}),E.jsx("span",{className:"wandox-console-featureview__title",children:e})]}),E.jsx("div",{className:"wandox-console-featureview__body",children:i})]})}function C5n({agents:e,initialAgentId:t,initialPlaybookId:r,initialPlaybookParams:n,onReady:i}={}){const{agents:a,agentLoading:s,selectedAgentId:o,selectedAgent:l,selectAgent:u,...d}=WAt({presetAgents:e,initialAgentId:t}),[h,f]=S.useState(null),p=S.useRef(null),g=S.useRef(!1),[m,v]=S.useState("home"),[y,x]=S.useState(null),[b,w]=S.useState(!1),[C,_]=S.useState(null),[T,k]=S.useState(""),A=l==null?void 0:l.name,I=S.useCallback(Q=>{if(p.current){p.current.showInspectionResults(Q);return}f({robotName:Q})},[]);S.useEffect(()=>{i==null||i({showInspectionResults:I})},[I,i]),S.useEffect(()=>{!h||p.current||!o||m==="chat"||(_({agentId:o,agentName:A,playbookParams:{},message:""}),v("chat"))},[m,h,o,A]),S.useEffect(()=>{k("")},[o]);const{playbooks:$,userPlaybooks:P,useMapCategories:N,useMapCards:R,sceneLoading:L,useMapError:M,reload:O}=d,D=S.useMemo(()=>N.length>0?N:n5n($),[N,$]);S.useEffect(()=>{if(D.length===0)return;D.some(J=>J.key===T)||k(D[0].key)},[D]);const F=S.useRef(!1);S.useEffect(()=>{if(F.current||!r||!o||L)return;const Q=a.find(J=>J.id===o&&Zte(J,t));Q&&(F.current=!0,_({agentId:o,agentName:Q.name,playbookId:r,playbookParams:n||{},message:""}),v("chat"))},[L,a,t,r,n,o,A]),S.useEffect(()=>{if(g.current||!t||r||!o||L)return;const Q=a.find(J=>J.id===o&&Zte(J,t));Q&&(g.current=!0,_({agentId:Q.id,agentName:Q.name,playbookParams:{},message:""}),v("chat"))},[a,L,t,r,o]);const[B,j]=S.useState(!0),[H,z]=S.useState(!1);S.useEffect(()=>{if(!B||!(!s&&a.length>0&&!!o&&!L))return;z(!0);const re=setTimeout(()=>j(!1),280);return()=>clearTimeout(re)},[s,a.length,o,L,B]);const W=S.useCallback(()=>{v("home"),x(null),w(!1)},[]),G=S.useCallback(Q=>{if(Q==="conversation"){W();return}w(!1),x(Q)},[W]),q=Q=>{u(Q),v("home")},Y=Q=>{if(Q===o)return;const J=a.find(re=>re.id===Q);u(Q),_({agentId:Q,agentName:J==null?void 0:J.name,playbookParams:{},message:""})},K=()=>{o&&(_({agentId:o,agentName:A,playbookParams:{},message:""}),v("chat"))},Z=Q=>{_({agentId:o,agentName:A,playbookId:Q.playbookId,playbookParams:Q.playbookParams,message:Q.message,attachments:Q.attachments}),v("chat")};return m==="chat"&&C?E.jsxs("div",{className:"wandox-console-chat-shell",children:[E.jsx(v5n,{agentId:C.agentId,agentName:C.agentName,playbookId:C.playbookId,playbookParams:C.playbookParams,initialMessage:C.message,initialAttachments:C.attachments,useMapCards:R,useMapCategories:N,playbooks:$,userPlaybooks:P,agents:a,onReady:Q=>{p.current=Q,h&&(Q.showInspectionResults(h.robotName),f(null))},onChangeAgent:Y,onBack:()=>{p.current=null,v("home")},onSelectScene:()=>{}},`${C.agentId}:${C.playbookId||"free-chat"}`),B&&E.jsx(YAt,{fading:H})]}):E.jsxs("div",{className:`wandox-console${b?" wandox-console--secondary":""}`,children:[B&&E.jsx(YAt,{fading:H}),!b&&E.jsx(w5n,{features:x5n,activeId:y??"conversation",onOpenFeature:G}),E.jsxs("main",{className:"wandox-console-main",children:[y==="automation"&&E.jsx(KAt,{title:"自动化",onBack:()=>x(null),hideHeader:!0,className:"wandox-console-featureview--automation",children:E.jsx(PAt,{onCockpitEnter:()=>w(!0),onCockpitExit:()=>w(!1),onInboxEnter:()=>w(!0)})}),y==="notification"&&E.jsx(KAt,{title:"通知配置",onBack:()=>x(null),hideHeader:!0,children:E.jsx(Wvt,{})}),!y&&E.jsx(b5n,{useMapCards:R,useMapCategories:D,playbooks:$,selectedCategoryKey:T,onCategorySelect:k,loading:L,useMapError:M,onRetry:O,onStartAnalysis:Z,agents:a,selectedAgentId:o,onAgentSelect:q,onOpenAgentChat:K})]})]})}const _5n=Object.freeze(Object.defineProperty({__proto__:null,default:C5n},Symbol.toStringTag,{value:"Module"}));class lr extends Error{constructor(t,r){var n="KaTeX parse error: "+t,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var d;a+15<o.length?d=o.slice(a,a+15)+"…":d=o.slice(a),n+=u+l+d}super(n),this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,lr.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=t}}var T5n=/([A-Z])/g,E5n=e=>e.replace(T5n,"-$1").toLowerCase(),k5n={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},A5n=/[&><"']/g,hu=e=>String(e).replace(A5n,t=>k5n[t]),Qte=e=>e.type==="ordgroup"||e.type==="color"?e.body.length===1?Qte(e.body[0]):e:e.type==="font"?Qte(e.body):e,I5n=new Set(["mathord","textord","atom"]),l1=e=>I5n.has(Qte(e).type),$5n=e=>{var t=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);return t?t[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?null:t[1].toLowerCase():"_relative"},Jte={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand <n>",cliProcessor:e=>e==="Infinity"?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function R5n(e){if(typeof e!="string")return e.enum[0];switch(e){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function N5n(e){if(e.default!==void 0)return e.default;var t=Array.isArray(e.type)?e.type[0]:e.type;return R5n(t)}function L5n(e,t,r,n){var i=r[t];e[t]=i!==void 0?n.processor?n.processor(i):i:N5n(n)}class L3e{constructor(t){t===void 0&&(t={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,t=t||{};for(var r of Object.keys(Jte)){var n=Jte[r];n&&L5n(this,r,t,n)}}reportNonstrict(t,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(t,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new lr("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+t+"]"),n);typeof console<"u"}}useStrictBehavior(t,r,n){var i=this.strict;if(typeof i=="function")try{i=i(t,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:(typeof console<"u",!1)}isTrusted(t){if("url"in t&&t.url&&!t.protocol){var r=$5n(t.url);if(r==null)return!1;t.protocol=r}var n=typeof this.trust=="function"?this.trust(t):this.trust;return!!n}}class $w{constructor(t,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=t,this.size=r,this.cramped=n}sup(){return k0[P5n[this.id]]}sub(){return k0[M5n[this.id]]}fracNum(){return k0[D5n[this.id]]}fracDen(){return k0[O5n[this.id]]}cramp(){return k0[B5n[this.id]]}text(){return k0[F5n[this.id]]}isTight(){return this.size>=2}}var P3e=0,ere=1,l$=2,c1=3,qF=4,hp=5,c$=6,Qu=7,k0=[new $w(P3e,0,!1),new $w(ere,0,!0),new $w(l$,1,!1),new $w(c1,1,!0),new $w(qF,2,!1),new $w(hp,2,!0),new $w(c$,3,!1),new $w(Qu,3,!0)],P5n=[qF,hp,qF,hp,c$,Qu,c$,Qu],M5n=[hp,hp,hp,hp,Qu,Qu,Qu,Qu],D5n=[l$,c1,qF,hp,c$,Qu,c$,Qu],O5n=[c1,c1,hp,hp,Qu,Qu,Qu,Qu],B5n=[ere,ere,c1,c1,hp,hp,Qu,Qu],F5n=[P3e,ere,l$,c1,l$,c1,l$,c1],Xn={DISPLAY:k0[P3e],TEXT:k0[l$],SCRIPT:k0[qF],SCRIPTSCRIPT:k0[c$]},M3e=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function z5n(e){for(var t=0;t<M3e.length;t++)for(var r=M3e[t],n=0;n<r.blocks.length;n++){var i=r.blocks[n];if(e>=i[0]&&e<=i[1])return r.name}return null}var tre=[];M3e.forEach(e=>e.blocks.forEach(t=>tre.push(...t)));function XAt(e){for(var t=0;t<tre.length;t+=2)if(e>=tre[t]&&e<=tre[t+1])return!0;return!1}var Sl=e=>e+" "+e,u$=80,j5n=function(t,r){return"M95,"+(622+t+r)+`
1102
1102
  c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
1103
1103
  c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
1104
1104
  c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10