aitu-app 0.6.76 → 0.6.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/assets/CanvasAudioPlayer-DutgwdiU.js +2 -0
- package/assets/ChatDrawer-E6Fog16I.js +11 -0
- package/assets/{ChatMessagesArea-CZkiRzmW.js → ChatMessagesArea-Bgwiz_XP.js} +3 -3
- package/assets/DeferredAIInputBar-CPkD8Cv9.js +8 -0
- package/assets/DeferredAIInputBar-szBPHiNW.css +1 -0
- package/assets/DrawnixDeferredFeatures-Cul76-88.js +2 -0
- package/assets/{KnowledgeBaseContent-Dan2DUqY.js → KnowledgeBaseContent-DcX5Jofx.js} +6 -6
- package/assets/{MVCreator-Dzjl2fXA.js → MVCreator-DllHozYg.js} +8 -8
- package/assets/{ModelBenchmarkWorkbench-oy2wue1u.js → ModelBenchmarkWorkbench-Dv9SNYTi.js} +2 -2
- package/assets/MusicAnalyzer-CHcQ5t4P.js +1 -0
- package/assets/{MusicAnalyzer-BO44f-db.js → MusicAnalyzer-DDeT6g3c.js} +2 -2
- package/assets/ResizableDivider-CaG9JQbJ.js +1 -0
- package/assets/TaskQueuePanel-BNhNzGp5.js +1 -0
- package/assets/{VideoAnalyzer-iiJpoWb6.js → VideoAnalyzer-BSLz1FaI.js} +2 -2
- package/assets/ai-generation-preferences-service-BF7QkuJp.js +1 -0
- package/assets/arc-BU2KKCa_.js +1 -0
- package/assets/arc-DmGoDCEL.js +1 -0
- package/assets/{batch-image-generation-B2R0hJW_.js → batch-image-generation-Bg68r_Ql.js} +5 -5
- package/assets/{blockDiagram-38ab4fdb-BmWPnNuS.js → blockDiagram-38ab4fdb-BCGEnMME.js} +1 -1
- package/assets/{blockDiagram-38ab4fdb-trArAOFP.js → blockDiagram-38ab4fdb-CsZR5uC5.js} +1 -1
- package/assets/board-utils-CpAtoKn2.js +1 -0
- package/assets/{browser-Dya3c6_X.js → browser-DpICcNby.js} +1 -1
- package/assets/{c4Diagram-3d4e48cf-Cvj3RMOv.js → c4Diagram-3d4e48cf-9fuiuFdV.js} +1 -1
- package/assets/{c4Diagram-3d4e48cf-CqJrO4Za.js → c4Diagram-3d4e48cf-WM4wd_GR.js} +1 -1
- package/assets/{canvas-insertion-Dq3gR9Nw.js → canvas-insertion-CdUQF7IV.js} +3 -3
- package/assets/channel-CZjE-WNp.js +1 -0
- package/assets/channel-SXZD6bG3.js +1 -0
- package/assets/classDiagram-70f12bd4-CBVHTwQu.js +2 -0
- package/assets/{classDiagram-70f12bd4-DvrRZ41d.js → classDiagram-70f12bd4-DcYDedz1.js} +2 -2
- package/assets/classDiagram-v2-f2320105-CsxWGkSy.js +2 -0
- package/assets/classDiagram-v2-f2320105-jpCwaHEd.js +2 -0
- package/assets/{clipper-B4i11tN1.js → clipper-jvd5rF5a.js} +1 -1
- package/assets/clone-C4mvvMDb.js +1 -0
- package/assets/{createText-2e5e7dd3-D7dXlVes.js → createText-2e5e7dd3-CkXS3l7I.js} +2 -2
- package/assets/{createText-2e5e7dd3-B8gnT5hD.js → createText-2e5e7dd3-x5lOIwut.js} +1 -1
- package/assets/edges-e0da2a9e-CbrF4nbD.js +4 -0
- package/assets/{edges-e0da2a9e-CyRAzEMi.js → edges-e0da2a9e-Ch6PBwWs.js} +2 -2
- package/assets/{erDiagram-9861fffd-D8yYsjoN.js → erDiagram-9861fffd-Bq07elcI.js} +3 -3
- package/assets/{erDiagram-9861fffd-BHbAa_Ka.js → erDiagram-9861fffd-DSlNVuAZ.js} +4 -4
- package/assets/{flowDb-956e92f1-DAqb8wjP.js → flowDb-956e92f1-BqPCJlZp.js} +3 -3
- package/assets/{flowDb-956e92f1-f30uG4pp.js → flowDb-956e92f1-Ti5YC4Vv.js} +3 -3
- package/assets/{flowDiagram-66a62f08-C4Gz9mOM.js → flowDiagram-66a62f08-CPDuG3rY.js} +3 -3
- package/assets/{flowDiagram-66a62f08-CBXypoEi.js → flowDiagram-66a62f08-D3GSABFi.js} +1 -1
- package/assets/flowDiagram-v2-96b9c2cf-BCcJ-cre.js +1 -0
- package/assets/flowDiagram-v2-96b9c2cf-DCVaFEgV.js +1 -0
- package/assets/{flowchart-elk-definition-4a651766-CSm5diF6.js → flowchart-elk-definition-4a651766-BH09NeLA.js} +1 -1
- package/assets/{flowchart-elk-definition-4a651766-BHB7pRxm.js → flowchart-elk-definition-4a651766-BLaLPCDV.js} +1 -1
- package/assets/{ganttDiagram-c361ad54-CU9a9DsJ.js → ganttDiagram-c361ad54-DL9ZeaEc.js} +4 -4
- package/assets/ganttDiagram-c361ad54-Sp9M1KHP.js +257 -0
- package/assets/{gitGraphDiagram-72cf32ee-B2zj8Xnu.js → gitGraphDiagram-72cf32ee-BSf1fsDV.js} +1 -1
- package/assets/{gitGraphDiagram-72cf32ee-BWOgrFeh.js → gitGraphDiagram-72cf32ee-BWwmRKo-.js} +1 -1
- package/assets/{graph-Bnmq4jgf.js → graph--nPw8zXQ.js} +1 -1
- package/assets/graph-g-2U7grQ.js +1 -0
- package/assets/{index-3862675e-CQLKy6RO.js → index-3862675e-BXwbZ2pz.js} +1 -1
- package/assets/{index-3862675e-BSxxidV_.js → index-3862675e-D6Zy95zZ.js} +1 -1
- package/assets/index-3eqA7Bag.js +1 -0
- package/assets/{index-D1ORCZqJ.js → index-7Q-aiwln.js} +2 -2
- package/assets/index-B2dttXd7.js +1 -0
- package/assets/index-B7V7-Vxz.js +1 -0
- package/assets/index-BHPTfCZM.js +1 -0
- package/assets/{index-vvV37Q1S.js → index-BP77pG9S.js} +4 -4
- package/assets/index-BPR_DyGD.js +1 -0
- package/assets/index-BWrcsh8u.js +1 -0
- package/assets/{index-D4qm_1m5.js → index-BXzGHPXz.js} +1 -1
- package/assets/index-BaCHOxhI.js +1 -0
- package/assets/{index-BoglETHF.js → index-Bq8mPedC.js} +2 -2
- package/assets/index-BqHZCcen.js +2 -0
- package/assets/index-Bti3m-iW.js +1 -0
- package/assets/{index-sPNG1_UN.js → index-BwSnJN93.js} +5 -5
- package/assets/{index-D5qxbeGT.js → index-C3qD42ws.js} +1 -1
- package/assets/{index-VzDb_AHs.js → index-C5eu4uSl.js} +5 -5
- package/assets/index-CLJUfzvO.js +1 -0
- package/assets/index-CfgvFFx3.js +271 -0
- package/assets/index-CmyOpFTN.js +1 -0
- package/assets/index-D4pIkh3S.js +1 -0
- package/assets/index-D7b5fX1d.js +1 -0
- package/assets/index-DH12_HTj.js +13 -0
- package/assets/index-DI0OV6F8.js +7 -0
- package/assets/index-DIiIUyb-.js +1 -0
- package/assets/index-DcZrElEK.js +2 -0
- package/assets/index-DllL1sx1.js +1 -0
- package/assets/index-DqMndQiP.js +1 -0
- package/assets/index-Dz8sghkK.js +1 -0
- package/assets/index-QkP3EC02.js +1 -0
- package/assets/index-TkfyNewx.js +1 -0
- package/assets/index-ZrVeQUWo.js +1 -0
- package/assets/index-eZfwJ9bV.js +3 -0
- package/assets/{index-VarwiJlL.js → index-gQ7LgvSv.js} +1 -1
- package/assets/{infoDiagram-f8f76790-d-BYTW2w.js → infoDiagram-f8f76790-DpFqCCNv.js} +3 -3
- package/assets/{infoDiagram-f8f76790-BMsVq8O_.js → infoDiagram-f8f76790-G2JpJJP7.js} +3 -3
- package/assets/{journeyDiagram-49397b02-DCtCkoaC.js → journeyDiagram-49397b02-BdESGMrv.js} +1 -1
- package/assets/{journeyDiagram-49397b02-CBqb8-ml.js → journeyDiagram-49397b02-DLLTobRM.js} +1 -1
- package/assets/{layout-DKqEkE_W.js → layout-CVkuImk4.js} +1 -1
- package/assets/layout-WSR0vNPO.js +1 -0
- package/assets/line-D3bnG227.js +1 -0
- package/assets/line-DQuMJveY.js +1 -0
- package/assets/{linear-C6OQYT56.js → linear-CciP-97N.js} +1 -1
- package/assets/linear-Z6vFvuwc.js +1 -0
- package/assets/{main-i0s2IJTn.css → main-8DNjLY6L.css} +1 -1
- package/assets/main-BFEkxCOK.js +56 -0
- package/assets/{mermaid.core-CI-VJEiw.js → mermaid.core-CwZQb0ud.js} +5 -5
- package/assets/{mindmap-definition-fc14e90a-k_RSypuP.js → mindmap-definition-fc14e90a-BnJ8OOTI.js} +1 -1
- package/assets/{mindmap-definition-fc14e90a-DrtlQLES.js → mindmap-definition-fc14e90a-CxQMydCW.js} +1 -1
- package/assets/model-benchmark-launcher-Ct3lYXVq.js +1 -0
- package/assets/photo-wall-splitter-BZ88W5Zy.js +1 -0
- package/assets/{pieDiagram-8a3498a8-CdknGxKY.js → pieDiagram-8a3498a8-BSDdkTeu.js} +5 -5
- package/assets/{pieDiagram-8a3498a8-Bpr5V3o5.js → pieDiagram-8a3498a8-D6VtAoja.js} +4 -4
- package/assets/ppt-generation-FzjP_rp0.js +48 -0
- package/assets/{quadrantDiagram-120e2f19-Dx3qoKDx.js → quadrantDiagram-120e2f19-BbFV0VXY.js} +3 -3
- package/assets/{quadrantDiagram-120e2f19-pVIXp9i6.js → quadrantDiagram-120e2f19-C8k2xuBd.js} +3 -3
- package/assets/{requirementDiagram-deff3bca-hM4oekUG.js → requirementDiagram-deff3bca-C3xMdzJV.js} +1 -1
- package/assets/{requirementDiagram-deff3bca-DD6NY75P.js → requirementDiagram-deff3bca-CpjqKjYZ.js} +1 -1
- package/assets/{sankeyDiagram-04a897e0-BsvEG71N.js → sankeyDiagram-04a897e0-BBJJgsFv.js} +5 -5
- package/assets/{sankeyDiagram-04a897e0-C9uf1jU5.js → sankeyDiagram-04a897e0-Bjvig9bW.js} +4 -4
- package/assets/{sequenceDiagram-704730f1-CNEBmz1G.js → sequenceDiagram-704730f1-DX1MmBN_.js} +4 -4
- package/assets/{sequenceDiagram-704730f1-Bpg54z74.js → sequenceDiagram-704730f1-PFC_9IFI.js} +4 -4
- package/assets/settings-dialog-CQM4v791.js +1 -0
- package/assets/{skill-dsl-parser-DS3VOBFI.js → skill-dsl-parser-syNWYxFu.js} +10 -10
- package/assets/{stateDiagram-587899a1-BN2ZP-3x.js → stateDiagram-587899a1-Dc3mI_B_.js} +1 -1
- package/assets/stateDiagram-587899a1-SFMUVAam.js +1 -0
- package/assets/{stateDiagram-v2-d93cdb3a-BtV1Ziy9.js → stateDiagram-v2-d93cdb3a-DmnBjHpC.js} +1 -1
- package/assets/{stateDiagram-v2-d93cdb3a-BLwIM8s1.js → stateDiagram-v2-d93cdb3a-P4Yt2p_j.js} +1 -1
- package/assets/{styles-6aaf32cf-aFVlX_lA.js → styles-6aaf32cf-C3jnr3hV.js} +1 -1
- package/assets/{styles-6aaf32cf-CGp3i5qu.js → styles-6aaf32cf-b6AdP7fu.js} +1 -1
- package/assets/{styles-9a916d00-BK7pejCH.js → styles-9a916d00-BUiD9iBe.js} +4 -4
- package/assets/{styles-9a916d00-CSwFWVnr.js → styles-9a916d00-ii0XTdIm.js} +1 -1
- package/assets/styles-c10674c1-Bt89Yy8Q.js +116 -0
- package/assets/styles-c10674c1-DbTSpy3W.js +116 -0
- package/assets/{svgDrawCommon-08f97a94-Cr4rWU-W.js → svgDrawCommon-08f97a94-BK6lD4D6.js} +1 -1
- package/assets/{svgDrawCommon-08f97a94-DypvMDvH.js → svgDrawCommon-08f97a94-D4gIV05W.js} +1 -1
- package/assets/{timeline-definition-85554ec2-D3-lXEL5.js → timeline-definition-85554ec2-Bl2y548G.js} +1 -1
- package/assets/{timeline-definition-85554ec2-DIwHE15c.js → timeline-definition-85554ec2-CWKg_JxG.js} +3 -3
- package/assets/{tool-windows-B-a9r3G3.css → tool-windows-CUNbW1Tz.css} +1 -1
- package/assets/tool-windows-DOIu9TAD.js +2975 -0
- package/assets/ttd-dialog-DI4kQSg8.js +99 -0
- package/assets/{useCharacters-DsZ779l-.js → useCharacters-Chv4Ky7x.js} +3 -3
- package/assets/useWorkflowSubmission-BizuDmuw.js +70 -0
- package/assets/video-analyze-6v3Y-rUE.js +1 -0
- package/assets/{video-generation-C7qCz-ZF.js → video-generation-DnmTlWnm.js} +2 -2
- package/assets/video-recovery-service-BeRoh0s2.js +1 -0
- package/assets/workflow-generation-utils-me381Cax.js +3 -0
- package/assets/workflow-submission-service-YOpo7g37.js +4 -0
- package/assets/{xychartDiagram-e933f94c-B17Evxfw.js → xychartDiagram-e933f94c-CJX9_9WF.js} +4 -4
- package/assets/{xychartDiagram-e933f94c-Dln5PJtU.js → xychartDiagram-e933f94c-Cep8CQEH.js} +3 -3
- package/changelog.json +50 -0
- package/idle-prefetch-manifest.json +300 -316
- package/manifest.json +3 -3
- package/package.json +1 -1
- package/precache-manifest.json +8 -8
- package/sw.js +5 -5
- package/version.json +19 -3
- package/assets/CanvasAudioPlayer-DwM6PU4W.js +0 -2
- package/assets/ChatDrawer-BQTaa6r6.js +0 -11
- package/assets/DeferredAIInputBar-BmPgFhXr.css +0 -1
- package/assets/DeferredAIInputBar-ObyfJQ0O.js +0 -7
- package/assets/DrawnixDeferredFeatures-CFHVLxc5.js +0 -2
- package/assets/ModelDropdown-CQTTHEI7.css +0 -1
- package/assets/ModelDropdown-DjvIvi8O.js +0 -1
- package/assets/MusicAnalyzer-BU5l2wPR.js +0 -1
- package/assets/ResizableDivider-CBgTphcS.js +0 -1
- package/assets/TaskQueuePanel-CTDuSScf.js +0 -1
- package/assets/ai-generation-preferences-service-CqwXb9Cs.js +0 -5
- package/assets/arc-BBE0LXa1.js +0 -1
- package/assets/arc-h476db6P.js +0 -1
- package/assets/channel-DMTz1UNN.js +0 -1
- package/assets/channel-DQOY3XLe.js +0 -1
- package/assets/classDiagram-70f12bd4-5ACx619h.js +0 -2
- package/assets/classDiagram-v2-f2320105-4zQ4jrwi.js +0 -2
- package/assets/classDiagram-v2-f2320105-CB4rof84.js +0 -2
- package/assets/clone-fuaXEdc-.js +0 -1
- package/assets/edges-e0da2a9e-DZalSm7f.js +0 -4
- package/assets/flowDiagram-v2-96b9c2cf-C-DFFh54.js +0 -1
- package/assets/flowDiagram-v2-96b9c2cf-CWjydvHB.js +0 -1
- package/assets/ganttDiagram-c361ad54-DDnbMkWm.js +0 -257
- package/assets/graph-BsYIlc-B.js +0 -1
- package/assets/index-B10kMZoq.js +0 -1
- package/assets/index-B2_XRj3U.js +0 -1
- package/assets/index-B4lLv-Sz.js +0 -1
- package/assets/index-BFZNUUCR.js +0 -1
- package/assets/index-BTSYG2Vy.js +0 -1
- package/assets/index-BY5Kvjqg.js +0 -1
- package/assets/index-Blf7J5yW.js +0 -1
- package/assets/index-BoQA7VaE.js +0 -3
- package/assets/index-BzqQ69oU.js +0 -1
- package/assets/index-CD2D1BYc.js +0 -2
- package/assets/index-CLRs5cWt.js +0 -1
- package/assets/index-CLU4LJjR.js +0 -1
- package/assets/index-CPDfMZkS.js +0 -1
- package/assets/index-CPfhqyDz.js +0 -316
- package/assets/index-CU4ySaQE.js +0 -1
- package/assets/index-CsCwwmYY.js +0 -1
- package/assets/index-Cyz_w8KS.js +0 -7
- package/assets/index-D489cJtb.js +0 -1
- package/assets/index-D6DebbcI.js +0 -1
- package/assets/index-DDtPG6Km.js +0 -1
- package/assets/index-DKhTnUBU.js +0 -1
- package/assets/index-DMIwLDS8.js +0 -13
- package/assets/index-DgsUJgRJ.js +0 -1
- package/assets/index-oT8mbA3U.js +0 -2
- package/assets/layout-B1ePJO5V.js +0 -1
- package/assets/line-C_jmJ6v1.js +0 -1
- package/assets/line-DfhCgsyz.js +0 -1
- package/assets/linear-ChY5Iu43.js +0 -1
- package/assets/main-LCg1nQGB.js +0 -69
- package/assets/model-benchmark-launcher-B2MsZXmV.js +0 -1
- package/assets/model-benchmark-service-CkIRp-Sq.js +0 -1
- package/assets/model-selection-BvdXmVGX.js +0 -1
- package/assets/photo-wall-splitter-CVrfkWnh.js +0 -1
- package/assets/prompt-optimize-dialog-DLdL2_a1.css +0 -1
- package/assets/settings-dialog-CAhU3cfG.js +0 -1
- package/assets/stateDiagram-587899a1-CMylUAYu.js +0 -1
- package/assets/styles-c10674c1-KfJINP7I.js +0 -116
- package/assets/styles-c10674c1-cccyjRUz.js +0 -116
- package/assets/tool-windows-CtLXQDGF.js +0 -2847
- package/assets/ttd-dialog-BRg3XE5k.js +0 -99
- package/assets/use-runtime-models-BH9r4Yc1.js +0 -1
- package/assets/use-runtime-models-BgWWl4Ng.css +0 -1
- package/assets/useWorkflowSubmission-BeJQ3BuO.js +0 -70
- package/assets/video-analyze-aDVIfgUi.js +0 -1
- package/assets/video-recovery-service-Dy0xiPr8.js +0 -1
- package/assets/workflow-generation-utils-CpMilOwA.js +0 -3
- package/assets/workflow-submission-service-CmBBMIis.js +0 -4
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`)):""}function Fe(r){return r?"是":"否"}function be(r){let l=0,n=0;return r.forEach(m=>{typeof m=="number"&&Number.isFinite(m)&&(l+=m,n+=1)}),n>0?Number((l/n).toFixed(2)):null}function Ws(r=new Date){const l=`${r.getFullYear()}${String(r.getMonth()+1).padStart(2,"0")}${String(r.getDate()).padStart(2,"0")}`,n=`${String(r.getHours()).padStart(2,"0")}${String(r.getMinutes()).padStart(2,"0")}${String(r.getSeconds()).padStart(2,"0")}`;return`model-benchmark-history_${l}_${n}.xlsx`}function ye(r){return r!==null}function Is(r){return r.trim().toLowerCase().split(/\s+/).filter(Boolean)}function pe(r,l){const n=Is(r);if(n.length===0)return!0;const m=l.filter(Boolean).join(" ").toLowerCase();return n.every(u=>m.includes(u))}function Cs(r){return r==="text"?"supportsText":r==="image"?"supportsImage":r==="video"?"supportsVideo":"supportsAudio"}function Ge(r,l){const n=Cs(l);return r.filter(m=>m.enabled&&(m.id===Ns||m.capabilities[n]))}function As(){const[r,l]=c.useState(0);return c.useEffect(()=>De.subscribe(()=>{l(n=>n+1)}),[]),r}function Ls(){const[r,l]=c.useState(()=>we.get());return c.useEffect(()=>{const n=m=>{l(m)};return we.addListener(n),()=>{we.removeListener(n)}},[]),r}function ke(r){return!r||r<0?"--":r<1e3?`${r}ms`:`${(r/1e3).toFixed(r>=1e4?1:2)}s`}function Rs(r){const l=new Map;r.entries.forEach(m=>{var ne,b;const u=(ne=m.modelId)==null?void 0:ne.trim(),N=(b=m.modelLabel)==null?void 0:b.trim();u&&N&&!l.has(u)&&l.set(u,{modelId:u,modelLabel:N})});const n=new Map;return l.forEach(({modelLabel:m})=>{n.set(m,(n.get(m)||0)+1)}),Array.from(l.values()).map(({modelId:m,modelLabel:u})=>(n.get(u)||0)>1?`${u} · ${m}`:u)}function ze(r){return r?r.entries.reduce((l,n)=>(l.total+=1,n.status==="completed"&&(l.completed+=1),n.status==="failed"&&(l.failed+=1),n.status==="running"&&(l.running+=1),l),{total:0,completed:0,failed:0,running:0}):{total:0,completed:0,failed:0,running:0}}function M(r,l){const n=De.getState(r).models.filter(u=>u.type===l),m=new Map;return n.forEach(u=>{m.has(u.id)||m.set(u.id,u)}),Array.from(m.values())}function Ye(r){return r.shortLabel||r.label||r.id}function Qe(r){const l=Ye(r);return l===r.id?l:`${l} · ${r.id}`}function Ps(r,l){return`${r}::${l}`}function Gs({}){const{confirm:r,confirmDialog:l}=us(),n=hs(Ds),m=Ls(),u=As(),[N,ne]=c.useState(()=>_.getState()),[b,Be]=c.useState("text"),[f,Ve]=c.useState("cross-provider"),[v,ae]=c.useState(""),[L,ie]=c.useState(""),[F,R]=c.useState([]),[G,z]=c.useState([]),[Q,X]=c.useState([]),[$,Ts]=c.useState(""),[K,$s]=c.useState(!1),[He,qe]=c.useState(A("text").id),[ce,fe]=c.useState(A("text").prompt),[Se,Je]=c.useState(2),[Ne,Ue]=c.useState(!1),[xe,Ze]=c.useState("speed"),[ve,es]=c.useState(""),[le,ss]=c.useState("all"),We=c.useRef(""),q=c.useRef(!1),te=c.useRef(null);c.useRef({}),c.useEffect(()=>{const e=_.observe().subscribe(o=>{c.startTransition(()=>{ne(o)})});return()=>e.unsubscribe()},[]);const w=c.useMemo(()=>Ge(m,b),[b,m]),Y=c.useMemo(()=>new Map(w.map(e=>[e.id,e])),[w]),D=v&&Y.get(v)||null,os=bs.useCallback(async e=>{await r({title:"确认删除会话",description:`确定要删除会话「${e.title||"未命名会话"}」吗?此操作不可撤销。`,confirmText:"删除",cancelText:"取消",danger:!0})&&_.removeSession(e.id)},[r]),S=c.useMemo(()=>v?M(v,b):[],[u,b,v]),ge=c.useMemo(()=>{const e=new Map;return w.forEach(o=>{M(o.id,b).forEach(t=>{e.has(t.id)||e.set(t.id,t)})}),Array.from(e.values())},[w,u,b]),U=c.useMemo(()=>w.flatMap(e=>M(e.id,b).map(o=>T(e.id,e.name,o))),[w,u,b]);c.useEffect(()=>{if(q.current){console.debug("[Benchmark] reconcile profile/prompt: skipped (launchGuard)");return}if(!w.length){ae("");return}const e=A(b);qe(e.id),fe(o=>o===A("text").prompt||o===A("image").prompt||o===A("video").prompt||o===A("audio").prompt?e.prompt:o),(!v||!Y.has(v))&&ae(w[0].id)},[w,b,Y,v]),c.useEffect(()=>{if(q.current){console.debug("[Benchmark] reconcile modelIds: skipped (launchGuard)");return}const e=S.map(o=>o.id);if(e.length===0){R([]);return}R(o=>{const t=Me(o,e,{fallback:"all"});return t!==o&&console.debug("[Benchmark] reconcile modelIds: changed",{from:o,to:t}),t})},[S]),c.useEffect(()=>{if(q.current){console.debug("[Benchmark] reconcile selectedModelId: skipped (launchGuard)");return}const e=ge.map(o=>o.id);if(e.length===0){ie("");return}e.includes(L)||ie(e[0])},[ge,L]);const P=c.useMemo(()=>L?w.map(e=>{const o=M(e.id,b).find(t=>t.id===L);return o?T(e.id,e.name,o):null}).filter(ye):[],[w,b,L]);c.useEffect(()=>{if(q.current){console.debug("[Benchmark] reconcile providerIds: skipped (launchGuard)");return}z(e=>Me(e,P.map(o=>o.profileId),{fallback:"all"}))},[P]),c.useEffect(()=>{if(q.current){console.debug("[Benchmark] reconcile customKeys: skipped (launchGuard)");return}X(e=>Me(e,U.map(o=>o.selectionKey),{fallback:"first",limit:qs}))},[U]);const p=c.useMemo(()=>N.sessions.find(e=>e.id===N.activeSessionId)||null,[N.activeSessionId,N.sessions]),Ie=c.useMemo(()=>N.sessions.filter(e=>le!=="all"&&e.modality!==le?!1:pe(ve,[e.title,e.prompt,oe[e.compareMode],se[e.modality],...e.entries.flatMap(o=>[o.profileName,o.profileId,o.modelLabel,o.modelId,o.vendor])])),[le,ve,N.sessions]);c.useEffect(()=>{p&&Ze(p.rankingMode)},[p]);const rs=c.useMemo(()=>ze(p),[p]),ns=c.useMemo(()=>p?Es(p.entries,p.rankingMode):[],[p]),W=c.useMemo(()=>{if(f==="cross-provider")return P.filter(e=>G.includes(e.profileId));if(f==="cross-model"){if(!v)return[];const e=Y.get(v);return e?S.filter(o=>F.includes(o.id)).map(o=>T(e.id,e.name,o)):[]}return U.filter(e=>Q.includes(e.selectionKey))},[S,f,P,U,Y,Q,F,v,G]),Ce=c.useMemo(()=>{if(!p||p.modality!==b||p.compareMode!==f)return!1;const e=W.map(t=>t.selectionKey);if(e.length===0||p.entries.length!==e.length)return!1;const o=new Set(e);return p.entries.every(t=>o.has(t.selectionKey))},[p,f,b,W]),Ae=c.useMemo(()=>p&&Ce?p.entries.map(e=>({key:e.selectionKey,modelLabel:e.modelLabel,profileName:e.profileName,badgeLabel:he[e.status]||he.pending})):W.map(e=>({key:e.selectionKey,modelLabel:e.modelLabel,profileName:e.profileName,badgeLabel:he.pending})),[p,Ce,W]),x=p,H=x?rs:ze(null),Le=x?ns:[];Ae.length,Ae.slice(0,Ss);const E=Le.find(e=>e.status==="completed")||null,Re=c.useMemo(()=>S.filter(e=>{const o=F.includes(e.id);return K&&!o?!1:pe($,[Ye(e),e.id,D==null?void 0:D.name])}),[D==null?void 0:D.name,S,$,F,K]),Pe=c.useMemo(()=>P.filter(e=>{const o=G.includes(e.profileId);return K&&!o?!1:pe($,[e.profileName,e.modelLabel,e.modelId,e.profileId])}),[P,$,G,K]),Te=c.useMemo(()=>U.filter(e=>{const o=Q.includes(e.selectionKey);return K&&!o?!1:pe($,[e.profileName,e.modelLabel,e.modelId,e.profileId])}),[U,$,Q,K]),me=c.useMemo(()=>f==="cross-model"?Re.map(e=>e.id):f==="cross-provider"?Pe.map(e=>e.profileId):Te.map(e=>e.selectionKey),[f,Re,Pe,Te]);c.useEffect(()=>{if(me.length===0){te.current=null;return}te.current&&me.includes(te.current)||(te.current=me[0])},[me]),c.useEffect(()=>{var Ke;if(!n){console.debug("[Benchmark] useEffect: no initialRequest, skip");return}if(!N.ready){console.debug("[Benchmark] useEffect: storeState not ready, waiting...");return}const e=JSON.stringify(n);if(We.current===e){console.debug("[Benchmark] useEffect: same signature, skip",{signature:e});return}const o=n.modality||"text",t=Ge(m,o),B=n.profileId||"",I=n.modelId||"",C=B?De.getState(B):null,de=B&&I?M(B,o):[],ue=!I||de.some(k=>k.id===I);if(C&&I&&!ue&&(C.status==="idle"||C.status==="loading")){console.debug("[Benchmark] useEffect: waiting for requested model discovery",{signature:e,requestedProfileId:B,requestedModelId:I,status:C.status,discoveryVersion:u});return}q.current=!0,We.current=e;const J=n.compareMode||(n.modelId?"cross-provider":"cross-model");let j=J,i=[];const a=n.profileId&&n.modelId?Ps(n.profileId,n.modelId):"";J==="cross-provider"&&n.modelId&&(i=t.filter(k=>M(k.id,o).some(Z=>Z.id===n.modelId)).map(k=>k.id),i.length<=1&&(j="custom",console.debug("[Benchmark] cross-provider → custom downgrade",{modelId:n.modelId,matchingProviderIds:i}))),console.debug("[Benchmark] useEffect: applying initialRequest",{nextModality:o,nextCompareMode:j,requestedCompareMode:J,profileId:n.profileId,modelId:n.modelId,profileCount:t.length,matchingProviderIds:i});const y=A(o);Be(o),Ve(j),qe(y.id),fe(y.prompt);const d=n.profileId||i[0]||((Ke=t[0])==null?void 0:Ke.id)||"";if(d&&ae(d),j==="cross-provider"&&n.modelId)ie(n.modelId),z(i);else if(j==="cross-model"&&n.modelId)R([n.modelId]);else if(j==="cross-model"&&!n.modelId&&d){const k=M(d,o);R(k.map(Z=>Z.id))}else j==="custom"&&a&&X([a]);const ms=window.setTimeout(()=>{let k;if(j==="cross-provider"&&n.modelId)k=t.map(h=>{const g=M(h.id,o).find(V=>V.id===n.modelId);return g?T(h.id,h.name,g):null}).filter(ye);else if(j==="cross-model"&&n.modelId){const h=t.find(g=>g.id===d);if(h){const g=M(h.id,o).find(V=>V.id===n.modelId);k=g?[T(h.id,h.name,g)]:[]}else k=[]}else if(j==="custom"){const h=t.find(g=>g.id===(n.profileId||d));if(h&&n.modelId){const g=M(h.id,o).find(V=>V.id===n.modelId);k=g?[T(h.id,h.name,g)]:[]}else k=[]}else{const h=d||v;h?k=M(h,o).map(g=>{const V=t.find(ds=>ds.id===h);return V?T(V.id,V.name,g):null}).filter(ye):k=[]}if(!k.length){console.debug("[Benchmark] setTimeout: no targets built, abort");return}if(console.debug("[Benchmark] setTimeout: creating session",{targetCount:k.length,targets:k.map(h=>`${h.profileName}/${h.modelId}`),autoRun:n.autoRun}),!n.autoRun){requestAnimationFrame(()=>{setTimeout(()=>{q.current=!1,console.debug("[Benchmark] guard released without autoRun")},0)});return}const Z=_.createSession({modality:o,compareMode:j,promptPresetId:y.id,prompt:y.prompt,rankingMode:xe,targets:k,source:"shortcut"});_.runSession(Z.id),requestAnimationFrame(()=>{setTimeout(()=>{q.current=!1,console.debug("[Benchmark] guard released")},0)})},120);return()=>{window.clearTimeout(ms)}},[u,n,m,xe,v,N.ready]);const as=async()=>{if(W.length===0||!ce.trim())return;const e=_.createSession({modality:b,compareMode:f,promptPresetId:He,prompt:ce,rankingMode:xe,targets:W,source:"manual"});await _.runSession(e.id,Se)},is=async()=>{if(Ne)return;const e=N.sessions;if(e.length===0){_e.warning("暂无历史会话可导出");return}Ue(!0);try{const o=await xs(()=>import("./xlsx-CkFp8p6R.js"),[],import.meta.url),t=e.flatMap(i=>i.entries.map(a=>({会话标题:i.title,会话ID:i.id,会话创建时间:re(i.createdAt),模态:se[i.modality],对比方式:oe[i.compareMode],会话状态:Ee[i.status],提示词预设:i.promptPresetId,提示词:O(i.prompt),供应商配置:a.profileName,供应商ID:a.profileId,模型名称:a.modelLabel,模型ID:a.modelId,厂商:a.vendor,选择Key:a.selectionKey,结果ID:a.id,结果状态:he[a.status],开始时间:re(a.startedAt),首响时间:re(a.firstResponseAt),完成时间:re(a.completedAt),首响ms:a.firstResponseMs,总耗时ms:a.totalDurationMs,预估成本:a.estimatedCost,用户评分:a.userScore,已收藏:Fe(a.favorite),已淘汰:Fe(a.rejected),错误摘要:O(a.errorSummary),预览文本:O(a.preview.text),预览链接:O(a.preview.url),预览链接列表:Us(a.preview.urls),预览格式:a.preview.format||"",预览时长:a.preview.duration??"",预览标题:O(a.preview.title)}))),B=new Map;e.forEach(i=>{i.entries.forEach(a=>{const y=`${i.modality}::${a.selectionKey}`,d=B.get(y)||{profileName:a.profileName,profileId:a.profileId,modelLabel:a.modelLabel,modelId:a.modelId,vendor:a.vendor,modality:se[i.modality],selectionKey:a.selectionKey,sessionIds:new Set,count:0,completedCount:0,failedCount:0,runningCount:0,pendingCount:0,favoriteCount:0,rejectedCount:0,firstResponseValues:[],totalDurationValues:[],costValues:[],scoreValues:[],latestAt:0};d.sessionIds.add(i.id),d.count+=1,a.status==="completed"&&(d.completedCount+=1),a.status==="failed"&&(d.failedCount+=1),a.status==="running"&&(d.runningCount+=1),a.status==="pending"&&(d.pendingCount+=1),a.favorite&&(d.favoriteCount+=1),a.rejected&&(d.rejectedCount+=1),typeof a.firstResponseMs=="number"&&d.firstResponseValues.push(a.firstResponseMs),typeof a.totalDurationMs=="number"&&d.totalDurationValues.push(a.totalDurationMs),typeof a.estimatedCost=="number"&&d.costValues.push(a.estimatedCost),typeof a.userScore=="number"&&d.scoreValues.push(a.userScore),d.latestAt=Math.max(d.latestAt,a.completedAt||a.startedAt||i.updatedAt||i.createdAt),B.set(y,d)})});const I=Array.from(B.values()).map(i=>({供应商配置:i.profileName,供应商ID:i.profileId,模型名称:i.modelLabel,模型ID:i.modelId,厂商:i.vendor,模态:i.modality,选择Key:i.selectionKey,测试次数:i.count,涉及会话数:i.sessionIds.size,完成次数:i.completedCount,失败次数:i.failedCount,运行中次数:i.runningCount,待测次数:i.pendingCount,收藏次数:i.favoriteCount,淘汰次数:i.rejectedCount,平均首响ms:be(i.firstResponseValues),最快首响ms:i.firstResponseValues.length>0?Math.min(...i.firstResponseValues):null,平均总耗时ms:be(i.totalDurationValues),最快总耗时ms:i.totalDurationValues.length>0?Math.min(...i.totalDurationValues):null,平均成本:be(i.costValues),平均评分:be(i.scoreValues),最近测试时间:re(i.latestAt)})).sort((i,a)=>{const y=(a.平均评分??-1)-(i.平均评分??-1);if(y!==0)return y;const d=(i.平均首响ms??Number.MAX_SAFE_INTEGER)-(a.平均首响ms??Number.MAX_SAFE_INTEGER);return d!==0?d:(i.平均成本??Number.MAX_SAFE_INTEGER)-(a.平均成本??Number.MAX_SAFE_INTEGER)}),C=o.utils.book_new(),de=o.utils.json_to_sheet(I),ue=o.utils.json_to_sheet(t);de["!cols"]=[{wch:18},{wch:22},{wch:24},{wch:32},{wch:14},{wch:10},{wch:32},{wch:8},{wch:10},{wch:8},{wch:8},{wch:10},{wch:8},{wch:8},{wch:8},{wch:18},{wch:18},{wch:12},{wch:18},{wch:12},{wch:12},{wch:12},{wch:20}],ue["!cols"]=[{wch:28},{wch:24},{wch:20},{wch:10},{wch:14},{wch:10},{wch:18},{wch:60},{wch:18},{wch:22},{wch:24},{wch:32},{wch:14},{wch:32},{wch:24},{wch:10},{wch:20},{wch:20},{wch:20},{wch:12},{wch:12},{wch:12},{wch:10},{wch:8},{wch:8},{wch:36},{wch:60},{wch:60},{wch:80},{wch:12},{wch:10},{wch:28}],o.utils.book_append_sheet(C,de,"模型汇总"),o.utils.book_append_sheet(C,ue,"原始结果");const J=o.write(C,{bookType:"xlsx",type:"array"}),j=new Blob([J],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});vs(j,Ws()),_e.success(`已导出 ${I.length} 个模型结果`)}catch(o){console.error("[ModelBenchmark] Excel export failed:",o),_e.error("导出 Excel 失败,请稍后重试")}finally{Ue(!1)}},cs=e=>{const o=e.preview.rawData?s.jsxDEV("details",{className:"model-benchmark__raw-data",children:[s.jsxDEV("summary",{children:"原始数据 (JSON)"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1454,columnNumber:9},this),s.jsxDEV("pre",{children:JSON.stringify(e.preview.rawData,null,2)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1455,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1453,columnNumber:7},this):null;return e.modality==="text"?s.jsxDEV("div",{className:"model-benchmark__preview-content",children:[s.jsxDEV("pre",{className:"model-benchmark__preview-text",children:e.preview.text||"暂无返回"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1462,columnNumber:11},this),o]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1461,columnNumber:9},this):e.modality==="image"&&e.preview.url?s.jsxDEV("div",{className:"model-benchmark__preview-content",children:[s.jsxDEV("img",{className:"model-benchmark__preview-image",src:e.preview.url,alt:e.modelLabel,loading:"lazy"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1473,columnNumber:11},this),o]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1472,columnNumber:9},this):e.modality==="video"&&e.preview.url?s.jsxDEV("div",{className:"model-benchmark__preview-content",children:[s.jsxDEV("video",{className:"model-benchmark__preview-video",src:e.preview.url,controls:!0,preload:"metadata"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1487,columnNumber:11},this),o]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1486,columnNumber:9},this):e.modality==="audio"&&e.preview.url?s.jsxDEV("div",{className:"model-benchmark__preview-content",children:[s.jsxDEV("div",{className:"model-benchmark__preview-audio-shell",children:[s.jsxDEV("audio",{controls:!0,preload:"none",src:e.preview.url},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1502,columnNumber:13},this),e.preview.text?s.jsxDEV("pre",{className:"model-benchmark__preview-text",children:e.preview.text},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1504,columnNumber:15},this):null]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1501,columnNumber:11},this),o]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1500,columnNumber:9},this):s.jsxDEV("div",{className:"model-benchmark__preview-empty",children:[e.status==="failed"?"加载失败":"暂无预览",o]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1515,columnNumber:7},this)};f==="cross-model"?`${(D==null?void 0:D.name)||"未选择"}`:f==="cross-provider"&&`${L||"未选择"}`;const ls=ge.map(e=>({label:Qe(e),value:e.id})),$e=P.map(e=>({label:`${e.profileName} · ${e.modelLabel}`,value:e.profileId})),ts=[{label:"全部",value:"all",icon:s.jsxDEV(gs,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1553,columnNumber:40},this)},{label:"图片",value:"image",icon:s.jsxDEV(js,{size:"14px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1554,columnNumber:42},this)},{label:"视频",value:"video",icon:s.jsxDEV(ws,{size:"14px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1555,columnNumber:42},this)},{label:"音频",value:"audio",icon:s.jsxDEV(_s,{size:14,strokeWidth:1.9},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1559,columnNumber:13},this)},{label:"文本",value:"text",icon:s.jsxDEV(Ms,{size:"14px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1561,columnNumber:41},this)}];return s.jsxDEV("div",{className:"model-benchmark",children:[s.jsxDEV("aside",{className:"model-benchmark__sidebar",children:[s.jsxDEV("div",{className:"model-benchmark__sidebar-head",children:[s.jsxDEV("div",{className:"model-benchmark__panel-title",children:"历史会话"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1568,columnNumber:11},this),s.jsxDEV("button",{type:"button",className:"model-benchmark__ghost-button",onClick:is,disabled:N.sessions.length===0||Ne,children:Ne?"导出中...":"导出 Excel"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1569,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1567,columnNumber:9},this),s.jsxDEV("div",{className:"model-benchmark__sidebar-filters",children:[s.jsxDEV(ps,{value:ve,onChange:es,placeholder:"搜索会话 / 模型 / 供应商",prefixIcon:s.jsxDEV(ks,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1583,columnNumber:25},this),size:"small",clearable:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1579,columnNumber:11},this),s.jsxDEV("div",{className:"model-benchmark__sidebar-tabs",children:ts.map(e=>s.jsxDEV(je,{content:e.label,children:s.jsxDEV("button",{type:"button",className:le===e.value?"model-benchmark__sidebar-tab model-benchmark__sidebar-tab--active":"model-benchmark__sidebar-tab",onClick:()=>ss(e.value),"aria-label":e.label,title:e.label,children:e.icon},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1590,columnNumber:17},this)},e.value,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1589,columnNumber:15},this))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1587,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1578,columnNumber:9},this),s.jsxDEV("div",{className:"model-benchmark__session-list",children:Ie.length>0?Ie.map(e=>{const o=Rs(e);return s.jsxDEV("div",{className:"model-benchmark__session-row",children:[s.jsxDEV("button",{type:"button",className:`model-benchmark__session-item ${e.id===N.activeSessionId?"model-benchmark__session-item--active":""}`,onClick:()=>_.setActiveSession(e.id),children:[s.jsxDEV("span",{className:"model-benchmark__session-title",children:e.title},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1624,columnNumber:21},this),s.jsxDEV("span",{className:"model-benchmark__session-models",children:o.length>0?o.join(" / "):"暂无模型信息"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1627,columnNumber:21},this),s.jsxDEV("span",{className:"model-benchmark__session-meta",children:[oe[e.compareMode]," ·"," ",e.entries.length," 个目标 ·"," ",Ee[e.status]]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1632,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1613,columnNumber:19},this),s.jsxDEV("button",{type:"button",className:"model-benchmark__session-delete",onClick:()=>void os(e),"aria-label":`删除会话 ${e.title}`,children:s.jsxDEV(je,{content:"删除会话",showArrow:!1,children:s.jsxDEV("span",{children:s.jsxDEV(fs,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1646,columnNumber:25},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1645,columnNumber:23},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1644,columnNumber:21},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1638,columnNumber:19},this)]},e.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1612,columnNumber:17},this)}):s.jsxDEV("div",{className:"model-benchmark__session-empty",children:N.sessions.length===0?"暂无历史会话":"没有匹配的历史会话"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1654,columnNumber:13},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1607,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1566,columnNumber:7},this),s.jsxDEV("main",{className:"model-benchmark__main",children:s.jsxDEV("div",{className:"model-benchmark__main-shell",children:[s.jsxDEV("section",{className:"model-benchmark__config-dashboard",children:[s.jsxDEV("div",{className:"model-benchmark__config-row model-benchmark__config-row--top",children:[s.jsxDEV("div",{className:"model-benchmark__modality-tabs",children:Object.keys(se).map(e=>s.jsxDEV("button",{type:"button",className:b===e?"active":"",onClick:()=>Be(e),children:se[e]},e,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1670,columnNumber:21},this))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1667,columnNumber:15},this),s.jsxDEV("div",{className:"model-benchmark__mode-selector",children:Object.entries(oe).map(([e,o])=>s.jsxDEV(je,{content:Bs[e],placement:"top",children:s.jsxDEV("button",{type:"button",className:f===e?"active":"",onClick:()=>Ve(e),children:o},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1690,columnNumber:23},this)},e,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1685,columnNumber:21},this))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1682,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1666,columnNumber:13},this),s.jsxDEV("div",{className:"model-benchmark__config-main",children:[s.jsxDEV("div",{className:"model-benchmark__config-controls",children:[s.jsxDEV("div",{className:"model-benchmark__primary-select-row",children:[f==="cross-model"?s.jsxDEV(ee,{className:"model-benchmark__select",label:"目标供应商: ",value:v,onChange:e=>ae(e),options:w.map(e=>({label:e.name,value:e.id}))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1709,columnNumber:21},this):null,f==="cross-provider"?s.jsxDEV(ee,{filterable:!0,className:"model-benchmark__select",label:"对比模型: ",value:L,options:ls,placeholder:"搜索并选择要横向对比的模型",onChange:e=>ie(e||"")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1724,columnNumber:21},this):null]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1707,columnNumber:17},this),s.jsxDEV("div",{className:"model-benchmark__secondary-select-row",children:[f==="cross-provider"?s.jsxDEV(ee,{multiple:!0,filterable:!0,minCollapsedNum:3,popupProps:{overlayClassName:"model-benchmark__select-popup"},panelTopContent:s.jsxDEV("div",{className:"model-benchmark__select-actions",children:[s.jsxDEV("button",{type:"button",onClick:()=>z($e.map(e=>e.value)),children:"全选"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1749,columnNumber:27},this),s.jsxDEV("button",{type:"button",onClick:()=>z([]),children:"清除"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1761,columnNumber:27},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1748,columnNumber:25},this),className:"model-benchmark__multi-select",label:"参测供应商: ",value:G,options:$e,placeholder:"多选要参与对比的供应商 (已选即为批测队列)",onChange:e=>z(Array.isArray(e)?e:[])},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1740,columnNumber:21},this):null,f==="cross-model"?s.jsxDEV(ee,{multiple:!0,filterable:!0,minCollapsedNum:3,popupProps:{overlayClassName:"model-benchmark__select-popup"},panelTopContent:s.jsxDEV("div",{className:"model-benchmark__select-actions",children:[s.jsxDEV("button",{type:"button",onClick:()=>R(S.map(e=>e.id)),children:"全选"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1792,columnNumber:27},this),s.jsxDEV("button",{type:"button",onClick:()=>R([]),children:"清除"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1802,columnNumber:27},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1791,columnNumber:25},this),className:"model-benchmark__multi-select",label:"参测模型: ",value:F,options:S.map(e=>({label:Qe(e),value:e.id})),placeholder:"多选要测试的模型 (已选即为批测队列)",onChange:e=>R(Array.isArray(e)?e:[])},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1783,columnNumber:21},this):null,f==="custom"?s.jsxDEV(ee,{multiple:!0,filterable:!0,minCollapsedNum:3,popupProps:{overlayClassName:"model-benchmark__select-popup"},panelTopContent:s.jsxDEV("div",{className:"model-benchmark__select-actions",children:[s.jsxDEV("button",{type:"button",onClick:()=>X(U.map(e=>e.selectionKey)),children:"全选"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1836,columnNumber:27},this),s.jsxDEV("button",{type:"button",onClick:()=>X([]),children:"清除"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1846,columnNumber:27},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1835,columnNumber:25},this),className:"model-benchmark__multi-select",label:"目标组合: ",value:Q,options:U.map(e=>({label:`${e.profileName} · ${e.modelLabel}`,value:e.selectionKey})),placeholder:"手动编排供应商与模型组合",onChange:e=>X(Array.isArray(e)?e:[])},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1827,columnNumber:21},this):null]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1738,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1706,columnNumber:15},this),s.jsxDEV("div",{className:"model-benchmark__config-actions",children:[s.jsxDEV("div",{className:"model-benchmark__prompt-area",children:s.jsxDEV("textarea",{value:ce,onChange:e=>fe(e.target.value),placeholder:"在此输入测试提示词..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1874,columnNumber:19},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1873,columnNumber:17},this),s.jsxDEV("div",{className:"model-benchmark__action-row-inline",children:[s.jsxDEV("div",{className:"model-benchmark__concurrency",children:[s.jsxDEV("span",{children:"最大并发:"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1882,columnNumber:21},this),s.jsxDEV("input",{type:"text",inputMode:"numeric","aria-label":"最大并发",value:Se,onChange:e=>{const o=e.target.value.replace(/\D/g,""),t=Number(o);Je(Math.min(10,Math.max(1,t||1)))}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1883,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1881,columnNumber:19},this),s.jsxDEV("button",{type:"button",className:"model-benchmark__primary-button",onClick:as,disabled:!N.ready||W.length===0||!ce.trim(),children:["开始测试 (",W.length,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1900,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1880,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1872,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1705,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1665,columnNumber:11},this),s.jsxDEV("div",{className:"model-benchmark__main-head",children:s.jsxDEV("div",{children:[s.jsxDEV("div",{className:"model-benchmark__eyebrow",children:x?oe[x.compareMode]:"Result Board"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1919,columnNumber:15},this),s.jsxDEV("h3",{children:x?x.title:"还没有测试结果"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1924,columnNumber:15},this),x?s.jsxDEV("p",{className:"model-benchmark__main-desc",children:[H.total," 个目标",H.completed>0?`,${H.completed} 成功`:"",H.failed>0?`,${H.failed} 失败`:""," · ",Ee[x.status]," · ",Vs[x.rankingMode]]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1928,columnNumber:17},this):s.jsxDEV("p",{className:"model-benchmark__main-desc",children:"请先在上方明确范围,或点击历史会话查看以往结果。"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1942,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1918,columnNumber:13},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1917,columnNumber:11},this),x?s.jsxDEV(s.Fragment,{children:[E?s.jsxDEV("section",{className:"model-benchmark__spotlight",children:[s.jsxDEV("div",{className:"model-benchmark__spotlight-copy",children:[s.jsxDEV("div",{className:"model-benchmark__eyebrow",children:"当前第一名"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1954,columnNumber:21},this),s.jsxDEV("h4",{children:x.compareMode==="cross-provider"?E.profileName:E.modelLabel},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1955,columnNumber:21},this),s.jsxDEV("p",{children:[x.compareMode==="cross-provider"?`${E.modelLabel},`:`来自 ${E.profileName},`,"首响 ",ke(E.firstResponseMs),",总耗时 ",ke(E.totalDurationMs)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1960,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1953,columnNumber:19},this),s.jsxDEV("div",{className:"model-benchmark__spotlight-meta",children:[E.userScore?s.jsxDEV("span",{children:[E.userScore," 分"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1970,columnNumber:23},this):null,E.favorite?s.jsxDEV("span",{children:"已收藏"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1972,columnNumber:42},this):null]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1968,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1952,columnNumber:17},this):null,s.jsxDEV("div",{className:"model-benchmark__result-grid",children:Le.map((e,o)=>s.jsxDEV("article",{className:`model-benchmark__result-card model-benchmark__result-card--${e.status}`,children:[s.jsxDEV("header",{className:"model-benchmark__result-head",children:[s.jsxDEV("div",{className:"model-benchmark__result-rank",children:["#",o+1]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1984,columnNumber:23},this),s.jsxDEV("div",{className:"model-benchmark__result-heading",children:[s.jsxDEV("div",{className:"model-benchmark__result-title",children:e.modelLabel},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1988,columnNumber:25},this),s.jsxDEV("div",{className:"model-benchmark__result-subtitle",children:e.profileName},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1991,columnNumber:25},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1987,columnNumber:23},this),s.jsxDEV("span",{className:`model-benchmark__status model-benchmark__status--${e.status}`,children:e.status==="completed"?"完成":e.status==="failed"?"失败":e.status==="running"?"测试中":"等待中"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1995,columnNumber:23},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1983,columnNumber:21},this),s.jsxDEV("div",{className:"model-benchmark__result-metrics",children:[s.jsxDEV("span",{children:["首响 ",ke(e.firstResponseMs)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2009,columnNumber:23},this),s.jsxDEV("span",{children:["总耗时 ",ke(e.totalDurationMs)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2010,columnNumber:23},this),s.jsxDEV("span",{children:["成本"," ",e.estimatedCost===null?"未知":`¥${e.estimatedCost.toFixed(4)}`]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2013,columnNumber:23},this),s.jsxDEV("span",{children:["性价比"," ",(()=>{const t=ys(e);return t===null?"—":`${t}/10`})()]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2019,columnNumber:23},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2008,columnNumber:21},this),s.jsxDEV("div",{className:"model-benchmark__preview",children:cs(e)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2028,columnNumber:21},this),e.errorSummary?s.jsxDEV("div",{className:"model-benchmark__error",children:e.errorSummary},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2033,columnNumber:23},this):null,s.jsxDEV("div",{className:"model-benchmark__feedback",children:[s.jsxDEV("div",{className:"model-benchmark__score-row",children:[1,2,3,4,5].map(t=>s.jsxDEV("button",{type:"button",className:`model-benchmark__score-chip ${e.userScore===t?"model-benchmark__score-chip--active":""}`,onClick:()=>_.setEntryFeedback(x.id,e.id,{userScore:e.userScore===t?null:t}),children:[t,"分"]},t,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2041,columnNumber:27},this))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2039,columnNumber:23},this),s.jsxDEV("div",{className:"model-benchmark__action-row",children:[s.jsxDEV("button",{type:"button",className:`model-benchmark__ghost-button ${e.favorite?"model-benchmark__ghost-button--active":""}`,onClick:()=>_.setEntryFeedback(x.id,e.id,{favorite:!e.favorite}),children:"收藏"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2065,columnNumber:25},this),s.jsxDEV("button",{type:"button",className:`model-benchmark__ghost-button ${e.rejected?"model-benchmark__ghost-button--danger":""}`,onClick:()=>_.setEntryFeedback(x.id,e.id,{rejected:!e.rejected}),children:"淘汰"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2084,columnNumber:25},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2064,columnNumber:23},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2038,columnNumber:21},this)]},e.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1979,columnNumber:19},this))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1977,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1950,columnNumber:13},this):s.jsxDEV("div",{className:"model-benchmark__empty",children:"先在左侧选定“同供应商多模型”或“同模型跨供应商”,把批测目标编满后再开跑。"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2110,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1664,columnNumber:9},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1663,columnNumber:7},this),l]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1565,columnNumber:5},this)}export{Gs as default};
|
|
1
|
+
import{aD as us,aE as hs,aj as c,aF as _,aG as A,aH as bs,aI as P,aJ as we,aK as ps,aL as De,ai as s,aM as ks,aN as fs,aO as je,aP as Ns,aQ as ee,aR as xs,aS as _e,aT as vs,aU as Me,ak as gs,aV as ws,aW as js,aX as _s,aY as Ms,aZ as Es,a_ as ys}from"./tool-windows-DOIu9TAD.js";import{b as Ds}from"./model-benchmark-launcher-Ct3lYXVq.js";const se={text:"文本",image:"图片",video:"视频",audio:"音频"},oe={"cross-provider":"跨供应商对比","cross-model":"多模型批测",custom:"自定义测试"},Bs={"cross-provider":"锁定一个模型,横向比较不同供应商的稳定性、速度和效果差异。","cross-model":"锁定一个供应商,一次跑完同类模型,快速筛掉慢和差的型号。",custom:"手动编排供应商与模型组合,适合做定向复测和候选名单对比。"},Vs={speed:"速度优先",cost:"成本优先",balanced:"综合平衡","value-for-money":"性价比"},Ee={draft:"待启动",running:"测试中",completed:"已完成",partial:"部分失败",failed:"全部失败"},he={pending:"待测",running:"测试中",completed:"已完成",failed:"失败"},qs=6,Ss=8,Fe=32e3;function re(r){return r?new Date(r).toLocaleString("zh-CN",{hour12:!1}):""}function Qe(r){return r.length>Fe?`${r.slice(0,Fe-8)}...[截断]`:r}function F(r){return r?r.startsWith("data:")?"[内嵌数据已省略]":Qe(r):""}function Us(r){return r!=null&&r.length?Qe(r.map(l=>F(l)).join(`
|
|
2
|
+
`)):""}function Oe(r){return r?"是":"否"}function be(r){let l=0,n=0;return r.forEach(m=>{typeof m=="number"&&Number.isFinite(m)&&(l+=m,n+=1)}),n>0?Number((l/n).toFixed(2)):null}function Ws(r=new Date){const l=`${r.getFullYear()}${String(r.getMonth()+1).padStart(2,"0")}${String(r.getDate()).padStart(2,"0")}`,n=`${String(r.getHours()).padStart(2,"0")}${String(r.getMinutes()).padStart(2,"0")}${String(r.getSeconds()).padStart(2,"0")}`;return`model-benchmark-history_${l}_${n}.xlsx`}function ye(r){return r!==null}function Is(r){return r.trim().toLowerCase().split(/\s+/).filter(Boolean)}function pe(r,l){const n=Is(r);if(n.length===0)return!0;const m=l.filter(Boolean).join(" ").toLowerCase();return n.every(u=>m.includes(u))}function Cs(r){return r==="text"?"supportsText":r==="image"?"supportsImage":r==="video"?"supportsVideo":"supportsAudio"}function Ge(r,l){const n=Cs(l);return r.filter(m=>m.enabled&&(m.id===vs||m.capabilities[n]))}function As(){const[r,l]=c.useState(0);return c.useEffect(()=>De.subscribe(()=>{l(n=>n+1)}),[]),r}function Ls(){const[r,l]=c.useState(()=>_e.get());return c.useEffect(()=>{const n=m=>{l(m)};return _e.addListener(n),()=>{_e.removeListener(n)}},[]),r}function ke(r){return!r||r<0?"--":r<1e3?`${r}ms`:`${(r/1e3).toFixed(r>=1e4?1:2)}s`}function Rs(r){const l=new Map;r.entries.forEach(m=>{var ne,b;const u=(ne=m.modelId)==null?void 0:ne.trim(),N=(b=m.modelLabel)==null?void 0:b.trim();u&&N&&!l.has(u)&&l.set(u,{modelId:u,modelLabel:N})});const n=new Map;return l.forEach(({modelLabel:m})=>{n.set(m,(n.get(m)||0)+1)}),Array.from(l.values()).map(({modelId:m,modelLabel:u})=>(n.get(u)||0)>1?`${u} · ${m}`:u)}function ze(r){return r?r.entries.reduce((l,n)=>(l.total+=1,n.status==="completed"&&(l.completed+=1),n.status==="failed"&&(l.failed+=1),n.status==="running"&&(l.running+=1),l),{total:0,completed:0,failed:0,running:0}):{total:0,completed:0,failed:0,running:0}}function M(r,l){const n=De.getState(r).models.filter(u=>u.type===l),m=new Map;return n.forEach(u=>{m.has(u.id)||m.set(u.id,u)}),Array.from(m.values())}function Ye(r){return r.shortLabel||r.label||r.id}function Xe(r){const l=Ye(r);return l===r.id?l:`${l} · ${r.id}`}function Ts(r,l){return`${r}::${l}`}function Os({}){const{confirm:r,confirmDialog:l}=us(),n=hs(Ds),m=Ls(),u=As(),[N,ne]=c.useState(()=>_.getState()),[b,Be]=c.useState("text"),[f,Ve]=c.useState("cross-provider"),[v,ae]=c.useState(""),[L,ie]=c.useState(""),[O,R]=c.useState([]),[G,z]=c.useState([]),[X,Q]=c.useState([]),[$,Ps]=c.useState(""),[K,$s]=c.useState(!1),[He,qe]=c.useState(A("text").id),[ce,fe]=c.useState(A("text").prompt),[Se,Je]=c.useState(2),[Ne,Ue]=c.useState(!1),[xe,Ze]=c.useState("speed"),[ve,es]=c.useState(""),[le,ss]=c.useState("all"),We=c.useRef(""),q=c.useRef(!1),te=c.useRef(null);c.useRef({}),c.useEffect(()=>{const e=_.observe().subscribe(o=>{c.startTransition(()=>{ne(o)})});return()=>e.unsubscribe()},[]);const j=c.useMemo(()=>Ge(m,b),[b,m]),Y=c.useMemo(()=>new Map(j.map(e=>[e.id,e])),[j]),D=v&&Y.get(v)||null,os=bs.useCallback(async e=>{await r({title:"确认删除会话",description:`确定要删除会话「${e.title||"未命名会话"}」吗?此操作不可撤销。`,confirmText:"删除",cancelText:"取消",danger:!0})&&_.removeSession(e.id)},[r]),S=c.useMemo(()=>v?M(v,b):[],[u,b,v]),ge=c.useMemo(()=>{const e=new Map;return j.forEach(o=>{M(o.id,b).forEach(t=>{e.has(t.id)||e.set(t.id,t)})}),Array.from(e.values())},[j,u,b]),U=c.useMemo(()=>j.flatMap(e=>M(e.id,b).map(o=>P(e.id,e.name,o))),[j,u,b]);c.useEffect(()=>{if(q.current){console.debug("[Benchmark] reconcile profile/prompt: skipped (launchGuard)");return}if(!j.length){ae("");return}const e=A(b);qe(e.id),fe(o=>o===A("text").prompt||o===A("image").prompt||o===A("video").prompt||o===A("audio").prompt?e.prompt:o),(!v||!Y.has(v))&&ae(j[0].id)},[j,b,Y,v]),c.useEffect(()=>{if(q.current){console.debug("[Benchmark] reconcile modelIds: skipped (launchGuard)");return}const e=S.map(o=>o.id);if(e.length===0){R([]);return}R(o=>{const t=we(o,e,{fallback:"all"});return t!==o&&console.debug("[Benchmark] reconcile modelIds: changed",{from:o,to:t}),t})},[S]),c.useEffect(()=>{if(q.current){console.debug("[Benchmark] reconcile selectedModelId: skipped (launchGuard)");return}const e=ge.map(o=>o.id);if(e.length===0){ie("");return}e.includes(L)||ie(e[0])},[ge,L]);const T=c.useMemo(()=>L?j.map(e=>{const o=M(e.id,b).find(t=>t.id===L);return o?P(e.id,e.name,o):null}).filter(ye):[],[j,b,L]);c.useEffect(()=>{if(q.current){console.debug("[Benchmark] reconcile providerIds: skipped (launchGuard)");return}z(e=>we(e,T.map(o=>o.profileId),{fallback:"all"}))},[T]),c.useEffect(()=>{if(q.current){console.debug("[Benchmark] reconcile customKeys: skipped (launchGuard)");return}Q(e=>we(e,U.map(o=>o.selectionKey),{fallback:"first",limit:qs}))},[U]);const p=c.useMemo(()=>N.sessions.find(e=>e.id===N.activeSessionId)||null,[N.activeSessionId,N.sessions]),Ie=c.useMemo(()=>N.sessions.filter(e=>le!=="all"&&e.modality!==le?!1:pe(ve,[e.title,e.prompt,oe[e.compareMode],se[e.modality],...e.entries.flatMap(o=>[o.profileName,o.profileId,o.modelLabel,o.modelId,o.vendor])])),[le,ve,N.sessions]);c.useEffect(()=>{p&&Ze(p.rankingMode)},[p]);const rs=c.useMemo(()=>ze(p),[p]),ns=c.useMemo(()=>p?ps(p.entries,p.rankingMode):[],[p]),W=c.useMemo(()=>{if(f==="cross-provider")return T.filter(e=>G.includes(e.profileId));if(f==="cross-model"){if(!v)return[];const e=Y.get(v);return e?S.filter(o=>O.includes(o.id)).map(o=>P(e.id,e.name,o)):[]}return U.filter(e=>X.includes(e.selectionKey))},[S,f,T,U,Y,X,O,v,G]),Ce=c.useMemo(()=>{if(!p||p.modality!==b||p.compareMode!==f)return!1;const e=W.map(t=>t.selectionKey);if(e.length===0||p.entries.length!==e.length)return!1;const o=new Set(e);return p.entries.every(t=>o.has(t.selectionKey))},[p,f,b,W]),Ae=c.useMemo(()=>p&&Ce?p.entries.map(e=>({key:e.selectionKey,modelLabel:e.modelLabel,profileName:e.profileName,badgeLabel:he[e.status]||he.pending})):W.map(e=>({key:e.selectionKey,modelLabel:e.modelLabel,profileName:e.profileName,badgeLabel:he.pending})),[p,Ce,W]),x=p,H=x?rs:ze(null),Le=x?ns:[];Ae.length,Ae.slice(0,Ss);const E=Le.find(e=>e.status==="completed")||null,Re=c.useMemo(()=>S.filter(e=>{const o=O.includes(e.id);return K&&!o?!1:pe($,[Ye(e),e.id,D==null?void 0:D.name])}),[D==null?void 0:D.name,S,$,O,K]),Te=c.useMemo(()=>T.filter(e=>{const o=G.includes(e.profileId);return K&&!o?!1:pe($,[e.profileName,e.modelLabel,e.modelId,e.profileId])}),[T,$,G,K]),Pe=c.useMemo(()=>U.filter(e=>{const o=X.includes(e.selectionKey);return K&&!o?!1:pe($,[e.profileName,e.modelLabel,e.modelId,e.profileId])}),[U,$,X,K]),me=c.useMemo(()=>f==="cross-model"?Re.map(e=>e.id):f==="cross-provider"?Te.map(e=>e.profileId):Pe.map(e=>e.selectionKey),[f,Re,Te,Pe]);c.useEffect(()=>{if(me.length===0){te.current=null;return}te.current&&me.includes(te.current)||(te.current=me[0])},[me]),c.useEffect(()=>{var Ke;if(!n){console.debug("[Benchmark] useEffect: no initialRequest, skip");return}if(!N.ready){console.debug("[Benchmark] useEffect: storeState not ready, waiting...");return}const e=JSON.stringify(n);if(We.current===e){console.debug("[Benchmark] useEffect: same signature, skip",{signature:e});return}const o=n.modality||"text",t=Ge(m,o),B=n.profileId||"",I=n.modelId||"",C=B?De.getState(B):null,de=B&&I?M(B,o):[],ue=!I||de.some(k=>k.id===I);if(C&&I&&!ue&&(C.status==="idle"||C.status==="loading")){console.debug("[Benchmark] useEffect: waiting for requested model discovery",{signature:e,requestedProfileId:B,requestedModelId:I,status:C.status,discoveryVersion:u});return}q.current=!0,We.current=e;const J=n.compareMode||(n.modelId?"cross-provider":"cross-model");let w=J,i=[];const a=n.profileId&&n.modelId?Ts(n.profileId,n.modelId):"";J==="cross-provider"&&n.modelId&&(i=t.filter(k=>M(k.id,o).some(Z=>Z.id===n.modelId)).map(k=>k.id),i.length<=1&&(w="custom",console.debug("[Benchmark] cross-provider → custom downgrade",{modelId:n.modelId,matchingProviderIds:i}))),console.debug("[Benchmark] useEffect: applying initialRequest",{nextModality:o,nextCompareMode:w,requestedCompareMode:J,profileId:n.profileId,modelId:n.modelId,profileCount:t.length,matchingProviderIds:i});const y=A(o);Be(o),Ve(w),qe(y.id),fe(y.prompt);const d=n.profileId||i[0]||((Ke=t[0])==null?void 0:Ke.id)||"";if(d&&ae(d),w==="cross-provider"&&n.modelId)ie(n.modelId),z(i);else if(w==="cross-model"&&n.modelId)R([n.modelId]);else if(w==="cross-model"&&!n.modelId&&d){const k=M(d,o);R(k.map(Z=>Z.id))}else w==="custom"&&a&&Q([a]);const ms=window.setTimeout(()=>{let k;if(w==="cross-provider"&&n.modelId)k=t.map(h=>{const g=M(h.id,o).find(V=>V.id===n.modelId);return g?P(h.id,h.name,g):null}).filter(ye);else if(w==="cross-model"&&n.modelId){const h=t.find(g=>g.id===d);if(h){const g=M(h.id,o).find(V=>V.id===n.modelId);k=g?[P(h.id,h.name,g)]:[]}else k=[]}else if(w==="custom"){const h=t.find(g=>g.id===(n.profileId||d));if(h&&n.modelId){const g=M(h.id,o).find(V=>V.id===n.modelId);k=g?[P(h.id,h.name,g)]:[]}else k=[]}else{const h=d||v;h?k=M(h,o).map(g=>{const V=t.find(ds=>ds.id===h);return V?P(V.id,V.name,g):null}).filter(ye):k=[]}if(!k.length){console.debug("[Benchmark] setTimeout: no targets built, abort");return}if(console.debug("[Benchmark] setTimeout: creating session",{targetCount:k.length,targets:k.map(h=>`${h.profileName}/${h.modelId}`),autoRun:n.autoRun}),!n.autoRun){requestAnimationFrame(()=>{setTimeout(()=>{q.current=!1,console.debug("[Benchmark] guard released without autoRun")},0)});return}const Z=_.createSession({modality:o,compareMode:w,promptPresetId:y.id,prompt:y.prompt,rankingMode:xe,targets:k,source:"shortcut"});_.runSession(Z.id),requestAnimationFrame(()=>{setTimeout(()=>{q.current=!1,console.debug("[Benchmark] guard released")},0)})},120);return()=>{window.clearTimeout(ms)}},[u,n,m,xe,v,N.ready]);const as=async()=>{if(W.length===0||!ce.trim())return;const e=_.createSession({modality:b,compareMode:f,promptPresetId:He,prompt:ce,rankingMode:xe,targets:W,source:"manual"});await _.runSession(e.id,Se)},is=async()=>{if(Ne)return;const e=N.sessions;if(e.length===0){Me.warning("暂无历史会话可导出");return}Ue(!0);try{const o=await gs(()=>import("./xlsx-CkFp8p6R.js"),[],import.meta.url),t=e.flatMap(i=>i.entries.map(a=>({会话标题:i.title,会话ID:i.id,会话创建时间:re(i.createdAt),模态:se[i.modality],对比方式:oe[i.compareMode],会话状态:Ee[i.status],提示词预设:i.promptPresetId,提示词:F(i.prompt),供应商配置:a.profileName,供应商ID:a.profileId,模型名称:a.modelLabel,模型ID:a.modelId,厂商:a.vendor,选择Key:a.selectionKey,结果ID:a.id,结果状态:he[a.status],开始时间:re(a.startedAt),首响时间:re(a.firstResponseAt),完成时间:re(a.completedAt),首响ms:a.firstResponseMs,总耗时ms:a.totalDurationMs,预估成本:a.estimatedCost,用户评分:a.userScore,已收藏:Oe(a.favorite),已淘汰:Oe(a.rejected),错误摘要:F(a.errorSummary),预览文本:F(a.preview.text),预览链接:F(a.preview.url),预览链接列表:Us(a.preview.urls),预览格式:a.preview.format||"",预览时长:a.preview.duration??"",预览标题:F(a.preview.title)}))),B=new Map;e.forEach(i=>{i.entries.forEach(a=>{const y=`${i.modality}::${a.selectionKey}`,d=B.get(y)||{profileName:a.profileName,profileId:a.profileId,modelLabel:a.modelLabel,modelId:a.modelId,vendor:a.vendor,modality:se[i.modality],selectionKey:a.selectionKey,sessionIds:new Set,count:0,completedCount:0,failedCount:0,runningCount:0,pendingCount:0,favoriteCount:0,rejectedCount:0,firstResponseValues:[],totalDurationValues:[],costValues:[],scoreValues:[],latestAt:0};d.sessionIds.add(i.id),d.count+=1,a.status==="completed"&&(d.completedCount+=1),a.status==="failed"&&(d.failedCount+=1),a.status==="running"&&(d.runningCount+=1),a.status==="pending"&&(d.pendingCount+=1),a.favorite&&(d.favoriteCount+=1),a.rejected&&(d.rejectedCount+=1),typeof a.firstResponseMs=="number"&&d.firstResponseValues.push(a.firstResponseMs),typeof a.totalDurationMs=="number"&&d.totalDurationValues.push(a.totalDurationMs),typeof a.estimatedCost=="number"&&d.costValues.push(a.estimatedCost),typeof a.userScore=="number"&&d.scoreValues.push(a.userScore),d.latestAt=Math.max(d.latestAt,a.completedAt||a.startedAt||i.updatedAt||i.createdAt),B.set(y,d)})});const I=Array.from(B.values()).map(i=>({供应商配置:i.profileName,供应商ID:i.profileId,模型名称:i.modelLabel,模型ID:i.modelId,厂商:i.vendor,模态:i.modality,选择Key:i.selectionKey,测试次数:i.count,涉及会话数:i.sessionIds.size,完成次数:i.completedCount,失败次数:i.failedCount,运行中次数:i.runningCount,待测次数:i.pendingCount,收藏次数:i.favoriteCount,淘汰次数:i.rejectedCount,平均首响ms:be(i.firstResponseValues),最快首响ms:i.firstResponseValues.length>0?Math.min(...i.firstResponseValues):null,平均总耗时ms:be(i.totalDurationValues),最快总耗时ms:i.totalDurationValues.length>0?Math.min(...i.totalDurationValues):null,平均成本:be(i.costValues),平均评分:be(i.scoreValues),最近测试时间:re(i.latestAt)})).sort((i,a)=>{const y=(a.平均评分??-1)-(i.平均评分??-1);if(y!==0)return y;const d=(i.平均首响ms??Number.MAX_SAFE_INTEGER)-(a.平均首响ms??Number.MAX_SAFE_INTEGER);return d!==0?d:(i.平均成本??Number.MAX_SAFE_INTEGER)-(a.平均成本??Number.MAX_SAFE_INTEGER)}),C=o.utils.book_new(),de=o.utils.json_to_sheet(I),ue=o.utils.json_to_sheet(t);de["!cols"]=[{wch:18},{wch:22},{wch:24},{wch:32},{wch:14},{wch:10},{wch:32},{wch:8},{wch:10},{wch:8},{wch:8},{wch:10},{wch:8},{wch:8},{wch:8},{wch:18},{wch:18},{wch:12},{wch:18},{wch:12},{wch:12},{wch:12},{wch:20}],ue["!cols"]=[{wch:28},{wch:24},{wch:20},{wch:10},{wch:14},{wch:10},{wch:18},{wch:60},{wch:18},{wch:22},{wch:24},{wch:32},{wch:14},{wch:32},{wch:24},{wch:10},{wch:20},{wch:20},{wch:20},{wch:12},{wch:12},{wch:12},{wch:10},{wch:8},{wch:8},{wch:36},{wch:60},{wch:60},{wch:80},{wch:12},{wch:10},{wch:28}],o.utils.book_append_sheet(C,de,"模型汇总"),o.utils.book_append_sheet(C,ue,"原始结果");const J=o.write(C,{bookType:"xlsx",type:"array"}),w=new Blob([J],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});ws(w,Ws()),Me.success(`已导出 ${I.length} 个模型结果`)}catch(o){console.error("[ModelBenchmark] Excel export failed:",o),Me.error("导出 Excel 失败,请稍后重试")}finally{Ue(!1)}},cs=e=>{const o=e.preview.rawData?s.jsxDEV("details",{className:"model-benchmark__raw-data",children:[s.jsxDEV("summary",{children:"原始数据 (JSON)"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1454,columnNumber:9},this),s.jsxDEV("pre",{children:JSON.stringify(e.preview.rawData,null,2)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1455,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1453,columnNumber:7},this):null;return e.modality==="text"?s.jsxDEV("div",{className:"model-benchmark__preview-content",children:[s.jsxDEV("pre",{className:"model-benchmark__preview-text",children:e.preview.text||"暂无返回"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1462,columnNumber:11},this),o]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1461,columnNumber:9},this):e.modality==="image"&&e.preview.url?s.jsxDEV("div",{className:"model-benchmark__preview-content",children:[s.jsxDEV("img",{className:"model-benchmark__preview-image",src:e.preview.url,alt:e.modelLabel,loading:"lazy"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1473,columnNumber:11},this),o]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1472,columnNumber:9},this):e.modality==="video"&&e.preview.url?s.jsxDEV("div",{className:"model-benchmark__preview-content",children:[s.jsxDEV("video",{className:"model-benchmark__preview-video",src:e.preview.url,controls:!0,preload:"metadata"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1487,columnNumber:11},this),o]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1486,columnNumber:9},this):e.modality==="audio"&&e.preview.url?s.jsxDEV("div",{className:"model-benchmark__preview-content",children:[s.jsxDEV("div",{className:"model-benchmark__preview-audio-shell",children:[s.jsxDEV("audio",{controls:!0,preload:"none",src:e.preview.url},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1502,columnNumber:13},this),e.preview.text?s.jsxDEV("pre",{className:"model-benchmark__preview-text",children:e.preview.text},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1504,columnNumber:15},this):null]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1501,columnNumber:11},this),o]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1500,columnNumber:9},this):s.jsxDEV("div",{className:"model-benchmark__preview-empty",children:[e.status==="failed"?"加载失败":"暂无预览",o]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1515,columnNumber:7},this)};f==="cross-model"?`${(D==null?void 0:D.name)||"未选择"}`:f==="cross-provider"&&`${L||"未选择"}`;const ls=ge.map(e=>({label:Xe(e),value:e.id})),$e=T.map(e=>({label:`${e.profileName} · ${e.modelLabel}`,value:e.profileId})),ts=[{label:"全部",value:"all",icon:s.jsxDEV(js,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1553,columnNumber:40},this)},{label:"图片",value:"image",icon:s.jsxDEV(_s,{size:"14px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1554,columnNumber:42},this)},{label:"视频",value:"video",icon:s.jsxDEV(Ms,{size:"14px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1555,columnNumber:42},this)},{label:"音频",value:"audio",icon:s.jsxDEV(Es,{size:14,strokeWidth:1.9},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1559,columnNumber:13},this)},{label:"文本",value:"text",icon:s.jsxDEV(ys,{size:"14px"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1561,columnNumber:41},this)}];return s.jsxDEV("div",{className:"model-benchmark",children:[s.jsxDEV("aside",{className:"model-benchmark__sidebar",children:[s.jsxDEV("div",{className:"model-benchmark__sidebar-head",children:[s.jsxDEV("div",{className:"model-benchmark__panel-title",children:"历史会话"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1568,columnNumber:11},this),s.jsxDEV("button",{type:"button",className:"model-benchmark__ghost-button",onClick:is,disabled:N.sessions.length===0||Ne,children:Ne?"导出中...":"导出 Excel"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1569,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1567,columnNumber:9},this),s.jsxDEV("div",{className:"model-benchmark__sidebar-filters",children:[s.jsxDEV(ks,{value:ve,onChange:es,placeholder:"搜索会话 / 模型 / 供应商",prefixIcon:s.jsxDEV(fs,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1583,columnNumber:25},this),size:"small",clearable:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1579,columnNumber:11},this),s.jsxDEV("div",{className:"model-benchmark__sidebar-tabs",children:ts.map(e=>s.jsxDEV(je,{content:e.label,children:s.jsxDEV("button",{type:"button",className:le===e.value?"model-benchmark__sidebar-tab model-benchmark__sidebar-tab--active":"model-benchmark__sidebar-tab",onClick:()=>ss(e.value),"aria-label":e.label,title:e.label,children:e.icon},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1590,columnNumber:17},this)},e.value,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1589,columnNumber:15},this))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1587,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1578,columnNumber:9},this),s.jsxDEV("div",{className:"model-benchmark__session-list",children:Ie.length>0?Ie.map(e=>{const o=Rs(e);return s.jsxDEV("div",{className:"model-benchmark__session-row",children:[s.jsxDEV("button",{type:"button",className:`model-benchmark__session-item ${e.id===N.activeSessionId?"model-benchmark__session-item--active":""}`,onClick:()=>_.setActiveSession(e.id),children:[s.jsxDEV("span",{className:"model-benchmark__session-title",children:e.title},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1624,columnNumber:21},this),s.jsxDEV("span",{className:"model-benchmark__session-models",children:o.length>0?o.join(" / "):"暂无模型信息"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1627,columnNumber:21},this),s.jsxDEV("span",{className:"model-benchmark__session-meta",children:[oe[e.compareMode]," ·"," ",e.entries.length," 个目标 ·"," ",Ee[e.status]]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1632,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1613,columnNumber:19},this),s.jsxDEV("button",{type:"button",className:"model-benchmark__session-delete",onClick:()=>void os(e),"aria-label":`删除会话 ${e.title}`,children:s.jsxDEV(je,{content:"删除会话",showArrow:!1,children:s.jsxDEV("span",{children:s.jsxDEV(Ns,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1646,columnNumber:25},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1645,columnNumber:23},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1644,columnNumber:21},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1638,columnNumber:19},this)]},e.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1612,columnNumber:17},this)}):s.jsxDEV("div",{className:"model-benchmark__session-empty",children:N.sessions.length===0?"暂无历史会话":"没有匹配的历史会话"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1654,columnNumber:13},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1607,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1566,columnNumber:7},this),s.jsxDEV("main",{className:"model-benchmark__main",children:s.jsxDEV("div",{className:"model-benchmark__main-shell",children:[s.jsxDEV("section",{className:"model-benchmark__config-dashboard",children:[s.jsxDEV("div",{className:"model-benchmark__config-row model-benchmark__config-row--top",children:[s.jsxDEV("div",{className:"model-benchmark__modality-tabs",children:Object.keys(se).map(e=>s.jsxDEV("button",{type:"button",className:b===e?"active":"",onClick:()=>Be(e),children:se[e]},e,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1670,columnNumber:21},this))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1667,columnNumber:15},this),s.jsxDEV("div",{className:"model-benchmark__mode-selector",children:Object.entries(oe).map(([e,o])=>s.jsxDEV(je,{content:Bs[e],placement:"top",children:s.jsxDEV("button",{type:"button",className:f===e?"active":"",onClick:()=>Ve(e),children:o},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1690,columnNumber:23},this)},e,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1685,columnNumber:21},this))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1682,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1666,columnNumber:13},this),s.jsxDEV("div",{className:"model-benchmark__config-main",children:[s.jsxDEV("div",{className:"model-benchmark__config-controls",children:[s.jsxDEV("div",{className:"model-benchmark__primary-select-row",children:[f==="cross-model"?s.jsxDEV(ee,{className:"model-benchmark__select",label:"目标供应商: ",value:v,onChange:e=>ae(e),options:j.map(e=>({label:e.name,value:e.id}))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1709,columnNumber:21},this):null,f==="cross-provider"?s.jsxDEV(ee,{filterable:!0,className:"model-benchmark__select",label:"对比模型: ",value:L,options:ls,placeholder:"搜索并选择要横向对比的模型",onChange:e=>ie(e||"")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1724,columnNumber:21},this):null]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1707,columnNumber:17},this),s.jsxDEV("div",{className:"model-benchmark__secondary-select-row",children:[f==="cross-provider"?s.jsxDEV(ee,{multiple:!0,filterable:!0,minCollapsedNum:3,popupProps:{overlayClassName:"model-benchmark__select-popup"},panelTopContent:s.jsxDEV("div",{className:"model-benchmark__select-actions",children:[s.jsxDEV("button",{type:"button",onClick:()=>z($e.map(e=>e.value)),children:"全选"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1749,columnNumber:27},this),s.jsxDEV("button",{type:"button",onClick:()=>z([]),children:"清除"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1761,columnNumber:27},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1748,columnNumber:25},this),className:"model-benchmark__multi-select",label:"参测供应商: ",value:G,options:$e,placeholder:"多选要参与对比的供应商 (已选即为批测队列)",onChange:e=>z(Array.isArray(e)?e:[])},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1740,columnNumber:21},this):null,f==="cross-model"?s.jsxDEV(ee,{multiple:!0,filterable:!0,minCollapsedNum:3,popupProps:{overlayClassName:"model-benchmark__select-popup"},panelTopContent:s.jsxDEV("div",{className:"model-benchmark__select-actions",children:[s.jsxDEV("button",{type:"button",onClick:()=>R(S.map(e=>e.id)),children:"全选"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1792,columnNumber:27},this),s.jsxDEV("button",{type:"button",onClick:()=>R([]),children:"清除"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1802,columnNumber:27},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1791,columnNumber:25},this),className:"model-benchmark__multi-select",label:"参测模型: ",value:O,options:S.map(e=>({label:Xe(e),value:e.id})),placeholder:"多选要测试的模型 (已选即为批测队列)",onChange:e=>R(Array.isArray(e)?e:[])},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1783,columnNumber:21},this):null,f==="custom"?s.jsxDEV(ee,{multiple:!0,filterable:!0,minCollapsedNum:3,popupProps:{overlayClassName:"model-benchmark__select-popup"},panelTopContent:s.jsxDEV("div",{className:"model-benchmark__select-actions",children:[s.jsxDEV("button",{type:"button",onClick:()=>Q(U.map(e=>e.selectionKey)),children:"全选"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1836,columnNumber:27},this),s.jsxDEV("button",{type:"button",onClick:()=>Q([]),children:"清除"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1846,columnNumber:27},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1835,columnNumber:25},this),className:"model-benchmark__multi-select",label:"目标组合: ",value:X,options:U.map(e=>({label:`${e.profileName} · ${e.modelLabel}`,value:e.selectionKey})),placeholder:"手动编排供应商与模型组合",onChange:e=>Q(Array.isArray(e)?e:[])},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1827,columnNumber:21},this):null]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1738,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1706,columnNumber:15},this),s.jsxDEV("div",{className:"model-benchmark__config-actions",children:[s.jsxDEV("div",{className:"model-benchmark__prompt-area",children:s.jsxDEV("textarea",{value:ce,onChange:e=>fe(e.target.value),placeholder:"在此输入测试提示词..."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1874,columnNumber:19},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1873,columnNumber:17},this),s.jsxDEV("div",{className:"model-benchmark__action-row-inline",children:[s.jsxDEV("div",{className:"model-benchmark__concurrency",children:[s.jsxDEV("span",{children:"最大并发:"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1882,columnNumber:21},this),s.jsxDEV("input",{type:"text",inputMode:"numeric","aria-label":"最大并发",value:Se,onChange:e=>{const o=e.target.value.replace(/\D/g,""),t=Number(o);Je(Math.min(10,Math.max(1,t||1)))}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1883,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1881,columnNumber:19},this),s.jsxDEV("button",{type:"button",className:"model-benchmark__primary-button",onClick:as,disabled:!N.ready||W.length===0||!ce.trim(),children:["开始测试 (",W.length,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1900,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1880,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1872,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1705,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1665,columnNumber:11},this),s.jsxDEV("div",{className:"model-benchmark__main-head",children:s.jsxDEV("div",{children:[s.jsxDEV("div",{className:"model-benchmark__eyebrow",children:x?oe[x.compareMode]:"Result Board"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1919,columnNumber:15},this),s.jsxDEV("h3",{children:x?x.title:"还没有测试结果"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1924,columnNumber:15},this),x?s.jsxDEV("p",{className:"model-benchmark__main-desc",children:[H.total," 个目标",H.completed>0?`,${H.completed} 成功`:"",H.failed>0?`,${H.failed} 失败`:""," · ",Ee[x.status]," · ",Vs[x.rankingMode]]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1928,columnNumber:17},this):s.jsxDEV("p",{className:"model-benchmark__main-desc",children:"请先在上方明确范围,或点击历史会话查看以往结果。"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1942,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1918,columnNumber:13},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1917,columnNumber:11},this),x?s.jsxDEV(s.Fragment,{children:[E?s.jsxDEV("section",{className:"model-benchmark__spotlight",children:[s.jsxDEV("div",{className:"model-benchmark__spotlight-copy",children:[s.jsxDEV("div",{className:"model-benchmark__eyebrow",children:"当前第一名"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1954,columnNumber:21},this),s.jsxDEV("h4",{children:x.compareMode==="cross-provider"?E.profileName:E.modelLabel},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1955,columnNumber:21},this),s.jsxDEV("p",{children:[x.compareMode==="cross-provider"?`${E.modelLabel},`:`来自 ${E.profileName},`,"首响 ",ke(E.firstResponseMs),",总耗时 ",ke(E.totalDurationMs)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1960,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1953,columnNumber:19},this),s.jsxDEV("div",{className:"model-benchmark__spotlight-meta",children:[E.userScore?s.jsxDEV("span",{children:[E.userScore," 分"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1970,columnNumber:23},this):null,E.favorite?s.jsxDEV("span",{children:"已收藏"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1972,columnNumber:42},this):null]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1968,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1952,columnNumber:17},this):null,s.jsxDEV("div",{className:"model-benchmark__result-grid",children:Le.map((e,o)=>s.jsxDEV("article",{className:`model-benchmark__result-card model-benchmark__result-card--${e.status}`,children:[s.jsxDEV("header",{className:"model-benchmark__result-head",children:[s.jsxDEV("div",{className:"model-benchmark__result-rank",children:["#",o+1]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1984,columnNumber:23},this),s.jsxDEV("div",{className:"model-benchmark__result-heading",children:[s.jsxDEV("div",{className:"model-benchmark__result-title",children:e.modelLabel},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1988,columnNumber:25},this),s.jsxDEV("div",{className:"model-benchmark__result-subtitle",children:e.profileName},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1991,columnNumber:25},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1987,columnNumber:23},this),s.jsxDEV("span",{className:`model-benchmark__status model-benchmark__status--${e.status}`,children:e.status==="completed"?"完成":e.status==="failed"?"失败":e.status==="running"?"测试中":"等待中"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1995,columnNumber:23},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1983,columnNumber:21},this),s.jsxDEV("div",{className:"model-benchmark__result-metrics",children:[s.jsxDEV("span",{children:["首响 ",ke(e.firstResponseMs)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2009,columnNumber:23},this),s.jsxDEV("span",{children:["总耗时 ",ke(e.totalDurationMs)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2010,columnNumber:23},this),s.jsxDEV("span",{children:["成本"," ",e.estimatedCost===null?"未知":`¥${e.estimatedCost.toFixed(4)}`]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2013,columnNumber:23},this),s.jsxDEV("span",{children:["性价比"," ",(()=>{const t=xs(e);return t===null?"—":`${t}/10`})()]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2019,columnNumber:23},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2008,columnNumber:21},this),s.jsxDEV("div",{className:"model-benchmark__preview",children:cs(e)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2028,columnNumber:21},this),e.errorSummary?s.jsxDEV("div",{className:"model-benchmark__error",children:e.errorSummary},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2033,columnNumber:23},this):null,s.jsxDEV("div",{className:"model-benchmark__feedback",children:[s.jsxDEV("div",{className:"model-benchmark__score-row",children:[1,2,3,4,5].map(t=>s.jsxDEV("button",{type:"button",className:`model-benchmark__score-chip ${e.userScore===t?"model-benchmark__score-chip--active":""}`,onClick:()=>_.setEntryFeedback(x.id,e.id,{userScore:e.userScore===t?null:t}),children:[t,"分"]},t,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2041,columnNumber:27},this))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2039,columnNumber:23},this),s.jsxDEV("div",{className:"model-benchmark__action-row",children:[s.jsxDEV("button",{type:"button",className:`model-benchmark__ghost-button ${e.favorite?"model-benchmark__ghost-button--active":""}`,onClick:()=>_.setEntryFeedback(x.id,e.id,{favorite:!e.favorite}),children:"收藏"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2065,columnNumber:25},this),s.jsxDEV("button",{type:"button",className:`model-benchmark__ghost-button ${e.rejected?"model-benchmark__ghost-button--danger":""}`,onClick:()=>_.setEntryFeedback(x.id,e.id,{rejected:!e.rejected}),children:"淘汰"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2084,columnNumber:25},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2064,columnNumber:23},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2038,columnNumber:21},this)]},e.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1979,columnNumber:19},this))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1977,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1950,columnNumber:13},this):s.jsxDEV("div",{className:"model-benchmark__empty",children:"先在左侧选定“同供应商多模型”或“同模型跨供应商”,把批测目标编满后再开跑。"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:2110,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1664,columnNumber:9},this)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1663,columnNumber:7},this),l]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/model-benchmark/ModelBenchmarkWorkbench.tsx",lineNumber:1565,columnNumber:5},this)}export{Os as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a$ as g,b0 as C,b1 as M,b2 as D,b3 as S,b4 as R,T as I,b5 as b,b6 as h,b7 as w,b8 as G,b9 as P,ba as v,bb as B,bc as F,bd as U,be as A}from"./tool-windows-DOIu9TAD.js";function x(t){return B(t,"musicAnalyzerAction",["analyze","rewrite","lyrics-gen"])}function V(t){return F(t,{missingMessage:"分析任务缺少结果内容",fromStructured:r=>U(r)})}function $(t){const r=t.params.musicAnalyzerSourceSnapshot;return(r==null?void 0:r.type)==="upload"?r:null}function z(t){var i;const r=(i=t.result)==null?void 0:i.analysisData;return!r||typeof r!="object"||typeof r.lyricsDraft!="string"&&typeof r.title!="string"&&!Array.isArray(r.styleTags)?null:{title:String(r.title||"").trim(),styleTags:Array.isArray(r.styleTags)?r.styleTags.map(u=>String(u||"").trim()).filter(Boolean):[],lyricsDraft:String(r.lyricsDraft||"").trim()}}async function H(t){if(t.status!=="completed")return null;const r=x(t);if(!r)return null;if(r==="analyze"){const l=await g(),p=l.find(m=>m.analyzeTaskId===t.id);if(p)return{records:l,record:p};const e=V(t),n=$(t),c=String(t.params.musicAnalyzerSourceLabel||(n==null?void 0:n.fileName)||"本地音频").trim(),o={id:C(),createdAt:Date.now(),source:"upload",sourceLabel:c,sourceSnapshot:n,analysisModel:String(t.params.model||""),analysisModelRef:t.params.modelRef||null,analysis:e,styleTags:e.sunoStyleTags.length>0?e.sunoStyleTags:e.genreTags,title:e.sunoTitle||e.titleSuggestions[0]||c.replace(/\.[^.]+$/,""),lyricsDraft:e.sunoLyricsDraft||"",analyzeTaskId:t.id,starred:!1};return{records:await M(o),record:o}}if(r==="lyrics-gen"){const l=D(t,"musicAnalyzerRecordId");if(!l)return null;const e=(await g()).find(L=>L.id===l);if(!e||e.pendingLyricsGenTaskId!==t.id)return null;const n=O(t),c=(n==null?void 0:n.title)||e.title||"",o=n&&n.styleTags.length>0?n.styleTags:e.styleTags||[],d=(n==null?void 0:n.lyricsDraft)||e.lyricsDraft||"",m=n?S({...e,title:c,styleTags:o,lyricsDraft:d},R({...e,title:c,styleTags:o,lyricsDraft:d},t.type===I.CHAT?"AI 草稿":"Suno 歌词",e.creationPrompt)):{};return b(e,{title:c,styleTags:o,lyricsDraft:d,...m,pendingLyricsGenTaskId:null},A)}const i=D(t,"musicAnalyzerRecordId");if(!i)return null;const s=(await g()).find(l=>l.id===i);if(!s||s.pendingRewriteTaskId!==t.id)return null;const a=z(t)||h(w(t)),y=(s.lyricsVersions||[]).length,f=R({...s,title:a.title||s.title,styleTags:a.styleTags.length>0?a.styleTags:s.styleTags,lyricsDraft:a.lyricsDraft||s.lyricsDraft},`AI 改写 #${y+1}`,s.rewritePrompt),T=S(s,f);return b(s,{title:a.title||s.title,styleTags:a.styleTags.length>0?a.styleTags:s.styleTags,lyricsDraft:a.lyricsDraft||s.lyricsDraft,pendingRewriteTaskId:null,...T},A)}function O(t){const r=t.result;if(!r)return null;const i=z(t);if(i)return i;const u=w(t);if(u)try{return h(u)}catch{}const s=r.lyricsText||"",a=r.lyricsTitle||r.title||"",y=r.lyricsTags;if(!s&&!a)return null;const f=Array.isArray(y)?y.map(T=>String(T||"").trim()).filter(Boolean):[];return{title:String(a).trim(),styleTags:f,lyricsDraft:String(s).trim()}}function J(t){return v(t)}async function N(t,r){return P(t,r,{loadRecords:g,updateRecord:A})}function W(t){return x(t)!==null}function _(t){if(t.type!==I.AUDIO)return null;const r=t.params.batchId;return r?G(r,{prefix:"ma_"}):null}export{N as a,J as e,_ as g,W as i,H as s};
|